mirror of
https://github.com/betaflight/betaflight.git
synced 2025-07-19 06:15:16 +03:00
Beginning of the great GPS unfucking.
* Proper initialization sequence framework for various supported GPS types. NMEA will now auto-detect its baud rate based on received frames. * As a result of the above, gps_baudrate has been changed to enum, to only allow fixed rates. (GPS baudrate, -1: autodetect (NMEA only), 0: 115200, 1: 57600, 2: 38400, 3: 19200, 4: 9600) * UBX binary initialization at any specified baudrate with auto-reconnect on signal loss. * GPS thread to handle initialization, signal loss and configuration. No longer does GPS need to be powered before FC, and on GPS reconnect, it will be re-initialized if needed. MTK NMEA/binary initialization is omitted for now, as I can't find my MTK GPS GPS deltaTime can be calculated to display update rate. git-svn-id: https://afrodevices.googlecode.com/svn/trunk/baseflight@438 7c89a4a9-59b9-e629-4cfe-3a2d53b20e61
This commit is contained in:
parent
04560808e7
commit
30ded7ff04
8 changed files with 209 additions and 126 deletions
10
src/main.c
10
src/main.c
|
@ -99,11 +99,13 @@ int main(void)
|
|||
sbusInit(&rcReadRawFunc);
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
// spektrum and GPS are mutually exclusive
|
||||
} else { // spektrum and GPS are mutually exclusive
|
||||
// Optional GPS - available in both PPM and PWM input mode, in PWM input, reduces number of available channels by 2.
|
||||
if (feature(FEATURE_GPS))
|
||||
gpsInit(mcfg.gps_baudrate);
|
||||
// gpsInit will return if FEATURE_GPS is not enabled.
|
||||
// Sanity check below - protocols other than NMEA do not support baud rate autodetection
|
||||
if (mcfg.gps_type > 0 && mcfg.gps_baudrate < 0)
|
||||
mcfg.gps_baudrate = 0;
|
||||
gpsInit(mcfg.gps_baudrate);
|
||||
}
|
||||
#ifdef SONAR
|
||||
// sonar stuff only works with PPM
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue