Fixes. Flash an external module should work
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user