mirror of
https://github.com/betaflight/betaflight.git
synced 2025-07-19 06:15:16 +03:00
The GPS data will not be transmitted until the sensor(SENSOR_GPS) is not valid
...and corrected code formating.
This commit is contained in:
parent
fb72fa7d03
commit
b38ae4148e
1 changed files with 40 additions and 14 deletions
|
@ -193,6 +193,29 @@ uint8_t calcCRC8(uint8_t *pt, uint8_t msgLen)
|
|||
return(crc);
|
||||
}
|
||||
|
||||
void enableGpsTelemetry(bool enable)
|
||||
{
|
||||
if (enable) {
|
||||
bitArraySet(&exSensorEnabled, EX_GPS_SATS);
|
||||
bitArraySet(&exSensorEnabled, EX_GPS_LONG);
|
||||
bitArraySet(&exSensorEnabled, EX_GPS_LAT);
|
||||
bitArraySet(&exSensorEnabled, EX_GPS_SPEED);
|
||||
bitArraySet(&exSensorEnabled, EX_GPS_DISTANCE_TO_HOME);
|
||||
bitArraySet(&exSensorEnabled, EX_GPS_DIRECTION_TO_HOME);
|
||||
bitArraySet(&exSensorEnabled, EX_GPS_HEADING);
|
||||
bitArraySet(&exSensorEnabled, EX_GPS_ALTITUDE);
|
||||
} else {
|
||||
bitArrayClr(&exSensorEnabled, EX_GPS_SATS);
|
||||
bitArrayClr(&exSensorEnabled, EX_GPS_LONG);
|
||||
bitArrayClr(&exSensorEnabled, EX_GPS_LAT);
|
||||
bitArrayClr(&exSensorEnabled, EX_GPS_SPEED);
|
||||
bitArrayClr(&exSensorEnabled, EX_GPS_DISTANCE_TO_HOME);
|
||||
bitArrayClr(&exSensorEnabled, EX_GPS_DIRECTION_TO_HOME);
|
||||
bitArrayClr(&exSensorEnabled, EX_GPS_HEADING);
|
||||
bitArrayClr(&exSensorEnabled, EX_GPS_ALTITUDE);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* -----------------------------------------------
|
||||
* Jeti Ex Bus Telemetry
|
||||
|
@ -241,16 +264,7 @@ void initJetiExBusTelemetry(void)
|
|||
bitArraySet(&exSensorEnabled, EX_HEADING);
|
||||
}
|
||||
|
||||
if (featureIsEnabled(FEATURE_GPS)) {
|
||||
bitArraySet(&exSensorEnabled, EX_GPS_SATS);
|
||||
bitArraySet(&exSensorEnabled, EX_GPS_LONG);
|
||||
bitArraySet(&exSensorEnabled, EX_GPS_LAT);
|
||||
bitArraySet(&exSensorEnabled, EX_GPS_SPEED);
|
||||
bitArraySet(&exSensorEnabled, EX_GPS_DISTANCE_TO_HOME);
|
||||
bitArraySet(&exSensorEnabled, EX_GPS_DIRECTION_TO_HOME);
|
||||
bitArraySet(&exSensorEnabled, EX_GPS_HEADING);
|
||||
bitArraySet(&exSensorEnabled, EX_GPS_ALTITUDE);
|
||||
}
|
||||
enableGpsTelemetry(featureIsEnabled(FEATURE_GPS));
|
||||
|
||||
firstActiveSensor = getNextActiveSensor(0); // find the first active sensor
|
||||
}
|
||||
|
@ -495,6 +509,7 @@ uint8_t sendJetiExBusTelemetry(uint8_t packetID, uint8_t item)
|
|||
{
|
||||
static uint8_t sensorDescriptionCounter = 0xFF;
|
||||
static uint8_t requestLoop = 0xFF;
|
||||
static bool allSensorsActive = true;
|
||||
uint8_t *jetiExTelemetryFrame = &jetiExBusTelemetryFrame[EXBUS_HEADER_DATA];
|
||||
|
||||
if (requestLoop) {
|
||||
|
@ -512,10 +527,21 @@ uint8_t sendJetiExBusTelemetry(uint8_t packetID, uint8_t item)
|
|||
requestLoop--;
|
||||
if (requestLoop == 0) {
|
||||
item = firstActiveSensor;
|
||||
if (featureIsEnabled(FEATURE_GPS)) {
|
||||
enableGpsTelemetry(false);
|
||||
allSensorsActive = false;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
item = createExTelemetryValueMessage(jetiExTelemetryFrame, item);
|
||||
createExBusMessage(jetiExBusTelemetryFrame, jetiExTelemetryFrame, packetID);
|
||||
|
||||
if (!allSensorsActive) {
|
||||
if (sensors(SENSOR_GPS)) {
|
||||
enableGpsTelemetry(true);
|
||||
allSensorsActive = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
serialWriteBuf(jetiExBusPort, jetiExBusTelemetryFrame, jetiExBusTelemetryFrame[EXBUS_HEADER_MSG_LEN]);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue