Fixes. Flash an external module should work

This commit is contained in:
Bertrand Songis
2019-02-21 16:57:23 +01:00
parent 5979b319b7
commit a4434bc5f3
17 changed files with 200 additions and 108 deletions
+19 -4
View File
@@ -92,8 +92,6 @@ void processFrskyPXX2Data(uint8_t data)
void processFrskyTelemetryData(uint8_t data)
{
static uint8_t dataState = STATE_DATA_IDLE;
#if defined(PCBSKY9X) && defined(BLUETOOTH)
// TODO if (g_model.bt_telemetry)
btPushByte(data);
@@ -111,6 +109,19 @@ void processFrskyTelemetryData(uint8_t data)
}
#endif
if (pushFrskyTelemetryData(data)) {
if (IS_FRSKY_SPORT_PROTOCOL()) {
sportProcessTelemetryPacket(telemetryRxBuffer);
} else {
frskyDProcessPacket(telemetryRxBuffer);
}
}
}
bool pushFrskyTelemetryData(uint8_t data)
{
static uint8_t dataState = STATE_DATA_IDLE;
switch (dataState) {
case STATE_DATA_START:
if (data == START_STOP) {
@@ -138,8 +149,8 @@ void processFrskyTelemetryData(uint8_t data)
}
else {
// end of frame detected
frskyDProcessPacket(telemetryRxBuffer);
dataState = STATE_DATA_IDLE;
return true;
}
break;
}
@@ -166,9 +177,13 @@ void processFrskyTelemetryData(uint8_t data)
#if defined(TELEMETRY_FRSKY_SPORT)
if (IS_FRSKY_SPORT_PROTOCOL() && telemetryRxBufferCount >= FRSKY_SPORT_PACKET_SIZE) {
sportProcessTelemetryPacket(telemetryRxBuffer);
// end of frame detected
dataState = STATE_DATA_IDLE;
return true;
}
#endif
return false;
}