1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-13 11:29:58 +03:00

GPS - simplify GPS baudrate handling (#14195)

- remove unused gpsBaudRate_e
- remove index from gpsInitData_t
- use gpsInitData for baudrate iteration
This commit is contained in:
Petr Ledvina 2025-01-23 23:07:57 +01:00 committed by GitHub
parent 9db36f66d9
commit 2ced38e28f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 6 additions and 17 deletions

View file

@ -101,18 +101,17 @@ static float gpsDataFrequencyHz = 10.0f;
static uint16_t currentGpsStamp = 0; // logical timer for received position update static uint16_t currentGpsStamp = 0; // logical timer for received position update
typedef struct gpsInitData_s { typedef struct gpsInitData_s {
uint8_t index;
uint8_t baudrateIndex; // see baudRate_e uint8_t baudrateIndex; // see baudRate_e
const char *ubx; const char *ubx;
} gpsInitData_t; } gpsInitData_t;
// UBX will cycle through these until valid data is received // UBX will cycle through these until valid data is received
static const gpsInitData_t gpsInitData[] = { static const gpsInitData_t gpsInitData[] = {
{ GPS_BAUDRATE_115200, BAUD_115200, "$PUBX,41,1,0003,0001,115200,0*1E\r\n" }, { BAUD_115200, "$PUBX,41,1,0003,0001,115200,0*1E\r\n" },
{ GPS_BAUDRATE_57600, BAUD_57600, "$PUBX,41,1,0003,0001,57600,0*2D\r\n" }, { BAUD_57600, "$PUBX,41,1,0003,0001,57600,0*2D\r\n" },
{ GPS_BAUDRATE_38400, BAUD_38400, "$PUBX,41,1,0003,0001,38400,0*26\r\n" }, { BAUD_38400, "$PUBX,41,1,0003,0001,38400,0*26\r\n" },
{ GPS_BAUDRATE_19200, BAUD_19200, "$PUBX,41,1,0003,0001,19200,0*23\r\n" }, { BAUD_19200, "$PUBX,41,1,0003,0001,19200,0*23\r\n" },
{ GPS_BAUDRATE_9600, BAUD_9600, "$PUBX,41,1,0003,0001,9600,0*16\r\n" } { BAUD_9600, "$PUBX,41,1,0003,0001,9600,0*16\r\n" }
}; };
#define DEFAULT_BAUD_RATE_INDEX 0 #define DEFAULT_BAUD_RATE_INDEX 0
@ -1081,7 +1080,7 @@ void gpsConfigureUblox(void)
// failed to connect at that rate after five attempts // failed to connect at that rate after five attempts
// try other GPS baudrates, starting at 9600 and moving up // try other GPS baudrates, starting at 9600 and moving up
if (gpsData.tempBaudRateIndex == 0) { if (gpsData.tempBaudRateIndex == 0) {
gpsData.tempBaudRateIndex = GPS_BAUDRATE_MAX; // slowest baud rate 9600 gpsData.tempBaudRateIndex = ARRAYLEN(gpsInitData) - 1; // slowest baud rate (9600)
} else { } else {
gpsData.tempBaudRateIndex--; gpsData.tempBaudRateIndex--;
} }

View file

@ -192,14 +192,6 @@ typedef enum {
#define SBAS_MODE_MAX SBAS_GAGAN #define SBAS_MODE_MAX SBAS_GAGAN
typedef enum {
GPS_BAUDRATE_115200 = 0,
GPS_BAUDRATE_57600,
GPS_BAUDRATE_38400,
GPS_BAUDRATE_19200,
GPS_BAUDRATE_9600
} gpsBaudRate_e;
typedef enum { typedef enum {
GPS_AUTOCONFIG_OFF = 0, GPS_AUTOCONFIG_OFF = 0,
GPS_AUTOCONFIG_ON GPS_AUTOCONFIG_ON
@ -217,8 +209,6 @@ typedef enum {
UBLOX_ACK_GOT_NACK UBLOX_ACK_GOT_NACK
} ubloxAckState_e; } ubloxAckState_e;
#define GPS_BAUDRATE_MAX GPS_BAUDRATE_9600
typedef struct gpsCoordinateDDDMMmmmm_s { typedef struct gpsCoordinateDDDMMmmmm_s {
int16_t dddmm; int16_t dddmm;
int16_t mmmm; int16_t mmmm;