diff --git a/radio/src/dataconstants.h b/radio/src/dataconstants.h index a1db5ebdd..d6e74cd95 100644 --- a/radio/src/dataconstants.h +++ b/radio/src/dataconstants.h @@ -249,12 +249,16 @@ enum UartModes { enum TelemetryProtocol { - TELEM_PROTO_FRSKY_D, - TELEM_PROTO_FRSKY_SPORT, - TELEM_PROTO_CROSSFIRE, - TELEM_PROTO_SPEKTRUM, - TELEM_PROTO_LUA, - TELEM_PROTO_FLYSKY_IBUS, + PROTOCOL_TELEMETRY_FIRST, + PROTOCOL_TELEMETRY_FRSKY_SPORT = PROTOCOL_TELEMETRY_FIRST, + PROTOCOL_TELEMETRY_FRSKY_D, + PROTOCOL_TELEMETRY_FRSKY_D_SECONDARY, + PROTOCOL_TELEMETRY_CROSSFIRE, + PROTOCOL_TELEMETRY_SPEKTRUM, + PROTOCOL_TELEMETRY_FLYSKY_IBUS, + PROTOCOL_TELEMETRY_MULTIMODULE, + PROTOCOL_TELEMETRY_LAST=PROTOCOL_TELEMETRY_MULTIMODULE, + PROTOCOL_TELEMETRY_LUA }; #define TELEM_LABEL_LEN 4 diff --git a/radio/src/datastructs.h b/radio/src/datastructs.h index 88ce4159c..fcac2169d 100644 --- a/radio/src/datastructs.h +++ b/radio/src/datastructs.h @@ -379,7 +379,7 @@ PACK(struct TelemetrySensor { int32_t getPrecDivisor() const; bool isSameInstance(TelemetryProtocol protocol, uint8_t instance) { - if (protocol == TELEM_PROTO_FRSKY_SPORT) { + if (protocol == PROTOCOL_TELEMETRY_FRSKY_SPORT) { if (((this->instance ^ instance) & 0x9F) == 0) { this->instance = instance; // update the instance in case we had telemetry switching return true; diff --git a/radio/src/lua/api_general.cpp b/radio/src/lua/api_general.cpp index 63eaefd9d..6613596fa 100644 --- a/radio/src/lua/api_general.cpp +++ b/radio/src/lua/api_general.cpp @@ -1285,7 +1285,7 @@ static int luaSetTelemetryValue(lua_State * L) zname[3] = hex2zchar((id & 0x000f) >> 0); } if (id | subId | instance) { - int index = setTelemetryValue(TELEM_PROTO_LUA, id, subId, instance, value, unit, prec); + int index = setTelemetryValue(PROTOCOL_TELEMETRY_LUA, id, subId, instance, value, unit, prec); if (index >= 0) { TelemetrySensor &telemetrySensor = g_model.telemetrySensors[index]; telemetrySensor.id = id; diff --git a/radio/src/myeeprom.h b/radio/src/myeeprom.h index c97c7cf5e..f1ec2e322 100644 --- a/radio/src/myeeprom.h +++ b/radio/src/myeeprom.h @@ -261,19 +261,6 @@ enum ThrottleSources { THROTTLE_SOURCE_CH1, }; -enum TelemetryProtocols -{ - PROTOCOL_TELEMETRY_FIRST, - PROTOCOL_TELEMETRY_FRSKY_SPORT = PROTOCOL_TELEMETRY_FIRST, - PROTOCOL_TELEMETRY_FRSKY_D, - PROTOCOL_TELEMETRY_FRSKY_D_SECONDARY, - PROTOCOL_TELEMETRY_CROSSFIRE, - PROTOCOL_TELEMETRY_SPEKTRUM, - PROTOCOL_TELEMETRY_FLYSKY_IBUS, - PROTOCOL_TELEMETRY_MULTIMODULE, - PROTOCOL_TELEMETRY_LAST=PROTOCOL_TELEMETRY_MULTIMODULE -}; - enum DisplayTrims { DISPLAY_TRIMS_NEVER, diff --git a/radio/src/telemetry/crossfire.cpp b/radio/src/telemetry/crossfire.cpp index ebe2bb869..4e2efd5e8 100644 --- a/radio/src/telemetry/crossfire.cpp +++ b/radio/src/telemetry/crossfire.cpp @@ -69,7 +69,7 @@ const CrossfireSensor & getCrossfireSensor(uint8_t id, uint8_t subId) void processCrossfireTelemetryValue(uint8_t index, int32_t value) { const CrossfireSensor & sensor = crossfireSensors[index]; - setTelemetryValue(TELEM_PROTO_CROSSFIRE, sensor.id, 0, sensor.subId, value, sensor.unit, sensor.precision); + setTelemetryValue(PROTOCOL_TELEMETRY_CROSSFIRE, sensor.id, 0, sensor.subId, value, sensor.unit, sensor.precision); } bool checkCrossfireTelemetryFrameCRC() @@ -164,7 +164,7 @@ void processCrossfireTelemetryFrame() const CrossfireSensor & sensor = crossfireSensors[FLIGHT_MODE_INDEX]; for (int i=0; i(16, telemetryRxBuffer[1]-2); i+=4) { uint32_t value = *((uint32_t *)&telemetryRxBuffer[3+i]); - setTelemetryValue(TELEM_PROTO_CROSSFIRE, sensor.id, 0, sensor.subId, value, sensor.unit, i); + setTelemetryValue(PROTOCOL_TELEMETRY_CROSSFIRE, sensor.id, 0, sensor.subId, value, sensor.unit, i); } break; } diff --git a/radio/src/telemetry/flysky_ibus.cpp b/radio/src/telemetry/flysky_ibus.cpp index 980b158ce..d4b00c995 100644 --- a/radio/src/telemetry/flysky_ibus.cpp +++ b/radio/src/telemetry/flysky_ibus.cpp @@ -106,17 +106,17 @@ static void processFlySkySensor(const uint8_t *packet) else if (sensor->unit == UNIT_VOLTS) // Voltage types are signed 16bit integers value = (int16_t)value; - setTelemetryValue(TELEM_PROTO_FLYSKY_IBUS, id, 0, instance, value, sensor->unit, sensor->precision); + setTelemetryValue(PROTOCOL_TELEMETRY_FLYSKY_IBUS, id, 0, instance, value, sensor->unit, sensor->precision); return; } } - setTelemetryValue(TELEM_PROTO_FLYSKY_IBUS, id, 0, instance, value, UNIT_RAW, 0); + setTelemetryValue(PROTOCOL_TELEMETRY_FLYSKY_IBUS, id, 0, instance, value, UNIT_RAW, 0); } void processFlySkyPacket(const uint8_t *packet) { // Set TX RSSI Value, reverse MULTIs scaling - setTelemetryValue(TELEM_PROTO_FLYSKY_IBUS, TX_RSSI_ID, 0, 0, packet[0], UNIT_RAW, 0); + setTelemetryValue(PROTOCOL_TELEMETRY_FLYSKY_IBUS, TX_RSSI_ID, 0, 0, packet[0], UNIT_RAW, 0); for (int sensor = 0; sensor < 7; sensor++) { int index = 1 + (4 * sensor); diff --git a/radio/src/telemetry/frsky_d.cpp b/radio/src/telemetry/frsky_d.cpp index 6264ff1ba..b46b93e11 100644 --- a/radio/src/telemetry/frsky_d.cpp +++ b/radio/src/telemetry/frsky_d.cpp @@ -68,9 +68,9 @@ void frskyDProcessPacket(const uint8_t *packet) { case LINKPKT: // A1/A2/RSSI values { - setTelemetryValue(TELEM_PROTO_FRSKY_D, D_A1_ID, 0, 0, packet[1], UNIT_VOLTS, 0); - setTelemetryValue(TELEM_PROTO_FRSKY_D, D_A2_ID, 0, 0, packet[2], UNIT_VOLTS, 0); - setTelemetryValue(TELEM_PROTO_FRSKY_D, D_RSSI_ID, 0, 0, packet[3], UNIT_RAW, 0); + setTelemetryValue(PROTOCOL_TELEMETRY_FRSKY_D, D_A1_ID, 0, 0, packet[1], UNIT_VOLTS, 0); + setTelemetryValue(PROTOCOL_TELEMETRY_FRSKY_D, D_A2_ID, 0, 0, packet[2], UNIT_VOLTS, 0); + setTelemetryValue(PROTOCOL_TELEMETRY_FRSKY_D, D_RSSI_ID, 0, 0, packet[3], UNIT_RAW, 0); telemetryData.rssi.set(packet[3]); telemetryStreaming = TELEMETRY_TIMEOUT10ms; // reset counter only if valid packets are being detected break; @@ -258,7 +258,7 @@ void processHubPacket(uint8_t id, int16_t value) } } - setTelemetryValue(TELEM_PROTO_FRSKY_D, id, 0, 0, data, unit, precision); + setTelemetryValue(PROTOCOL_TELEMETRY_FRSKY_D, id, 0, 0, data, unit, precision); } void frskyDSetDefault(int index, uint16_t id) diff --git a/radio/src/telemetry/frsky_sport.cpp b/radio/src/telemetry/frsky_sport.cpp index bc9d9e5d8..abe52f61c 100644 --- a/radio/src/telemetry/frsky_sport.cpp +++ b/radio/src/telemetry/frsky_sport.cpp @@ -128,14 +128,14 @@ void sportProcessTelemetryPacket(uint16_t id, uint8_t subId, uint8_t instance, u uint8_t cellsCount = (data & 0xF0) >> 4; uint8_t cellIndex = (data & 0x0F); uint32_t mask = (cellsCount << 24) + (cellIndex << 16); - setTelemetryValue(TELEM_PROTO_FRSKY_SPORT, id, subId, instance, mask + (((data & 0x000FFF00) >> 8) / 5), unit, precision); + setTelemetryValue(PROTOCOL_TELEMETRY_FRSKY_SPORT, id, subId, instance, mask + (((data & 0x000FFF00) >> 8) / 5), unit, precision); if (cellIndex+1 < cellsCount) { mask += (1 << 16); - setTelemetryValue(TELEM_PROTO_FRSKY_SPORT, id, subId, instance, mask + (((data & 0xFFF00000) >> 20) / 5), unit, precision); + setTelemetryValue(PROTOCOL_TELEMETRY_FRSKY_SPORT, id, subId, instance, mask + (((data & 0xFFF00000) >> 20) / 5), unit, precision); } } else { - setTelemetryValue(TELEM_PROTO_FRSKY_SPORT, id, subId, instance, data, unit, precision); + setTelemetryValue(PROTOCOL_TELEMETRY_FRSKY_SPORT, id, subId, instance, data, unit, precision); } } @@ -170,7 +170,7 @@ void sportProcessTelemetryPacketWithoutCrc(uint8_t origin, const uint8_t * packe data = SPORT_DATA_U8(packet); if (g_model.rssiSource) { TelemetrySensor * sensor = &g_model.telemetrySensors[g_model.rssiSource - 1]; - if (sensor->isSameInstance(TELEM_PROTO_FRSKY_SPORT, instance)) { + if (sensor->isSameInstance(PROTOCOL_TELEMETRY_FRSKY_SPORT, instance)) { telemetryData.rssi.set(data); } } diff --git a/radio/src/telemetry/spektrum.cpp b/radio/src/telemetry/spektrum.cpp index 17562e787..41b27b88c 100644 --- a/radio/src/telemetry/spektrum.cpp +++ b/radio/src/telemetry/spektrum.cpp @@ -271,7 +271,7 @@ bool isSpektrumValidValue(int32_t value, const SpektrumDataType type) void processSpektrumPacket(const uint8_t *packet) { - setTelemetryValue(TELEM_PROTO_SPEKTRUM, (I2C_PSEUDO_TX << 8) + 0, 0, 0, packet[1], UNIT_RAW, 0); + setTelemetryValue(PROTOCOL_TELEMETRY_SPEKTRUM, (I2C_PSEUDO_TX << 8) + 0, 0, 0, packet[1], UNIT_RAW, 0); // highest bit indicates that TM1100 is in use, ignore it uint8_t i2cAddress = (packet[2] & 0x7f); uint8_t instance = packet[3]; @@ -283,10 +283,10 @@ void processSpektrumPacket(const uint8_t *packet) for (int i=5; ii2caddress << 8 | sensor->startByte); - setTelemetryValue(TELEM_PROTO_SPEKTRUM, pseudoId, 0, instance, value, sensor->unit, sensor->precision); + setTelemetryValue(PROTOCOL_TELEMETRY_SPEKTRUM, pseudoId, 0, instance, value, sensor->unit, sensor->precision); } } if (!handled) { @@ -344,7 +344,7 @@ void processSpektrumPacket(const uint8_t *packet) for (int startByte=0; startByte<14; startByte+=2) { int32_t value = spektrumGetValue(packet + 4, startByte, uint16); uint16_t pseudoId = i2cAddress << 8 | startByte; - setTelemetryValue(TELEM_PROTO_SPEKTRUM, pseudoId, 0, instance, value, UNIT_RAW, 0); + setTelemetryValue(PROTOCOL_TELEMETRY_SPEKTRUM, pseudoId, 0, instance, value, UNIT_RAW, 0); } } } @@ -397,7 +397,7 @@ void processDSMBindPacket(const uint8_t *packet) debugval = packet[7] << 24 | packet[6] << 16 | packet[5] << 8 | packet[4]; /* log the bind packet as telemetry for quick debugging */ - setTelemetryValue(TELEM_PROTO_SPEKTRUM, (I2C_PSEUDO_TX << 8) + 4, 0, 0, debugval, UNIT_RAW, 0); + setTelemetryValue(PROTOCOL_TELEMETRY_SPEKTRUM, (I2C_PSEUDO_TX << 8) + 4, 0, 0, debugval, UNIT_RAW, 0); /* Finally stop binding as the rx just told us that it is bound */ if (g_model.moduleData[EXTERNAL_MODULE].type == MODULE_TYPE_MULTIMODULE && g_model.moduleData[EXTERNAL_MODULE].getMultiProtocol(true) == MODULE_SUBTYPE_MULTI_DSM2 && moduleState[EXTERNAL_MODULE].mode == MODULE_MODE_BIND) { diff --git a/radio/src/telemetry/telemetry_sensors.cpp b/radio/src/telemetry/telemetry_sensors.cpp index 779e072c6..e627b89cd 100644 --- a/radio/src/telemetry/telemetry_sensors.cpp +++ b/radio/src/telemetry/telemetry_sensors.cpp @@ -509,27 +509,27 @@ int setTelemetryValue(TelemetryProtocol protocol, uint16_t id, uint8_t subId, ui int index = availableTelemetryIndex(); if (index >= 0) { switch (protocol) { - case TELEM_PROTO_FRSKY_SPORT: + case PROTOCOL_TELEMETRY_FRSKY_SPORT: frskySportSetDefault(index, id, subId, instance); break; - case TELEM_PROTO_FRSKY_D: + case PROTOCOL_TELEMETRY_FRSKY_D: frskyDSetDefault(index, id); break; #if defined(CROSSFIRE) - case TELEM_PROTO_CROSSFIRE: + case PROTOCOL_TELEMETRY_CROSSFIRE: crossfireSetDefault(index, id, instance); break; #endif #if defined(MULTIMODULE) - case TELEM_PROTO_SPEKTRUM: + case PROTOCOL_TELEMETRY_SPEKTRUM: spektrumSetDefault(index, id, subId, instance); break; - case TELEM_PROTO_FLYSKY_IBUS: + case PROTOCOL_TELEMETRY_FLYSKY_IBUS: flySkySetDefault(index,id, subId, instance); break; #endif #if defined(LUA) - case TELEM_PROTO_LUA: + case PROTOCOL_TELEMETRY_LUA: // Sensor will be initialized by calling function // This drops the first value return index;