Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(bw): cleanup and consolidate B&W navigation code. #5896

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 0 additions & 14 deletions radio/src/edgetx.h
Original file line number Diff line number Diff line change
Expand Up @@ -103,20 +103,6 @@ enum RotaryEncoderMode {
#include "myeeprom.h"
#include "curves.h"

// Define navigation type based on available keys
#if LCD_W == 212
#define NAVIGATION_X9D
#elif defined(KEYS_GPIO_REG_SHIFT)
#define NAVIGATION_XLITE
#elif defined(KEYS_GPIO_REG_LEFT)
#define NAVIGATION_9X
#elif defined(KEYS_GPIO_REG_PAGEUP) && defined(KEYS_GPIO_REG_TELE)
#define NAVIGATION_X7
#define NAVIGATION_X7_TX12
#else
#define NAVIGATION_X7
#endif

void memswap(void * a, void * b, uint8_t size);

// TODO: move these config check macros somewhere else
Expand Down
8 changes: 0 additions & 8 deletions radio/src/gui/128x64/gui.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,14 +30,6 @@

#define MENUS_SCROLLBAR_WIDTH 0

#if defined(NAVIGATION_X7)
#define HEADER_LINE 0
#define HEADER_LINE_COLUMNS
#else
#define HEADER_LINE 1
#define HEADER_LINE_COLUMNS 0,
#endif

#define NUM_BODY_LINES (LCD_LINES-1)
#define TEXT_VIEWER_LINES NUM_BODY_LINES
#define MENU_HEADER_HEIGHT FH
Expand Down
26 changes: 6 additions & 20 deletions radio/src/gui/128x64/model_curve_edit.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -147,26 +147,12 @@ void menuModelCurveOne(event_t event)
drawCheckBox(7 * FW, 7 * FH + 1, crv.smooth, menuVerticalPosition == 3 ? INVERS : 0);
if (menuVerticalPosition==3) crv.smooth = checkIncDecModel(event, crv.smooth, 0, 1);

switch (event) {
case EVT_ENTRY:
break;

case EVT_KEY_LONG(KEY_ENTER):
if (menuVerticalPosition > 1) {
POPUP_MENU_START(onCurveOneMenu, 3, STR_CURVE_PRESET, STR_MIRROR, STR_CLEAR);
}
break;

#if defined(NAVIGATION_XLITE)
case EVT_KEY_FIRST(KEY_ENTER):
if (!keysGetState(KEY_SHIFT))
break;
#else
case EVT_KEY_BREAK(KEY_MODEL):
case EVT_KEY_BREAK(KEY_MENU):
#endif
pushMenu(menuChannelsView);
break;
if (event == EVT_KEY_LONG(KEY_ENTER)) {
if (menuVerticalPosition > 1) {
POPUP_MENU_START(onCurveOneMenu, 3, STR_CURVE_PRESET, STR_MIRROR, STR_CLEAR);
}
} else if (EVT_KEY_OPEN_CHAN_VIEW(event)) {
pushMenu(menuChannelsView);
}

drawCurve();
Expand Down
9 changes: 2 additions & 7 deletions radio/src/gui/128x64/model_input_edit.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -57,15 +57,10 @@ uint8_t FM_ROW(uint8_t value)

void menuModelExpoOne(event_t event)
{
#if defined(NAVIGATION_XLITE)
if (event == EVT_KEY_FIRST(KEY_ENTER) && keysGetState(KEY_SHIFT)) {
if (EVT_KEY_OPEN_CHAN_VIEW(event)) {
pushMenu(menuChannelsView);
}
#else
if (event == EVT_KEY_BREAK(KEY_MODEL) || event == EVT_KEY_BREAK(KEY_MENU)) {
pushMenu(menuChannelsView);
}
#endif

ExpoData * ed = expoAddress(s_currIdx);
drawSource(PSIZE(TR_MENUINPUTS)*FW+FW, 0, MIXSRC_FIRST_INPUT+ed->chn, 0);

Expand Down
9 changes: 2 additions & 7 deletions radio/src/gui/128x64/model_mix_edit.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -93,15 +93,10 @@ void drawOffsetBar(uint8_t x, uint8_t y, MixData * md)

void menuModelMixOne(event_t event)
{
#if defined(NAVIGATION_XLITE)
if (event == EVT_KEY_FIRST(KEY_ENTER) && keysGetState(KEY_SHIFT)) {
if (EVT_KEY_OPEN_CHAN_VIEW(event)) {
pushMenu(menuChannelsView);
}
#else
if (event == EVT_KEY_BREAK(KEY_MODEL) || event == EVT_KEY_BREAK(KEY_MENU)) {
pushMenu(menuChannelsView);
}
#endif

MixData * md2 = mixAddress(s_currIdx) ;
putsChn(PSIZE(TR_MIXES)*FW+FW, 0, md2->destCh+1,0);

Expand Down
27 changes: 0 additions & 27 deletions radio/src/gui/128x64/view_channels.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -25,33 +25,6 @@ constexpr coord_t CHANNEL_NAME_OFFSET = 0;
constexpr coord_t CHANNEL_VALUE_OFFSET = CHANNEL_NAME_OFFSET + 41;
constexpr coord_t CHANNEL_BAR_WIDTH = 70;

#if defined(RADIO_T8) || defined(RADIO_COMMANDO8)
#define EVT_KEY_PREVIOUS_VIEW EVT_KEY_BREAK(KEY_PAGEUP)
#define EVT_KEY_NEXT_VIEW EVT_KEY_BREAK(KEY_PAGEDN)
#define EVT_KEY_NEXT_PAGE EVT_KEY_BREAK(KEY_PLUS)
#define EVT_KEY_PREVIOUS_PAGE EVT_KEY_BREAK(KEY_MINUS)
#elif defined(NAVIGATION_X7_TX12)
#define EVT_KEY_PREVIOUS_VIEW EVT_KEY_BREAK(KEY_PAGEUP)
#define EVT_KEY_NEXT_VIEW EVT_KEY_BREAK(KEY_PAGEDN)
#define EVT_KEY_NEXT_PAGE EVT_ROTARY_RIGHT
#define EVT_KEY_PREVIOUS_PAGE EVT_ROTARY_LEFT
#elif defined(NAVIGATION_X7)
#define EVT_KEY_PREVIOUS_VIEW EVT_KEY_BREAK(KEY_PAGEUP)
#define EVT_KEY_NEXT_VIEW EVT_KEY_BREAK(KEY_PAGEDN)
#define EVT_KEY_NEXT_PAGE EVT_ROTARY_RIGHT
#define EVT_KEY_PREVIOUS_PAGE EVT_ROTARY_LEFT
#elif defined(NAVIGATION_XLITE)
#define EVT_KEY_PREVIOUS_VIEW EVT_KEY_BREAK(KEY_UP)
#define EVT_KEY_NEXT_VIEW EVT_KEY_BREAK(KEY_DOWN)
#define EVT_KEY_NEXT_PAGE EVT_KEY_BREAK(KEY_RIGHT)
#define EVT_KEY_PREVIOUS_PAGE EVT_KEY_BREAK(KEY_LEFT)
#else
#define EVT_KEY_PREVIOUS_VIEW EVT_KEY_BREAK(KEY_UP)
#define EVT_KEY_NEXT_VIEW EVT_KEY_BREAK(KEY_DOWN)
#define EVT_KEY_NEXT_PAGE EVT_KEY_BREAK(KEY_RIGHT)
#define EVT_KEY_PREVIOUS_PAGE EVT_KEY_BREAK(KEY_LEFT)
#endif

static bool mixersView = false;

void menuChannelsViewCommon(event_t event)
Expand Down
47 changes: 0 additions & 47 deletions radio/src/gui/128x64/view_main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -301,42 +301,6 @@ void displayBattVoltage()

#define displayVoltageOrAlarm() displayBattVoltage()

#define EVT_KEY_CONTEXT_MENU EVT_KEY_LONG(KEY_ENTER)

#if defined(RADIO_T8) || defined(RADIO_COMMANDO8)
#define EVT_KEY_PREVIOUS_VIEW EVT_KEY_BREAK(KEY_PAGEUP)
#define EVT_KEY_NEXT_VIEW EVT_KEY_BREAK(KEY_PAGEDN)
#define EVT_KEY_NEXT_PAGE EVT_KEY_BREAK(KEY_PLUS)
#define EVT_KEY_PREVIOUS_PAGE EVT_KEY_BREAK(KEY_MINUS)
#define EVT_KEY_MODEL_MENU EVT_KEY_BREAK(KEY_MODEL)
#define EVT_KEY_GENERAL_MENU EVT_KEY_BREAK(KEY_SYS)
#define EVT_KEY_TELEMETRY EVT_KEY_LONG(KEY_PAGEUP)
#elif defined(NAVIGATION_X7_TX12)
#define EVT_KEY_PREVIOUS_VIEW EVT_KEY_BREAK(KEY_PAGEUP)
#define EVT_KEY_NEXT_VIEW EVT_KEY_BREAK(KEY_PAGEDN)
#define EVT_KEY_NEXT_PAGE EVT_ROTARY_RIGHT
#define EVT_KEY_PREVIOUS_PAGE EVT_ROTARY_LEFT
#define EVT_KEY_MODEL_MENU EVT_KEY_BREAK(KEY_MODEL)
#define EVT_KEY_GENERAL_MENU EVT_KEY_BREAK(KEY_SYS)
#define EVT_KEY_TELEMETRY EVT_KEY_BREAK(KEY_TELE)
#elif defined(NAVIGATION_X7) || defined(NAVIGATION_TBS)
#define EVT_KEY_NEXT_VIEW EVT_KEY_BREAK(KEY_PAGEDN)
#define EVT_KEY_NEXT_PAGE EVT_ROTARY_RIGHT
#define EVT_KEY_PREVIOUS_PAGE EVT_ROTARY_LEFT
#define EVT_KEY_MODEL_MENU EVT_KEY_BREAK(KEY_MENU)
#define EVT_KEY_GENERAL_MENU EVT_KEY_LONG(KEY_MENU)
#define EVT_KEY_TELEMETRY EVT_KEY_BREAK(KEY_PAGEUP)
#else
#define EVT_KEY_PREVIOUS_VIEW EVT_KEY_BREAK(KEY_UP)
#define EVT_KEY_NEXT_VIEW EVT_KEY_BREAK(KEY_DOWN)
#define EVT_KEY_NEXT_PAGE EVT_KEY_BREAK(KEY_RIGHT)
#define EVT_KEY_PREVIOUS_PAGE EVT_KEY_BREAK(KEY_LEFT)
#define EVT_KEY_MODEL_MENU EVT_KEY_LONG(KEY_RIGHT)
#define EVT_KEY_GENERAL_MENU EVT_KEY_LONG(KEY_LEFT)
#define EVT_KEY_TELEMETRY EVT_KEY_LONG(KEY_DOWN)
#define EVT_KEY_STATISTICS EVT_KEY_LONG(KEY_UP)
#endif

void onMainViewMenu(const char * result)
{
if (result == STR_RESET_TIMER1) {
Expand Down Expand Up @@ -668,14 +632,3 @@ void menuMainView(event_t event)
#endif
#endif
}

#undef EVT_KEY_CONTEXT_MENU
#undef EVT_KEY_PREVIOUS_VIEW
#undef EVT_KEY_NEXT_VIEW
#undef EVT_KEY_NEXT_PAGE
#undef EVT_KEY_PREVIOUS_PAGE
#undef EVT_KEY_MODEL_MENU
#undef EVT_KEY_GENERAL_MENU
#undef EVT_KEY_LAST_MENU
#undef EVT_KEY_TELEMETRY
#undef EVT_KEY_STATISTICS
3 changes: 0 additions & 3 deletions radio/src/gui/212x64/gui.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,6 @@
#include "navigation/navigation.h"
#include "common/stdlcd/draw_functions.h"

#define HEADER_LINE 0
#define HEADER_LINE_COLUMNS

#define NUM_BODY_LINES (LCD_LINES-1)
#define TEXT_VIEWER_LINES NUM_BODY_LINES
#define MENU_HEADER_HEIGHT FH
Expand Down
10 changes: 5 additions & 5 deletions radio/src/gui/212x64/view_main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -471,22 +471,22 @@ void menuMainView(event_t event)
LOAD_MODEL_BITMAP();
break;

case EVT_KEY_LONG(KEY_ENTER):
case EVT_KEY_CONTEXT_MENU:
if (modelHasNotes()) {
POPUP_MENU_ADD_ITEM(STR_VIEW_NOTES);
}
POPUP_MENU_START(onMainViewMenu, 3, STR_RESET_SUBMENU, STR_STATISTICS, STR_ABOUT_US);
break;

case EVT_KEY_BREAK(KEY_MENU):
case EVT_KEY_MODEL_MENU:
pushMenu(menuModelSelect);
break;

case EVT_KEY_LONG(KEY_MENU):
case EVT_KEY_GENERAL_MENU:
pushMenu(menuTabGeneral[0].menuFunc);
break;

case EVT_KEY_BREAK(KEY_PAGEDN):
case EVT_KEY_NEXT_VIEW:
storageDirty(EE_MODEL);
g_model.view += 1;
if (g_model.view >= VIEW_COUNT) {
Expand All @@ -495,7 +495,7 @@ void menuMainView(event_t event)
}
break;

case EVT_KEY_BREAK(KEY_PAGEUP):
case EVT_KEY_TELEMETRY:
chainMenu(menuViewTelemetry);
break;

Expand Down
24 changes: 6 additions & 18 deletions radio/src/gui/common/stdlcd/draw_functions.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -211,7 +211,7 @@ void editName(coord_t x, coord_t y, char* name, uint8_t size, event_t event,
s_editMode = 0;
break;

#if defined(NAVIGATION_XLITE) || defined(NAVIGATION_9X)
#if defined(HAS_LEFT_RIGHT_NAV_KEYS)
case EVT_KEY_BREAK(KEY_LEFT):
if (cur > 0)
cur--;
Expand All @@ -223,33 +223,21 @@ void editName(coord_t x, coord_t y, char* name, uint8_t size, event_t event,
break;
#endif

#if defined(NAVIGATION_XLITE)
case EVT_KEY_BREAK(KEY_SHIFT):
#elif defined(NAVIGATION_9X)
case EVT_KEY_LONG(KEY_LEFT):
case EVT_KEY_LONG(KEY_RIGHT):
#else
case EVT_KEY_LONG(KEY_ENTER):
#endif
killEvents(event);

#if !defined(NAVIGATION_XLITE)
if (v == ' ') {
if ((event != EVT_KEY_BREAK(KEY_SHIFT)) && v == ' ') {
s_editMode = 0;
break;
}
else
#endif
if (v >= 'A' && v <= 'Z') {
v = 'a' + v - 'A'; // toggle case
}
else if (v >= 'a' && v <= 'z') {
v = 'A' + v - 'a'; // toggle case
} else if (isupper(v)) {
v = tolower(v); // toggle case
} else if (islower(v)) {
v = toupper(v); // toggle case
}

#if defined(NAVIGATION_9X)
if (event==EVT_KEY_LONG(KEY_LEFT))
#endif
break;
}

Expand Down
9 changes: 2 additions & 7 deletions radio/src/gui/common/stdlcd/model_usbjoystick.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -50,15 +50,10 @@ enum USBJFields {

void menuModelUSBJoystickOne(event_t event)
{
#if defined(NAVIGATION_XLITE)
if (event == EVT_KEY_FIRST(KEY_ENTER) && keysGetState(KEY_SHIFT)) {
if (EVT_KEY_OPEN_CHAN_VIEW(event)) {
pushMenu(menuChannelsView);
}
#else
if (event == EVT_KEY_BREAK(KEY_MODEL) || event == EVT_KEY_BREAK(KEY_MENU)) {
pushMenu(menuChannelsView);
}
#endif

USBJoystickChData * cch = usbJChAddress(s_currIdx);
putsChn(12*FW, 0, s_currIdx+1, 0);
lcdDrawNumber(20*FW, 0, channelOutputs[s_currIdx], RIGHT);
Expand Down
4 changes: 2 additions & 2 deletions radio/src/gui/common/stdlcd/radio_sdmanager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -273,13 +273,13 @@ void onUpdateReceiverSelection(const char * result)

void menuRadioSdManager(event_t _event)
{
#if defined(NAVIGATION_X9D)
#if LCD_DEPTH > 1
int lastPos = menuVerticalPosition;
#endif

if (_event == EVT_ENTRY) {
f_chdir(ROOT_PATH);
#if defined(NAVIGATION_X9D)
#if LCD_DEPTH > 1
lastPos = -1;
#endif
}
Expand Down
24 changes: 2 additions & 22 deletions radio/src/gui/common/stdlcd/view_telemetry.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -32,23 +32,6 @@ enum NavigationDirection {
#define decrTelemetryScreen() direction = NAVIGATION_DIRECTION_UP
#define incrTelemetryScreen() direction = NAVIGATION_DIRECTION_DOWN

#if defined(NAVIGATION_XLITE)
#define EVT_KEY_PREVIOUS_VIEW(evt) (evt == EVT_KEY_LONG(KEY_LEFT) && keysGetState(KEY_SHIFT))
#define EVT_KEY_NEXT_VIEW(evt) (evt == EVT_KEY_LONG(KEY_RIGHT) && keysGetState(KEY_SHIFT))
#elif defined(KEYS_GPIO_REG_PAGEDN)
#define EVT_KEY_PREVIOUS_VIEW(evt) (evt == EVT_KEY_FIRST(KEY_PAGEUP))
#define EVT_KEY_NEXT_VIEW(evt) (evt == EVT_KEY_FIRST(KEY_PAGEDN))
#elif defined(NAVIGATION_X7) || defined(NAVIGATION_X9D)
#define EVT_KEY_PREVIOUS_VIEW(evt) (evt == EVT_KEY_BREAK(KEY_PAGEUP))
#define EVT_KEY_NEXT_VIEW(evt) (evt == EVT_KEY_BREAK(KEY_PAGEDN))
#elif defined(NAVIGATION_9X)
#define EVT_KEY_PREVIOUS_VIEW(evt) (evt == EVT_KEY_LONG(KEY_UP))
#define EVT_KEY_NEXT_VIEW(evt) (evt == EVT_KEY_LONG(KEY_DOWN))
#else
#define EVT_KEY_PREVIOUS_VIEW(evt) (evt == EVT_KEY_FIRST(KEY_UP))
#define EVT_KEY_NEXT_VIEW(evt) (evt == EVT_KEY_FIRST(KEY_DOWN))
#endif

void menuViewTelemetry(event_t event)
{
enum NavigationDirection direction = NAVIGATION_DIRECTION_NONE;
Expand All @@ -61,11 +44,11 @@ void menuViewTelemetry(event_t event)
chainMenu(menuMainView);
}
#endif
else if (EVT_KEY_PREVIOUS_VIEW(event)) {
else if (EVT_KEY_PREVIOUS_TELEM_VIEW(event)) {
killEvents(event);
decrTelemetryScreen();
}
else if (EVT_KEY_NEXT_VIEW(event)) {
else if (EVT_KEY_NEXT_TELEM_VIEW(event)) {
killEvents(event);
incrTelemetryScreen();
}
Expand Down Expand Up @@ -109,6 +92,3 @@ void showTelemScreen(uint8_t index)
}
}
}

#undef EVT_KEY_PREVIOUS_VIEW
#undef EVT_KEY_NEXT_VIEW
15 changes: 0 additions & 15 deletions radio/src/gui/gui_common.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1359,21 +1359,6 @@ void setPotType(int index, int value)
g_eeGeneral.potsConfig = bfSet<potconfig_t>(g_eeGeneral.potsConfig, value, (POT_CFG_BITS * index), POT_CFG_TYPE_BITS);
}

#if defined(NAVIGATION_X7) || defined(NAVIGATION_X9D)
uint8_t MENU_FIRST_LINE_EDIT(const uint8_t * horTab, uint8_t horTabMax)
{
if (horTab) {
uint8_t result = 0;
while (result < horTabMax && horTab[result] >= HIDDEN_ROW)
++result;
return result;
}
else {
return 0;
}
}
#endif

uint8_t MODULE_BIND_ROWS(int moduleIdx)
{
if (isModuleELRS(moduleIdx) && (crossfireModuleStatus[moduleIdx].major >= 4 || (crossfireModuleStatus[moduleIdx].major == 3 && crossfireModuleStatus[moduleIdx].minor >= 4)))
Expand Down
Loading