/trunk/gpx.c |
---|
797,7 → 797,7 |
if(NMEA_cnt_gga) |
{ |
sprintf(string, "<Ext_GNSS_Fix>%s</Ext_GNSS_Fix>\r\n",NMEA_In_Fix_Txt); |
sprintf(string, "<Ext_GNSS_Fix>%s %u</Ext_GNSS_Fix>\r\n",NMEA_In_Fix_Txt,ExternalGpsInUse); |
CheckSumAndWrite(&Check16File,string, doc->file); |
sprintf(string, "<Ext_GNSS_Alti>%s</Ext_GNSS_Alti>\r\n",NMEA_In_Alt_Txt); |
CheckSumAndWrite(&Check16File,string, doc->file); |
/trunk/main.c |
---|
125,6 → 125,8 |
u8 ShowCalibrationErrorMessage = 0; |
u8 TryAgain_UBX_Setup = 0; |
u8 MenuBlinkBit; |
u8 ExternalGpsInUse = 0; |
//---------------------------------------------------------------------------------------------------- |
void SCU_Config(void) |
{ |
/trunk/main.h |
---|
18,7 → 18,7 |
#define VERSION_MAJOR 2 |
#define VERSION_MINOR 21 |
#define VERSION_PATCH 2 |
#define VERSION_PATCH 3 |
// 0 = A |
// 1 = B |
// 2 = C |
41,7 → 41,7 |
#define CAN_SLAVE_COMPATIBLE 2 |
#ifndef FOLLOW_ME |
#define FC_SPI_COMPATIBLE 93 // <------------------ |
#define FC_SPI_COMPATIBLE 94 // <------------------ |
#else |
#define FC_SPI_COMPATIBLE 0xFF |
#endif |
394,6 → 394,7 |
extern u8 OEM_String[OEM_NAME_LENGHT+1]; |
extern u8 TryAgain_UBX_Setup; |
extern u8 MenuBlinkBit; |
extern u8 ExternalGpsInUse; |
#define CHECK_ONLY 0 |
#define GET_LICENSE 1 |
/trunk/menu.c |
---|
185,7 → 185,13 |
} |
else // newdata or processed |
{ |
LCD_printfxy(0,0,"Sat:%02d ", GPSData.NumOfSats); |
LCD_printfxy(0,0,"Sat:%02d Fix:%c", GPSData.NumOfSats,NMEA_In_Fix_Txt[0]); |
if(ExternalGpsInUse) |
{ |
LCD_printfxy(7,0,"Fix:%c ",NMEA_In_Fix_Txt[0]); |
} |
else |
{ |
switch (GPSData.SatFix) |
{ |
case SATFIX_NONE: |
209,6 → 215,8 |
{ |
LCD_printfxy(12,0," "); |
} |
} |
if(GPSData.SatFix == SATFIX_NONE) LCD_printfxy(7,0,"NoFix "); |
if(GPSData.Position.Longitude < 0) sign = '-'; |
else sign = '+'; |
225,7 → 233,9 |
i1 = abs(GPSData.Position.Altitude)/1000L; |
i2 = abs(GPSData.Position.Altitude)%1000L; |
LCD_printfxy(0,3,"Alt:%c%04ld.%03ldm V%d", sign, i1, i2, GPS_Version/1000); |
if(ExternalGpsInUse) LCD_printfxy(15,3,"NMEA"); |
} |
break; |
case 3: |
if (GPSData.Status == INVALID) |
/trunk/spi_slave.h |
---|
375,7 → 375,8 |
unsigned char GimbalYawChannel; |
unsigned char GimbalOut1Channel; |
unsigned char GimbalOut2Channel; |
unsigned char reserved[28]; // for later use |
unsigned char ExternalGpsChannel; |
unsigned char reserved[27]; // for later use |
//------------------------------------------------ |
unsigned char BitConfig; // (war Loop-Cfg) Bitcodiert: 0x01=oben, 0x02=unten, 0x04=links, 0x08=rechts / wird getrennt behandelt |
unsigned char ServoCompInvert; // // 0x01 = Nick, 0x02 = Roll, 0x04 = relative moving // WICHTIG!!! am Ende lassen |
/trunk/ubx.c |
---|
63,6 → 63,7 |
#include "led.h" |
#include "timer1.h" |
#include "GPS.h" |
#include "spi_slave.h" |
// ------------------------------------------------------------------------------------------------ |
// defines |
326,7 → 327,8 |
GPSData.Position.Status = INVALID; |
if(!(SimulationFlags & SIMULATION_ACTIVE)) |
{ |
if((Parameter.User3 > 100) && (NMEA_Position.Status != INVALID)) |
if((NMEA_Position.Status != INVALID) && (PPM_In[EE_Parameter.ExternalGpsChannel] > 50)) |
{ |
GPSData.Position.Longitude = NMEA_Position.Longitude; |
GPSData.Position.Latitude = NMEA_Position.Latitude; |
336,6 → 338,7 |
else |
if(CheckAscii(NMEA_In_Fix_Txt[2])) GPSData.NumOfSats = AsciiToNum(NMEA_In_Fix_Txt[2]); // nur eine Ziffer? (weiss nicht, ob das vorkommt..) |
else GPSData.NumOfSats = 0; |
ExternalGpsInUse = 1; |
} |
else |
{ |
343,6 → 346,7 |
GPSData.Position.Longitude = UbxPosLlh.LON; // in steps of 1E-7 deg |
GPSData.Position.Latitude = UbxPosLlh.LAT; // in steps of 1E-7 deg |
GPSData.Position.Altitude = UbxPosLlh.HMSL; // in steps of 1 mm |
ExternalGpsInUse = 0; |
} |
} |
else // simulation active |