chore(radio): Reduce size of the data structures in FLASH storage (#3979)

* Reduce size of the YamlNode structure in FLASH storage.
Fix compiler warning.

* Further reduction of FLASH used by YamlNode structures.

* Reduce size of sensor definition arrays and audio tone volumes array.
This commit is contained in:
philmoz
2023-09-24 14:18:11 +10:00
committed by GitHub
parent bb7deefc4f
commit c502dbeaee
14 changed files with 520 additions and 503 deletions
+24 -22
View File
@@ -30,11 +30,13 @@ const char *ghstVtxBandName[GHST_VTX_BAND_COUNT] = { "- - -" , "IRC", "Race", "B
struct GhostSensor
{
const uint16_t id;
const char * name;
const TelemetryUnit unit;
const uint8_t precision;
const char * name;
};
#define GS(id,name,unit,precision) {id,unit,precision,name}
// telemetry sensors ID
enum
{
@@ -63,32 +65,32 @@ enum
};
const GhostSensor ghostSensors[] = {
{GHOST_ID_RX_RSSI, STR_SENSOR_RSSI, UNIT_DB, 0},
{GHOST_ID_RX_LQ, STR_SENSOR_RX_QUALITY, UNIT_PERCENT, 0},
{GHOST_ID_RX_SNR, STR_SENSOR_RX_SNR, UNIT_DB, 0},
GS(GHOST_ID_RX_RSSI, STR_SENSOR_RSSI, UNIT_DB, 0),
GS(GHOST_ID_RX_LQ, STR_SENSOR_RX_QUALITY, UNIT_PERCENT, 0),
GS(GHOST_ID_RX_SNR, STR_SENSOR_RX_SNR, UNIT_DB, 0),
{GHOST_ID_FRAME_RATE, STR_SENSOR_FRAME_RATE, UNIT_RAW, 0},
{GHOST_ID_TX_POWER, STR_SENSOR_TX_POWER, UNIT_MILLIWATTS, 0},
{GHOST_ID_RF_MODE, STR_SENSOR_RF_MODE, UNIT_TEXT, 0},
{GHOST_ID_TOTAL_LATENCY, STR_SENSOR_TOTAL_LATENCY, UNIT_RAW, 0},
GS(GHOST_ID_FRAME_RATE, STR_SENSOR_FRAME_RATE, UNIT_RAW, 0),
GS(GHOST_ID_TX_POWER, STR_SENSOR_TX_POWER, UNIT_MILLIWATTS, 0),
GS(GHOST_ID_RF_MODE, STR_SENSOR_RF_MODE, UNIT_TEXT, 0),
GS(GHOST_ID_TOTAL_LATENCY, STR_SENSOR_TOTAL_LATENCY, UNIT_RAW, 0),
{GHOST_ID_VTX_FREQ, STR_SENSOR_VTX_FREQ, UNIT_RAW, 0},
{GHOST_ID_VTX_POWER, STR_SENSOR_VTX_PWR, UNIT_RAW, 0},
{GHOST_ID_VTX_CHAN, STR_SENSOR_VTX_CHAN, UNIT_RAW, 0},
{GHOST_ID_VTX_BAND, STR_SENSOR_VTX_BAND, UNIT_TEXT, 0},
GS(GHOST_ID_VTX_FREQ, STR_SENSOR_VTX_FREQ, UNIT_RAW, 0),
GS(GHOST_ID_VTX_POWER, STR_SENSOR_VTX_PWR, UNIT_RAW, 0),
GS(GHOST_ID_VTX_CHAN, STR_SENSOR_VTX_CHAN, UNIT_RAW, 0),
GS(GHOST_ID_VTX_BAND, STR_SENSOR_VTX_BAND, UNIT_TEXT, 0),
{GHOST_ID_PACK_VOLTS, STR_SENSOR_BATT, UNIT_VOLTS, 2},
{GHOST_ID_PACK_AMPS, STR_SENSOR_CURR, UNIT_AMPS, 2},
{GHOST_ID_PACK_MAH, STR_SENSOR_CAPACITY, UNIT_MAH, 0},
GS(GHOST_ID_PACK_VOLTS, STR_SENSOR_BATT, UNIT_VOLTS, 2),
GS(GHOST_ID_PACK_AMPS, STR_SENSOR_CURR, UNIT_AMPS, 2),
GS(GHOST_ID_PACK_MAH, STR_SENSOR_CAPACITY, UNIT_MAH, 0),
{GHOST_ID_GPS_LAT, STR_GPS, UNIT_GPS_LATITUDE, 0},
{GHOST_ID_GPS_LONG, STR_GPS, UNIT_GPS_LONGITUDE, 0},
{GHOST_ID_GPS_GSPD, STR_SENSOR_GSPD, UNIT_KMH, 1},
{GHOST_ID_GPS_HDG, STR_SENSOR_HDG, UNIT_DEGREE, 3},
{GHOST_ID_GPS_ALT, STR_SENSOR_GPSALT, UNIT_METERS, 0},
{GHOST_ID_GPS_SATS, STR_SENSOR_SATELLITES, UNIT_RAW, 0},
GS(GHOST_ID_GPS_LAT, STR_GPS, UNIT_GPS_LATITUDE, 0),
GS(GHOST_ID_GPS_LONG, STR_GPS, UNIT_GPS_LONGITUDE, 0),
GS(GHOST_ID_GPS_GSPD, STR_SENSOR_GSPD, UNIT_KMH, 1),
GS(GHOST_ID_GPS_HDG, STR_SENSOR_HDG, UNIT_DEGREE, 3),
GS(GHOST_ID_GPS_ALT, STR_SENSOR_GPSALT, UNIT_METERS, 0),
GS(GHOST_ID_GPS_SATS, STR_SENSOR_SATELLITES, UNIT_RAW, 0),
{0x00, NULL, UNIT_RAW, 0},
GS(0x00, NULL, UNIT_RAW, 0),
};
const GhostSensor *getGhostSensor(uint8_t id)