Add R9M dynamic power sensor
This commit is contained in:
@@ -65,6 +65,9 @@ void processFrskyPXX2Data(uint8_t data)
|
||||
else {
|
||||
createFrSkyPXX2Sensor(BATT_ID, telemetryRxBuffer[2] & 0x7f);
|
||||
}
|
||||
if((telemetryRxBuffer[3] & 0x04) == 0) {
|
||||
createFrSkyPXX2Sensor(R9_PWR_ID, (telemetryRxBuffer[3] & 0x03);
|
||||
}
|
||||
sportProcessTelemetryPacketWithoutCrc(telemetryRxBuffer + 6 /* LEN, TYPE, RSSI/BAT, TP/SS/FW_T, FW_VER, Data ID */);
|
||||
}
|
||||
telemetryRxBufferCount = 0;
|
||||
|
||||
@@ -192,6 +192,8 @@ enum FrSkyDataState {
|
||||
#define XJT_VERSION_ID 0xf106
|
||||
#define FUEL_QTY_FIRST_ID 0x0a10
|
||||
#define FUEL_QTY_LAST_ID 0x0a1f
|
||||
#define R9_PWR_ID 0xf107 // TODO: *CRITICAL* agree on ID with FrSky, this value is just a placeholder
|
||||
|
||||
|
||||
// Default sensor data IDs (Physical IDs + CRC)
|
||||
#define DATA_ID_VARIO 0x00 // 0
|
||||
|
||||
@@ -36,6 +36,7 @@ const FrSkySportSensor sportSensors[] = {
|
||||
{ A3_FIRST_ID, A3_LAST_ID, 0, ZSTR_A3, UNIT_VOLTS, 2 },
|
||||
{ A4_FIRST_ID, A4_LAST_ID, 0, ZSTR_A4, UNIT_VOLTS, 2 },
|
||||
{ BATT_ID, BATT_ID, 0, ZSTR_BATT, UNIT_VOLTS, 1 },
|
||||
{ R9_PWR_ID, R9_PWR_ID, 0, ZSTR_R9PW, UNIT_MILLIWATTS, 0 },
|
||||
{ T1_FIRST_ID, T1_LAST_ID, 0, ZSTR_TEMP1, UNIT_CELSIUS, 0 },
|
||||
{ T2_FIRST_ID, T2_LAST_ID, 0, ZSTR_TEMP2, UNIT_CELSIUS, 0 },
|
||||
{ RPM_FIRST_ID, RPM_LAST_ID, 0, ZSTR_RPM, UNIT_RPMS, 0 },
|
||||
@@ -154,8 +155,6 @@ void sportProcessTelemetryPacketWithoutCrc(const uint8_t * packet)
|
||||
uint16_t id = *((uint16_t *)(packet+2));
|
||||
uint32_t data = SPORT_DATA_S32(packet);
|
||||
|
||||
TRACE("%x %x %x %x\n", physicalId, primId, id,SPORT_DATA_U8(packet) );
|
||||
|
||||
if (primId == DATA_FRAME) {
|
||||
uint8_t instance = physicalId + 1;
|
||||
if (id == RSSI_ID && isValidIdAndInstance(RSSI_ID, instance)) {
|
||||
@@ -166,6 +165,10 @@ void sportProcessTelemetryPacketWithoutCrc(const uint8_t * packet)
|
||||
else
|
||||
telemetryData.rssi.set(data);
|
||||
}
|
||||
else if (id == R9_PWR_ID) {
|
||||
uint32_t r9pwr[] = {100, 200, 500, 1000};
|
||||
data = r9pwr[SPORT_DATA_U8(packet) & 0x03];
|
||||
}
|
||||
else if (id == XJT_VERSION_ID) {
|
||||
telemetryData.xjtVersion = HUB_DATA_U16(packet);
|
||||
if (!IS_RAS_VALUE_VALID()) {
|
||||
|
||||
@@ -1182,6 +1182,7 @@
|
||||
#define TR_JITTER_FILTER "ADC Filtr"
|
||||
|
||||
#define ZSTR_RSSI "RSSI"
|
||||
#define ZSTR_R9PW "R9PW"
|
||||
#define ZSTR_RAS "SWR"
|
||||
#define ZSTR_A1 "A1"
|
||||
#define ZSTR_A2 "A2"
|
||||
|
||||
@@ -1180,6 +1180,7 @@
|
||||
#define TR_JITTER_FILTER "ADC Filter"
|
||||
// ----------------------------------------------------------------
|
||||
#define ZSTR_RSSI "RSSI"
|
||||
#define ZSTR_R9PW "R9PW"
|
||||
#define ZSTR_RAS "SWR"
|
||||
#define ZSTR_A1 "A1"
|
||||
#define ZSTR_A2 "A2"
|
||||
|
||||
@@ -1190,6 +1190,7 @@
|
||||
#define TR_JITTER_FILTER "ADC filter"
|
||||
|
||||
#define ZSTR_RSSI "RSSI"
|
||||
#define ZSTR_R9PW "R9PW"
|
||||
#define ZSTR_RAS "SWR"
|
||||
#define ZSTR_A1 "A1"
|
||||
#define ZSTR_A2 "A2"
|
||||
|
||||
@@ -1186,6 +1186,7 @@
|
||||
#define TR_JITTER_FILTER "ADC Filter"
|
||||
|
||||
#define ZSTR_RSSI "RSSI"
|
||||
#define ZSTR_R9PW "R9PW"
|
||||
#define ZSTR_RAS "SWR"
|
||||
#define ZSTR_A1 "A1"
|
||||
#define ZSTR_A2 "A2"
|
||||
|
||||
@@ -1172,6 +1172,7 @@
|
||||
#define TR_JITTER_FILTER "ADC Filter"
|
||||
|
||||
#define ZSTR_RSSI "RSSI"
|
||||
#define ZSTR_R9PW "R9PW"
|
||||
#define ZSTR_RAS "SWR"
|
||||
#define ZSTR_A1 "A1"
|
||||
#define ZSTR_A2 "A2"
|
||||
|
||||
@@ -1198,6 +1198,7 @@
|
||||
#define TR_JITTER_FILTER "Filtre ADC"
|
||||
|
||||
#define ZSTR_RSSI "RSSI"
|
||||
#define ZSTR_R9PW "R9PW"
|
||||
#define ZSTR_RAS "SWR"
|
||||
#define ZSTR_A1 "A1"
|
||||
#define ZSTR_A2 "A2"
|
||||
|
||||
@@ -1181,6 +1181,7 @@
|
||||
#define TR_JITTER_FILTER "ADC Filter"
|
||||
|
||||
#define ZSTR_RSSI "RSSI"
|
||||
#define ZSTR_R9PW "R9PW"
|
||||
#define ZSTR_RAS "SWR"
|
||||
#define ZSTR_A1 "A1"
|
||||
#define ZSTR_A2 "A2"
|
||||
|
||||
@@ -1188,6 +1188,7 @@
|
||||
#define TR_JITTER_FILTER "ADC Filter"
|
||||
|
||||
#define ZSTR_RSSI "RSSI"
|
||||
#define ZSTR_R9PW "R9PW"
|
||||
#define ZSTR_RAS "SWR"
|
||||
#define ZSTR_A1 "A1"
|
||||
#define ZSTR_A2 "A2"
|
||||
|
||||
@@ -1182,6 +1182,7 @@
|
||||
#define TR_JITTER_FILTER "ADC Filter"
|
||||
|
||||
#define ZSTR_RSSI "RSSI"
|
||||
#define ZSTR_R9PW "R9PW"
|
||||
#define ZSTR_RAS "SWR"
|
||||
#define ZSTR_A1 "A1"
|
||||
#define ZSTR_A2 "A2"
|
||||
|
||||
@@ -1185,6 +1185,7 @@
|
||||
#define TR_JITTER_FILTER "ADC Filter"
|
||||
|
||||
#define ZSTR_RSSI "RSSI"
|
||||
#define ZSTR_R9PW "R9PW"
|
||||
#define ZSTR_RAS "SWR"
|
||||
#define ZSTR_A1 "A1"
|
||||
#define ZSTR_A2 "A2"
|
||||
|
||||
@@ -1195,6 +1195,7 @@
|
||||
#define TR_JITTER_FILTER "ADC Filter"
|
||||
|
||||
#define ZSTR_RSSI "RSSI"
|
||||
#define ZSTR_R9PW "R9PW"
|
||||
#define ZSTR_RAS "SWR"
|
||||
#define ZSTR_A1 "A1"
|
||||
#define ZSTR_A2 "A2"
|
||||
|
||||
Reference in New Issue
Block a user