Subversion Repositories NaviCtrl

Rev

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;