Rev 820 | Rev 830 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 820 | Rev 824 | ||
---|---|---|---|
Line 105... | Line 105... | ||
105 | NaviData_Flags_t NaviData_Flags; |
105 | NaviData_Flags_t NaviData_Flags; |
106 | NaviData_Tiny_t NaviData_Tiny; |
106 | NaviData_Tiny_t NaviData_Tiny; |
107 | NaviData_FS_Pos_t NaviData_Failsafe; |
107 | NaviData_FS_Pos_t NaviData_Failsafe; |
108 | NaviData_Out_t NaviData_Out1Trigger; |
108 | NaviData_Out_t NaviData_Out1Trigger; |
109 | NaviData_t NaviData; |
109 | NaviData_t NaviData; |
- | 110 | NaviData_HoTT_Text_t NaviData_HoTT_Text; |
|
Line 110... | Line 111... | ||
110 | 111 | ||
111 | u8 UART1_Request_VersionInfo = FALSE; |
112 | u8 UART1_Request_VersionInfo = FALSE; |
112 | u8 UART1_Request_ExternalControl= FALSE; |
113 | u8 UART1_Request_ExternalControl= FALSE; |
113 | u8 UART1_Request_Display = FALSE; |
114 | u8 UART1_Request_Display = FALSE; |
Line 1087... | Line 1088... | ||
1087 | } |
1088 | } |
Line 1088... | Line 1089... | ||
1088 | 1089 | ||
1089 | 1090 | ||
1090 | u16 TransmitNavigationData(u16 MaxBytesPerSecond, u8 clear) // returns the minumum pause time in ms |
1091 | u16 TransmitNavigationData(u16 MaxBytesPerSecond, u8 clear) // returns the minumum pause time in ms |
1091 | { |
1092 | { |
1092 | static u8 state = 0, count_flags = 2, count_target = 3, count_home = 4, count_wp = 5 , count_tiny = 6, count_fs = 7; |
1093 | static u8 state = 0, count_flags = 2, count_target = 3, count_home = 4, count_wp = 5 , count_tiny = 6, count_fs = 7, count_txt = 5; |
Line 1093... | Line 1094... | ||
1093 | static u16 CRC_Home = 0, CRC_Target = 0, CRC_Flags = 0, CRC_Wp = 0, CRC_Fs = 0, crc_Tiny = 0; |
1094 | static u16 CRC_Home = 0, CRC_Target = 0, CRC_Flags = 0, CRC_Wp = 0, CRC_Fs = 0, CRC_Txt = 0, crc_Tiny = 0; |
1094 | u16 pause, sent = 0, crc_home, crc_target, crc_flags, crc_wp, crc_fs; |
1095 | u16 pause, sent = 0, crc_home, crc_target, crc_flags, crc_wp, crc_fs, crc_txt; |
1095 | 1096 | ||
1096 | if(clear) |
1097 | if(clear) |
Line 1287... | Line 1288... | ||
1287 | sent += MKProtocol_CreateSerialFrame(&UART1_tx_buffer, 'O', NC_ADDRESS, 1 , (u8 *)&NaviData_Tiny, sizeof(NaviData_Tiny)) + 1; |
1288 | sent += MKProtocol_CreateSerialFrame(&UART1_tx_buffer, 'O', NC_ADDRESS, 1 , (u8 *)&NaviData_Tiny, sizeof(NaviData_Tiny)) + 1; |
1288 | count_tiny = 200; // just to make sure that it comes sometimes |
1289 | count_tiny = 200; // just to make sure that it comes sometimes |
1289 | crc_Tiny = NaviData_Tiny.CamCtrlChar; |
1290 | crc_Tiny = NaviData_Tiny.CamCtrlChar; |
1290 | } |
1291 | } |
1291 | break; |
1292 | break; |
- | 1293 | case 14: |
|
- | 1294 | // 55 ASCII-Zeichen |
|
- | 1295 | NaviData_HoTT_Text.Index = 19; |
|
- | 1296 | NaviData_HoTT_Text.ActualLongitude = NaviData.CurrentPosition.Longitude; |
|
- | 1297 | NaviData_HoTT_Text.ActualLatitude = NaviData.CurrentPosition.Latitude; |
|
- | 1298 | NaviData_HoTT_Text.Altimeter_5cm = NaviData.Altimeter_5cm; |
|
- | 1299 | NaviData_HoTT_Text.GroundSpeed = NaviData.GroundSpeed / 10; |
|
- | 1300 | NaviData_HoTT_Text.OSDStatusFlags = (FC.StatusFlags & OSD_FLAG_MASK1) | (FC.StatusFlags2 & OSD_FLAG_MASK2); |
|
- | 1301 | crc_txt = CRC16((unsigned char*)(&NaviData_HoTT_Text.HoTT_DisplayText), sizeof(NaviData_HoTT_Text_t) - START_PAYLOAD_DATA); // update crc for the structure |
|
- | 1302 | if((crc_txt != CRC_Txt) || (--count_txt == 0)) |
|
- | 1303 | { |
|
- | 1304 | sent += MKProtocol_CreateSerialFrame(&UART1_tx_buffer, 'O', NC_ADDRESS, 1 , (u8 *)&NaviData_HoTT_Text, sizeof(NaviData_HoTT_Text)) + 1; |
|
- | 1305 | CRC_Txt = crc_txt; |
|
- | 1306 | count_txt = 50; |
|
- | 1307 | } |
|
- | 1308 | break; |
|
- | 1309 | ||
- | 1310 | ||
1292 | default: state = 0; |
1311 | default: state = 0; |
1293 | break; |
1312 | break; |
1294 | } |
1313 | } |
1295 | } |
1314 | } |
1296 | pause = (sent * 1000) / MaxBytesPerSecond; |
1315 | pause = (sent * 1000) / MaxBytesPerSecond; |