1
0
Fork 0
mirror of https://github.com/opentx/opentx.git synced 2025-07-19 06:15:10 +03:00

More cosmetics

This commit is contained in:
Bertrand Songis 2019-07-04 17:38:28 +02:00
parent 74154c5ae7
commit 39c3a151af
No known key found for this signature in database
GPG key ID: F189F79290FEC50F
30 changed files with 81 additions and 163 deletions

View file

@ -16,7 +16,6 @@ set(GUI_SRC
model_telemetry_sensor.cpp
menu_radio.cpp
radio_setup.cpp
radio_trainer.cpp
radio_hardware.cpp
radio_calibration.cpp
view_main.cpp

View file

@ -100,7 +100,7 @@ void menuModelExpoOne(event_t event)
break;
case EXPO_FIELD_SOURCE:
lcdDrawTextAlignedLeft(y, NO_INDENT(STR_SOURCE));
lcdDrawTextAlignedLeft(y, STR_SOURCE);
drawSource(EXPO_ONE_2ND_COLUMN, y, ed->srcRaw, RIGHT|STREXPANDED|attr);
if (attr) ed->srcRaw = checkIncDec(event, ed->srcRaw, INPUTSRC_FIRST, INPUTSRC_LAST, EE_MODEL|INCDEC_SOURCE|NO_INCDEC_MARKS, isInputSourceAvailable);
break;
@ -117,7 +117,7 @@ void menuModelExpoOne(event_t event)
break;
case EXPO_FIELD_OFFSET:
lcdDrawTextAlignedLeft(y, NO_INDENT(STR_OFFSET));
lcdDrawTextAlignedLeft(y, STR_OFFSET);
ed->offset = GVAR_MENU_ITEM(EXPO_ONE_2ND_COLUMN, y, ed->offset, -100, 100, RIGHT | attr, 0, event);
break;

View file

@ -397,7 +397,7 @@ void menuModelMixOne(event_t event)
editSingleName(COLUMN_X+MIXES_2ND_COLUMN, y, STR_MIXNAME, md2->name, sizeof(md2->name), event, attr);
break;
case MIX_FIELD_SOURCE:
drawFieldLabel(COLUMN_X, y, NO_INDENT(STR_SOURCE));
drawFieldLabel(COLUMN_X, y, STR_SOURCE);
drawSource(COLUMN_X+MIXES_2ND_COLUMN, y, md2->srcRaw, STREXPANDED|attr);
if (attr) CHECK_INCDEC_MODELSOURCE(event, md2->srcRaw, 1, MIXSRC_LAST);
break;
@ -407,7 +407,7 @@ void menuModelMixOne(event_t event)
break;
case MIX_FIELD_OFFSET:
{
drawFieldLabel(COLUMN_X, y, NO_INDENT(STR_OFFSET));
drawFieldLabel(COLUMN_X, y, STR_OFFSET);
u_int8int16_t offset;
MD_OFFSET_TO_UNION(md2, offset);
offset.word = GVAR_MENU_ITEM(COLUMN_X+MIXES_2ND_COLUMN, y, offset.word, GV_RANGELARGE_OFFSET_NEG, GV_RANGELARGE_OFFSET, attr|LEFT, 0, event);

View file

@ -110,7 +110,7 @@ void menuModelMixOne(event_t event)
break;
case MIX_FIELD_SOURCE:
lcdDrawTextAlignedLeft(y, NO_INDENT(STR_SOURCE));
lcdDrawTextAlignedLeft(y, STR_SOURCE);
drawSource(MIXES_2ND_COLUMN, y, md2->srcRaw, STREXPANDED|attr);
if (attr) CHECK_INCDEC_MODELSOURCE(event, md2->srcRaw, 1, MIXSRC_LAST);
break;
@ -122,7 +122,7 @@ void menuModelMixOne(event_t event)
case MIX_FIELD_OFFSET:
{
lcdDrawTextAlignedLeft(y, NO_INDENT(STR_OFFSET));
lcdDrawTextAlignedLeft(y, STR_OFFSET);
u_int8int16_t offset;
MD_OFFSET_TO_UNION(md2, offset);
offset.word = GVAR_MENU_ITEM(MIXES_2ND_COLUMN, y, offset.word, GV_RANGELARGE_OFFSET_NEG, GV_RANGELARGE_OFFSET, attr|LEFT, 0, event);

View file

@ -250,7 +250,7 @@ void menuModelTelemetryFrsky(event_t event)
break;
case ITEM_TELEMETRY_RSSI_SOURCE: {
lcdDrawTextAlignedLeft(y, STR_SOURCE);
lcdDrawTextAlignedLeft(y, INDENT TR_SOURCE);
drawSource(TELEM_COL2, y, g_model.rssiSource ? MIXSRC_FIRST_TELEM + 3 * (g_model.rssiSource - 1) : 0, attr);
if (g_model.rssiSource) {
TelemetrySensor * sensor = &g_model.telemetrySensors[g_model.rssiSource - 1];
@ -288,7 +288,7 @@ void menuModelTelemetryFrsky(event_t event)
break;
case ITEM_TELEMETRY_VARIO_SOURCE:
lcdDrawTextAlignedLeft(y, STR_SOURCE);
lcdDrawTextAlignedLeft(y, INDENT TR_SOURCE);
drawSource(TELEM_COL2, y, g_model.varioData.source ? MIXSRC_FIRST_TELEM+3*(g_model.varioData.source-1) : 0, attr);
if (attr) {
g_model.varioData.source = checkIncDec(event, g_model.varioData.source, 0, MAX_TELEMETRY_SENSORS, EE_MODEL|NO_INCDEC_MARKS, isSensorAvailable);

View file

@ -234,7 +234,7 @@ void menuModelSensor(event_t event)
break;
}
else {
lcdDrawTextAlignedLeft(y, NO_INDENT(STR_OFFSET));
lcdDrawTextAlignedLeft(y, STR_OFFSET);
if (attr) CHECK_INCDEC_MODELVAR(event, sensor->custom.offset, -30000, +30000);
if (sensor->prec > 0) attr |= (sensor->prec == 2 ? PREC2 : PREC1);
lcdDrawNumber(SENSOR_2ND_COLUMN, y, sensor->custom.offset, LEFT|attr);
@ -247,7 +247,7 @@ void menuModelSensor(event_t event)
case SENSOR_FIELD_PARAM4:
{
drawStringWithIndex(0, y, NO_INDENT(STR_SOURCE), k-SENSOR_FIELD_PARAM1+1);
drawStringWithIndex(0, y, STR_SOURCE, k-SENSOR_FIELD_PARAM1+1);
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);

View file

@ -1,92 +0,0 @@
/*
* Copyright (C) OpenTX
*
* Based on code named
* th9x - http://code.google.com/p/th9x
* er9x - http://code.google.com/p/er9x
* gruvin9x - http://code.google.com/p/gruvin9x
*
* License GPLv2: http://www.gnu.org/licenses/gpl-2.0.html
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/
#include "opentx.h"
void menuRadioTrainer(event_t event)
{
uint8_t y;
bool slave = SLAVE_MODE();
MENU(STR_MENUTRAINER, menuTabGeneral, MENU_RADIO_TRAINER, (slave ? HEADER_LINE : HEADER_LINE+6), { HEADER_LINE_COLUMNS 2, 2, 2, 2, 0/*, 0*/ });
if (slave) {
lcdDrawCenteredText(LCD_H/2, STR_SLAVE);
}
else {
uint8_t attr;
uint8_t blink = ((s_editMode>0) ? BLINK|INVERS : INVERS);
lcdDrawText(3*FW, MENU_HEADER_HEIGHT+1, STR_MODESRC);
y = MENU_HEADER_HEIGHT + 1 + FH;
for (uint8_t i=HEADER_LINE; i<HEADER_LINE+NUM_STICKS; i++) {
uint8_t chan = channelOrder(i+1-HEADER_LINE);
volatile TrainerMix * td = &g_eeGeneral.trainer.mix[chan-1];
drawSource(0, y, MIXSRC_Rud-1+chan, (menuVerticalPosition==i && CURSOR_ON_LINE()) ? INVERS : 0);
for (uint8_t j=0; j<3; j++) {
attr = ((menuVerticalPosition==i && menuHorizontalPosition==j) ? blink : 0);
switch (j) {
case 0:
lcdDrawTextAtIndex(4*FW, y, STR_TRNMODE, td->mode, attr);
if (attr&BLINK) CHECK_INCDEC_GENVAR(event, td->mode, 0, 2);
break;
case 1:
lcdDrawNumber(11*FW, y, td->studWeight, attr|RIGHT);
if (attr&BLINK) CHECK_INCDEC_GENVAR(event, td->studWeight, -125, 125);
break;
case 2:
lcdDrawTextAtIndex(12*FW, y, STR_TRNCHN, td->srcChn, attr);
if (attr&BLINK) CHECK_INCDEC_GENVAR(event, td->srcChn, 0, 3);
break;
}
}
y += FH;
}
attr = (menuVerticalPosition==HEADER_LINE+4) ? blink : 0;
lcdDrawTextAlignedLeft(MENU_HEADER_HEIGHT+1+5*FH, STR_MULTIPLIER);
lcdDrawNumber(LEN_MULTIPLIER*FW+3*FW, MENU_HEADER_HEIGHT+1+5*FH, g_eeGeneral.PPM_Multiplier+10, attr|PREC1|RIGHT);
if (attr) CHECK_INCDEC_GENVAR(event, g_eeGeneral.PPM_Multiplier, -10, 40);
attr = (menuVerticalPosition==HEADER_LINE+5) ? INVERS : 0;
lcdDrawText(0*FW, MENU_HEADER_HEIGHT+1+6*FH, STR_CAL, attr);
for (uint8_t i=0; i<4; i++) {
uint8_t x = (i*8+16)*FW/2;
lcdDrawNumber(x, MENU_HEADER_HEIGHT+1+6*FH, (ppmInput[i]-g_eeGeneral.trainer.calib[i])/5, RIGHT);
}
if (attr) {
s_editMode = 0;
if (event==EVT_KEY_LONG(KEY_ENTER)){
memcpy(g_eeGeneral.trainer.calib, ppmInput, sizeof(g_eeGeneral.trainer.calib));
storageDirty(EE_GENERAL);
AUDIO_WARNING1();
}
}
}
}

View file

@ -16,7 +16,6 @@ set(GUI_SRC
model_telemetry_sensor.cpp
menu_radio.cpp
radio_setup.cpp
radio_trainer.cpp
radio_hardware.cpp
radio_calibration.cpp
view_main.cpp

View file

@ -107,7 +107,7 @@ void menuModelExpoOne(event_t event)
break;
case EXPO_FIELD_SOURCE:
lcdDrawTextAlignedLeft(y, NO_INDENT(STR_SOURCE));
lcdDrawTextAlignedLeft(y, STR_SOURCE);
drawSource(EXPO_ONE_2ND_COLUMN, y, ed->srcRaw, STREXPANDED|attr);
if (attr) ed->srcRaw = checkIncDec(event, ed->srcRaw, INPUTSRC_FIRST, INPUTSRC_LAST, EE_MODEL|INCDEC_SOURCE|NO_INCDEC_MARKS, isInputSourceAvailable);
break;
@ -124,7 +124,7 @@ void menuModelExpoOne(event_t event)
break;
case EXPO_FIELD_OFFSET:
lcdDrawTextAlignedLeft(y, NO_INDENT(STR_OFFSET));
lcdDrawTextAlignedLeft(y, STR_OFFSET);
ed->offset = GVAR_MENU_ITEM(EXPO_ONE_2ND_COLUMN, y, ed->offset, -100, 100, LEFT|attr, 0, event);
break;

View file

@ -109,7 +109,7 @@ void menuModelMixOne(event_t event)
break;
case MIX_FIELD_SOURCE:
lcdDrawTextAlignedLeft(y, NO_INDENT(STR_SOURCE));
lcdDrawTextAlignedLeft(y, STR_SOURCE);
drawSource(MIXES_2ND_COLUMN, y, md2->srcRaw, STREXPANDED|attr);
if (attr) CHECK_INCDEC_MODELSOURCE(event, md2->srcRaw, 1, MIXSRC_LAST);
break;
@ -121,7 +121,7 @@ void menuModelMixOne(event_t event)
case MIX_FIELD_OFFSET:
{
lcdDrawTextAlignedLeft(y, NO_INDENT(STR_OFFSET));
lcdDrawTextAlignedLeft(y, STR_OFFSET);
u_int8int16_t offset;
MD_OFFSET_TO_UNION(md2, offset);
offset.word = GVAR_MENU_ITEM(MIXES_2ND_COLUMN, y, offset.word, GV_RANGELARGE_OFFSET_NEG, GV_RANGELARGE_OFFSET, attr|LEFT, 0, event);

View file

@ -246,7 +246,7 @@ void menuModelTelemetryFrsky(event_t event)
break;
case ITEM_TELEMETRY_VARIO_SOURCE:
lcdDrawTextAlignedLeft(y, STR_SOURCE);
lcdDrawTextAlignedLeft(y, INDENT TR_SOURCE);
drawSource(TELEM_COL2, y, g_model.varioData.source ? MIXSRC_FIRST_TELEM+3*(g_model.varioData.source-1) : 0, attr);
if (attr) {
g_model.varioData.source = checkIncDec(event, g_model.varioData.source, 0, MAX_TELEMETRY_SENSORS, EE_MODEL|NO_INCDEC_MARKS, isSensorAvailable);

View file

@ -178,7 +178,7 @@ void menuModelSensor(event_t event)
break;
}
else if (sensor->formula == TELEM_FORMULA_TOTALIZE) {
lcdDrawTextAlignedLeft(y, NO_INDENT(STR_SOURCE));
lcdDrawTextAlignedLeft(y, STR_SOURCE);
drawSource(SENSOR_2ND_COLUMN, y, sensor->consumption.source ? MIXSRC_FIRST_TELEM+3*(sensor->consumption.source-1) : 0, attr);
if (attr) {
sensor->consumption.source = checkIncDec(event, sensor->consumption.source, 0, MAX_TELEMETRY_SENSORS, EE_MODEL|NO_INCDEC_MARKS, isSensorAvailable);
@ -227,7 +227,7 @@ void menuModelSensor(event_t event)
break;
}
else {
lcdDrawTextAlignedLeft(y, NO_INDENT(STR_OFFSET));
lcdDrawTextAlignedLeft(y, STR_OFFSET);
if (attr) sensor->custom.offset = checkIncDec(event, sensor->custom.offset, -30000, +30000, EE_MODEL|NO_INCDEC_MARKS|INCDEC_REP10);
if (sensor->prec > 0) attr |= (sensor->prec == 2 ? PREC2 : PREC1);
lcdDrawNumber(SENSOR_2ND_COLUMN, y, sensor->custom.offset, LEFT|attr);
@ -240,7 +240,7 @@ void menuModelSensor(event_t event)
case SENSOR_FIELD_PARAM4:
{
drawStringWithIndex(0, y, NO_INDENT(STR_SOURCE), k-SENSOR_FIELD_PARAM1+1);
drawStringWithIndex(0, y, STR_SOURCE, k-SENSOR_FIELD_PARAM1+1);
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);

View file

@ -239,7 +239,7 @@ bool menuModelExpoOne(event_t event)
break;
case EXPO_FIELD_SOURCE:
lcdDrawText(MENUS_MARGIN_LEFT, y, NO_INDENT(STR_SOURCE));
lcdDrawText(MENUS_MARGIN_LEFT, y, STR_SOURCE);
drawSource(EXPO_ONE_2ND_COLUMN, y, ed->srcRaw, menuHorizontalPosition==0 ? attr : 0);
if (attr && menuHorizontalPosition==0) ed->srcRaw = checkIncDec(event, ed->srcRaw, INPUTSRC_FIRST, INPUTSRC_LAST, EE_MODEL|INCDEC_SOURCE|NO_INCDEC_MARKS, isInputSourceAvailable);
if (ed->srcRaw >= MIXSRC_FIRST_TELEM) {
@ -263,7 +263,7 @@ bool menuModelExpoOne(event_t event)
break;
case EXPO_FIELD_OFFSET:
lcdDrawText(MENUS_MARGIN_LEFT, y, NO_INDENT(STR_OFFSET));
lcdDrawText(MENUS_MARGIN_LEFT, y, STR_OFFSET);
ed->offset = GVAR_MENU_ITEM(EXPO_ONE_2ND_COLUMN, y, ed->offset, -100, 100, LEFT|attr, 0, event);
break;

View file

@ -203,7 +203,7 @@ bool menuModelMixOne(event_t event)
editName(MIXES_2ND_COLUMN, y, md2->name, sizeof(md2->name), event, attr);
break;
case MIX_FIELD_SOURCE:
lcdDrawText(MENUS_MARGIN_LEFT, y, NO_INDENT(STR_SOURCE));
lcdDrawText(MENUS_MARGIN_LEFT, y, STR_SOURCE);
drawSource(MIXES_2ND_COLUMN, y, md2->srcRaw, attr);
if (attr) CHECK_INCDEC_MODELSOURCE(event, md2->srcRaw, 1, MIXSRC_LAST);
break;
@ -213,7 +213,7 @@ bool menuModelMixOne(event_t event)
break;
case MIX_FIELD_OFFSET:
{
lcdDrawText(MENUS_MARGIN_LEFT, y, NO_INDENT(STR_OFFSET));
lcdDrawText(MENUS_MARGIN_LEFT, y, STR_OFFSET);
u_int8int16_t offset;
MD_OFFSET_TO_UNION(md2, offset);
offset.word = GVAR_MENU_ITEM(MIXES_2ND_COLUMN, y, offset.word, GV_RANGELARGE_OFFSET_NEG, GV_RANGELARGE_OFFSET, attr|LEFT, 0, event);

View file

@ -305,7 +305,7 @@ bool menuModelTelemetryFrsky(event_t event)
break;
case ITEM_TELEMETRY_VARIO_SOURCE:
lcdDrawText(MENUS_MARGIN_LEFT, y, STR_SOURCE);
lcdDrawText(MENUS_MARGIN_LEFT, y, INDENT TR_SOURCE);
drawSource(TELEM_COL2, y, g_model.varioData.source ? MIXSRC_FIRST_TELEM+3*(g_model.varioData.source-1) : 0, attr);
if (attr) {
g_model.varioData.source = checkIncDec(event, g_model.varioData.source, 0, MAX_TELEMETRY_SENSORS, EE_MODEL|NO_INCDEC_MARKS, isSensorAvailable);

View file

@ -181,7 +181,7 @@ bool menuModelSensor(event_t event)
break;
}
else if (sensor->formula == TELEM_FORMULA_TOTALIZE) {
lcdDrawText(MENUS_MARGIN_LEFT, y, NO_INDENT(STR_SOURCE));
lcdDrawText(MENUS_MARGIN_LEFT, y, STR_SOURCE);
drawSource(SENSOR_2ND_COLUMN, y, sensor->consumption.source ? MIXSRC_FIRST_TELEM+3*(sensor->consumption.source-1) : 0, attr);
if (attr) {
sensor->consumption.source = checkIncDec(event, sensor->consumption.source, 0, MAX_TELEMETRY_SENSORS, EE_MODEL|NO_INCDEC_MARKS, isSensorAvailable);
@ -231,7 +231,7 @@ bool menuModelSensor(event_t event)
break;
}
else {
lcdDrawText(MENUS_MARGIN_LEFT, y, NO_INDENT(STR_OFFSET));
lcdDrawText(MENUS_MARGIN_LEFT, y, STR_OFFSET);
if (attr) sensor->custom.offset = checkIncDec(event, sensor->custom.offset, -30000, +30000, EE_MODEL|NO_INCDEC_MARKS|INCDEC_REP10);
if (sensor->prec > 0) attr |= (sensor->prec == 2 ? PREC2 : PREC1);
lcdDrawNumber(SENSOR_2ND_COLUMN, y, sensor->custom.offset, LEFT|attr);
@ -244,7 +244,7 @@ bool menuModelSensor(event_t event)
case SENSOR_FIELD_PARAM4:
{
drawStringWithIndex(MENUS_MARGIN_LEFT, y, NO_INDENT(STR_SOURCE), k-SENSOR_FIELD_PARAM1+1);
drawStringWithIndex(MENUS_MARGIN_LEFT, y, STR_SOURCE, k-SENSOR_FIELD_PARAM1+1);
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);

View file

@ -14,6 +14,7 @@ set(GUI_SRC
../common/stdlcd/model_curves.cpp
../common/stdlcd/radio_tools.cpp
../common/stdlcd/radio_version.cpp
../common/stdlcd/radio_trainer.cpp
model_curve_edit.cpp
)

View file

@ -20,40 +20,46 @@
#include "opentx.h"
#define TRAINER_CALIB_POS 12
#if LCD_W >= 212
#define TRAINER_CALIB_COLUMN_WIDTH 12
#else
#define TRAINER_CALIB_COLUMN_WIDTH 8
#endif
void menuRadioTrainer(event_t event)
{
uint8_t y;
bool slave = SLAVE_MODE();
MENU(STR_MENUTRAINER, menuTabGeneral, MENU_RADIO_TRAINER, (slave ? 0 : 6), { NAVIGATION_LINE_BY_LINE|2, NAVIGATION_LINE_BY_LINE|2, NAVIGATION_LINE_BY_LINE|2, NAVIGATION_LINE_BY_LINE|2, 0, 0 });
MENU(STR_MENUTRAINER, menuTabGeneral, MENU_RADIO_TRAINER, (slave ? HEADER_LINE : HEADER_LINE+6), { HEADER_LINE_COLUMNS NAVIGATION_LINE_BY_LINE|2, NAVIGATION_LINE_BY_LINE|2, NAVIGATION_LINE_BY_LINE|2, NAVIGATION_LINE_BY_LINE|2, 0, 0 });
if (slave) {
lcdDrawText(7*FW, 4*FH, STR_SLAVE);
lcdDrawText(LCD_W/2, 4*FH, STR_SLAVE, CENTERED);
return;
}
LcdFlags attr;
LcdFlags blink = ((s_editMode>0) ? BLINK|INVERS : INVERS);
lcdDrawText(3*FW, MENU_HEADER_HEIGHT+1, STR_MODESRC);
lcdDrawText(5*FW, MENU_HEADER_HEIGHT+1, STR_MODE);
lcdDrawText(11*FW, MENU_HEADER_HEIGHT+1, "%", RIGHT);
lcdDrawText(12*FW, MENU_HEADER_HEIGHT+1, STR_SOURCE);
y = MENU_HEADER_HEIGHT + 1 + FH;
for (int i=0; i<NUM_STICKS; i++) {
uint8_t chan = channelOrder(i+1);
for (uint8_t i=HEADER_LINE; i<HEADER_LINE+NUM_STICKS; i++) {
uint8_t chan = channelOrder(i+1-HEADER_LINE);
TrainerMix * td = &g_eeGeneral.trainer.mix[chan-1];
putsStickName(0, y, chan-1, (menuVerticalPosition==i && CURSOR_ON_LINE()) ? INVERS : 0);
drawSource(0, y, MIXSRC_Rud-1+chan, (menuVerticalPosition==i && CURSOR_ON_LINE()) ? INVERS : 0);
for (int j=0; j<3; j++) {
for (uint8_t j=0; j<3; j++) {
attr = ((menuVerticalPosition==i && menuHorizontalPosition==j) ? blink : 0);
switch(j) {
switch (j) {
case 0:
lcdDrawTextAtIndex(4*FW, y, STR_TRNMODE, td->mode, attr);
lcdDrawTextAtIndex(5*FW, y, STR_TRNMODE, td->mode, attr);
if (attr&BLINK) CHECK_INCDEC_GENVAR(event, td->mode, 0, 2);
break;
@ -71,16 +77,17 @@ void menuRadioTrainer(event_t event)
y += FH;
}
attr = (menuVerticalPosition==4) ? blink : 0;
attr = (menuVerticalPosition==HEADER_LINE+4) ? blink : 0;
lcdDrawTextAlignedLeft(MENU_HEADER_HEIGHT+1+5*FH, STR_MULTIPLIER);
lcdDrawNumber(LEN_MULTIPLIER*FW+3*FW, MENU_HEADER_HEIGHT+1+5*FH, g_eeGeneral.PPM_Multiplier+10, attr|PREC1|RIGHT);
if (attr) CHECK_INCDEC_GENVAR(event, g_eeGeneral.PPM_Multiplier, -10, 40);
attr = (menuVerticalPosition==5) ? INVERS : 0;
if (attr) s_editMode = 0;
attr = (menuVerticalPosition==HEADER_LINE+5) ? INVERS : 0;
if (attr)
s_editMode = 0;
lcdDrawText(0*FW, MENU_HEADER_HEIGHT+1+6*FH, STR_CAL, attr);
for (int i=0; i<4; i++) {
uint8_t x = (i*TRAINER_CALIB_POS+16)*FW/2;
for (uint8_t i=0; i<4; i++) {
uint8_t x = (i*TRAINER_CALIB_COLUMN_WIDTH + 16) * FW/2;
#if defined (PPM_UNIT_PERCENT_PREC1)
lcdDrawNumber(x, MENU_HEADER_HEIGHT+1+6*FH, (ppmInput[i]-g_eeGeneral.trainer.calib[i])*2, PREC1|RIGHT);
#else
@ -89,6 +96,7 @@ void menuRadioTrainer(event_t event)
}
if (attr) {
s_editMode = 0;
if (event==EVT_KEY_LONG(KEY_ENTER)){
memcpy(g_eeGeneral.trainer.calib, ppmInput, sizeof(g_eeGeneral.trainer.calib));
storageDirty(EE_GENERAL);

View file

@ -152,6 +152,9 @@ void menuRadioModulesVersion(event_t event)
}
else {
menuVerticalOffset = 0;
if (lines == 0) {
}
}
switch(event) {

View file

@ -536,12 +536,12 @@
#define TR_SUBTYPE INDENT "Subtyp"
#define TR_NOFREEEXPO "Není volné expo!"
#define TR_NOFREEMIXER "Není volný mix!"
#define TR_SOURCE INDENT"Zdroj"
#define TR_SOURCE "Zdroj"
#define TR_WEIGHT "Váha"
#define TR_EXPO "Expo"
#define TR_SIDE "Strana"
#define TR_DIFFERENTIAL "Dif.výchylek"
#define TR_OFFSET INDENT"Ofset"
#define TR_OFFSET "Ofset"
#define TR_TRIM "Trim"
#define TR_DREX "DR/Expo"
#define DREX_CHBOX_OFFSET 45

View file

@ -543,12 +543,12 @@
#define TR_SUBTYPE INDENT "Subtype"
#define TR_NOFREEEXPO "Expos voll!"
#define TR_NOFREEMIXER "Mischer voll!"
#define TR_SOURCE INDENT "Quelle"
#define TR_SOURCE "Quelle"
#define TR_WEIGHT "Gewicht"
#define TR_EXPO TR("Expo", "Exponential")
#define TR_SIDE "Seite"
#define TR_DIFFERENTIAL "Diff"
#define TR_OFFSET INDENT "Offset"
#define TR_OFFSET "Offset"
#define TR_TRIM "Trim"
#define TR_DREX "DRex"
#define DREX_CHBOX_OFFSET 30

View file

@ -65,7 +65,7 @@
#define TR_VBLMODE TR("OFF\0""Keys""Ctrl""Both""ON\0 ", "OFF\0 ""Keys\0 ""Controls""Both\0 ""ON\0 ")
#define LEN_TRNMODE "\003"
#define TR_TRNMODE "OFF"" +="" :="
#define TR_TRNMODE "OFF""+=\0"":=\0"
#define LEN_TRNCHN "\003"
#define TR_TRNCHN "CH1CH2CH3CH4"
@ -538,12 +538,12 @@
#define TR_SUBTYPE INDENT "Subtype"
#define TR_NOFREEEXPO "No free expo!"
#define TR_NOFREEMIXER "No free mixer!"
#define TR_SOURCE INDENT "Source"
#define TR_SOURCE "Source"
#define TR_WEIGHT "Weight"
#define TR_EXPO TR("Expo", "Exponential")
#define TR_SIDE "Side"
#define TR_DIFFERENTIAL "Differ"
#define TR_OFFSET INDENT "Offset"
#define TR_OFFSET "Offset"
#define TR_TRIM "Trim"
#define TR_DREX "DRex"
#define DREX_CHBOX_OFFSET 30

View file

@ -65,7 +65,7 @@
#define TR_VBLMODE "OFF ""Keys""Stks""Both""ON\0"
#define LEN_TRNMODE "\003"
#define TR_TRNMODE "OFF"" +="" :="
#define TR_TRNMODE "OFF""+=\0"":="
#define LEN_TRNCHN "\003"
#define TR_TRNCHN "CH1CH2CH3CH4"
@ -554,12 +554,12 @@
#define TR_SUBTYPE INDENT "Subtype"
#define TR_NOFREEEXPO "No expo libre!"
#define TR_NOFREEMIXER "No mezcla lib!"
#define TR_SOURCE INDENT"Fuente"
#define TR_SOURCE "Fuente"
#define TR_WEIGHT "Cantidad"
#define TR_EXPO TR("Expo","Exponencial")
#define TR_SIDE "Lado"
#define TR_DIFFERENTIAL "Diferenc"
#define TR_OFFSET INDENT"Offset"
#define TR_OFFSET "Offset"
#define TR_TRIM "Trim"
#define TR_DREX "DRex"
#define DREX_CHBOX_OFFSET 30

View file

@ -65,7 +65,7 @@
#define TR_VBLMODE TR("OFF\0""Keys""Ctrl""Both""ON\0 ", "OFF\0 ""Keys\0 ""Controls""Both\0 ""ON\0 ")
#define LEN_TRNMODE "\003"
#define TR_TRNMODE "OFF"" +="" :="
#define TR_TRNMODE "OFF""+=\0"":="
#define LEN_TRNCHN "\003"
#define TR_TRNCHN "CH1CH2CH3CH4"
@ -546,12 +546,12 @@
#define TR_SUBTYPE INDENT "Subtype"
#define TR_NOFREEEXPO "No free expo!"
#define TR_NOFREEMIXER "No free mixer!"
#define TR_SOURCE INDENT"Source"
#define TR_SOURCE "Source"
#define TR_WEIGHT "Weight"
#define TR_EXPO TR("Expo","Exponential")
#define TR_SIDE "Side"
#define TR_DIFFERENTIAL "Differ"
#define TR_OFFSET INDENT"Offset"
#define TR_OFFSET "Offset"
#define TR_TRIM "Trim"
#define TR_DREX "DRex"
#define DREX_CHBOX_OFFSET 30

View file

@ -65,7 +65,7 @@
#define TR_VBLMODE TR("OFF\0""Btns""Ctrl""Tous""ON\0","OFF\0 ""Touches\0 ""Controles""Tous\0 ""ON\0 ")
#define LEN_TRNMODE "\003"
#define TR_TRNMODE "OFF"" +="" :="
#define TR_TRNMODE "OFF""+=\0"":="
#define LEN_TRNCHN "\003"
#define TR_TRNCHN "CH1CH2CH3CH4"
@ -552,12 +552,12 @@
#define TR_SUBTYPE INDENT "Sous-type"
#define TR_NOFREEEXPO "Max expos atteint!"
#define TR_NOFREEMIXER "Max mixages atteint!"
#define TR_SOURCE INDENT "Source"
#define TR_SOURCE "Source"
#define TR_WEIGHT "Ratio"
#define TR_EXPO TR("Expo", "Exponentiel")
#define TR_SIDE "Coté"
#define TR_DIFFERENTIAL "Différentiel"
#define TR_OFFSET INDENT "Décalage"
#define TR_OFFSET "Décalage"
#define TR_TRIM "Trim"
#define TR_DREX "DRex"
#define DREX_CHBOX_OFFSET 30

View file

@ -65,7 +65,7 @@
#define TR_VBLMODE TR("OFF\0 ""Tasti""Stks\0""Tutti""ON\0 ", "Spenta""Tasti\0""Sticks""Tutti\0""Accesa")
#define LEN_TRNMODE "\003"
#define TR_TRNMODE "off"" +="" :="
#define TR_TRNMODE "OFF""+=\0"":="
#define LEN_TRNCHN "\003"
#define TR_TRNCHN "ch1ch2ch3ch4"
@ -553,12 +553,12 @@
#define TR_SUBTYPE INDENT "Subtype"
#define TR_NOFREEEXPO "Expo pieni!"
#define TR_NOFREEMIXER "Mixer pieni!"
#define TR_SOURCE INDENT"Sorg."
#define TR_SOURCE "Sorg."
#define TR_WEIGHT "Peso"
#define TR_EXPO "Espo"
#define TR_SIDE "Lato"
#define TR_DIFFERENTIAL "Differ"
#define TR_OFFSET INDENT"Offset"
#define TR_OFFSET "Offset"
#define TR_TRIM "Trim"
#define TR_DREX "DRex"
#define DREX_CHBOX_OFFSET 30

View file

@ -535,12 +535,12 @@ TR_GYR_VSRCRAW
#define TR_SUBTYPE INDENT "Subtype"
#define TR_NOFREEEXPO "Geen vrije expo!"
#define TR_NOFREEMIXER "Geen vrije mixer!"
#define TR_SOURCE INDENT "Source"
#define TR_SOURCE "Source"
#define TR_WEIGHT "Gewicht"
#define TR_EXPO TR("Expo", "Exponentieel")
#define TR_SIDE "Side"
#define TR_DIFFERENTIAL "Diff"
#define TR_OFFSET INDENT "Offset"
#define TR_OFFSET "Offset"
#define TR_TRIM "Trim"
#define TR_DREX "DRex"
#define DREX_CHBOX_OFFSET 30

View file

@ -553,12 +553,12 @@
#define TR_SUBTYPE INDENT "Subtype"
#define TR_NOFREEEXPO "BrakWoln.Expo!"
#define TR_NOFREEMIXER "BrakWoln.Mixów!"
#define TR_SOURCE INDENT "Źródło"
#define TR_SOURCE "Źródło"
#define TR_WEIGHT "Waga "
#define TR_EXPO TR("Expo", "Exponential")
#define TR_SIDE "Strona"
#define TR_DIFFERENTIAL "Różnic"
#define TR_OFFSET INDENT"Ofset "
#define TR_OFFSET "Ofset "
#define TR_TRIM "Trym"
#define TR_DREX "DRex"
#define DREX_CHBOX_OFFSET 30

View file

@ -65,7 +65,7 @@
#define TR_VBLMODE "OFF ""Chav""Stks""Tudo""ON\0"
#define LEN_TRNMODE "\003"
#define TR_TRNMODE "OFF"" +="" :="
#define TR_TRNMODE "OFF""+=\0"":="
#define LEN_TRNCHN "\003"
#define TR_TRNCHN "CH1CH2CH3CH4"
@ -539,12 +539,12 @@
#define TR_SUBTYPE INDENT "Subtype"
#define TR_NOFREEEXPO "No free expo!"
#define TR_NOFREEMIXER "No free mixer!"
#define TR_SOURCE INDENT"Fonte"
#define TR_SOURCE "Fonte"
#define TR_WEIGHT "Quantia"
#define TR_EXPO "Exponen"
#define TR_SIDE "Lado"
#define TR_DIFFERENTIAL "Diferencial"
#define TR_OFFSET INDENT"Desvio"
#define TR_OFFSET "Desvio"
#define TR_TRIM "Trim"
#define TR_DREX "DRex"
#define DREX_CHBOX_OFFSET 30

View file

@ -552,12 +552,12 @@
#define TR_SUBTYPE INDENT "Subtype"
#define TR_NOFREEEXPO "Expo saknas!"
#define TR_NOFREEMIXER "Mixer saknas!"
#define TR_SOURCE INDENT"Källa"
#define TR_SOURCE "Källa"
#define TR_WEIGHT "Vikt"
#define TR_EXPO TR("Expo","Exponentiell")
#define TR_SIDE "Sida"
#define TR_DIFFERENTIAL "Diff."
#define TR_OFFSET INDENT"Offset"
#define TR_OFFSET "Offset"
#define TR_TRIM "Trim"
#define TR_DREX "DRex"
#define DREX_CHBOX_OFFSET 30