mirror of
https://github.com/betaflight/betaflight.git
synced 2025-07-19 22:35:23 +03:00
Fix compilation errors when GPS is not #defined
This commit is contained in:
parent
ee1d5a9a38
commit
593db0ce1e
3 changed files with 46 additions and 25 deletions
|
@ -66,8 +66,6 @@
|
||||||
|
|
||||||
controlRateConfig_t *getControlRateConfig(uint8_t profileIndex);
|
controlRateConfig_t *getControlRateConfig(uint8_t profileIndex);
|
||||||
|
|
||||||
//#define ENABLE_DEBUG_OLED_PAGE
|
|
||||||
|
|
||||||
#define MICROSECONDS_IN_A_SECOND (1000 * 1000)
|
#define MICROSECONDS_IN_A_SECOND (1000 * 1000)
|
||||||
|
|
||||||
#define DISPLAY_UPDATE_FREQUENCY (MICROSECONDS_IN_A_SECOND / 5)
|
#define DISPLAY_UPDATE_FREQUENCY (MICROSECONDS_IN_A_SECOND / 5)
|
||||||
|
|
|
@ -15,14 +15,19 @@
|
||||||
* along with Cleanflight. If not, see <http://www.gnu.org/licenses/>.
|
* along with Cleanflight. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
//#define ENABLE_DEBUG_OLED_PAGE
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
PAGE_WELCOME,
|
PAGE_WELCOME,
|
||||||
PAGE_ARMED,
|
PAGE_ARMED,
|
||||||
PAGE_BATTERY,
|
PAGE_BATTERY,
|
||||||
PAGE_SENSORS,
|
PAGE_SENSORS,
|
||||||
PAGE_RX,
|
PAGE_RX,
|
||||||
PAGE_PROFILE,
|
PAGE_PROFILE
|
||||||
|
#ifdef GPS
|
||||||
|
,
|
||||||
PAGE_GPS
|
PAGE_GPS
|
||||||
|
#endif
|
||||||
#ifdef ENABLE_DEBUG_OLED_PAGE
|
#ifdef ENABLE_DEBUG_OLED_PAGE
|
||||||
,
|
,
|
||||||
PAGE_DEBUG
|
PAGE_DEBUG
|
||||||
|
|
|
@ -263,7 +263,6 @@ static void sendTime(void)
|
||||||
serialize16(seconds % 60);
|
serialize16(seconds % 60);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef GPS
|
|
||||||
// Frsky pdf: dddmm.mmmm
|
// Frsky pdf: dddmm.mmmm
|
||||||
// .mmmm is returned in decimal fraction of minutes.
|
// .mmmm is returned in decimal fraction of minutes.
|
||||||
static void GPStoDDDMM_MMMM(int32_t mwiigps, gpsCoordinateDDDMMmmmm_t *result)
|
static void GPStoDDDMM_MMMM(int32_t mwiigps, gpsCoordinateDDDMMmmmm_t *result)
|
||||||
|
@ -283,7 +282,28 @@ static void GPStoDDDMM_MMMM(int32_t mwiigps, gpsCoordinateDDDMMmmmm_t *result)
|
||||||
result->mmmm = (absgps - min * GPS_DEGREES_DIVIDER) / 1000;
|
result->mmmm = (absgps - min * GPS_DEGREES_DIVIDER) / 1000;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sendGPS(void)
|
static void sendLatLong(int32_t coord[2])
|
||||||
|
{
|
||||||
|
gpsCoordinateDDDMMmmmm_t coordinate;
|
||||||
|
GPStoDDDMM_MMMM(coord[LAT], &coordinate);
|
||||||
|
sendDataHead(ID_LATITUDE_BP);
|
||||||
|
serialize16(coordinate.dddmm);
|
||||||
|
sendDataHead(ID_LATITUDE_AP);
|
||||||
|
serialize16(coordinate.mmmm);
|
||||||
|
sendDataHead(ID_N_S);
|
||||||
|
serialize16(coord[LAT] < 0 ? 'S' : 'N');
|
||||||
|
|
||||||
|
GPStoDDDMM_MMMM(coord[LON], &coordinate);
|
||||||
|
sendDataHead(ID_LONGITUDE_BP);
|
||||||
|
serialize16(coordinate.dddmm);
|
||||||
|
sendDataHead(ID_LONGITUDE_AP);
|
||||||
|
serialize16(coordinate.mmmm);
|
||||||
|
sendDataHead(ID_E_W);
|
||||||
|
serialize16(coord[LON] < 0 ? 'W' : 'E');
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef GPS
|
||||||
|
static void sendGPSLatLong(void)
|
||||||
{
|
{
|
||||||
int32_t localGPS_coord[2] = {0,0};
|
int32_t localGPS_coord[2] = {0,0};
|
||||||
// Don't set dummy GPS data, if we already had a GPS fix
|
// Don't set dummy GPS data, if we already had a GPS fix
|
||||||
|
@ -301,25 +321,18 @@ static void sendGPS(void)
|
||||||
localGPS_coord[LON] = (telemetryConfig->gpsNoFixLongitude * GPS_DEGREES_DIVIDER);
|
localGPS_coord[LON] = (telemetryConfig->gpsNoFixLongitude * GPS_DEGREES_DIVIDER);
|
||||||
}
|
}
|
||||||
|
|
||||||
gpsCoordinateDDDMMmmmm_t coordinate;
|
sendLatLong(localGPS_coord);
|
||||||
GPStoDDDMM_MMMM(localGPS_coord[LAT], &coordinate);
|
|
||||||
sendDataHead(ID_LATITUDE_BP);
|
|
||||||
serialize16(coordinate.dddmm);
|
|
||||||
sendDataHead(ID_LATITUDE_AP);
|
|
||||||
serialize16(coordinate.mmmm);
|
|
||||||
sendDataHead(ID_N_S);
|
|
||||||
serialize16(localGPS_coord[LAT] < 0 ? 'S' : 'N');
|
|
||||||
|
|
||||||
GPStoDDDMM_MMMM(localGPS_coord[LON], &coordinate);
|
|
||||||
sendDataHead(ID_LONGITUDE_BP);
|
|
||||||
serialize16(coordinate.dddmm);
|
|
||||||
sendDataHead(ID_LONGITUDE_AP);
|
|
||||||
serialize16(coordinate.mmmm);
|
|
||||||
sendDataHead(ID_E_W);
|
|
||||||
serialize16(localGPS_coord[LON] < 0 ? 'W' : 'E');
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
static void sendFakeLatLong(void)
|
||||||
|
{
|
||||||
|
int32_t coord[2] = {0,0};
|
||||||
|
coord[LAT] = (telemetryConfig->gpsNoFixLatitude * GPS_DEGREES_DIVIDER);
|
||||||
|
coord[LON] = (telemetryConfig->gpsNoFixLongitude * GPS_DEGREES_DIVIDER);
|
||||||
|
|
||||||
|
sendLatLong(coord);
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Send vertical speed for opentx. ID_VERT_SPEED
|
* Send vertical speed for opentx. ID_VERT_SPEED
|
||||||
|
@ -510,13 +523,18 @@ void handleFrSkyTelemetry(rxConfig_t *rxConfig, uint16_t deadband3d_throttle)
|
||||||
sendSpeed();
|
sendSpeed();
|
||||||
sendGpsAltitude();
|
sendGpsAltitude();
|
||||||
sendSatalliteSignalQualityAsTemperature2();
|
sendSatalliteSignalQualityAsTemperature2();
|
||||||
|
sendGPSLatLong();
|
||||||
|
}
|
||||||
|
else if (telemetryConfig->gpsNoFixLatitude != 0 && telemetryConfig->gpsNoFixLongitude != 0) {
|
||||||
|
sendFakeLatLong();
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
// Send GPS information to display compass information
|
||||||
|
if (telemetryConfig->gpsNoFixLatitude != 0 && telemetryConfig->gpsNoFixLongitude != 0) {
|
||||||
|
sendFakeLatLong();
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Send GPS information to display compass information
|
|
||||||
if (sensors(SENSOR_GPS) || (telemetryConfig->gpsNoFixLatitude != 0 && telemetryConfig->gpsNoFixLongitude != 0)) {
|
|
||||||
sendGPS();
|
|
||||||
}
|
|
||||||
sendTelemetryTail();
|
sendTelemetryTail();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue