13296
Kommentar: The page en/SerialProtocol contains the same information, and more. Thus, I'm "forwarding" to that page. Hope this is ok.
|
8414
|
Gelöschter Text ist auf diese Art markiert. | Hinzugefügter Text ist auf diese Art markiert. |
Zeile 1: | Zeile 1: |
See [[en/SerialProtocol]] | The structs used below are defined in [[http://mikrokopter.de/mikrosvn/FlightCtrl/tags/V0.84a/uart.h|uart.h]]. For implementation details, see [[http://mikrokopter.de/mikrosvn/FlightCtrl/tags/V0.84a/uart.c|uart.c]]. Addresses are defined as follows: |
Zeile 3: | Zeile 3: |
/* | {{{ #!cplusplus #define FC_ADDRESS 1 //(b) #define NC_ADDRESS 2 //(c) #define MK3MAG_ADDRESS 3 //(d) #define BL_CTRL_ADDRESS 5 //(f) }}} |
Zeile 5: | Zeile 11: |
The page en/SerialProtocol contains the same information, and more. | |
Zeile 8: | Zeile 13: |
||<tablewidth="" tablestyle="text-align: center;"bgcolor="#cccccc"> ||||||<bgcolor="#cccccc" style="text-align: center;">'''''Received '''''''' ''' ||||||<bgcolor="#cccccc" style="text-align: center;">'''''Send '''''''' ''' || ||<bgcolor="#cccccc">'''''Description''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ||<bgcolor="#cccccc">'''''ID''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ||<bgcolor="#cccccc">'''''Address''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ||<bgcolor="#cccccc">'''''Data''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ||<bgcolor="#cccccc">'''''ID''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ||<bgcolor="#cccccc">'''''Address''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ||<bgcolor="#cccccc">'''''Data''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' || ||Labels of analog values ||'a' ||!AnyAddr ||u8 Index of Analog Channel ||'A' ||!SlaveAddr ||u8 Index, char[16] label text || ||!ExternControl ||'b' ||!AnyAddr ||!ExternControl Struct ||'B' ||!SlaveAddr ||!ConfirmFrame || ||Request display || 'h' ||!AnyAddr || u8 ~!RemoteKey, u8 !AutoSendInterval ||'H' ||!SlaveAddr || char[80] !DisplayText || ||Request display || 'l' ||!AnyAddr || u8 !MenuItem ||'L' ||!SlaveAddr ||u8 !MenuItem, u8 !MaxMenuItem, char[80] Display Text || ||Version Request ||'v' ||!AnyAddr || none || 'V' ||!SlaveAddr ||!Version Info Struct || ||Debug Request ||'d' ||!AnyAddr ||u8 !AutoSendInterval ||'D' ||!SlaveAddr ||Debug Data Struct || |
||<tablewidth="" tablestyle="text-align:center; "#cccccc> ||||||<#cccccc style="text-align:center; ">'''''Received '''''''' ''' ||||||<#cccccc style="text-align:center; ">'''''Sent '''''''' ''' || ||<#cccccc>'''''Description''''' ||<#cccccc>'''''ID''''' ||<#cccccc>'''''Address''''' ||<#cccccc>'''''Data''''' ||<#cccccc>'''''ID''''' ||<#cccccc>'''''Address''''' ||<#cccccc>'''''Data''''' || ||Labels of the analog values in the Debug Data Struct (see 'd') ||'a' ||!AnyAddr ||u8 Index of Analog Channel ||'A' ||!SlaveAddr ||u8 Index, char[16] label text || ||!ExternControl ||'b' ||!AnyAddr ||!ExternControl Struct ||'B' ||!SlaveAddr ||unsigned char, echo of !ExternControl.Frame as confirmation || ||Request display ||'h' ||!AnyAddr ||u8 ~!RemoteKey, u8 !AutoSendInterval ||'H' ||!SlaveAddr ||char[80] !DisplayText || ||Request display ||'l' ||!AnyAddr ||u8 !MenuItem ||'L' ||!SlaveAddr ||u8 !MenuItem, u8 !MaxMenuItem, char[80] Display Text || ||Version Request ||'v' ||!AnyAddr ||none ||'V' ||!SlaveAddr ||[[en/SerialCommands/VersionStruct|VersionStruct]] || ||Debug Request ||'d' ||!AnyAddr ||u8 !AutoSendInterval<<BR>> Value is multiplied by 10 in receiver and then used as milliseconds. Subsciption needs to be renewed every 4s. <<BR>>These values can be display in MK-Tool as values or graphs. ||'D' ||!SlaveAddr ||[[en/SerialCommands/DebugOutStruct|DebugOutStruct]] || |
Zeile 19: | Zeile 24: |
Zeile 20: | Zeile 26: |
||<tablewidth="" tablestyle="text-align: center;"bgcolor="#cccccc"> ||||||<bgcolor="#cccccc" style="text-align: center;">'''''Received by FC '''''''' ''' ||||||<bgcolor="#cccccc" style="text-align: center;">'''''Send by FC '''''''' ''' ||<bgcolor="#cccccc"> || ||<bgcolor="#cccccc">'''''Description''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ||<bgcolor="#cccccc">'''''ID''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ||<bgcolor="#cccccc">'''''Address''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ||<bgcolor="#cccccc">'''''Data''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ||<bgcolor="#cccccc">'''''ID''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ||<bgcolor="#cccccc">'''''Address''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ||<bgcolor="#cccccc">'''''Data''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ||<bgcolor="#cccccc">'''''since FC Firmware''''' || || Compass Heading ||'K' || FC-Addr || s16 Compass Value ||'k' || MK3MAG-Addr ||Nick Roll Attitude ... ||0.71f || || Engine Test ||'t' || FC-Addr || u8[16] values for the engines || 'T' || FC-Addr ||- ||0.71f || || Settings Request ||'q' ||FC-Addr || u8 Settings Index ( 1..5 READ or 0xff for actual setting) <<BR>> u8 Settings Index (11..15 RESET setting to default (channel mapping will not be changed))<<BR>> u8 Settings Index (21..25 RESET setting to default (complete reset including channel settings))||'Q' ||FC-Addr ||u8 Settings Index, u8 Settings Version, Settings Struct ||0.71f || || Write Settings || 's' ||FC-Addr || u8 Settings Index, u8 Settings Version, Settings Struct ||'S' ||FC-Addr ||u8 Settings Index (1 ..5, 0=Error) ||0.71f || || Read PPM Channels || 'p' ||FC-Addr ||none ||'P' ||FC-Addr ||s16 PPM-Array[11] ||0.71f || || Set 3D-Data Interval || 'c' || !AnyAddr || u8 Interval || 'C' || FC-Addr || struct Data3D|| 0.72p || || Mixer Request ||'n' ||FC-Addr || none ||'N' ||FC-Addr ||u8 !MixerRevision, u8 Name[12], u8 MixerTable[16][4] ||0.73 || || Mixer Write ||'m' ||FC-Addr || u8 !MixerRevision, u8 Name[12], u8 MixerTable[16][4] ||'M' ||FC-Addr || u8 ack (1 = okay, 0 = error) ||0.73 || || Change setting ||'f' ||FC-Addr || u8 Number of new Setting ||'F' ||FC-Addr || u8 Number ||0.77 || || Serial Poti ||'y' ||FC-Addr || s8 Poti[12] ||- ||- || - ||0.77 || || BL parameter request ||'u' ||FC-Addr || u8 BL_Addr ||'U' ||FC-Addr || u8 Status1, u8 Status2, u8 BL_Addr, BLConfig Struct ||0.80 || || BL parameter write ||'w' ||FC-Addr || u8 BL_Addr, BLConfig Struct ||'W' ||FC-Addr || u8Status1, u8 Status2 ||0.80 || |
||<tablewidth="" tablestyle="text-align:center; "#cccccc> ||||||<#cccccc style="text-align:center; ">'''''Received by FC '''''''' ''' ||||||<#cccccc style="text-align:center; ">'''''Sent by FC '''''''' ''' ||<#cccccc> || ||<#cccccc>'''''Description''''' ||<#cccccc>'''''ID''''' ||<#cccccc>'''''Address''''' ||<#cccccc>'''''Data''''' ||<#cccccc>'''''ID''''' ||<#cccccc>'''''Address''''' ||<#cccccc>'''''Data''''' ||<#cccccc>'''''since FC Firmware''''' || ||Compass Heading ||'K' ||FC-Addr ||s16 Compass Value ||'k' ||MK3MAG-Addr ||Nick Roll Attitude ... ||0.71f || ||Engine Test ||'t' ||FC-Addr ||u8[16] values for the engines ||'T' ||FC-Addr ||- ||0.71f || ||Settings Request ||'q' ||FC-Addr ||u8 Settings Index ( 1..5 READ or 0xff for actual setting) <<BR>> u8 Settings Index (11..15 RESET setting to default (channel mapping will not be changed))<<BR>> u8 Settings Index (21..25 RESET setting to default (complete reset including channel settings)) ||'Q' ||FC-Addr ||u8 Settings Index, u8 Settings Version, [[en/SerialCommands/ParamsetStruct|ParamsetStruct]] ||0.71f || ||Write Settings ||'s' ||FC-Addr ||u8 Settings Index, u8 Settings Version, [[en/SerialCommands/ParamsetStruct|ParamsetStruct]] ||'S' ||FC-Addr ||u8 Settings Index (1 ..5, 0=Error) ||0.71f || ||Read PPM Channels ||'p' ||FC-Addr ||none ||'P' ||FC-Addr ||s16 PPM-Array[11] ||0.71f || ||Set 3D-Data Interval ||'c' ||!AnyAddr ||u8 Interval ||'C' ||FC-Addr ||struct Data3D ||0.72p || ||Mixer Request ||'n' ||FC-Addr ||none ||'N' ||FC-Addr ||u8 !MixerRevision, u8 Name[12], u8 MixerTable[16][4] ||0.73 || ||Mixer Write ||'m' ||FC-Addr ||u8 !MixerRevision, u8 Name[12], u8 MixerTable[16][4] ||'M' ||FC-Addr ||u8 ack (1 = okay, 0 = error) ||0.73 || ||Change setting ||'f' ||FC-Addr ||u8 Number of new Setting ||'F' ||FC-Addr ||u8 Number ||0.77 || ||Serial Poti ||'y' ||FC-Addr ||s8 Poti[12] ||- ||- ||- ||0.77 || ||BL parameter request ||'u' ||FC-Addr ||u8 BL_Addr ||'U' ||FC-Addr ||u8 Status1, u8 Status2, u8 BL_Addr, BLConfig Struct ||0.80 || ||BL parameter write ||'w' ||FC-Addr ||u8 BL_Addr, BLConfig Struct ||'W' ||FC-Addr ||u8Status1, u8 Status2 ||0.80 || |
Zeile 36: | Zeile 43: |
||<tablewidth="" tablestyle="text-align: center;"bgcolor="#cccccc"> ||||||<bgcolor="#cccccc" style="text-align: center;">'''''Received by NC '''''''' ''' ||||||<bgcolor="#cccccc" style="text-align: center;">'''''Send by NC '''''''' ''' ||<bgcolor="#cccccc"> || ||<bgcolor="#cccccc">'''''Description''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ||<bgcolor="#cccccc">'''''ID''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ||<bgcolor="#cccccc">'''''Address''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ||<bgcolor="#cccccc">'''''Data''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ||<bgcolor="#cccccc">'''''ID''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ||<bgcolor="#cccccc">'''''Address''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ||<bgcolor="#cccccc">'''''Data''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ||<bgcolor="#cccccc">'''''since NC Firmware''''' || ||<style="text-align: center;"> Serial Link Test ||<style="text-align: center;">'z' ||<style="text-align: center;">NC-Addr ||<style="text-align: center;">u16 !EchoPattern ||<style="text-align: center;">'Z' ||<style="text-align: center;">NC-Addr ||<style="text-align: center;">u16 !EchoPattern ||<style="text-align: center;"> 0.14f || ||<style="text-align: center;"> Error Text Request ||<style="text-align: center;">'e' ||<style="text-align: center;">NC-Addr ||<style="text-align: center;">none ||<style="text-align: center;">'E' ||<style="text-align: center;">NC-Addr ||<style="text-align: center;">char[] Error Message String ||<style="text-align: center;"> 0.12h || ||<style="text-align: center;"> Send target Position ||<style="text-align: center;">'s' ||<style="text-align: center;">NC-Addr ||<style="text-align: center;"> [[en/WayPointStruct|WayPointStruct]] ||<style="text-align: center;">- ||<style="text-align: center;">- ||<style="text-align: center;">- ||<style="text-align: center;"> 0.12h || ||<style="text-align: center;"> Send Waypoint ||<style="text-align: center;">'w' ||<style="text-align: center;">NC-Addr ||<style="text-align: center;">[[en/WayPointStruct|WayPointStruct]] (sending an invalid position will clear the WPList) ||<style="text-align: center;">'W' ||<style="text-align: center;">NC-Addr ||<style="text-align: center;">u8 Number of WPs ||<style="text-align: center;"> 0.12h || ||<style="text-align: center;"> Request Waypoint ||<style="text-align: center;">'x' ||<style="text-align: center;">NC-Addr ||<style="text-align: center;">u8 WP-Index ||<style="text-align: center;">'X' ||<style="text-align: center;">NC-Addr ||<style="text-align: center;">u8 Number of WPs, u8 WP-Index, [[en/WayPointStruct|WayPointStruct]] ||<style="text-align: center;"> 0.14f || ||<style="text-align: center;"> Request OSD-Data ||<style="text-align: center;">'o' ||<style="text-align: center;">NC-Addr ||<style="text-align: center;"> 1 byte sending interval ( in 10ms steps ) ||<style="text-align: center;">'O' ||<style="text-align: center;">NC-Addr ||<style="text-align: center;">[[en/NaviDataStruct|NaviDataStruct]] ||<style="text-align: center;"> 0.12h || ||<style="text-align: center;">Redirect UART ||<style="text-align: center;">'u' ||<style="text-align: center;">NC-Addr ||<style="text-align: center;">1 byte param for uart selector (0=FC, 1=MK3MAG, 2=MKGPS), can be switched back to NC debug by sending the magic packet "0x1B,0x1B,0x55,0xAA,0x00" ||<style="text-align: center;">- ||<style="text-align: center;">- ||<style="text-align: center;">- ||<style="text-align: center;">0.12h || || Set 3D-Data Interval || 'c' || !AnyAddr || u8 Interval || 'C' || NC-Addr || struct Data3D|| 0.14a || || Set/get NC-Parameter || 'j' || !NC-Addr || ? ||- ||- ||- || 0.20 || |
||<tablewidth="" tablestyle="text-align:center; "#cccccc> ||||||<#cccccc style="text-align:center; ">'''''Received by NC '''''''' ''' ||||||<#cccccc style="text-align:center; ">'''''Sent by NC '''''''' ''' ||<#cccccc> || ||<#cccccc>'''''Description''''' ||<#cccccc>'''''ID''''' ||<#cccccc>'''''Address''''' ||<#cccccc>'''''Data''''' ||<#cccccc>'''''ID''''' ||<#cccccc>'''''Address''''' ||<#cccccc>'''''Data''''' ||<#cccccc>'''''since NC Firmware''''' || ||<style="text-align:center;">Serial Link Test ||<style="text-align:center;">'z' ||<style="text-align:center;">NC-Addr ||<style="text-align:center;">u16 !EchoPattern ||<style="text-align:center;">'Z' ||<style="text-align:center;">NC-Addr ||<style="text-align:center;">u16 !EchoPattern ||<style="text-align:center;">0.14f || ||<style="text-align:center;">Error Text Request ||<style="text-align:center;">'e' ||<style="text-align:center;">NC-Addr ||<style="text-align:center;">none ||<style="text-align:center;">'E' ||<style="text-align:center;">NC-Addr ||<style="text-align:center;">char[] Error Message String ||<style="text-align:center;">0.12h || ||<style="text-align:center;">Send target Position ||<style="text-align:center;">'s' ||<style="text-align:center;">NC-Addr ||<style="text-align:center;">[[en/SerialCommands/WayPointStruct|WayPointStruct]] ||<style="text-align:center;">- ||<style="text-align:center;">- ||<style="text-align:center;">- ||<style="text-align:center;">0.12h || ||<style="text-align:center;">Send Waypoint ||<style="text-align:center;">'w' ||<style="text-align:center;">NC-Addr ||<style="text-align:center;">[[en/SerialCommands/WayPointStruct|WayPointStruct]] (sending an invalid position will clear the WPList) ||<style="text-align:center;">'W' ||<style="text-align:center;">NC-Addr ||<style="text-align:center;">u8 Number of WPs ||<style="text-align:center;">0.12h || ||<style="text-align:center;">Request Waypoint ||<style="text-align:center;">'x' ||<style="text-align:center;">NC-Addr ||<style="text-align:center;">u8 WP-Index ||<style="text-align:center;">'X' ||<style="text-align:center;">NC-Addr ||<style="text-align:center;">u8 Number of WPs, u8 WP-Index, [[en/SerialCommands/WayPointStruct|WayPointStruct]] ||<style="text-align:center;">0.14f || ||<style="text-align:center;">Request OSD-Data ||<style="text-align:center;">'o' ||<style="text-align:center;">NC-Addr ||<style="text-align:center;">1 byte sending interval ( in 10ms steps ) ||<style="text-align:center;">'O' ||<style="text-align:center;">NC-Addr ||<style="text-align:center;">[[en/SerialCommands/NaviDataStruct|NaviDataStruct]] ||<style="text-align:center;">0.12h || ||<style="text-align:center;">Redirect UART ||<style="text-align:center;">'u' ||<style="text-align:center;">NC-Addr ||<style="text-align:center;">1 byte param for uart selector (0=FC, 1=MK3MAG, 2=MKGPS), can be switched back to NC debug by sending the magic packet "0x1B,0x1B,0x55,0xAA,0x00" ||<style="text-align:center;">- ||<style="text-align:center;">- ||<style="text-align:center;">- ||<style="text-align:center;">0.12h || ||Set 3D-Data Interval ||'c' ||!AnyAddr ||u8 Interval ||'C' ||NC-Addr ||struct Data3D ||0.14a || ||Set/get NC-Parameter ||'j' ||!NC-Addr ||u8 get(=0)/set(=1),u8 parameterId, s16 value (only when set) ||'J' ||NC_Addr ||u8 parameterId, s16 value ||0.20 || |
Zeile 49: | Zeile 57: |
||<tablewidth="" tablestyle="text-align: center;"bgcolor="#cccccc"> ||||||<bgcolor="#cccccc" style="text-align: center;">'''''Received by MK3-MAG '''''''' ''' ||||||<bgcolor="#cccccc" style="text-align: center;">'''''Send by MK3-MAG '''''''' ''' ||<bgcolor="#cccccc"> || ||<bgcolor="#cccccc">'''''Description''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ||<bgcolor="#cccccc">'''''ID''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ||<bgcolor="#cccccc">'''''Address''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ||<bgcolor="#cccccc">'''''Data''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ||<bgcolor="#cccccc">'''''ID''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ||<bgcolor="#cccccc">'''''Address''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ||<bgcolor="#cccccc">'''''Data''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ||<bgcolor="#cccccc">'''''since MK3-MAG Firmware''''' || ||<style="text-align: center;"> Heading Request ||<style="text-align: center;">'w' ||<style="text-align: center;">MK3MAG-Addr ||<style="text-align: center;">Attitude (s16 Nick, s16 Roll, u8 Param1, u8 Param2, u8 !CalcState, u8 Orientation) ||<style="text-align: center;">'K' ||<style="text-align: center;">FC-Addr ||<style="text-align: center;">s16 Heading ||<style="text-align: center;"> since beginning || |
||<tablewidth="" tablestyle="text-align:center; "#cccccc> ||||||<#cccccc style="text-align:center; ">'''''Received by MK3-MAG '''''''' ''' ||||||<#cccccc style="text-align:center; ">'''''Sent by MK3-MAG '''''''' ''' ||<#cccccc> || ||<#cccccc>'''''Description''''' ||<#cccccc>'''''ID''''' ||<#cccccc>'''''Address''''' ||<#cccccc>'''''Data''''' ||<#cccccc>'''''ID''''' ||<#cccccc>'''''Address''''' ||<#cccccc>'''''Data''''' ||<#cccccc>'''''since MK3-MAG Firmware''''' || ||<style="text-align:center;">Heading Request ||<style="text-align:center;">'w' ||<style="text-align:center;">MK3MAG-Addr ||<style="text-align:center;">Attitude (s16 Nick, s16 Roll, u8 Param1, u8 Param2, u8 !CalcState, u8 Orientation) ||<style="text-align:center;">'K' ||<style="text-align:center;">FC-Addr ||<style="text-align:center;">s16 Heading ||<style="text-align:center;">since beginning || |
Zeile 54: | Zeile 64: |
*/ |
The structs used below are defined in uart.h. For implementation details, see uart.c. Addresses are defined as follows:
Common Commands
|
Received |
Sent |
||||
Description |
ID |
Address |
Data |
ID |
Address |
Data |
Labels of the analog values in the Debug Data Struct (see 'd') |
'a' |
AnyAddr |
u8 Index of Analog Channel |
'A' |
SlaveAddr |
u8 Index, char[16] label text |
ExternControl |
'b' |
AnyAddr |
ExternControl Struct |
'B' |
SlaveAddr |
unsigned char, echo of ExternControl.Frame as confirmation |
Request display |
'h' |
AnyAddr |
u8 ~RemoteKey, u8 AutoSendInterval |
'H' |
SlaveAddr |
char[80] DisplayText |
Request display |
'l' |
AnyAddr |
u8 MenuItem |
'L' |
SlaveAddr |
u8 MenuItem, u8 MaxMenuItem, char[80] Display Text |
Version Request |
'v' |
AnyAddr |
none |
'V' |
SlaveAddr |
|
Debug Request |
'd' |
AnyAddr |
u8 AutoSendInterval |
'D' |
SlaveAddr |
|
Reset |
'R' |
AnyAddr |
none |
- |
- |
- |
Get External Control |
'g' |
AnyAddr |
none |
'G' |
SlaveAddr |
ExternControl Strcut |
Flight-Ctrl
|
Received by FC |
Sent by FC |
|
||||
Description |
ID |
Address |
Data |
ID |
Address |
Data |
since FC Firmware |
Compass Heading |
'K' |
FC-Addr |
s16 Compass Value |
'k' |
MK3MAG-Addr |
Nick Roll Attitude ... |
0.71f |
Engine Test |
't' |
FC-Addr |
u8[16] values for the engines |
'T' |
FC-Addr |
- |
0.71f |
Settings Request |
'q' |
FC-Addr |
u8 Settings Index ( 1..5 READ or 0xff for actual setting) |
'Q' |
FC-Addr |
u8 Settings Index, u8 Settings Version, ParamsetStruct |
0.71f |
Write Settings |
's' |
FC-Addr |
u8 Settings Index, u8 Settings Version, ParamsetStruct |
'S' |
FC-Addr |
u8 Settings Index (1 ..5, 0=Error) |
0.71f |
Read PPM Channels |
'p' |
FC-Addr |
none |
'P' |
FC-Addr |
s16 PPM-Array[11] |
0.71f |
Set 3D-Data Interval |
'c' |
AnyAddr |
u8 Interval |
'C' |
FC-Addr |
struct Data3D |
0.72p |
Mixer Request |
'n' |
FC-Addr |
none |
'N' |
FC-Addr |
u8 MixerRevision, u8 Name[12], u8 MixerTable[16][4] |
0.73 |
Mixer Write |
'm' |
FC-Addr |
u8 MixerRevision, u8 Name[12], u8 MixerTable[16][4] |
'M' |
FC-Addr |
u8 ack (1 = okay, 0 = error) |
0.73 |
Change setting |
'f' |
FC-Addr |
u8 Number of new Setting |
'F' |
FC-Addr |
u8 Number |
0.77 |
Serial Poti |
'y' |
FC-Addr |
s8 Poti[12] |
- |
- |
- |
0.77 |
BL parameter request |
'u' |
FC-Addr |
u8 BL_Addr |
'U' |
FC-Addr |
u8 Status1, u8 Status2, u8 BL_Addr, BLConfig Struct |
0.80 |
BL parameter write |
'w' |
FC-Addr |
u8 BL_Addr, BLConfig Struct |
'W' |
FC-Addr |
u8Status1, u8 Status2 |
0.80 |
Navi-Ctrl
|
Received by NC |
Sent by NC |
|
||||
Description |
ID |
Address |
Data |
ID |
Address |
Data |
since NC Firmware |
Serial Link Test |
'z' |
NC-Addr |
u16 EchoPattern |
'Z' |
NC-Addr |
u16 EchoPattern |
0.14f |
Error Text Request |
'e' |
NC-Addr |
none |
'E' |
NC-Addr |
char[] Error Message String |
0.12h |
Send target Position |
's' |
NC-Addr |
- |
- |
- |
0.12h |
|
Send Waypoint |
'w' |
NC-Addr |
WayPointStruct (sending an invalid position will clear the WPList) |
'W' |
NC-Addr |
u8 Number of WPs |
0.12h |
Request Waypoint |
'x' |
NC-Addr |
u8 WP-Index |
'X' |
NC-Addr |
u8 Number of WPs, u8 WP-Index, WayPointStruct |
0.14f |
Request OSD-Data |
'o' |
NC-Addr |
1 byte sending interval ( in 10ms steps ) |
'O' |
NC-Addr |
0.12h |
|
Redirect UART |
'u' |
NC-Addr |
1 byte param for uart selector (0=FC, 1=MK3MAG, 2=MKGPS), can be switched back to NC debug by sending the magic packet "0x1B,0x1B,0x55,0xAA,0x00" |
- |
- |
- |
0.12h |
Set 3D-Data Interval |
'c' |
AnyAddr |
u8 Interval |
'C' |
NC-Addr |
struct Data3D |
0.14a |
Set/get NC-Parameter |
'j' |
!NC-Addr |
u8 get(=0)/set(=1),u8 parameterId, s16 value (only when set) |
'J' |
NC_Addr |
u8 parameterId, s16 value |
0.20 |
MK3-MAG
|
Received by MK3-MAG |
Sent by MK3-MAG |
|
||||
Description |
ID |
Address |
Data |
ID |
Address |
Data |
since MK3-MAG Firmware |
Heading Request |
'w' |
MK3MAG-Addr |
Attitude (s16 Nick, s16 Roll, u8 Param1, u8 Param2, u8 CalcState, u8 Orientation) |
'K' |
FC-Addr |
s16 Heading |
since beginning |