Subversion Repositories NaviCtrl

Rev

Rev 694 | Rev 737 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 694 Rev 732
Line 1027... Line 1027...
1027
 
1027
 
1028
 
1028
 
1029
u16 TransmitNavigationData(u16 MaxBytesPerSecond, u8 clear) // returns the minumum pause time in ms
1029
u16 TransmitNavigationData(u16 MaxBytesPerSecond, u8 clear) // returns the minumum pause time in ms
1030
{
1030
{
1031
static u8 state = 0, count_flags = 2, count_target = 3, count_home = 4, count_wp = 5 , count_tiny = 6, count_fs = 7;
1031
static u8 state = 0, count_flags = 2, count_target = 3, count_home = 4, count_wp = 5 , count_tiny = 6, count_fs = 7;
Line 1032... Line 1032...
1032
static u16 CRC_Home = 0, CRC_Target = 0, CRC_Flags = 0, CRC_Wp = 0, CRC_Fs = 0;
1032
static u16 CRC_Home = 0, CRC_Target = 0, CRC_Flags = 0, CRC_Wp = 0, CRC_Fs = 0, crc_Tiny = 0;
1033
u16 pause, sent = 0, crc_home, crc_target, crc_flags, crc_wp, crc_fs;
1033
u16 pause, sent = 0, crc_home, crc_target, crc_flags, crc_wp, crc_fs;
1034
 
1034
 
Line 1203... Line 1203...
1203
                                NaviData_Tiny.ActualLongitude = NaviData.CurrentPosition.Longitude;
1203
                                NaviData_Tiny.ActualLongitude = NaviData.CurrentPosition.Longitude;
1204
                                NaviData_Tiny.ActualLatitude = NaviData.CurrentPosition.Latitude;
1204
                                NaviData_Tiny.ActualLatitude = NaviData.CurrentPosition.Latitude;
1205
                                NaviData_Tiny.Altimeter = NaviData.Altimeter;
1205
                                NaviData_Tiny.Altimeter = NaviData.Altimeter;
1206
                                NaviData_Tiny.GroundSpeed = NaviData.GroundSpeed / 10;
1206
                                NaviData_Tiny.GroundSpeed = NaviData.GroundSpeed / 10;
1207
                                NaviData_Tiny.OSDStatusFlags = (FC.StatusFlags & OSD_FLAG_MASK1) | (FC.StatusFlags2 & OSD_FLAG_MASK2);
1207
                                NaviData_Tiny.OSDStatusFlags = (FC.StatusFlags & OSD_FLAG_MASK1) | (FC.StatusFlags2 & OSD_FLAG_MASK2);
-
 
1208
                                NaviData_Tiny.CamCtrlChar = CamCtrlCharacter;
1208
                                if(--count_tiny == 0)
1209
                                if((crc_Tiny != NaviData_Tiny.CamCtrlChar) || (--count_tiny == 0))
1209
                                 {
1210
                                 {
1210
                                        sent += MKProtocol_CreateSerialFrame(&UART1_tx_buffer, 'O', NC_ADDRESS, 1 , (u8 *)&NaviData_Tiny, sizeof(NaviData_Tiny)) + 1;
1211
                                        sent += MKProtocol_CreateSerialFrame(&UART1_tx_buffer, 'O', NC_ADDRESS, 1 , (u8 *)&NaviData_Tiny, sizeof(NaviData_Tiny)) + 1;
1211
                                        count_tiny = 200; // just to make sure that it comes sometimes
1212
                                        count_tiny = 200; // just to make sure that it comes sometimes
-
 
1213
                                    crc_Tiny = NaviData_Tiny.CamCtrlChar;
1212
                                 }
1214
                                 }
1213
                        break;
1215
                        break;
1214
                 default: state = 0;
1216
                 default: state = 0;
1215
                                break;
1217
                                break;
1216
                }
1218
                }