mirror of
https://github.com/opentx/opentx.git
synced 2025-07-26 09:45:21 +03:00
[X9] Allow LSs 33-64 in main view & fix X9E view of channels 17-32 (#5486)
* [212x64] Main view toggle LS groups 1-32 and 33-64 with +/-/encoder. Closes #5476 * [212x64] Also allow encoder events in channels view for switching channels range (fix for X9E). * Pad LS range numerals to 2 digits.
This commit is contained in:
parent
2a0984408f
commit
dec630efa0
2 changed files with 26 additions and 5 deletions
|
@ -40,6 +40,10 @@ void menuChannelsView(event_t event)
|
||||||
break;
|
break;
|
||||||
case EVT_KEY_FIRST(KEY_RIGHT):
|
case EVT_KEY_FIRST(KEY_RIGHT):
|
||||||
case EVT_KEY_FIRST(KEY_LEFT):
|
case EVT_KEY_FIRST(KEY_LEFT):
|
||||||
|
#if defined(ROTARY_ENCODER_NAVIGATION)
|
||||||
|
case EVT_ROTARY_LEFT:
|
||||||
|
case EVT_ROTARY_RIGHT:
|
||||||
|
#endif
|
||||||
secondPage = !secondPage;
|
secondPage = !secondPage;
|
||||||
break;
|
break;
|
||||||
case EVT_KEY_FIRST(KEY_ENTER):
|
case EVT_KEY_FIRST(KEY_ENTER):
|
||||||
|
|
|
@ -433,6 +433,8 @@ int getSwitchCount()
|
||||||
|
|
||||||
void menuMainView(event_t event)
|
void menuMainView(event_t event)
|
||||||
{
|
{
|
||||||
|
static bool secondPage = false;
|
||||||
|
|
||||||
STICK_SCROLL_DISABLE();
|
STICK_SCROLL_DISABLE();
|
||||||
|
|
||||||
switch(event) {
|
switch(event) {
|
||||||
|
@ -491,6 +493,15 @@ void menuMainView(event_t event)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case EVT_KEY_FIRST(KEY_RIGHT):
|
||||||
|
case EVT_KEY_FIRST(KEY_LEFT):
|
||||||
|
#if defined(ROTARY_ENCODER_NAVIGATION)
|
||||||
|
case EVT_ROTARY_LEFT:
|
||||||
|
case EVT_ROTARY_RIGHT:
|
||||||
|
#endif
|
||||||
|
secondPage = !secondPage;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Flight Mode Name
|
// Flight Mode Name
|
||||||
|
@ -548,11 +559,17 @@ void menuMainView(event_t event)
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
// Logical Switches
|
// Logical Switches
|
||||||
lcdDrawText(TRIM_RH_X - TRIM_LEN/2 + 5, 6*FH-1, "LS 1-32");
|
int sw = (secondPage && MAX_LOGICAL_SWITCHES > 32 ? 32 : 0);
|
||||||
for (int sw=0; sw<32; ++sw) {
|
const int end = sw + 32;
|
||||||
div_t qr = div(sw, 10);
|
uint8_t y = 6*FH-1;
|
||||||
uint8_t y = 13 + 11 * qr.quot;
|
lcdDrawText(TRIM_RH_X - TRIM_LEN/2 + 1, y, "LS");
|
||||||
uint8_t x = TRIM_RH_X - TRIM_LEN + qr.rem*5 + (qr.rem >= 5 ? 3 : 0);
|
lcdDrawNumber(lcdLastRightPos + 1, y, sw + 1, LEFT|LEADING0, 2);
|
||||||
|
lcdDrawText(lcdLastRightPos, y, "-");
|
||||||
|
lcdDrawNumber(lcdLastRightPos, y, end, LEFT);
|
||||||
|
for ( ; sw < end; ++sw) {
|
||||||
|
const div_t qr = div(sw + 32 - end, 10);
|
||||||
|
const uint8_t x = TRIM_RH_X - TRIM_LEN + qr.rem*5 + (qr.rem >= 5 ? 3 : 0);
|
||||||
|
y = 13 + 11 * qr.quot;
|
||||||
LogicalSwitchData * cs = lswAddress(sw);
|
LogicalSwitchData * cs = lswAddress(sw);
|
||||||
if (cs->func == LS_FUNC_NONE) {
|
if (cs->func == LS_FUNC_NONE) {
|
||||||
lcdDrawSolidHorizontalLine(x, y+6, 4);
|
lcdDrawSolidHorizontalLine(x, y+6, 4);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue