From ab8e60267b0724d287fa18127536af0a2146dea2 Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Mon, 8 Jul 2019 09:24:02 +0200 Subject: [PATCH] Fixes #6529 --- radio/src/CMakeLists.txt | 2 +- radio/src/gui/128x64/model_display.cpp | 6 +++--- radio/src/gui/128x64/model_failsafe.cpp | 8 ++++---- radio/src/gui/128x64/model_gvars.cpp | 12 ++++++------ radio/src/gui/128x64/model_setup.cpp | 2 +- radio/src/gui/128x64/model_telemetry_sensor.cpp | 10 +++++----- 6 files changed, 20 insertions(+), 20 deletions(-) diff --git a/radio/src/CMakeLists.txt b/radio/src/CMakeLists.txt index 4098c966b..756f58b20 100644 --- a/radio/src/CMakeLists.txt +++ b/radio/src/CMakeLists.txt @@ -357,7 +357,7 @@ endforeach() add_definitions(-DCORRECT_NEGATIVE_SHIFTS) if(NOT MSVC) - set(WARNING_FLAGS "${WARNING_FLAGS} -Wall -Wno-strict-aliasing -Wformat -Wreturn-type -Wunused -Wuninitialized -Wunknown-pragmas -Wno-switch -Wtype-limits") + set(WARNING_FLAGS "${WARNING_FLAGS} -Wall -Wno-address-of-packed-member -Wno-strict-aliasing -Wformat -Wreturn-type -Wunused -Wuninitialized -Wunknown-pragmas -Wno-switch -Wtype-limits") if(WARNINGS_AS_ERRORS) set(WARNING_FLAGS "${WARNING_FLAGS} -Werror") endif(WARNINGS_AS_ERRORS) diff --git a/radio/src/gui/128x64/model_display.cpp b/radio/src/gui/128x64/model_display.cpp index 3928c44ef..b9fe1b662 100644 --- a/radio/src/gui/128x64/model_display.cpp +++ b/radio/src/gui/128x64/model_display.cpp @@ -237,11 +237,11 @@ void menuModelDisplay(event_t event) else { for (int c=0; c0) { - value = checkIncDec(event, value, 0, MIXSRC_LAST_TELEM, EE_MODEL|INCDEC_SOURCE|NO_INCDEC_MARKS, isSourceAvailable); + *value = checkIncDec(event, *value, 0, MIXSRC_LAST_TELEM, EE_MODEL|INCDEC_SOURCE|NO_INCDEC_MARKS, isSourceAvailable); } } if (attr && menuHorizontalPosition == NUM_LINE_ITEMS) { diff --git a/radio/src/gui/128x64/model_failsafe.cpp b/radio/src/gui/128x64/model_failsafe.cpp index 8bfb1e43a..d3db3115b 100644 --- a/radio/src/gui/128x64/model_failsafe.cpp +++ b/radio/src/gui/128x64/model_failsafe.cpp @@ -25,17 +25,17 @@ extern uint8_t g_moduleIdx; void onFailsafeMenu(const char * result) { uint8_t sub = menuVerticalPosition; - int16_t & failsafe = g_model.failsafeChannels[sub]; + int16_t * failsafe = &g_model.failsafeChannels[sub]; int32_t channelValue = channelOutputs[sub]; if (result == STR_NONE) { - failsafe = FAILSAFE_CHANNEL_NOPULSE; + *failsafe = FAILSAFE_CHANNEL_NOPULSE; } else if (result == STR_HOLD) { - failsafe = FAILSAFE_CHANNEL_HOLD; + *failsafe = FAILSAFE_CHANNEL_HOLD; } else if (result == STR_CHANNEL2FAILSAFE) { - failsafe = channelValue; + *failsafe = channelValue; } else if (result == STR_CHANNELS2FAILSAFE) { setCustomFailsafe(g_moduleIdx); diff --git a/radio/src/gui/128x64/model_gvars.cpp b/radio/src/gui/128x64/model_gvars.cpp index 5e80cf582..4299469fe 100644 --- a/radio/src/gui/128x64/model_gvars.cpp +++ b/radio/src/gui/128x64/model_gvars.cpp @@ -23,28 +23,28 @@ void editGVarValue(coord_t x, coord_t y, event_t event, uint8_t gvar, uint8_t flightMode, LcdFlags flags) { FlightModeData * fm = &g_model.flightModeData[flightMode]; - gvar_t & v = fm->gvars[gvar]; + gvar_t * v = &fm->gvars[gvar]; int16_t vmin, vmax; - if (v > GVAR_MAX) { - uint8_t fm = v - GVAR_MAX - 1; + if (*v > GVAR_MAX) { + uint8_t fm = *v - GVAR_MAX - 1; if (fm >= flightMode) fm++; drawFlightMode(x, y, fm + 1, flags&(~LEFT)); vmin = GVAR_MAX + 1; vmax = GVAR_MAX + MAX_FLIGHT_MODES - 1; } else { - drawGVarValue(x, y, gvar, v, flags); + drawGVarValue(x, y, gvar, *v, flags); vmin = GVAR_MIN + g_model.gvars[gvar].min; vmax = GVAR_MAX - g_model.gvars[gvar].max; } if (flags & INVERS) { if (event == EVT_KEY_LONG(KEY_ENTER) && flightMode > 0) { - v = (v > GVAR_MAX ? 0 : GVAR_MAX+1); + *v = (*v > GVAR_MAX ? 0 : GVAR_MAX+1); storageDirty(EE_MODEL); } else if (s_editMode > 0) { - v = checkIncDec(event, v, vmin, vmax, EE_MODEL); + *v = checkIncDec(event, *v, vmin, vmax, EE_MODEL); } } } diff --git a/radio/src/gui/128x64/model_setup.cpp b/radio/src/gui/128x64/model_setup.cpp index a51578bdf..9f95e789f 100644 --- a/radio/src/gui/128x64/model_setup.cpp +++ b/radio/src/gui/128x64/model_setup.cpp @@ -219,7 +219,7 @@ enum MenuModelSetupItems { #define TRAINER_BLUETOOTH_ROW #endif #define TRAINER_CHANNELS_ROW (IS_SLAVE_TRAINER() ? (uint8_t)1 : HIDDEN_ROW) - #define TRAINER_PPM_PARAMS_ROW (IS_SLAVE_TRAINER() ? (uint8_t)2 : HIDDEN_ROW) + #define TRAINER_PPM_PARAMS_ROW (g_model.trainerData.mode == TRAINER_MODE_SLAVE ? (uint8_t)2 : HIDDEN_ROW) #define TRAINER_ROWS LABEL(Trainer), 0, TRAINER_BLUETOOTH_ROW TRAINER_CHANNELS_ROW, TRAINER_PPM_PARAMS_ROW #elif defined(PCBXLITES) #define ANTENNA_ROW IF_NOT_PXX2_MODULE(INTERNAL_MODULE, IF_INTERNAL_MODULE_ON(0)), diff --git a/radio/src/gui/128x64/model_telemetry_sensor.cpp b/radio/src/gui/128x64/model_telemetry_sensor.cpp index 744d05776..c14ad3652 100644 --- a/radio/src/gui/128x64/model_telemetry_sensor.cpp +++ b/radio/src/gui/128x64/model_telemetry_sensor.cpp @@ -248,16 +248,16 @@ void menuModelSensor(event_t event) case SENSOR_FIELD_PARAM4: { drawStringWithIndex(0, y, STR_SOURCE, k-SENSOR_FIELD_PARAM1+1); - int8_t & source = sensor->calc.sources[k-SENSOR_FIELD_PARAM1]; + int8_t * source = &sensor->calc.sources[k-SENSOR_FIELD_PARAM1]; if (attr) { - source = checkIncDec(event, source, -MAX_TELEMETRY_SENSORS, MAX_TELEMETRY_SENSORS, EE_MODEL|NO_INCDEC_MARKS, isSensorAvailable); + *source = checkIncDec(event, *source, -MAX_TELEMETRY_SENSORS, MAX_TELEMETRY_SENSORS, EE_MODEL|NO_INCDEC_MARKS, isSensorAvailable); } - if (source < 0) { + if (*source < 0) { lcdDrawChar(SENSOR_2ND_COLUMN, y, '-', attr); - drawSource(lcdNextPos, y, MIXSRC_FIRST_TELEM+3*(-1-source), attr); + drawSource(lcdNextPos, y, MIXSRC_FIRST_TELEM+3*(-1-*source), attr); } else { - drawSource(SENSOR_2ND_COLUMN, y, source ? MIXSRC_FIRST_TELEM+3*(source-1) : 0, attr); + drawSource(SENSOR_2ND_COLUMN, y, *source ? MIXSRC_FIRST_TELEM+3*(*source-1) : 0, attr); } break; }