From cc585950c33db0eb7f557111eb097a1f07b80ae6 Mon Sep 17 00:00:00 2001 From: 3djc Date: Tue, 10 Mar 2020 18:15:03 +0100 Subject: [PATCH] Review sensor physID handling (#7374) Review sensor physID handling --- radio/src/gui/128x64/model_telemetry_sensor.cpp | 2 +- radio/src/targets/simu/opentxsimulator.cpp | 2 +- radio/src/telemetry/frsky_sport.cpp | 6 ++++++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/radio/src/gui/128x64/model_telemetry_sensor.cpp b/radio/src/gui/128x64/model_telemetry_sensor.cpp index d8a63079e..301b956c1 100644 --- a/radio/src/gui/128x64/model_telemetry_sensor.cpp +++ b/radio/src/gui/128x64/model_telemetry_sensor.cpp @@ -104,7 +104,7 @@ void menuModelSensor(event_t event) if (sensor->type == TELEM_TYPE_CUSTOM) { lcdDrawTextAlignedLeft(y, STR_ID); lcdDrawHexNumber(SENSOR_2ND_COLUMN, y, sensor->id, LEFT|(menuHorizontalPosition==0 ? attr : 0)); - lcdDrawHexChar(SENSOR_3RD_COLUMN, y, (sensor->instance & 0x1F) + 1, LEFT|(menuHorizontalPosition==1 ? attr : 0)); + lcdDrawNumber(SENSOR_3RD_COLUMN, y, (sensor->instance & 0x1F) + 1, LEFT|(menuHorizontalPosition==1 ? attr : 0)); if (attr && s_editMode > 0) { switch (menuHorizontalPosition) { case 0: diff --git a/radio/src/targets/simu/opentxsimulator.cpp b/radio/src/targets/simu/opentxsimulator.cpp index be01f250e..edc435c12 100644 --- a/radio/src/targets/simu/opentxsimulator.cpp +++ b/radio/src/targets/simu/opentxsimulator.cpp @@ -326,7 +326,7 @@ uint8_t OpenTxSimulator::getSensorInstance(uint16_t id, uint8_t defaultValue) if (isTelemetryFieldAvailable(i)) { TelemetrySensor * sensor = &g_model.telemetrySensors[i]; if (sensor->id == id) { - return sensor->instance; + return sensor->frskyInstance.physID + 1; } } } diff --git a/radio/src/telemetry/frsky_sport.cpp b/radio/src/telemetry/frsky_sport.cpp index d67da2559..299553050 100644 --- a/radio/src/telemetry/frsky_sport.cpp +++ b/radio/src/telemetry/frsky_sport.cpp @@ -168,7 +168,13 @@ void sportProcessTelemetryPacketWithoutCrc(uint8_t origin, const uint8_t * packe if (primId == DATA_FRAME) { uint8_t originMask; if (origin == TELEMETRY_ENDPOINT_SPORT) { +#if defined(SIMU) && defined(INTERNAL_MODULE_PXX2) + // When running simu on ACCESS radio, we set the origin as internal module + origin = 0; + originMask = 0x01; +#else originMask = 0x04; +#endif } else { uint8_t moduleIndex = (origin >> 2);