feat: More rotary encoder options for B&W screens (see #2045)
* First build * Fix X9 * Update api_general.cpp * Update translations.h * clean up translations * fix: B&W option handling, remove magic numbers, cleanup - Remove references to invertRotary, change to RotEncDir or similar - Add compatabilty importing to companion, firmware - Rename Lua API call - Move magic numbers to enum - Improve B&W option handling so it doesn't apply changes while in menu * chore: yaml regen * fix: Add missing guards for X9D/X9D+ * fix: Wrong enum name in simu * fix(cpn): Use correct names for UI elements * fix: Translations * fix: Allow `rotEncMode` in all yaml due to x9d var Of the three X9D variants, the X9D+2019 is the only one that has a rotary encoder as standard. However, as the base config file is for the X9D, this meant it wasn't reading or writing the config value. Rather than add a seperate config file for it for a single variable, simple to just allow it across all targets. * fix: Companion string, change colorlcd to `Choice` Co-authored-by: Peter Feerick <peter.feerick@gmail.com>
This commit is contained in:
co-authored by
Peter Feerick
parent
5752cf4061
commit
62692dba6a
@@ -202,7 +202,7 @@ Node convert<GeneralSettings>::encode(const GeneralSettings& rhs)
|
|||||||
node["noJitterFilter"] = (int)rhs.noJitterFilter;
|
node["noJitterFilter"] = (int)rhs.noJitterFilter;
|
||||||
node["disableRtcWarning"] = (int)rhs.rtcCheckDisable; // TODO: verify
|
node["disableRtcWarning"] = (int)rhs.rtcCheckDisable; // TODO: verify
|
||||||
node["keysBacklight"] = (int)rhs.keysBacklight;
|
node["keysBacklight"] = (int)rhs.keysBacklight;
|
||||||
node["rotEncDirection"] = (int)rhs.rotEncDirection;
|
node["rotEncMode"] = (int)rhs.rotEncMode;
|
||||||
node["imperial"] = rhs.imperial;
|
node["imperial"] = rhs.imperial;
|
||||||
node["ttsLanguage"] = rhs.ttsLanguage;
|
node["ttsLanguage"] = rhs.ttsLanguage;
|
||||||
node["beepVolume"] = rhs.beepVolume + 2;
|
node["beepVolume"] = rhs.beepVolume + 2;
|
||||||
@@ -396,7 +396,8 @@ bool convert<GeneralSettings>::decode(const Node& node, GeneralSettings& rhs)
|
|||||||
node["noJitterFilter"] >> rhs.noJitterFilter; // new, but don't write old
|
node["noJitterFilter"] >> rhs.noJitterFilter; // new, but don't write old
|
||||||
node["disableRtcWarning"] >> rhs.rtcCheckDisable; // TODO: verify
|
node["disableRtcWarning"] >> rhs.rtcCheckDisable; // TODO: verify
|
||||||
node["keysBacklight"] >> rhs.keysBacklight;
|
node["keysBacklight"] >> rhs.keysBacklight;
|
||||||
node["rotEncDirection"] >> rhs.rotEncDirection;
|
node["rotEncDirection"] >> rhs.rotEncMode; // PR2045: read old name and
|
||||||
|
node["rotEncMode"] >> rhs.rotEncMode; // new, but don't write old
|
||||||
node["imperial"] >> rhs.imperial;
|
node["imperial"] >> rhs.imperial;
|
||||||
node["ttsLanguage"] >> rhs.ttsLanguage;
|
node["ttsLanguage"] >> rhs.ttsLanguage;
|
||||||
node["beepVolume"] >> ioffset_int(rhs.beepVolume, 2);
|
node["beepVolume"] >> ioffset_int(rhs.beepVolume, 2);
|
||||||
|
|||||||
@@ -238,7 +238,7 @@ class GeneralSettings {
|
|||||||
bool noJitterFilter;
|
bool noJitterFilter;
|
||||||
bool rtcCheckDisable;
|
bool rtcCheckDisable;
|
||||||
bool keysBacklight;
|
bool keysBacklight;
|
||||||
bool rotEncDirection;
|
unsigned int rotEncMode;
|
||||||
unsigned int imperial;
|
unsigned int imperial;
|
||||||
char ttsLanguage[TTS_LANGUAGE_LEN + 1];
|
char ttsLanguage[TTS_LANGUAGE_LEN + 1];
|
||||||
int beepVolume;
|
int beepVolume;
|
||||||
|
|||||||
@@ -3035,11 +3035,10 @@ OpenTxGeneralData::OpenTxGeneralData(GeneralSettings & generalData, Board::Type
|
|||||||
internalField.Append(new BoolField<1>(this, generalData.rtcCheckDisable));
|
internalField.Append(new BoolField<1>(this, generalData.rtcCheckDisable));
|
||||||
if (IS_JUMPER_T18(board)) {
|
if (IS_JUMPER_T18(board)) {
|
||||||
internalField.Append(new BoolField<1>(this, generalData.keysBacklight));
|
internalField.Append(new BoolField<1>(this, generalData.keysBacklight));
|
||||||
internalField.Append(new BoolField<1>(this, generalData.rotEncDirection));
|
internalField.Append(new SpareBitsField<1>(this));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
internalField.Append(new SpareBitsField<1>(this));
|
internalField.Append(new SpareBitsField<2>(this));
|
||||||
internalField.Append(new BoolField<1>(this, generalData.rotEncDirection));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i=0; i<4; i++) {
|
for (int i=0; i<4; i++) {
|
||||||
@@ -3350,6 +3349,7 @@ OpenTxGeneralData::OpenTxGeneralData(GeneralSettings & generalData, Board::Type
|
|||||||
|
|
||||||
if (version >= 220) {
|
if (version >= 220) {
|
||||||
internalField.Append(new SignedField<2>(this, generalData.uartSampleMode, "Uart Sample Mode"));
|
internalField.Append(new SignedField<2>(this, generalData.uartSampleMode, "Uart Sample Mode"));
|
||||||
|
internalField.Append(new UnsignedField<2>(this, generalData.rotEncMode));
|
||||||
//internalField.Append(new SpareBitsField<6>(this)); // may need padding to end of 8 byte boundary
|
//internalField.Append(new SpareBitsField<6>(this)); // may need padding to end of 8 byte boundary
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -126,11 +126,11 @@ ui(new Ui::GeneralSetup)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!firmware->getCapability(RotaryEncoderNavigation)) {
|
if (!firmware->getCapability(RotaryEncoderNavigation)) {
|
||||||
ui->invertRotary_CB->hide();
|
ui->rotEncMode_CB->hide();
|
||||||
ui->invertRotary_label->hide();
|
ui->rotEncMode_label->hide();
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
ui->invertRotary_CB->setChecked(generalSettings.rotEncDirection);
|
populateRotEncModeCB();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!firmware->getCapability(HasPxxCountry)) {
|
if (!firmware->getCapability(HasPxxCountry)) {
|
||||||
@@ -483,10 +483,29 @@ void GeneralSetupPanel::on_faimode_CB_stateChanged(int)
|
|||||||
emit modified();
|
emit modified();
|
||||||
}
|
}
|
||||||
|
|
||||||
void GeneralSetupPanel::on_invertRotary_CB_stateChanged(int)
|
void GeneralSetupPanel::populateRotEncModeCB()
|
||||||
{
|
{
|
||||||
generalSettings.rotEncDirection = ui->invertRotary_CB->isChecked();
|
QComboBox * b = ui->rotEncMode_CB;
|
||||||
emit modified();
|
QString strings[] = { tr("Normal"), tr("Inverted"), tr("Vertical Inverted, Horizontal Normal"), tr("Vertical Inverted, Horizontal Alternate") };
|
||||||
|
int itemCount = 4;
|
||||||
|
|
||||||
|
if (Boards::getCapability(firmware->getBoard(), Board::HasColorLcd)) {
|
||||||
|
itemCount = 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
b->clear();
|
||||||
|
for (uint8_t i=0; i < itemCount; i++) {
|
||||||
|
b->addItem(strings[i], 0);
|
||||||
|
}
|
||||||
|
b->setCurrentIndex(generalSettings.rotEncMode);
|
||||||
|
}
|
||||||
|
|
||||||
|
void GeneralSetupPanel::on_rotEncMode_CB_currentIndexChanged(int index)
|
||||||
|
{
|
||||||
|
if (!lock) {
|
||||||
|
generalSettings.rotEncMode = index;
|
||||||
|
emit modified();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void GeneralSetupPanel::on_speakerPitchSB_editingFinished()
|
void GeneralSetupPanel::on_speakerPitchSB_editingFinished()
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ class GeneralSetupPanel : public GeneralPanel
|
|||||||
void on_countrycode_CB_currentIndexChanged(int index);
|
void on_countrycode_CB_currentIndexChanged(int index);
|
||||||
void on_units_CB_currentIndexChanged(int index);
|
void on_units_CB_currentIndexChanged(int index);
|
||||||
void on_faimode_CB_stateChanged(int );
|
void on_faimode_CB_stateChanged(int );
|
||||||
void on_invertRotary_CB_stateChanged(int);
|
void on_rotEncMode_CB_currentIndexChanged(int index);
|
||||||
void on_speakerPitchSB_editingFinished();
|
void on_speakerPitchSB_editingFinished();
|
||||||
void on_timezoneSB_editingFinished();
|
void on_timezoneSB_editingFinished();
|
||||||
void on_adjustRTC_stateChanged(int);
|
void on_adjustRTC_stateChanged(int);
|
||||||
@@ -100,6 +100,7 @@ class GeneralSetupPanel : public GeneralPanel
|
|||||||
void populateBacklightCB();
|
void populateBacklightCB();
|
||||||
void populateVoiceLangCB();
|
void populateVoiceLangCB();
|
||||||
void populateRotEncCB(int reCount);
|
void populateRotEncCB(int reCount);
|
||||||
|
void populateRotEncModeCB();
|
||||||
void updateVarioPitchRange();
|
void updateVarioPitchRange();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -1146,21 +1146,14 @@ p, li { white-space: pre-wrap; }
|
|||||||
<widget class="QComboBox" name="re_CB"/>
|
<widget class="QComboBox" name="re_CB"/>
|
||||||
</item>
|
</item>
|
||||||
<item row="21" column="0">
|
<item row="21" column="0">
|
||||||
<widget class="QLabel" name="invertRotary_label">
|
<widget class="QLabel" name="rotEncMode_label">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Invert Rotary</string>
|
<string>Rotary Encoder Mode</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="21" column="1">
|
<item row="21" column="1">
|
||||||
<widget class="QCheckBox" name="invertRotary_CB">
|
<widget class="QComboBox" name="rotEncMode_CB"/>
|
||||||
<property name="toolTip">
|
|
||||||
<string>Invert the direction of the rotary encoder</string>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string/>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
|
|||||||
@@ -812,7 +812,7 @@ PACK(struct TrainerData {
|
|||||||
#if defined(BUZZER)
|
#if defined(BUZZER)
|
||||||
#define BUZZER_FIELD int8_t buzzerMode:2 // -2=quiet, -1=only alarms, 0=no keys, 1=all (only used on AVR radios without audio hardware)
|
#define BUZZER_FIELD int8_t buzzerMode:2 // -2=quiet, -1=only alarms, 0=no keys, 1=all (only used on AVR radios without audio hardware)
|
||||||
#else
|
#else
|
||||||
#define BUZZER_FIELD int8_t spare1:2 SKIP
|
#define BUZZER_FIELD int8_t spare2:2 SKIP
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
PACK(struct RadioData {
|
PACK(struct RadioData {
|
||||||
@@ -830,7 +830,7 @@ PACK(struct RadioData {
|
|||||||
int8_t antennaMode:2 ENUM(AntennaModes);
|
int8_t antennaMode:2 ENUM(AntennaModes);
|
||||||
uint8_t disableRtcWarning:1;
|
uint8_t disableRtcWarning:1;
|
||||||
uint8_t keysBacklight:1;
|
uint8_t keysBacklight:1;
|
||||||
int8_t rotEncDirection:1;
|
NOBACKUP(uint8_t spare1:1 SKIP);
|
||||||
NOBACKUP(uint8_t internalModule ENUM(ModuleType));
|
NOBACKUP(uint8_t internalModule ENUM(ModuleType));
|
||||||
NOBACKUP(TrainerData trainer);
|
NOBACKUP(TrainerData trainer);
|
||||||
NOBACKUP(uint8_t view); // index of view in main screen
|
NOBACKUP(uint8_t view); // index of view in main screen
|
||||||
@@ -899,13 +899,17 @@ PACK(struct RadioData {
|
|||||||
|
|
||||||
char ownerRegistrationID[PXX2_LEN_REGISTRATION_ID];
|
char ownerRegistrationID[PXX2_LEN_REGISTRATION_ID];
|
||||||
|
|
||||||
|
CUST_ATTR(rotEncDirection, r_rotEncDirection, nullptr);
|
||||||
|
NOBACKUP(uint8_t rotEncMode:2);
|
||||||
|
|
||||||
NOBACKUP(int8_t uartSampleMode:2); // See UartSampleModes
|
NOBACKUP(int8_t uartSampleMode:2); // See UartSampleModes
|
||||||
|
|
||||||
#if defined(STICK_DEAD_ZONE)
|
#if defined(STICK_DEAD_ZONE)
|
||||||
NOBACKUP(uint8_t stickDeadZone:3);
|
NOBACKUP(uint8_t stickDeadZone:3);
|
||||||
NOBACKUP(uint8_t spare2:3 SKIP);
|
|
||||||
#else
|
#else
|
||||||
NOBACKUP(uint8_t spare2:6 SKIP);
|
NOBACKUP(uint8_t stickDeadZoneSpare:3 SKIP);
|
||||||
#endif
|
#endif
|
||||||
|
NOBACKUP(uint8_t spare4:1 SKIP);
|
||||||
|
|
||||||
#if defined(IMU)
|
#if defined(IMU)
|
||||||
NOBACKUP(int8_t imuMax);
|
NOBACKUP(int8_t imuMax);
|
||||||
|
|||||||
@@ -102,7 +102,7 @@ enum {
|
|||||||
ITEM_RADIO_SETUP_USB_MODE,
|
ITEM_RADIO_SETUP_USB_MODE,
|
||||||
CASE_JACK_DETECT(ITEM_RADIO_SETUP_JACK_MODE)
|
CASE_JACK_DETECT(ITEM_RADIO_SETUP_JACK_MODE)
|
||||||
ITEM_RADIO_SETUP_RX_CHANNEL_ORD,
|
ITEM_RADIO_SETUP_RX_CHANNEL_ORD,
|
||||||
CASE_ROTARY_ENCODER(ITEM_RADIO_SETUP_ROTARY_INVERSE)
|
CASE_ROTARY_ENCODER(ITEM_RADIO_SETUP_ROTARY_ENC_MODE)
|
||||||
ITEM_RADIO_SETUP_STICK_MODE_LABELS,
|
ITEM_RADIO_SETUP_STICK_MODE_LABELS,
|
||||||
ITEM_RADIO_SETUP_STICK_MODE,
|
ITEM_RADIO_SETUP_STICK_MODE,
|
||||||
ITEM_RADIO_SETUP_MAX
|
ITEM_RADIO_SETUP_MAX
|
||||||
@@ -137,7 +137,7 @@ void menuRadioSetup(event_t event)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
uint8_t old_editMode = s_editMode;
|
uint8_t old_editMode = s_editMode;
|
||||||
|
|
||||||
MENU(STR_RADIO_SETUP, menuTabGeneral, MENU_RADIO_SETUP, HEADER_LINE+ITEM_RADIO_SETUP_MAX, {
|
MENU(STR_RADIO_SETUP, menuTabGeneral, MENU_RADIO_SETUP, HEADER_LINE+ITEM_RADIO_SETUP_MAX, {
|
||||||
HEADER_LINE_COLUMNS CASE_RTCLOCK(2) CASE_RTCLOCK(2) CASE_BATTGRAPH(1)
|
HEADER_LINE_COLUMNS CASE_RTCLOCK(2) CASE_RTCLOCK(2) CASE_BATTGRAPH(1)
|
||||||
LABEL(SOUND), CASE_AUDIO(0)
|
LABEL(SOUND), CASE_AUDIO(0)
|
||||||
@@ -181,6 +181,9 @@ void menuRadioSetup(event_t event)
|
|||||||
|
|
||||||
if (event == EVT_ENTRY) {
|
if (event == EVT_ENTRY) {
|
||||||
reusableBuffer.generalSettings.stickMode = g_eeGeneral.stickMode;
|
reusableBuffer.generalSettings.stickMode = g_eeGeneral.stickMode;
|
||||||
|
#if defined(ROTARY_ENCODER_NAVIGATION)
|
||||||
|
reusableBuffer.generalSettings.rotaryEncoderMode = g_eeGeneral.rotEncMode;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8_t sub = menuVerticalPosition - HEADER_LINE;
|
uint8_t sub = menuVerticalPosition - HEADER_LINE;
|
||||||
@@ -661,8 +664,21 @@ void menuRadioSetup(event_t event)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
#if defined(ROTARY_ENCODER_NAVIGATION)
|
#if defined(ROTARY_ENCODER_NAVIGATION)
|
||||||
case ITEM_RADIO_SETUP_ROTARY_INVERSE:
|
case ITEM_RADIO_SETUP_ROTARY_ENC_MODE:
|
||||||
g_eeGeneral.rotEncDirection = editCheckBox(g_eeGeneral.rotEncDirection, RADIO_SETUP_2ND_COLUMN, y, STR_INVERT_ROTARY, attr, event);
|
lcdDrawTextAlignedLeft(y, STR_ROTARY_ENC_MODE);
|
||||||
|
lcdDrawTextAtIndex(RADIO_SETUP_2ND_COLUMN, y, STR_ROTARY_ENC_OPT,
|
||||||
|
reusableBuffer.generalSettings.rotaryEncoderMode,
|
||||||
|
attr);
|
||||||
|
if (attr && s_editMode > 0) {
|
||||||
|
CHECK_INCDEC_GENVAR(event,
|
||||||
|
reusableBuffer.generalSettings.rotaryEncoderMode,
|
||||||
|
ROTARY_ENCODER_MODE_NORMAL,
|
||||||
|
ROTARY_ENCODER_MODE_INVERT_VERT_HORZ_ALT);
|
||||||
|
} else if (reusableBuffer.generalSettings.rotaryEncoderMode !=
|
||||||
|
g_eeGeneral.rotEncMode) {
|
||||||
|
g_eeGeneral.rotEncMode =
|
||||||
|
reusableBuffer.generalSettings.rotaryEncoderMode;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ enum MenuRadioSetupItems {
|
|||||||
ITEM_RADIO_SETUP_SWITCHES_DELAY,
|
ITEM_RADIO_SETUP_SWITCHES_DELAY,
|
||||||
ITEM_RADIO_SETUP_USB_MODE,
|
ITEM_RADIO_SETUP_USB_MODE,
|
||||||
ITEM_RADIO_SETUP_RX_CHANNEL_ORD,
|
ITEM_RADIO_SETUP_RX_CHANNEL_ORD,
|
||||||
CASE_ROTARY_ENCODER(ITEM_RADIO_SETUP_ROTARY_INVERSE)
|
CASE_ROTARY_ENCODER(ITEM_RADIO_SETUP_ROTARY_ENC_MODE)
|
||||||
ITEM_RADIO_SETUP_STICK_MODE_LABELS,
|
ITEM_RADIO_SETUP_STICK_MODE_LABELS,
|
||||||
ITEM_RADIO_SETUP_STICK_MODE,
|
ITEM_RADIO_SETUP_STICK_MODE,
|
||||||
ITEM_RADIO_SETUP_MAX
|
ITEM_RADIO_SETUP_MAX
|
||||||
@@ -124,7 +124,7 @@ void menuRadioSetup(event_t event)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
uint8_t old_editMode = s_editMode;
|
uint8_t old_editMode = s_editMode;
|
||||||
|
|
||||||
MENU(STR_RADIO_SETUP, menuTabGeneral, MENU_RADIO_SETUP, ITEM_RADIO_SETUP_MAX, {
|
MENU(STR_RADIO_SETUP, menuTabGeneral, MENU_RADIO_SETUP, ITEM_RADIO_SETUP_MAX, {
|
||||||
2, // date
|
2, // date
|
||||||
2, // time
|
2, // time
|
||||||
@@ -183,6 +183,9 @@ void menuRadioSetup(event_t event)
|
|||||||
|
|
||||||
if (event == EVT_ENTRY) {
|
if (event == EVT_ENTRY) {
|
||||||
reusableBuffer.generalSettings.stickMode = g_eeGeneral.stickMode;
|
reusableBuffer.generalSettings.stickMode = g_eeGeneral.stickMode;
|
||||||
|
#if defined(ROTARY_ENCODER_NAVIGATION)
|
||||||
|
reusableBuffer.generalSettings.rotaryEncoderMode = g_eeGeneral.rotEncMode;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
int sub = menuVerticalPosition;
|
int sub = menuVerticalPosition;
|
||||||
@@ -591,8 +594,21 @@ void menuRadioSetup(event_t event)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
#if defined(ROTARY_ENCODER_NAVIGATION)
|
#if defined(ROTARY_ENCODER_NAVIGATION)
|
||||||
case ITEM_RADIO_SETUP_ROTARY_INVERSE:
|
case ITEM_RADIO_SETUP_ROTARY_ENC_MODE:
|
||||||
g_eeGeneral.rotEncDirection = editCheckBox(g_eeGeneral.rotEncDirection, RADIO_SETUP_2ND_COLUMN, y, STR_INVERT_ROTARY, attr, event);
|
lcdDrawTextAlignedLeft(y, STR_ROTARY_ENC_MODE);
|
||||||
|
lcdDrawTextAtIndex(RADIO_SETUP_2ND_COLUMN, y, STR_ROTARY_ENC_OPT,
|
||||||
|
reusableBuffer.generalSettings.rotaryEncoderMode,
|
||||||
|
attr);
|
||||||
|
if (attr && s_editMode > 0) {
|
||||||
|
CHECK_INCDEC_GENVAR(event,
|
||||||
|
reusableBuffer.generalSettings.rotaryEncoderMode,
|
||||||
|
ROTARY_ENCODER_MODE_NORMAL,
|
||||||
|
ROTARY_ENCODER_MODE_INVERT_VERT_HORZ_ALT);
|
||||||
|
} else if (reusableBuffer.generalSettings.rotaryEncoderMode !=
|
||||||
|
g_eeGeneral.rotEncMode) {
|
||||||
|
g_eeGeneral.rotEncMode =
|
||||||
|
reusableBuffer.generalSettings.rotaryEncoderMode;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
@@ -698,8 +698,10 @@ void RadioSetupPage::build(FormWindow * window)
|
|||||||
|
|
||||||
#if defined(ROTARY_ENCODER_NAVIGATION)
|
#if defined(ROTARY_ENCODER_NAVIGATION)
|
||||||
line = window->newLine(&grid);
|
line = window->newLine(&grid);
|
||||||
new StaticText(line, rect_t{}, STR_INVERT_ROTARY, 0, COLOR_THEME_PRIMARY1);
|
new StaticText(line, rect_t{}, STR_ROTARY_ENC_MODE, 0, COLOR_THEME_PRIMARY1);
|
||||||
new CheckBox(line, rect_t{}, GET_SET_DEFAULT(g_eeGeneral.rotEncDirection));
|
new Choice(line, rect_t{}, STR_ROTARY_ENC_OPT, ROTARY_ENCODER_MODE_NORMAL,
|
||||||
|
ROTARY_ENCODER_MODE_INVERT_BOTH,
|
||||||
|
GET_SET_DEFAULT(g_eeGeneral.rotEncMode));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// RX channel order
|
// RX channel order
|
||||||
|
|||||||
@@ -94,7 +94,19 @@ const char * runPopupMenu(event_t event)
|
|||||||
drawVerticalScrollbar(MENU_X+MENU_W-1, y+1, MENU_MAX_DISPLAY_LINES * (FH+1), popupMenuOffset, popupMenuItemsCount, display_count);
|
drawVerticalScrollbar(MENU_X+MENU_W-1, y+1, MENU_MAX_DISPLAY_LINES * (FH+1), popupMenuOffset, popupMenuItemsCount, display_count);
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (event) {
|
event_t eventTemp = event;
|
||||||
|
|
||||||
|
#if defined(ROTARY_ENCODER_NAVIGATION) && !defined(COLORLCD)
|
||||||
|
if (g_eeGeneral.rotEncMode >= ROTARY_ENCODER_MODE_INVERT_BOTH) {
|
||||||
|
if (eventTemp == EVT_ROTARY_LEFT) {
|
||||||
|
eventTemp = EVT_ROTARY_RIGHT;
|
||||||
|
} else if (eventTemp == EVT_ROTARY_RIGHT) {
|
||||||
|
eventTemp = EVT_ROTARY_LEFT;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
switch (eventTemp) {
|
||||||
#if defined(ROTARY_ENCODER_NAVIGATION)
|
#if defined(ROTARY_ENCODER_NAVIGATION)
|
||||||
CASE_EVT_ROTARY_LEFT
|
CASE_EVT_ROTARY_LEFT
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -345,7 +345,16 @@ void check(event_t event, uint8_t curr, const MenuHandlerFunc *menuTab, uint8_t
|
|||||||
case EVT_KEY_FIRST(KEY_DOWN):
|
case EVT_KEY_FIRST(KEY_DOWN):
|
||||||
if (s_editMode>0) break;
|
if (s_editMode>0) break;
|
||||||
do {
|
do {
|
||||||
|
#if defined(ROTARY_ENCODER_NAVIGATION)
|
||||||
|
if (g_eeGeneral.rotEncMode >=
|
||||||
|
ROTARY_ENCODER_MODE_INVERT_VERT_HORZ_NORM) {
|
||||||
|
DEC(l_posVert, 0, maxrow);
|
||||||
|
} else {
|
||||||
|
INC(l_posVert, 0, maxrow);
|
||||||
|
}
|
||||||
|
#else
|
||||||
INC(l_posVert, 0, maxrow);
|
INC(l_posVert, 0, maxrow);
|
||||||
|
#endif
|
||||||
} while (CURSOR_NOT_ALLOWED_IN_ROW(l_posVert));
|
} while (CURSOR_NOT_ALLOWED_IN_ROW(l_posVert));
|
||||||
|
|
||||||
#if defined(ROTARY_ENCODER_NAVIGATION)
|
#if defined(ROTARY_ENCODER_NAVIGATION)
|
||||||
@@ -368,12 +377,13 @@ void check(event_t event, uint8_t curr, const MenuHandlerFunc *menuTab, uint8_t
|
|||||||
if (l_posHorz > 0) {
|
if (l_posHorz > 0) {
|
||||||
l_posHorz--;
|
l_posHorz--;
|
||||||
break;
|
break;
|
||||||
}
|
} else if (IS_ROTARY_LEFT(event) && s_editMode == 0) {
|
||||||
else if (IS_ROTARY_LEFT(event) && s_editMode == 0) {
|
|
||||||
l_posHorz = 0xff;
|
l_posHorz = 0xff;
|
||||||
}
|
} else {
|
||||||
else {
|
l_posHorz =
|
||||||
l_posHorz = maxcol;
|
g_eeGeneral.rotEncMode == ROTARY_ENCODER_MODE_INVERT_VERT_HORZ_ALT
|
||||||
|
? 0
|
||||||
|
: maxcol;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
@@ -388,7 +398,16 @@ void check(event_t event, uint8_t curr, const MenuHandlerFunc *menuTab, uint8_t
|
|||||||
if (s_editMode>0) break;
|
if (s_editMode>0) break;
|
||||||
|
|
||||||
do {
|
do {
|
||||||
|
#if defined(ROTARY_ENCODER_NAVIGATION)
|
||||||
|
if (g_eeGeneral.rotEncMode >=
|
||||||
|
ROTARY_ENCODER_MODE_INVERT_VERT_HORZ_NORM) {
|
||||||
|
INC(l_posVert, 0, maxrow);
|
||||||
|
} else {
|
||||||
|
DEC(l_posVert, 0, maxrow);
|
||||||
|
}
|
||||||
|
#else
|
||||||
DEC(l_posVert, 0, maxrow);
|
DEC(l_posVert, 0, maxrow);
|
||||||
|
#endif
|
||||||
} while (CURSOR_NOT_ALLOWED_IN_ROW(l_posVert));
|
} while (CURSOR_NOT_ALLOWED_IN_ROW(l_posVert));
|
||||||
|
|
||||||
#if defined(ROTARY_ENCODER_NAVIGATION)
|
#if defined(ROTARY_ENCODER_NAVIGATION)
|
||||||
|
|||||||
@@ -344,7 +344,16 @@ void check(event_t event, uint8_t curr, const MenuHandlerFunc * menuTab, uint8_t
|
|||||||
}
|
}
|
||||||
|
|
||||||
do {
|
do {
|
||||||
|
#if defined(ROTARY_ENCODER_NAVIGATION)
|
||||||
|
if (g_eeGeneral.rotEncMode >=
|
||||||
|
ROTARY_ENCODER_MODE_INVERT_VERT_HORZ_NORM) {
|
||||||
|
DEC(l_posVert, MENU_FIRST_LINE_EDIT(horTab, horTabMax), rowcount - 1);
|
||||||
|
} else {
|
||||||
|
INC(l_posVert, MENU_FIRST_LINE_EDIT(horTab, horTabMax), rowcount - 1);
|
||||||
|
}
|
||||||
|
#else
|
||||||
INC(l_posVert, MENU_FIRST_LINE_EDIT(horTab, horTabMax), rowcount-1);
|
INC(l_posVert, MENU_FIRST_LINE_EDIT(horTab, horTabMax), rowcount-1);
|
||||||
|
#endif
|
||||||
} while (CURSOR_NOT_ALLOWED_IN_ROW(l_posVert));
|
} while (CURSOR_NOT_ALLOWED_IN_ROW(l_posVert));
|
||||||
|
|
||||||
s_editMode = 0; // if we go down, we must be in this mode
|
s_editMode = 0; // if we go down, we must be in this mode
|
||||||
@@ -365,17 +374,31 @@ void check(event_t event, uint8_t curr, const MenuHandlerFunc * menuTab, uint8_t
|
|||||||
DEC(l_posHorz, 0, maxcol);
|
DEC(l_posHorz, 0, maxcol);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
} else if (l_posHorz > 0) {
|
||||||
else if (l_posHorz > 0) {
|
|
||||||
l_posHorz--;
|
l_posHorz--;
|
||||||
break;
|
break;
|
||||||
}
|
} else {
|
||||||
else {
|
#if defined(ROTARY_ENCODER_NAVIGATION)
|
||||||
|
l_posHorz =
|
||||||
|
g_eeGeneral.rotEncMode == ROTARY_ENCODER_MODE_INVERT_VERT_HORZ_ALT
|
||||||
|
? 0
|
||||||
|
: 0xff;
|
||||||
|
#else
|
||||||
l_posHorz = 0xff;
|
l_posHorz = 0xff;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
do {
|
do {
|
||||||
|
#if defined(ROTARY_ENCODER_NAVIGATION)
|
||||||
|
if (g_eeGeneral.rotEncMode >=
|
||||||
|
ROTARY_ENCODER_MODE_INVERT_VERT_HORZ_NORM) {
|
||||||
|
INC(l_posVert, MENU_FIRST_LINE_EDIT(horTab, horTabMax), rowcount - 1);
|
||||||
|
} else {
|
||||||
|
DEC(l_posVert, MENU_FIRST_LINE_EDIT(horTab, horTabMax), rowcount - 1);
|
||||||
|
}
|
||||||
|
#else
|
||||||
DEC(l_posVert, MENU_FIRST_LINE_EDIT(horTab, horTabMax), rowcount-1);
|
DEC(l_posVert, MENU_FIRST_LINE_EDIT(horTab, horTabMax), rowcount-1);
|
||||||
|
#endif
|
||||||
} while (CURSOR_NOT_ALLOWED_IN_ROW(l_posVert));
|
} while (CURSOR_NOT_ALLOWED_IN_ROW(l_posVert));
|
||||||
|
|
||||||
s_editMode = 0; // if we go up, we must be in this mode
|
s_editMode = 0; // if we go up, we must be in this mode
|
||||||
|
|||||||
@@ -439,7 +439,16 @@ void check(event_t event, uint8_t curr, const MenuHandlerFunc *menuTab, uint8_t
|
|||||||
}
|
}
|
||||||
|
|
||||||
do {
|
do {
|
||||||
INC(l_posVert, MENU_FIRST_LINE_EDIT(horTab, horTabMax), rowcount-1);
|
#if defined(ROTARY_ENCODER_NAVIGATION)
|
||||||
|
if (g_eeGeneral.rotEncMode >=
|
||||||
|
ROTARY_ENCODER_MODE_INVERT_VERT_HORZ_NORM) {
|
||||||
|
DEC(l_posVert, MENU_FIRST_LINE_EDIT(horTab, horTabMax), rowcount - 1);
|
||||||
|
} else {
|
||||||
|
INC(l_posVert, MENU_FIRST_LINE_EDIT(horTab, horTabMax), rowcount - 1);
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
DEC(l_posVert, MENU_FIRST_LINE_EDIT(horTab, horTabMax), rowcount - 1);
|
||||||
|
#endif
|
||||||
} while (CURSOR_NOT_ALLOWED_IN_ROW(l_posVert));
|
} while (CURSOR_NOT_ALLOWED_IN_ROW(l_posVert));
|
||||||
|
|
||||||
s_editMode = 0; // if we go down, we must be in this mode
|
s_editMode = 0; // if we go down, we must be in this mode
|
||||||
@@ -458,17 +467,31 @@ void check(event_t event, uint8_t curr, const MenuHandlerFunc *menuTab, uint8_t
|
|||||||
DEC(l_posHorz, 0, maxcol);
|
DEC(l_posHorz, 0, maxcol);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
} else if (l_posHorz > 0) {
|
||||||
else if (l_posHorz > 0) {
|
|
||||||
l_posHorz--;
|
l_posHorz--;
|
||||||
break;
|
break;
|
||||||
}
|
} else {
|
||||||
else {
|
#if defined(ROTARY_ENCODER_NAVIGATION)
|
||||||
|
l_posHorz =
|
||||||
|
g_eeGeneral.rotEncMode == ROTARY_ENCODER_MODE_INVERT_VERT_HORZ_ALT
|
||||||
|
? 0
|
||||||
|
: 0xff;
|
||||||
|
#else
|
||||||
l_posHorz = 0xff;
|
l_posHorz = 0xff;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
do {
|
do {
|
||||||
DEC(l_posVert, MENU_FIRST_LINE_EDIT(horTab, horTabMax), rowcount-1);
|
#if defined(ROTARY_ENCODER_NAVIGATION)
|
||||||
|
if (g_eeGeneral.rotEncMode >=
|
||||||
|
ROTARY_ENCODER_MODE_INVERT_VERT_HORZ_NORM) {
|
||||||
|
INC(l_posVert, MENU_FIRST_LINE_EDIT(horTab, horTabMax), rowcount - 1);
|
||||||
|
} else {
|
||||||
|
DEC(l_posVert, MENU_FIRST_LINE_EDIT(horTab, horTabMax), rowcount - 1);
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
DEC(l_posVert, MENU_FIRST_LINE_EDIT(horTab, horTabMax), rowcount - 1);
|
||||||
|
#endif
|
||||||
} while (CURSOR_NOT_ALLOWED_IN_ROW(l_posVert));
|
} while (CURSOR_NOT_ALLOWED_IN_ROW(l_posVert));
|
||||||
|
|
||||||
s_editMode = 0; // if we go up, we must be in this mode
|
s_editMode = 0; // if we go up, we must be in this mode
|
||||||
|
|||||||
@@ -567,6 +567,26 @@ static int luaGetRotEncSpeed(lua_State * L)
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*luadoc
|
||||||
|
@function getRotEncMode()
|
||||||
|
|
||||||
|
Return rotary encoder mode
|
||||||
|
|
||||||
|
@retval number in list: Normal = 0, Both V and H inverted = 1, V-N = 2, V-A = 3
|
||||||
|
return 0 on radio without rotary encoder
|
||||||
|
|
||||||
|
@status current Introduced in 2.8.0
|
||||||
|
*/
|
||||||
|
static int luaGetRotEncMode(lua_State * L)
|
||||||
|
{
|
||||||
|
#if defined(ROTARY_ENCODER_NAVIGATION)
|
||||||
|
lua_pushunsigned(L, g_eeGeneral.rotEncMode);
|
||||||
|
#else
|
||||||
|
lua_pushunsigned(L, 0);
|
||||||
|
#endif
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
/*luadoc
|
/*luadoc
|
||||||
@function sportTelemetryPop()
|
@function sportTelemetryPop()
|
||||||
|
|
||||||
@@ -1020,12 +1040,12 @@ static int luaGetFieldInfo(lua_State * L)
|
|||||||
{
|
{
|
||||||
bool found;
|
bool found;
|
||||||
LuaField field;
|
LuaField field;
|
||||||
|
|
||||||
if (lua_type(L, 1) == LUA_TNUMBER)
|
if (lua_type(L, 1) == LUA_TNUMBER)
|
||||||
found = luaFindFieldById(luaL_checkinteger(L, 1), field, FIND_FIELD_DESC);
|
found = luaFindFieldById(luaL_checkinteger(L, 1), field, FIND_FIELD_DESC);
|
||||||
else
|
else
|
||||||
found = luaFindFieldByName(luaL_checkstring(L, 1), field, FIND_FIELD_DESC);
|
found = luaFindFieldByName(luaL_checkstring(L, 1), field, FIND_FIELD_DESC);
|
||||||
|
|
||||||
if (found) {
|
if (found) {
|
||||||
lua_newtable(L);
|
lua_newtable(L);
|
||||||
lua_pushtableinteger(L, "id", field.id);
|
lua_pushtableinteger(L, "id", field.id);
|
||||||
@@ -1594,7 +1614,7 @@ static int luaPopupConfirmation(lua_State * L)
|
|||||||
warningText = nullptr;
|
warningText = nullptr;
|
||||||
lua_pushnil(L);
|
lua_pushnil(L);
|
||||||
}
|
}
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1996,7 +2016,7 @@ static int luaSerialWrite(lua_State * L)
|
|||||||
const char* p = str;
|
const char* p = str;
|
||||||
while(wr_len--) _sendCb(_ctx, *p++);
|
while(wr_len--) _sendCb(_ctx, *p++);
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2055,7 +2075,7 @@ static int luaSerialRead(lua_State * L)
|
|||||||
static int shmVar[16] = {0};
|
static int shmVar[16] = {0};
|
||||||
|
|
||||||
/*luadoc
|
/*luadoc
|
||||||
@function setShmVar(id, value)
|
@function setShmVar(id, value)
|
||||||
|
|
||||||
@param id: integer between 1 and 16 identifying the shared memory variable.
|
@param id: integer between 1 and 16 identifying the shared memory variable.
|
||||||
|
|
||||||
@@ -2072,10 +2092,10 @@ static int luaSetShmVar(lua_State * L)
|
|||||||
{
|
{
|
||||||
int id = luaL_checkinteger(L, 1);
|
int id = luaL_checkinteger(L, 1);
|
||||||
int value = luaL_checkinteger(L, 2);
|
int value = luaL_checkinteger(L, 2);
|
||||||
|
|
||||||
if (1 <= id && id <= 16)
|
if (1 <= id && id <= 16)
|
||||||
shmVar[id - 1] = value;
|
shmVar[id - 1] = value;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2096,7 +2116,7 @@ Gets the value of a shared memory variable that can be used for passing data bet
|
|||||||
static int luaGetShmVar(lua_State * L)
|
static int luaGetShmVar(lua_State * L)
|
||||||
{
|
{
|
||||||
int id = luaL_checkinteger(L, 1);
|
int id = luaL_checkinteger(L, 1);
|
||||||
|
|
||||||
if (1 <= id && id <= 16)
|
if (1 <= id && id <= 16)
|
||||||
lua_pushinteger(L, shmVar[id - 1]);
|
lua_pushinteger(L, shmVar[id - 1]);
|
||||||
else
|
else
|
||||||
@@ -2107,14 +2127,14 @@ static int luaGetShmVar(lua_State * L)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*luadoc
|
/*luadoc
|
||||||
@function setStickySwitch(id, value)
|
@function setStickySwitch(id, value)
|
||||||
|
|
||||||
@param id: integer identifying the sticky logical switch (zero for LS1 etc.).
|
@param id: integer identifying the sticky logical switch (zero for LS1 etc.).
|
||||||
|
|
||||||
@param value: true/false. The new value of the sticky logical switch.
|
@param value: true/false. The new value of the sticky logical switch.
|
||||||
|
|
||||||
@retval bufferFull: true/false. This function sends a message from Lua to the logical switch processor
|
@retval bufferFull: true/false. This function sends a message from Lua to the logical switch processor
|
||||||
via a buffer with eight slots that are read 10 times per second. If the buffer is full, then a true value
|
via a buffer with eight slots that are read 10 times per second. If the buffer is full, then a true value
|
||||||
is returned and no messages was sent (i.e. the switch was not changed).
|
is returned and no messages was sent (i.e. the switch was not changed).
|
||||||
|
|
||||||
Sets the value of a sticky logical switch.
|
Sets the value of a sticky logical switch.
|
||||||
@@ -2165,7 +2185,7 @@ static int luaGetLogicalSwitchValue(lua_State * L)
|
|||||||
/*luadoc
|
/*luadoc
|
||||||
@function getSwitchIndex(positionName)
|
@function getSwitchIndex(positionName)
|
||||||
|
|
||||||
@param positionName: string naming a switch position as it is shown on radio menus where you can select a switch. Notice that many names have
|
@param positionName: string naming a switch position as it is shown on radio menus where you can select a switch. Notice that many names have
|
||||||
special characters in them like arrow up/down etc.
|
special characters in them like arrow up/down etc.
|
||||||
|
|
||||||
@retval value: integer. The switchIndex, which can be used as input for `getSwitchName(switchIndex)` and `getSwitchValue(switchIndex)`. Also corresponds
|
@retval value: integer. The switchIndex, which can be used as input for `getSwitchName(switchIndex)` and `getSwitchValue(switchIndex)`. Also corresponds
|
||||||
@@ -2180,12 +2200,12 @@ static int luaGetSwitchIndex(lua_State * L)
|
|||||||
bool negate = false;
|
bool negate = false;
|
||||||
bool found = false;
|
bool found = false;
|
||||||
swsrc_t idx;
|
swsrc_t idx;
|
||||||
|
|
||||||
if (name[0] == '!') {
|
if (name[0] == '!') {
|
||||||
name++;
|
name++;
|
||||||
negate = true;
|
negate = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (idx = SWSRC_NONE; idx < SWSRC_COUNT; idx++) {
|
for (idx = SWSRC_NONE; idx < SWSRC_COUNT; idx++) {
|
||||||
if (isSwitchAvailable(idx, ModelCustomFunctionsContext)) {
|
if (isSwitchAvailable(idx, ModelCustomFunctionsContext)) {
|
||||||
char* s = getSwitchPositionName(idx);
|
char* s = getSwitchPositionName(idx);
|
||||||
@@ -2195,7 +2215,7 @@ static int luaGetSwitchIndex(lua_State * L)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (found) {
|
if (found) {
|
||||||
if (negate)
|
if (negate)
|
||||||
idx = -idx;
|
idx = -idx;
|
||||||
@@ -2210,7 +2230,7 @@ static int luaGetSwitchIndex(lua_State * L)
|
|||||||
/*luadoc
|
/*luadoc
|
||||||
@function getSwitchName(switchIndex)
|
@function getSwitchName(switchIndex)
|
||||||
|
|
||||||
@param switchIndex: integer identifying a switch as returned by `getSwitchIndex(positionName)` or fields in the table returned by
|
@param switchIndex: integer identifying a switch as returned by `getSwitchIndex(positionName)` or fields in the table returned by
|
||||||
`model.getLogicalSwitch(switch)` identifying switches.
|
`model.getLogicalSwitch(switch)` identifying switches.
|
||||||
|
|
||||||
@retval value: string naming the switch position as it is shown on radio menus where a switch can be chosen.
|
@retval value: string naming the switch position as it is shown on radio menus where a switch can be chosen.
|
||||||
@@ -2233,7 +2253,7 @@ static int luaGetSwitchName(lua_State * L)
|
|||||||
/*luadoc
|
/*luadoc
|
||||||
@function getSwitchValue(switchIndex)
|
@function getSwitchValue(switchIndex)
|
||||||
|
|
||||||
@param switchIndex: integer identifying a switch as returned by `getSwitchIndex(positionName)` or fields in the table returned by
|
@param switchIndex: integer identifying a switch as returned by `getSwitchIndex(positionName)` or fields in the table returned by
|
||||||
`model.getLogicalSwitch(switch)` identifying switches.
|
`model.getLogicalSwitch(switch)` identifying switches.
|
||||||
|
|
||||||
@retval value: true/false. The value of the switch.
|
@retval value: true/false. The value of the switch.
|
||||||
@@ -2267,7 +2287,7 @@ static int luaNextSwitch(lua_State * L)
|
|||||||
{
|
{
|
||||||
swsrc_t last = luaL_checkinteger(L, 1);
|
swsrc_t last = luaL_checkinteger(L, 1);
|
||||||
swsrc_t idx = luaL_checkinteger(L, 2);
|
swsrc_t idx = luaL_checkinteger(L, 2);
|
||||||
|
|
||||||
while (++idx <= last) {
|
while (++idx <= last) {
|
||||||
if (isSwitchAvailable(idx, ModelCustomFunctionsContext)) {
|
if (isSwitchAvailable(idx, ModelCustomFunctionsContext)) {
|
||||||
char* name = getSwitchPositionName(idx);
|
char* name = getSwitchPositionName(idx);
|
||||||
@@ -2276,7 +2296,7 @@ static int luaNextSwitch(lua_State * L)
|
|||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
lua_pushnil(L);
|
lua_pushnil(L);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
@@ -2285,7 +2305,7 @@ static int luaSwitches(lua_State * L)
|
|||||||
{
|
{
|
||||||
swsrc_t first;
|
swsrc_t first;
|
||||||
swsrc_t last;
|
swsrc_t last;
|
||||||
|
|
||||||
if (lua_isnumber(L, 1)) {
|
if (lua_isnumber(L, 1)) {
|
||||||
first = luaL_checkinteger(L, 1) - 1;
|
first = luaL_checkinteger(L, 1) - 1;
|
||||||
if (first < SWSRC_FIRST - 1)
|
if (first < SWSRC_FIRST - 1)
|
||||||
@@ -2385,7 +2405,7 @@ static int luaNextSource(lua_State * L)
|
|||||||
{
|
{
|
||||||
mixsrc_t last = luaL_checkinteger(L, 1);
|
mixsrc_t last = luaL_checkinteger(L, 1);
|
||||||
mixsrc_t idx = luaL_checkinteger(L, 2);
|
mixsrc_t idx = luaL_checkinteger(L, 2);
|
||||||
|
|
||||||
while (++idx <= last) {
|
while (++idx <= last) {
|
||||||
if (isSourceAvailable(idx)) {
|
if (isSourceAvailable(idx)) {
|
||||||
char srcName[maxSourceNameLength];
|
char srcName[maxSourceNameLength];
|
||||||
@@ -2433,6 +2453,7 @@ const luaL_Reg opentxLib[] = {
|
|||||||
{ "getGeneralSettings", luaGetGeneralSettings },
|
{ "getGeneralSettings", luaGetGeneralSettings },
|
||||||
{ "getGlobalTimer", luaGetGlobalTimer },
|
{ "getGlobalTimer", luaGetGlobalTimer },
|
||||||
{ "getRotEncSpeed", luaGetRotEncSpeed },
|
{ "getRotEncSpeed", luaGetRotEncSpeed },
|
||||||
|
{ "getRotEncMode", luaGetRotEncMode },
|
||||||
{ "getValue", luaGetValue },
|
{ "getValue", luaGetValue },
|
||||||
{ "getRAS", luaGetRAS },
|
{ "getRAS", luaGetRAS },
|
||||||
{ "getTxGPS", luaGetTxGPS },
|
{ "getTxGPS", luaGetTxGPS },
|
||||||
|
|||||||
@@ -597,7 +597,7 @@ void resetBacklightTimeout()
|
|||||||
uint16_t autoOff = g_eeGeneral.lightAutoOff;
|
uint16_t autoOff = g_eeGeneral.lightAutoOff;
|
||||||
#if defined(COLORLCD)
|
#if defined(COLORLCD)
|
||||||
// prevent the timeout from being 0 seconds on color lcd radios
|
// prevent the timeout from being 0 seconds on color lcd radios
|
||||||
autoOff = std::max<uint16_t>(1, autoOff);
|
autoOff = std::max<uint16_t>(1, autoOff);
|
||||||
#endif
|
#endif
|
||||||
lightOffCounter = (autoOff*250) << 1;
|
lightOffCounter = (autoOff*250) << 1;
|
||||||
}
|
}
|
||||||
@@ -1760,7 +1760,7 @@ void opentxInit()
|
|||||||
#endif // #if !defined(EEPROM)
|
#endif // #if !defined(EEPROM)
|
||||||
|
|
||||||
initSerialPorts();
|
initSerialPorts();
|
||||||
|
|
||||||
currentSpeakerVolume = requiredSpeakerVolume = g_eeGeneral.speakerVolume + VOLUME_LEVEL_DEF;
|
currentSpeakerVolume = requiredSpeakerVolume = g_eeGeneral.speakerVolume + VOLUME_LEVEL_DEF;
|
||||||
currentBacklightBright = requiredBacklightBright = g_eeGeneral.backlightBright;
|
currentBacklightBright = requiredBacklightBright = g_eeGeneral.backlightBright;
|
||||||
#if !defined(SOFTWARE_VOLUME)
|
#if !defined(SOFTWARE_VOLUME)
|
||||||
|
|||||||
@@ -212,6 +212,15 @@
|
|||||||
#define RADIO_TOOLS
|
#define RADIO_TOOLS
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(ROTARY_ENCODER_NAVIGATION)
|
||||||
|
enum RotaryEncoderMode {
|
||||||
|
ROTARY_ENCODER_MODE_NORMAL,
|
||||||
|
ROTARY_ENCODER_MODE_INVERT_BOTH,
|
||||||
|
ROTARY_ENCODER_MODE_INVERT_VERT_HORZ_NORM,
|
||||||
|
ROTARY_ENCODER_MODE_INVERT_VERT_HORZ_ALT
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
// RESX range is used for internal calculation; The menu says -100.0 to 100.0; internally it is -1024 to 1024 to allow some optimizations
|
// RESX range is used for internal calculation; The menu says -100.0 to 100.0; internally it is -1024 to 1024 to allow some optimizations
|
||||||
#define RESX_SHIFT 10
|
#define RESX_SHIFT 10
|
||||||
#define RESX 1024
|
#define RESX 1024
|
||||||
@@ -986,6 +995,9 @@ union ReusableBuffer
|
|||||||
|
|
||||||
struct {
|
struct {
|
||||||
uint8_t stickMode;
|
uint8_t stickMode;
|
||||||
|
#if defined(ROTARY_ENCODER_NAVIGATION)
|
||||||
|
uint8_t rotaryEncoderMode;
|
||||||
|
#endif
|
||||||
} generalSettings;
|
} generalSettings;
|
||||||
|
|
||||||
struct {
|
struct {
|
||||||
|
|||||||
@@ -1807,6 +1807,13 @@ static void r_jitterFilter(void* user, uint8_t* data, uint32_t bitoffs,
|
|||||||
yaml_put_bits(data, i, bitoffs, 1);
|
yaml_put_bits(data, i, bitoffs, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void r_rotEncDirection(void* user, uint8_t* data, uint32_t bitoffs,
|
||||||
|
const char* val, uint8_t val_len)
|
||||||
|
{
|
||||||
|
uint32_t i = yaml_str2uint(val, val_len);
|
||||||
|
yaml_put_bits(data, i, bitoffs, 2);
|
||||||
|
}
|
||||||
|
|
||||||
static void r_telemetryBaudrate(void* user, uint8_t* data, uint32_t bitoffs,
|
static void r_telemetryBaudrate(void* user, uint8_t* data, uint32_t bitoffs,
|
||||||
const char* val, uint8_t val_len)
|
const char* val, uint8_t val_len)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -367,7 +367,7 @@ static const struct YamlNode struct_RadioData[] = {
|
|||||||
YAML_ENUM("antennaMode", 2, enum_AntennaModes),
|
YAML_ENUM("antennaMode", 2, enum_AntennaModes),
|
||||||
YAML_UNSIGNED( "disableRtcWarning", 1 ),
|
YAML_UNSIGNED( "disableRtcWarning", 1 ),
|
||||||
YAML_UNSIGNED( "keysBacklight", 1 ),
|
YAML_UNSIGNED( "keysBacklight", 1 ),
|
||||||
YAML_SIGNED( "rotEncDirection", 1 ),
|
YAML_PADDING( 1 ),
|
||||||
YAML_ENUM("internalModule", 8, enum_ModuleType),
|
YAML_ENUM("internalModule", 8, enum_ModuleType),
|
||||||
YAML_STRUCT("trainer", 128, struct_TrainerData, NULL),
|
YAML_STRUCT("trainer", 128, struct_TrainerData, NULL),
|
||||||
YAML_UNSIGNED( "view", 8 ),
|
YAML_UNSIGNED( "view", 8 ),
|
||||||
@@ -437,9 +437,11 @@ static const struct YamlNode struct_RadioData[] = {
|
|||||||
YAML_STRING("themeName", 8),
|
YAML_STRING("themeName", 8),
|
||||||
YAML_STRUCT("themeData", 480, struct_OpenTxTheme__PersistentData, NULL),
|
YAML_STRUCT("themeData", 480, struct_OpenTxTheme__PersistentData, NULL),
|
||||||
YAML_STRING("ownerRegistrationID", 8),
|
YAML_STRING("ownerRegistrationID", 8),
|
||||||
|
YAML_CUSTOM("rotEncDirection",r_rotEncDirection,nullptr),
|
||||||
|
YAML_UNSIGNED( "rotEncMode", 2 ),
|
||||||
YAML_SIGNED( "uartSampleMode", 2 ),
|
YAML_SIGNED( "uartSampleMode", 2 ),
|
||||||
YAML_UNSIGNED( "stickDeadZone", 3 ),
|
YAML_UNSIGNED( "stickDeadZone", 3 ),
|
||||||
YAML_PADDING( 3 ),
|
YAML_PADDING( 1 ),
|
||||||
YAML_END
|
YAML_END
|
||||||
};
|
};
|
||||||
static const struct YamlNode struct_unsigned_8[] = {
|
static const struct YamlNode struct_unsigned_8[] = {
|
||||||
|
|||||||
@@ -338,7 +338,7 @@ static const struct YamlNode struct_RadioData[] = {
|
|||||||
YAML_ENUM("antennaMode", 2, enum_AntennaModes),
|
YAML_ENUM("antennaMode", 2, enum_AntennaModes),
|
||||||
YAML_UNSIGNED( "disableRtcWarning", 1 ),
|
YAML_UNSIGNED( "disableRtcWarning", 1 ),
|
||||||
YAML_UNSIGNED( "keysBacklight", 1 ),
|
YAML_UNSIGNED( "keysBacklight", 1 ),
|
||||||
YAML_SIGNED( "rotEncDirection", 1 ),
|
YAML_PADDING( 1 ),
|
||||||
YAML_ENUM("internalModule", 8, enum_ModuleType),
|
YAML_ENUM("internalModule", 8, enum_ModuleType),
|
||||||
YAML_STRUCT("trainer", 128, struct_TrainerData, NULL),
|
YAML_STRUCT("trainer", 128, struct_TrainerData, NULL),
|
||||||
YAML_UNSIGNED( "view", 8 ),
|
YAML_UNSIGNED( "view", 8 ),
|
||||||
@@ -406,8 +406,11 @@ static const struct YamlNode struct_RadioData[] = {
|
|||||||
YAML_PADDING( 8 ),
|
YAML_PADDING( 8 ),
|
||||||
YAML_STRING("bluetoothName", 10),
|
YAML_STRING("bluetoothName", 10),
|
||||||
YAML_STRING("ownerRegistrationID", 8),
|
YAML_STRING("ownerRegistrationID", 8),
|
||||||
|
YAML_CUSTOM("rotEncDirection",r_rotEncDirection,nullptr),
|
||||||
|
YAML_UNSIGNED( "rotEncMode", 2 ),
|
||||||
YAML_SIGNED( "uartSampleMode", 2 ),
|
YAML_SIGNED( "uartSampleMode", 2 ),
|
||||||
YAML_PADDING( 6 ),
|
YAML_PADDING( 3 ),
|
||||||
|
YAML_PADDING( 1 ),
|
||||||
YAML_END
|
YAML_END
|
||||||
};
|
};
|
||||||
static const struct YamlNode struct_unsigned_8[] = {
|
static const struct YamlNode struct_unsigned_8[] = {
|
||||||
|
|||||||
@@ -338,7 +338,7 @@ static const struct YamlNode struct_RadioData[] = {
|
|||||||
YAML_ENUM("antennaMode", 2, enum_AntennaModes),
|
YAML_ENUM("antennaMode", 2, enum_AntennaModes),
|
||||||
YAML_UNSIGNED( "disableRtcWarning", 1 ),
|
YAML_UNSIGNED( "disableRtcWarning", 1 ),
|
||||||
YAML_UNSIGNED( "keysBacklight", 1 ),
|
YAML_UNSIGNED( "keysBacklight", 1 ),
|
||||||
YAML_SIGNED( "rotEncDirection", 1 ),
|
YAML_PADDING( 1 ),
|
||||||
YAML_ENUM("internalModule", 8, enum_ModuleType),
|
YAML_ENUM("internalModule", 8, enum_ModuleType),
|
||||||
YAML_STRUCT("trainer", 128, struct_TrainerData, NULL),
|
YAML_STRUCT("trainer", 128, struct_TrainerData, NULL),
|
||||||
YAML_UNSIGNED( "view", 8 ),
|
YAML_UNSIGNED( "view", 8 ),
|
||||||
@@ -406,8 +406,11 @@ static const struct YamlNode struct_RadioData[] = {
|
|||||||
YAML_PADDING( 8 ),
|
YAML_PADDING( 8 ),
|
||||||
YAML_STRING("bluetoothName", 10),
|
YAML_STRING("bluetoothName", 10),
|
||||||
YAML_STRING("ownerRegistrationID", 8),
|
YAML_STRING("ownerRegistrationID", 8),
|
||||||
|
YAML_CUSTOM("rotEncDirection",r_rotEncDirection,nullptr),
|
||||||
|
YAML_UNSIGNED( "rotEncMode", 2 ),
|
||||||
YAML_SIGNED( "uartSampleMode", 2 ),
|
YAML_SIGNED( "uartSampleMode", 2 ),
|
||||||
YAML_PADDING( 6 ),
|
YAML_PADDING( 3 ),
|
||||||
|
YAML_PADDING( 1 ),
|
||||||
YAML_END
|
YAML_END
|
||||||
};
|
};
|
||||||
static const struct YamlNode struct_unsigned_8[] = {
|
static const struct YamlNode struct_unsigned_8[] = {
|
||||||
|
|||||||
@@ -338,7 +338,7 @@ static const struct YamlNode struct_RadioData[] = {
|
|||||||
YAML_ENUM("antennaMode", 2, enum_AntennaModes),
|
YAML_ENUM("antennaMode", 2, enum_AntennaModes),
|
||||||
YAML_UNSIGNED( "disableRtcWarning", 1 ),
|
YAML_UNSIGNED( "disableRtcWarning", 1 ),
|
||||||
YAML_UNSIGNED( "keysBacklight", 1 ),
|
YAML_UNSIGNED( "keysBacklight", 1 ),
|
||||||
YAML_SIGNED( "rotEncDirection", 1 ),
|
YAML_PADDING( 1 ),
|
||||||
YAML_ENUM("internalModule", 8, enum_ModuleType),
|
YAML_ENUM("internalModule", 8, enum_ModuleType),
|
||||||
YAML_STRUCT("trainer", 128, struct_TrainerData, NULL),
|
YAML_STRUCT("trainer", 128, struct_TrainerData, NULL),
|
||||||
YAML_UNSIGNED( "view", 8 ),
|
YAML_UNSIGNED( "view", 8 ),
|
||||||
@@ -406,8 +406,11 @@ static const struct YamlNode struct_RadioData[] = {
|
|||||||
YAML_PADDING( 8 ),
|
YAML_PADDING( 8 ),
|
||||||
YAML_STRING("bluetoothName", 10),
|
YAML_STRING("bluetoothName", 10),
|
||||||
YAML_STRING("ownerRegistrationID", 8),
|
YAML_STRING("ownerRegistrationID", 8),
|
||||||
|
YAML_CUSTOM("rotEncDirection",r_rotEncDirection,nullptr),
|
||||||
|
YAML_UNSIGNED( "rotEncMode", 2 ),
|
||||||
YAML_SIGNED( "uartSampleMode", 2 ),
|
YAML_SIGNED( "uartSampleMode", 2 ),
|
||||||
YAML_PADDING( 6 ),
|
YAML_PADDING( 3 ),
|
||||||
|
YAML_PADDING( 1 ),
|
||||||
YAML_END
|
YAML_END
|
||||||
};
|
};
|
||||||
static const struct YamlNode struct_unsigned_8[] = {
|
static const struct YamlNode struct_unsigned_8[] = {
|
||||||
|
|||||||
@@ -346,7 +346,7 @@ static const struct YamlNode struct_RadioData[] = {
|
|||||||
YAML_ENUM("antennaMode", 2, enum_AntennaModes),
|
YAML_ENUM("antennaMode", 2, enum_AntennaModes),
|
||||||
YAML_UNSIGNED( "disableRtcWarning", 1 ),
|
YAML_UNSIGNED( "disableRtcWarning", 1 ),
|
||||||
YAML_UNSIGNED( "keysBacklight", 1 ),
|
YAML_UNSIGNED( "keysBacklight", 1 ),
|
||||||
YAML_SIGNED( "rotEncDirection", 1 ),
|
YAML_PADDING( 1 ),
|
||||||
YAML_ENUM("internalModule", 8, enum_ModuleType),
|
YAML_ENUM("internalModule", 8, enum_ModuleType),
|
||||||
YAML_STRUCT("trainer", 128, struct_TrainerData, NULL),
|
YAML_STRUCT("trainer", 128, struct_TrainerData, NULL),
|
||||||
YAML_UNSIGNED( "view", 8 ),
|
YAML_UNSIGNED( "view", 8 ),
|
||||||
@@ -412,8 +412,11 @@ static const struct YamlNode struct_RadioData[] = {
|
|||||||
YAML_PADDING( 96 ),
|
YAML_PADDING( 96 ),
|
||||||
YAML_PADDING( 144 ),
|
YAML_PADDING( 144 ),
|
||||||
YAML_STRING("ownerRegistrationID", 8),
|
YAML_STRING("ownerRegistrationID", 8),
|
||||||
|
YAML_CUSTOM("rotEncDirection",r_rotEncDirection,nullptr),
|
||||||
|
YAML_UNSIGNED( "rotEncMode", 2 ),
|
||||||
YAML_SIGNED( "uartSampleMode", 2 ),
|
YAML_SIGNED( "uartSampleMode", 2 ),
|
||||||
YAML_PADDING( 6 ),
|
YAML_PADDING( 3 ),
|
||||||
|
YAML_PADDING( 1 ),
|
||||||
YAML_END
|
YAML_END
|
||||||
};
|
};
|
||||||
static const struct YamlNode struct_unsigned_8[] = {
|
static const struct YamlNode struct_unsigned_8[] = {
|
||||||
|
|||||||
@@ -338,7 +338,7 @@ static const struct YamlNode struct_RadioData[] = {
|
|||||||
YAML_ENUM("antennaMode", 2, enum_AntennaModes),
|
YAML_ENUM("antennaMode", 2, enum_AntennaModes),
|
||||||
YAML_UNSIGNED( "disableRtcWarning", 1 ),
|
YAML_UNSIGNED( "disableRtcWarning", 1 ),
|
||||||
YAML_UNSIGNED( "keysBacklight", 1 ),
|
YAML_UNSIGNED( "keysBacklight", 1 ),
|
||||||
YAML_SIGNED( "rotEncDirection", 1 ),
|
YAML_PADDING( 1 ),
|
||||||
YAML_ENUM("internalModule", 8, enum_ModuleType),
|
YAML_ENUM("internalModule", 8, enum_ModuleType),
|
||||||
YAML_STRUCT("trainer", 128, struct_TrainerData, NULL),
|
YAML_STRUCT("trainer", 128, struct_TrainerData, NULL),
|
||||||
YAML_UNSIGNED( "view", 8 ),
|
YAML_UNSIGNED( "view", 8 ),
|
||||||
@@ -406,8 +406,11 @@ static const struct YamlNode struct_RadioData[] = {
|
|||||||
YAML_PADDING( 8 ),
|
YAML_PADDING( 8 ),
|
||||||
YAML_STRING("bluetoothName", 10),
|
YAML_STRING("bluetoothName", 10),
|
||||||
YAML_STRING("ownerRegistrationID", 8),
|
YAML_STRING("ownerRegistrationID", 8),
|
||||||
|
YAML_CUSTOM("rotEncDirection",r_rotEncDirection,nullptr),
|
||||||
|
YAML_UNSIGNED( "rotEncMode", 2 ),
|
||||||
YAML_SIGNED( "uartSampleMode", 2 ),
|
YAML_SIGNED( "uartSampleMode", 2 ),
|
||||||
YAML_PADDING( 6 ),
|
YAML_PADDING( 3 ),
|
||||||
|
YAML_PADDING( 1 ),
|
||||||
YAML_END
|
YAML_END
|
||||||
};
|
};
|
||||||
static const struct YamlNode struct_unsigned_8[] = {
|
static const struct YamlNode struct_unsigned_8[] = {
|
||||||
|
|||||||
@@ -338,7 +338,7 @@ static const struct YamlNode struct_RadioData[] = {
|
|||||||
YAML_ENUM("antennaMode", 2, enum_AntennaModes),
|
YAML_ENUM("antennaMode", 2, enum_AntennaModes),
|
||||||
YAML_UNSIGNED( "disableRtcWarning", 1 ),
|
YAML_UNSIGNED( "disableRtcWarning", 1 ),
|
||||||
YAML_UNSIGNED( "keysBacklight", 1 ),
|
YAML_UNSIGNED( "keysBacklight", 1 ),
|
||||||
YAML_SIGNED( "rotEncDirection", 1 ),
|
YAML_PADDING( 1 ),
|
||||||
YAML_ENUM("internalModule", 8, enum_ModuleType),
|
YAML_ENUM("internalModule", 8, enum_ModuleType),
|
||||||
YAML_STRUCT("trainer", 128, struct_TrainerData, NULL),
|
YAML_STRUCT("trainer", 128, struct_TrainerData, NULL),
|
||||||
YAML_UNSIGNED( "view", 8 ),
|
YAML_UNSIGNED( "view", 8 ),
|
||||||
@@ -406,8 +406,11 @@ static const struct YamlNode struct_RadioData[] = {
|
|||||||
YAML_PADDING( 8 ),
|
YAML_PADDING( 8 ),
|
||||||
YAML_STRING("bluetoothName", 10),
|
YAML_STRING("bluetoothName", 10),
|
||||||
YAML_STRING("ownerRegistrationID", 8),
|
YAML_STRING("ownerRegistrationID", 8),
|
||||||
|
YAML_CUSTOM("rotEncDirection",r_rotEncDirection,nullptr),
|
||||||
|
YAML_UNSIGNED( "rotEncMode", 2 ),
|
||||||
YAML_SIGNED( "uartSampleMode", 2 ),
|
YAML_SIGNED( "uartSampleMode", 2 ),
|
||||||
YAML_PADDING( 6 ),
|
YAML_PADDING( 3 ),
|
||||||
|
YAML_PADDING( 1 ),
|
||||||
YAML_END
|
YAML_END
|
||||||
};
|
};
|
||||||
static const struct YamlNode struct_unsigned_8[] = {
|
static const struct YamlNode struct_unsigned_8[] = {
|
||||||
|
|||||||
@@ -390,7 +390,7 @@ static const struct YamlNode struct_RadioData[] = {
|
|||||||
YAML_ENUM("antennaMode", 2, enum_AntennaModes),
|
YAML_ENUM("antennaMode", 2, enum_AntennaModes),
|
||||||
YAML_UNSIGNED( "disableRtcWarning", 1 ),
|
YAML_UNSIGNED( "disableRtcWarning", 1 ),
|
||||||
YAML_UNSIGNED( "keysBacklight", 1 ),
|
YAML_UNSIGNED( "keysBacklight", 1 ),
|
||||||
YAML_SIGNED( "rotEncDirection", 1 ),
|
YAML_PADDING( 1 ),
|
||||||
YAML_ENUM("internalModule", 8, enum_ModuleType),
|
YAML_ENUM("internalModule", 8, enum_ModuleType),
|
||||||
YAML_STRUCT("trainer", 128, struct_TrainerData, NULL),
|
YAML_STRUCT("trainer", 128, struct_TrainerData, NULL),
|
||||||
YAML_UNSIGNED( "view", 8 ),
|
YAML_UNSIGNED( "view", 8 ),
|
||||||
@@ -460,8 +460,11 @@ static const struct YamlNode struct_RadioData[] = {
|
|||||||
YAML_STRING("themeName", 8),
|
YAML_STRING("themeName", 8),
|
||||||
YAML_STRUCT("themeData", 480, struct_OpenTxTheme__PersistentData, NULL),
|
YAML_STRUCT("themeData", 480, struct_OpenTxTheme__PersistentData, NULL),
|
||||||
YAML_STRING("ownerRegistrationID", 8),
|
YAML_STRING("ownerRegistrationID", 8),
|
||||||
|
YAML_CUSTOM("rotEncDirection",r_rotEncDirection,nullptr),
|
||||||
|
YAML_UNSIGNED( "rotEncMode", 2 ),
|
||||||
YAML_SIGNED( "uartSampleMode", 2 ),
|
YAML_SIGNED( "uartSampleMode", 2 ),
|
||||||
YAML_PADDING( 6 ),
|
YAML_PADDING( 3 ),
|
||||||
|
YAML_PADDING( 1 ),
|
||||||
YAML_SIGNED( "imuMax", 8 ),
|
YAML_SIGNED( "imuMax", 8 ),
|
||||||
YAML_SIGNED( "imuOffset", 8 ),
|
YAML_SIGNED( "imuOffset", 8 ),
|
||||||
YAML_END
|
YAML_END
|
||||||
|
|||||||
@@ -388,7 +388,7 @@ static const struct YamlNode struct_RadioData[] = {
|
|||||||
YAML_ENUM("antennaMode", 2, enum_AntennaModes),
|
YAML_ENUM("antennaMode", 2, enum_AntennaModes),
|
||||||
YAML_UNSIGNED( "disableRtcWarning", 1 ),
|
YAML_UNSIGNED( "disableRtcWarning", 1 ),
|
||||||
YAML_UNSIGNED( "keysBacklight", 1 ),
|
YAML_UNSIGNED( "keysBacklight", 1 ),
|
||||||
YAML_SIGNED( "rotEncDirection", 1 ),
|
YAML_PADDING( 1 ),
|
||||||
YAML_ENUM("internalModule", 8, enum_ModuleType),
|
YAML_ENUM("internalModule", 8, enum_ModuleType),
|
||||||
YAML_STRUCT("trainer", 128, struct_TrainerData, NULL),
|
YAML_STRUCT("trainer", 128, struct_TrainerData, NULL),
|
||||||
YAML_UNSIGNED( "view", 8 ),
|
YAML_UNSIGNED( "view", 8 ),
|
||||||
@@ -458,8 +458,11 @@ static const struct YamlNode struct_RadioData[] = {
|
|||||||
YAML_STRING("themeName", 8),
|
YAML_STRING("themeName", 8),
|
||||||
YAML_STRUCT("themeData", 480, struct_OpenTxTheme__PersistentData, NULL),
|
YAML_STRUCT("themeData", 480, struct_OpenTxTheme__PersistentData, NULL),
|
||||||
YAML_STRING("ownerRegistrationID", 8),
|
YAML_STRING("ownerRegistrationID", 8),
|
||||||
|
YAML_CUSTOM("rotEncDirection",r_rotEncDirection,nullptr),
|
||||||
|
YAML_UNSIGNED( "rotEncMode", 2 ),
|
||||||
YAML_SIGNED( "uartSampleMode", 2 ),
|
YAML_SIGNED( "uartSampleMode", 2 ),
|
||||||
YAML_PADDING( 6 ),
|
YAML_PADDING( 3 ),
|
||||||
|
YAML_PADDING( 1 ),
|
||||||
YAML_SIGNED( "imuMax", 8 ),
|
YAML_SIGNED( "imuMax", 8 ),
|
||||||
YAML_SIGNED( "imuOffset", 8 ),
|
YAML_SIGNED( "imuOffset", 8 ),
|
||||||
YAML_END
|
YAML_END
|
||||||
|
|||||||
@@ -338,7 +338,7 @@ static const struct YamlNode struct_RadioData[] = {
|
|||||||
YAML_ENUM("antennaMode", 2, enum_AntennaModes),
|
YAML_ENUM("antennaMode", 2, enum_AntennaModes),
|
||||||
YAML_UNSIGNED( "disableRtcWarning", 1 ),
|
YAML_UNSIGNED( "disableRtcWarning", 1 ),
|
||||||
YAML_UNSIGNED( "keysBacklight", 1 ),
|
YAML_UNSIGNED( "keysBacklight", 1 ),
|
||||||
YAML_SIGNED( "rotEncDirection", 1 ),
|
YAML_PADDING( 1 ),
|
||||||
YAML_ENUM("internalModule", 8, enum_ModuleType),
|
YAML_ENUM("internalModule", 8, enum_ModuleType),
|
||||||
YAML_STRUCT("trainer", 128, struct_TrainerData, NULL),
|
YAML_STRUCT("trainer", 128, struct_TrainerData, NULL),
|
||||||
YAML_UNSIGNED( "view", 8 ),
|
YAML_UNSIGNED( "view", 8 ),
|
||||||
@@ -406,8 +406,11 @@ static const struct YamlNode struct_RadioData[] = {
|
|||||||
YAML_PADDING( 8 ),
|
YAML_PADDING( 8 ),
|
||||||
YAML_STRING("bluetoothName", 10),
|
YAML_STRING("bluetoothName", 10),
|
||||||
YAML_STRING("ownerRegistrationID", 8),
|
YAML_STRING("ownerRegistrationID", 8),
|
||||||
|
YAML_CUSTOM("rotEncDirection",r_rotEncDirection,nullptr),
|
||||||
|
YAML_UNSIGNED( "rotEncMode", 2 ),
|
||||||
YAML_SIGNED( "uartSampleMode", 2 ),
|
YAML_SIGNED( "uartSampleMode", 2 ),
|
||||||
YAML_PADDING( 6 ),
|
YAML_PADDING( 3 ),
|
||||||
|
YAML_PADDING( 1 ),
|
||||||
YAML_END
|
YAML_END
|
||||||
};
|
};
|
||||||
static const struct YamlNode struct_unsigned_8[] = {
|
static const struct YamlNode struct_unsigned_8[] = {
|
||||||
|
|||||||
@@ -345,7 +345,7 @@ static const struct YamlNode struct_RadioData[] = {
|
|||||||
YAML_ENUM("antennaMode", 2, enum_AntennaModes),
|
YAML_ENUM("antennaMode", 2, enum_AntennaModes),
|
||||||
YAML_UNSIGNED( "disableRtcWarning", 1 ),
|
YAML_UNSIGNED( "disableRtcWarning", 1 ),
|
||||||
YAML_UNSIGNED( "keysBacklight", 1 ),
|
YAML_UNSIGNED( "keysBacklight", 1 ),
|
||||||
YAML_SIGNED( "rotEncDirection", 1 ),
|
YAML_PADDING( 1 ),
|
||||||
YAML_ENUM("internalModule", 8, enum_ModuleType),
|
YAML_ENUM("internalModule", 8, enum_ModuleType),
|
||||||
YAML_STRUCT("trainer", 128, struct_TrainerData, NULL),
|
YAML_STRUCT("trainer", 128, struct_TrainerData, NULL),
|
||||||
YAML_UNSIGNED( "view", 8 ),
|
YAML_UNSIGNED( "view", 8 ),
|
||||||
@@ -413,8 +413,11 @@ static const struct YamlNode struct_RadioData[] = {
|
|||||||
YAML_PADDING( 8 ),
|
YAML_PADDING( 8 ),
|
||||||
YAML_STRING("bluetoothName", 10),
|
YAML_STRING("bluetoothName", 10),
|
||||||
YAML_STRING("ownerRegistrationID", 8),
|
YAML_STRING("ownerRegistrationID", 8),
|
||||||
|
YAML_CUSTOM("rotEncDirection",r_rotEncDirection,nullptr),
|
||||||
|
YAML_UNSIGNED( "rotEncMode", 2 ),
|
||||||
YAML_SIGNED( "uartSampleMode", 2 ),
|
YAML_SIGNED( "uartSampleMode", 2 ),
|
||||||
YAML_PADDING( 6 ),
|
YAML_PADDING( 3 ),
|
||||||
|
YAML_PADDING( 1 ),
|
||||||
YAML_END
|
YAML_END
|
||||||
};
|
};
|
||||||
static const struct YamlNode struct_unsigned_8[] = {
|
static const struct YamlNode struct_unsigned_8[] = {
|
||||||
|
|||||||
@@ -384,7 +384,7 @@ static const struct YamlNode struct_RadioData[] = {
|
|||||||
YAML_ENUM("antennaMode", 2, enum_AntennaModes),
|
YAML_ENUM("antennaMode", 2, enum_AntennaModes),
|
||||||
YAML_UNSIGNED( "disableRtcWarning", 1 ),
|
YAML_UNSIGNED( "disableRtcWarning", 1 ),
|
||||||
YAML_UNSIGNED( "keysBacklight", 1 ),
|
YAML_UNSIGNED( "keysBacklight", 1 ),
|
||||||
YAML_SIGNED( "rotEncDirection", 1 ),
|
YAML_PADDING( 1 ),
|
||||||
YAML_ENUM("internalModule", 8, enum_ModuleType),
|
YAML_ENUM("internalModule", 8, enum_ModuleType),
|
||||||
YAML_STRUCT("trainer", 128, struct_TrainerData, NULL),
|
YAML_STRUCT("trainer", 128, struct_TrainerData, NULL),
|
||||||
YAML_UNSIGNED( "view", 8 ),
|
YAML_UNSIGNED( "view", 8 ),
|
||||||
@@ -452,8 +452,11 @@ static const struct YamlNode struct_RadioData[] = {
|
|||||||
YAML_PADDING( 8 ),
|
YAML_PADDING( 8 ),
|
||||||
YAML_STRING("bluetoothName", 10),
|
YAML_STRING("bluetoothName", 10),
|
||||||
YAML_STRING("ownerRegistrationID", 8),
|
YAML_STRING("ownerRegistrationID", 8),
|
||||||
|
YAML_CUSTOM("rotEncDirection",r_rotEncDirection,nullptr),
|
||||||
|
YAML_UNSIGNED( "rotEncMode", 2 ),
|
||||||
YAML_SIGNED( "uartSampleMode", 2 ),
|
YAML_SIGNED( "uartSampleMode", 2 ),
|
||||||
YAML_PADDING( 6 ),
|
YAML_PADDING( 3 ),
|
||||||
|
YAML_PADDING( 1 ),
|
||||||
YAML_END
|
YAML_END
|
||||||
};
|
};
|
||||||
static const struct YamlNode struct_unsigned_8[] = {
|
static const struct YamlNode struct_unsigned_8[] = {
|
||||||
|
|||||||
@@ -325,7 +325,7 @@ static const struct YamlNode struct_RadioData[] = {
|
|||||||
YAML_ENUM("antennaMode", 2, enum_AntennaModes),
|
YAML_ENUM("antennaMode", 2, enum_AntennaModes),
|
||||||
YAML_UNSIGNED( "disableRtcWarning", 1 ),
|
YAML_UNSIGNED( "disableRtcWarning", 1 ),
|
||||||
YAML_UNSIGNED( "keysBacklight", 1 ),
|
YAML_UNSIGNED( "keysBacklight", 1 ),
|
||||||
YAML_SIGNED( "rotEncDirection", 1 ),
|
YAML_PADDING( 1 ),
|
||||||
YAML_ENUM("internalModule", 8, enum_ModuleType),
|
YAML_ENUM("internalModule", 8, enum_ModuleType),
|
||||||
YAML_STRUCT("trainer", 128, struct_TrainerData, NULL),
|
YAML_STRUCT("trainer", 128, struct_TrainerData, NULL),
|
||||||
YAML_UNSIGNED( "view", 8 ),
|
YAML_UNSIGNED( "view", 8 ),
|
||||||
@@ -391,8 +391,11 @@ static const struct YamlNode struct_RadioData[] = {
|
|||||||
YAML_PADDING( 120 ),
|
YAML_PADDING( 120 ),
|
||||||
YAML_PADDING( 120 ),
|
YAML_PADDING( 120 ),
|
||||||
YAML_STRING("ownerRegistrationID", 8),
|
YAML_STRING("ownerRegistrationID", 8),
|
||||||
|
YAML_CUSTOM("rotEncDirection",r_rotEncDirection,nullptr),
|
||||||
|
YAML_UNSIGNED( "rotEncMode", 2 ),
|
||||||
YAML_SIGNED( "uartSampleMode", 2 ),
|
YAML_SIGNED( "uartSampleMode", 2 ),
|
||||||
YAML_PADDING( 6 ),
|
YAML_PADDING( 3 ),
|
||||||
|
YAML_PADDING( 1 ),
|
||||||
YAML_END
|
YAML_END
|
||||||
};
|
};
|
||||||
static const struct YamlNode struct_unsigned_8[] = {
|
static const struct YamlNode struct_unsigned_8[] = {
|
||||||
|
|||||||
@@ -333,7 +333,7 @@ static const struct YamlNode struct_RadioData[] = {
|
|||||||
YAML_ENUM("antennaMode", 2, enum_AntennaModes),
|
YAML_ENUM("antennaMode", 2, enum_AntennaModes),
|
||||||
YAML_UNSIGNED( "disableRtcWarning", 1 ),
|
YAML_UNSIGNED( "disableRtcWarning", 1 ),
|
||||||
YAML_UNSIGNED( "keysBacklight", 1 ),
|
YAML_UNSIGNED( "keysBacklight", 1 ),
|
||||||
YAML_SIGNED( "rotEncDirection", 1 ),
|
YAML_PADDING( 1 ),
|
||||||
YAML_ENUM("internalModule", 8, enum_ModuleType),
|
YAML_ENUM("internalModule", 8, enum_ModuleType),
|
||||||
YAML_STRUCT("trainer", 128, struct_TrainerData, NULL),
|
YAML_STRUCT("trainer", 128, struct_TrainerData, NULL),
|
||||||
YAML_UNSIGNED( "view", 8 ),
|
YAML_UNSIGNED( "view", 8 ),
|
||||||
@@ -401,8 +401,11 @@ static const struct YamlNode struct_RadioData[] = {
|
|||||||
YAML_PADDING( 8 ),
|
YAML_PADDING( 8 ),
|
||||||
YAML_STRING("bluetoothName", 10),
|
YAML_STRING("bluetoothName", 10),
|
||||||
YAML_STRING("ownerRegistrationID", 8),
|
YAML_STRING("ownerRegistrationID", 8),
|
||||||
|
YAML_CUSTOM("rotEncDirection",r_rotEncDirection,nullptr),
|
||||||
|
YAML_UNSIGNED( "rotEncMode", 2 ),
|
||||||
YAML_SIGNED( "uartSampleMode", 2 ),
|
YAML_SIGNED( "uartSampleMode", 2 ),
|
||||||
YAML_PADDING( 6 ),
|
YAML_PADDING( 3 ),
|
||||||
|
YAML_PADDING( 1 ),
|
||||||
YAML_END
|
YAML_END
|
||||||
};
|
};
|
||||||
static const struct YamlNode struct_unsigned_8[] = {
|
static const struct YamlNode struct_unsigned_8[] = {
|
||||||
|
|||||||
@@ -330,7 +330,7 @@ static const struct YamlNode struct_RadioData[] = {
|
|||||||
YAML_ENUM("antennaMode", 2, enum_AntennaModes),
|
YAML_ENUM("antennaMode", 2, enum_AntennaModes),
|
||||||
YAML_UNSIGNED( "disableRtcWarning", 1 ),
|
YAML_UNSIGNED( "disableRtcWarning", 1 ),
|
||||||
YAML_UNSIGNED( "keysBacklight", 1 ),
|
YAML_UNSIGNED( "keysBacklight", 1 ),
|
||||||
YAML_SIGNED( "rotEncDirection", 1 ),
|
YAML_PADDING( 1 ),
|
||||||
YAML_ENUM("internalModule", 8, enum_ModuleType),
|
YAML_ENUM("internalModule", 8, enum_ModuleType),
|
||||||
YAML_STRUCT("trainer", 128, struct_TrainerData, NULL),
|
YAML_STRUCT("trainer", 128, struct_TrainerData, NULL),
|
||||||
YAML_UNSIGNED( "view", 8 ),
|
YAML_UNSIGNED( "view", 8 ),
|
||||||
@@ -398,8 +398,11 @@ static const struct YamlNode struct_RadioData[] = {
|
|||||||
YAML_PADDING( 8 ),
|
YAML_PADDING( 8 ),
|
||||||
YAML_STRING("bluetoothName", 10),
|
YAML_STRING("bluetoothName", 10),
|
||||||
YAML_STRING("ownerRegistrationID", 8),
|
YAML_STRING("ownerRegistrationID", 8),
|
||||||
|
YAML_CUSTOM("rotEncDirection",r_rotEncDirection,nullptr),
|
||||||
|
YAML_UNSIGNED( "rotEncMode", 2 ),
|
||||||
YAML_SIGNED( "uartSampleMode", 2 ),
|
YAML_SIGNED( "uartSampleMode", 2 ),
|
||||||
YAML_PADDING( 6 ),
|
YAML_PADDING( 3 ),
|
||||||
|
YAML_PADDING( 1 ),
|
||||||
YAML_END
|
YAML_END
|
||||||
};
|
};
|
||||||
static const struct YamlNode struct_unsigned_8[] = {
|
static const struct YamlNode struct_unsigned_8[] = {
|
||||||
|
|||||||
@@ -332,7 +332,7 @@ static const struct YamlNode struct_RadioData[] = {
|
|||||||
YAML_ENUM("antennaMode", 2, enum_AntennaModes),
|
YAML_ENUM("antennaMode", 2, enum_AntennaModes),
|
||||||
YAML_UNSIGNED( "disableRtcWarning", 1 ),
|
YAML_UNSIGNED( "disableRtcWarning", 1 ),
|
||||||
YAML_UNSIGNED( "keysBacklight", 1 ),
|
YAML_UNSIGNED( "keysBacklight", 1 ),
|
||||||
YAML_SIGNED( "rotEncDirection", 1 ),
|
YAML_PADDING( 1 ),
|
||||||
YAML_ENUM("internalModule", 8, enum_ModuleType),
|
YAML_ENUM("internalModule", 8, enum_ModuleType),
|
||||||
YAML_STRUCT("trainer", 128, struct_TrainerData, NULL),
|
YAML_STRUCT("trainer", 128, struct_TrainerData, NULL),
|
||||||
YAML_UNSIGNED( "view", 8 ),
|
YAML_UNSIGNED( "view", 8 ),
|
||||||
@@ -400,8 +400,11 @@ static const struct YamlNode struct_RadioData[] = {
|
|||||||
YAML_PADDING( 8 ),
|
YAML_PADDING( 8 ),
|
||||||
YAML_STRING("bluetoothName", 10),
|
YAML_STRING("bluetoothName", 10),
|
||||||
YAML_STRING("ownerRegistrationID", 8),
|
YAML_STRING("ownerRegistrationID", 8),
|
||||||
|
YAML_CUSTOM("rotEncDirection",r_rotEncDirection,nullptr),
|
||||||
|
YAML_UNSIGNED( "rotEncMode", 2 ),
|
||||||
YAML_SIGNED( "uartSampleMode", 2 ),
|
YAML_SIGNED( "uartSampleMode", 2 ),
|
||||||
YAML_PADDING( 6 ),
|
YAML_PADDING( 3 ),
|
||||||
|
YAML_PADDING( 1 ),
|
||||||
YAML_SIGNED( "imuMax", 8 ),
|
YAML_SIGNED( "imuMax", 8 ),
|
||||||
YAML_SIGNED( "imuOffset", 8 ),
|
YAML_SIGNED( "imuOffset", 8 ),
|
||||||
YAML_END
|
YAML_END
|
||||||
|
|||||||
@@ -338,7 +338,7 @@ static const struct YamlNode struct_RadioData[] = {
|
|||||||
YAML_ENUM("antennaMode", 2, enum_AntennaModes),
|
YAML_ENUM("antennaMode", 2, enum_AntennaModes),
|
||||||
YAML_UNSIGNED( "disableRtcWarning", 1 ),
|
YAML_UNSIGNED( "disableRtcWarning", 1 ),
|
||||||
YAML_UNSIGNED( "keysBacklight", 1 ),
|
YAML_UNSIGNED( "keysBacklight", 1 ),
|
||||||
YAML_SIGNED( "rotEncDirection", 1 ),
|
YAML_PADDING( 1 ),
|
||||||
YAML_ENUM("internalModule", 8, enum_ModuleType),
|
YAML_ENUM("internalModule", 8, enum_ModuleType),
|
||||||
YAML_STRUCT("trainer", 128, struct_TrainerData, NULL),
|
YAML_STRUCT("trainer", 128, struct_TrainerData, NULL),
|
||||||
YAML_UNSIGNED( "view", 8 ),
|
YAML_UNSIGNED( "view", 8 ),
|
||||||
@@ -406,8 +406,11 @@ static const struct YamlNode struct_RadioData[] = {
|
|||||||
YAML_PADDING( 8 ),
|
YAML_PADDING( 8 ),
|
||||||
YAML_STRING("bluetoothName", 10),
|
YAML_STRING("bluetoothName", 10),
|
||||||
YAML_STRING("ownerRegistrationID", 8),
|
YAML_STRING("ownerRegistrationID", 8),
|
||||||
|
YAML_CUSTOM("rotEncDirection",r_rotEncDirection,nullptr),
|
||||||
|
YAML_UNSIGNED( "rotEncMode", 2 ),
|
||||||
YAML_SIGNED( "uartSampleMode", 2 ),
|
YAML_SIGNED( "uartSampleMode", 2 ),
|
||||||
YAML_PADDING( 6 ),
|
YAML_PADDING( 3 ),
|
||||||
|
YAML_PADDING( 1 ),
|
||||||
YAML_END
|
YAML_END
|
||||||
};
|
};
|
||||||
static const struct YamlNode struct_unsigned_8[] = {
|
static const struct YamlNode struct_unsigned_8[] = {
|
||||||
|
|||||||
@@ -82,8 +82,10 @@ void rotaryEncoderInit()
|
|||||||
#define INC_ROT 1
|
#define INC_ROT 1
|
||||||
#define INC_ROT_2 2
|
#define INC_ROT_2 2
|
||||||
#else
|
#else
|
||||||
#define INC_ROT (g_eeGeneral.rotEncDirection ? -1 : 1);
|
#define INC_ROT \
|
||||||
#define INC_ROT_2 (g_eeGeneral.rotEncDirection ? -2 : 2);
|
(g_eeGeneral.rotEncMode == ROTARY_ENCODER_MODE_INVERT_BOTH ? -1 : 1);
|
||||||
|
#define INC_ROT_2 \
|
||||||
|
(g_eeGeneral.rotEncMode == ROTARY_ENCODER_MODE_INVERT_BOTH ? -2 : 2);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void rotaryEncoderCheck()
|
void rotaryEncoderCheck()
|
||||||
|
|||||||
@@ -276,8 +276,8 @@ void OpenTxSimulator::setInputValue(int type, uint8_t index, int16_t value)
|
|||||||
void OpenTxSimulator::rotaryEncoderEvent(int steps)
|
void OpenTxSimulator::rotaryEncoderEvent(int steps)
|
||||||
{
|
{
|
||||||
#if defined(ROTARY_ENCODER_NAVIGATION)
|
#if defined(ROTARY_ENCODER_NAVIGATION)
|
||||||
(g_eeGeneral.rotEncDirection ? steps *= -1 : steps);
|
(g_eeGeneral.rotEncMode >= ROTARY_ENCODER_MODE_INVERT_BOTH ? steps *= -1
|
||||||
|
: steps);
|
||||||
ROTARY_ENCODER_NAVIGATION_VALUE += steps * ROTARY_ENCODER_GRANULARITY;
|
ROTARY_ENCODER_NAVIGATION_VALUE += steps * ROTARY_ENCODER_GRANULARITY;
|
||||||
#else
|
#else
|
||||||
// TODO : this should probably be handled in the GUI
|
// TODO : this should probably be handled in the GUI
|
||||||
|
|||||||
@@ -53,6 +53,7 @@ ISTR(VTELEMSCREENTYPE);
|
|||||||
ISTR(VKEYS);
|
ISTR(VKEYS);
|
||||||
ISTR(VSWITCHES);
|
ISTR(VSWITCHES);
|
||||||
ISTR(VSRCRAW);
|
ISTR(VSRCRAW);
|
||||||
|
ISTR(ROTARY_ENC_OPT);
|
||||||
ISTR(VTMRMODES);
|
ISTR(VTMRMODES);
|
||||||
ISTR(VPERSISTENT);
|
ISTR(VPERSISTENT);
|
||||||
ISTR(VUNITSSYSTEM);
|
ISTR(VUNITSSYSTEM);
|
||||||
@@ -477,7 +478,7 @@ const char STR_OWN[] = TR_OWN;
|
|||||||
const char STR_DATE[] = TR_DATE;
|
const char STR_DATE[] = TR_DATE;
|
||||||
const char STR_CHANNELS_MONITOR[] = TR_CHANNELS_MONITOR;
|
const char STR_CHANNELS_MONITOR[] = TR_CHANNELS_MONITOR;
|
||||||
const char STR_ROTARY_ENCODER[] = TR_ROTARY_ENCODER;
|
const char STR_ROTARY_ENCODER[] = TR_ROTARY_ENCODER;
|
||||||
const char STR_INVERT_ROTARY[] = TR_INVERT_ROTARY;
|
const char STR_ROTARY_ENC_MODE[] = TR_ROTARY_ENC_MODE;
|
||||||
const char STR_MIXERS_MONITOR[] = TR_MIXERS_MONITOR;
|
const char STR_MIXERS_MONITOR[] = TR_MIXERS_MONITOR;
|
||||||
const char STR_PATH_TOO_LONG[] = TR_PATH_TOO_LONG;
|
const char STR_PATH_TOO_LONG[] = TR_PATH_TOO_LONG;
|
||||||
const char STR_VIEW_TEXT[] = TR_VIEW_TEXT;
|
const char STR_VIEW_TEXT[] = TR_VIEW_TEXT;
|
||||||
|
|||||||
@@ -138,6 +138,8 @@ extern const char* STR_VKEYS[];
|
|||||||
extern const char* STR_VSWITCHES[];
|
extern const char* STR_VSWITCHES[];
|
||||||
extern const char* STR_VSRCRAW[];
|
extern const char* STR_VSRCRAW[];
|
||||||
|
|
||||||
|
extern const char* STR_ROTARY_ENC_OPT[];
|
||||||
|
|
||||||
#if defined(TRANSLATIONS_CZ)
|
#if defined(TRANSLATIONS_CZ)
|
||||||
extern const char* STR_INPUTNAMES[];
|
extern const char* STR_INPUTNAMES[];
|
||||||
#endif
|
#endif
|
||||||
@@ -727,7 +729,7 @@ extern const char STR_GLOBAL_VAR[];
|
|||||||
extern const char STR_OWN[];
|
extern const char STR_OWN[];
|
||||||
extern const char STR_DATE[];
|
extern const char STR_DATE[];
|
||||||
extern const char STR_ROTARY_ENCODER[];
|
extern const char STR_ROTARY_ENCODER[];
|
||||||
extern const char STR_INVERT_ROTARY[];
|
extern const char STR_ROTARY_ENC_MODE[];
|
||||||
extern const char STR_CHANNELS_MONITOR[];
|
extern const char STR_CHANNELS_MONITOR[];
|
||||||
extern const char STR_MIXERS_MONITOR[];
|
extern const char STR_MIXERS_MONITOR[];
|
||||||
extern const char STR_PATH_TOO_LONG[];
|
extern const char STR_PATH_TOO_LONG[];
|
||||||
|
|||||||
@@ -219,6 +219,12 @@
|
|||||||
|
|
||||||
#define TR_ON_ONE_SWITCHES "ON","One"
|
#define TR_ON_ONE_SWITCHES "ON","One"
|
||||||
|
|
||||||
|
#if defined(COLORLCD)
|
||||||
|
#define TR_ROTARY_ENC_OPT "Normal","Inverted"
|
||||||
|
#else
|
||||||
|
#define TR_ROTARY_ENC_OPT "Normal","Inverted","V-I H-N","V-I H-A"
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(IMU)
|
#if defined(IMU)
|
||||||
#define TR_IMU_VSRCRAW "TltX","TltY",
|
#define TR_IMU_VSRCRAW "TltX","TltY",
|
||||||
#else
|
#else
|
||||||
@@ -748,7 +754,7 @@
|
|||||||
#define TR_DATE "日期"
|
#define TR_DATE "日期"
|
||||||
#define TR_MONTHS { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" }
|
#define TR_MONTHS { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" }
|
||||||
#define TR_ROTARY_ENCODER "滚轮"
|
#define TR_ROTARY_ENCODER "滚轮"
|
||||||
#define TR_INVERT_ROTARY "滚轮反向"
|
#define TR_ROTARY_ENC_MODE TR("RotEnc Mode","Rotary Encoder Mode")
|
||||||
#define TR_CHANNELS_MONITOR "通道查看器"
|
#define TR_CHANNELS_MONITOR "通道查看器"
|
||||||
#define TR_MIXERS_MONITOR "混控查看器"
|
#define TR_MIXERS_MONITOR "混控查看器"
|
||||||
#define TR_PATH_TOO_LONG "路径太长"
|
#define TR_PATH_TOO_LONG "路径太长"
|
||||||
|
|||||||
@@ -236,6 +236,12 @@
|
|||||||
|
|
||||||
#define TR_ON_ONE_SWITCHES "ZAP","One"
|
#define TR_ON_ONE_SWITCHES "ZAP","One"
|
||||||
|
|
||||||
|
#if defined(COLORLCD)
|
||||||
|
#define TR_ROTARY_ENC_OPT "Normal","Inverted"
|
||||||
|
#else
|
||||||
|
#define TR_ROTARY_ENC_OPT "Normal","Inverted","V-I H-N","V-I H-A"
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(IMU)
|
#if defined(IMU)
|
||||||
#define TR_IMU_VSRCRAW "TltX","TltY",
|
#define TR_IMU_VSRCRAW "TltX","TltY",
|
||||||
#else
|
#else
|
||||||
@@ -763,7 +769,7 @@
|
|||||||
#define TR_DATE "Datum"
|
#define TR_DATE "Datum"
|
||||||
#define TR_MONTHS { "Led", "Úno", "Bře", "Dub", "Kvě", "Čvn", "Čvc", "Srp", "Zář", "Říj", "Lis", "Pro" }
|
#define TR_MONTHS { "Led", "Úno", "Bře", "Dub", "Kvě", "Čvn", "Čvc", "Srp", "Zář", "Říj", "Lis", "Pro" }
|
||||||
#define TR_ROTARY_ENCODER "R.Enko"
|
#define TR_ROTARY_ENCODER "R.Enko"
|
||||||
#define TR_INVERT_ROTARY "Invertovat kolečko"
|
#define TR_ROTARY_ENC_MODE TR("RotEnc Mode","Rotary Encoder Mode")
|
||||||
#define TR_CHANNELS_MONITOR "MONITOR KANÁLU"
|
#define TR_CHANNELS_MONITOR "MONITOR KANÁLU"
|
||||||
#define TR_MIXERS_MONITOR "MONITOR MIXU"
|
#define TR_MIXERS_MONITOR "MONITOR MIXU"
|
||||||
#define TR_PATH_TOO_LONG "Cesta je moc dlouhá"
|
#define TR_PATH_TOO_LONG "Cesta je moc dlouhá"
|
||||||
|
|||||||
@@ -748,7 +748,7 @@
|
|||||||
#define TR_DATE "Dato"
|
#define TR_DATE "Dato"
|
||||||
#define TR_MONTHS { "Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec" }
|
#define TR_MONTHS { "Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec" }
|
||||||
#define TR_ROTARY_ENCODER "R.E."
|
#define TR_ROTARY_ENCODER "R.E."
|
||||||
#define TR_INVERT_ROTARY "Invert Rotary"
|
#define TR_ROTARY_ENC_MODE TR("RotEnc Mode","Rotary Encoder Mode")
|
||||||
#define TR_CHANNELS_MONITOR "KANAL MONITOR"
|
#define TR_CHANNELS_MONITOR "KANAL MONITOR"
|
||||||
#define TR_MIXERS_MONITOR "MIX MONITOR"
|
#define TR_MIXERS_MONITOR "MIX MONITOR"
|
||||||
#define TR_PATH_TOO_LONG "Sti for lang"
|
#define TR_PATH_TOO_LONG "Sti for lang"
|
||||||
|
|||||||
@@ -221,6 +221,12 @@
|
|||||||
|
|
||||||
#define TR_ON_ONE_SWITCHES "ON","One"
|
#define TR_ON_ONE_SWITCHES "ON","One"
|
||||||
|
|
||||||
|
#if defined(COLORLCD)
|
||||||
|
#define TR_ROTARY_ENC_OPT "Normal","Inverted"
|
||||||
|
#else
|
||||||
|
#define TR_ROTARY_ENC_OPT "Normal","Inverted","V-I H-N","V-I H-A"
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(IMU)
|
#if defined(IMU)
|
||||||
#define TR_IMU_VSRCRAW "TltX","TltY",
|
#define TR_IMU_VSRCRAW "TltX","TltY",
|
||||||
#else
|
#else
|
||||||
@@ -746,7 +752,7 @@
|
|||||||
#define TR_DATE "Datum:"
|
#define TR_DATE "Datum:"
|
||||||
#define TR_MONTHS { "Jan", "Feb", "Mar", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez" }
|
#define TR_MONTHS { "Jan", "Feb", "Mar", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez" }
|
||||||
#define TR_ROTARY_ENCODER "Drehgeber"
|
#define TR_ROTARY_ENCODER "Drehgeber"
|
||||||
#define TR_INVERT_ROTARY "Invert Rotary"
|
#define TR_ROTARY_ENC_MODE TR("RotEnc Mode","Rotary Encoder Mode")
|
||||||
#define TR_CHANNELS_MONITOR "Kanal-Monitor==>"
|
#define TR_CHANNELS_MONITOR "Kanal-Monitor==>"
|
||||||
#define TR_MIXERS_MONITOR "==>Mischer Monitor"
|
#define TR_MIXERS_MONITOR "==>Mischer Monitor"
|
||||||
#define TR_PATH_TOO_LONG "Pfad zu Lang"
|
#define TR_PATH_TOO_LONG "Pfad zu Lang"
|
||||||
|
|||||||
@@ -219,6 +219,12 @@
|
|||||||
|
|
||||||
#define TR_ON_ONE_SWITCHES "ON","One"
|
#define TR_ON_ONE_SWITCHES "ON","One"
|
||||||
|
|
||||||
|
#if defined(COLORLCD)
|
||||||
|
#define TR_ROTARY_ENC_OPT "Normal","Inverted"
|
||||||
|
#else
|
||||||
|
#define TR_ROTARY_ENC_OPT "Normal","Inverted","V-I H-N","V-I H-A"
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(IMU)
|
#if defined(IMU)
|
||||||
#define TR_IMU_VSRCRAW "TltX","TltY",
|
#define TR_IMU_VSRCRAW "TltX","TltY",
|
||||||
#else
|
#else
|
||||||
@@ -748,7 +754,7 @@
|
|||||||
#define TR_DATE "Date"
|
#define TR_DATE "Date"
|
||||||
#define TR_MONTHS { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" }
|
#define TR_MONTHS { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" }
|
||||||
#define TR_ROTARY_ENCODER "R.E."
|
#define TR_ROTARY_ENCODER "R.E."
|
||||||
#define TR_INVERT_ROTARY "Invert Rotary"
|
#define TR_ROTARY_ENC_MODE TR("RotEnc Mode","Rotary Encoder Mode")
|
||||||
#define TR_CHANNELS_MONITOR "CHANNELS MONITOR"
|
#define TR_CHANNELS_MONITOR "CHANNELS MONITOR"
|
||||||
#define TR_MIXERS_MONITOR "MIXERS MONITOR"
|
#define TR_MIXERS_MONITOR "MIXERS MONITOR"
|
||||||
#define TR_PATH_TOO_LONG "Path too long"
|
#define TR_PATH_TOO_LONG "Path too long"
|
||||||
|
|||||||
@@ -218,6 +218,12 @@
|
|||||||
|
|
||||||
#define TR_ON_ONE_SWITCHES "ON","One"
|
#define TR_ON_ONE_SWITCHES "ON","One"
|
||||||
|
|
||||||
|
#if defined(COLORLCD)
|
||||||
|
#define TR_ROTARY_ENC_OPT "Normal","Inverted"
|
||||||
|
#else
|
||||||
|
#define TR_ROTARY_ENC_OPT "Normal","Inverted","V-I H-N","V-I H-A"
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(IMU)
|
#if defined(IMU)
|
||||||
#define TR_IMU_VSRCRAW "TltX","TltY",
|
#define TR_IMU_VSRCRAW "TltX","TltY",
|
||||||
#else
|
#else
|
||||||
@@ -747,7 +753,7 @@
|
|||||||
#define TR_DATE "Fecha"
|
#define TR_DATE "Fecha"
|
||||||
#define TR_MONTHS { "Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic" }
|
#define TR_MONTHS { "Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic" }
|
||||||
#define TR_ROTARY_ENCODER "R.E."
|
#define TR_ROTARY_ENCODER "R.E."
|
||||||
#define TR_INVERT_ROTARY "Invert Rotary"
|
#define TR_ROTARY_ENC_MODE TR("RotEnc Mode","Rotary Encoder Mode")
|
||||||
#define TR_CHANNELS_MONITOR "MONITOR CANALES"
|
#define TR_CHANNELS_MONITOR "MONITOR CANALES"
|
||||||
#define TR_MIXERS_MONITOR "MONITOR MEZCLAS"
|
#define TR_MIXERS_MONITOR "MONITOR MEZCLAS"
|
||||||
#define TR_PATH_TOO_LONG "Path muy largo"
|
#define TR_PATH_TOO_LONG "Path muy largo"
|
||||||
|
|||||||
@@ -233,8 +233,15 @@
|
|||||||
|
|
||||||
#define TR_ROTARY_ENCODERS
|
#define TR_ROTARY_ENCODERS
|
||||||
#define TR_ROTENC_SWITCHES
|
#define TR_ROTENC_SWITCHES
|
||||||
|
|
||||||
#define TR_ON_ONE_SWITCHES "ON","One"
|
#define TR_ON_ONE_SWITCHES "ON","One"
|
||||||
|
|
||||||
|
#if defined(COLORLCD)
|
||||||
|
#define TR_ROTARY_ENC_OPT "Normal","Inverted"
|
||||||
|
#else
|
||||||
|
#define TR_ROTARY_ENC_OPT "Normal","Inverted","V-I H-N","V-I H-A"
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(IMU)
|
#if defined(IMU)
|
||||||
#define TR_IMU_VSRCRAW "TltX","TltY",
|
#define TR_IMU_VSRCRAW "TltX","TltY",
|
||||||
#else
|
#else
|
||||||
@@ -748,6 +755,7 @@
|
|||||||
#define TR_DATE "Päivämäärä"
|
#define TR_DATE "Päivämäärä"
|
||||||
#define TR_MONTHS { "tam", "hel", "maa", "huh", "tou", "kes", "hei", "elo", "syy", "lok", "mar", "jou" }
|
#define TR_MONTHS { "tam", "hel", "maa", "huh", "tou", "kes", "hei", "elo", "syy", "lok", "mar", "jou" }
|
||||||
#define TR_ROTARY_ENCODER "R.E."
|
#define TR_ROTARY_ENCODER "R.E."
|
||||||
|
#define TR_ROTARY_ENC_MODE TR("RotEnc Mode","Rotary Encoder Mode")
|
||||||
#define TR_CHANNELS_MONITOR "CHANNELS MONITOR"
|
#define TR_CHANNELS_MONITOR "CHANNELS MONITOR"
|
||||||
#define TR_MIXERS_MONITOR "MIXERS MONITOR"
|
#define TR_MIXERS_MONITOR "MIXERS MONITOR"
|
||||||
#define TR_PATH_TOO_LONG "Polku liian pitkä"
|
#define TR_PATH_TOO_LONG "Polku liian pitkä"
|
||||||
|
|||||||
@@ -239,6 +239,12 @@
|
|||||||
|
|
||||||
#define TR_ON_ONE_SWITCHES "ON","Un"
|
#define TR_ON_ONE_SWITCHES "ON","Un"
|
||||||
|
|
||||||
|
#if defined(COLORLCD)
|
||||||
|
#define TR_ROTARY_ENC_OPT "Normal","Inverted"
|
||||||
|
#else
|
||||||
|
#define TR_ROTARY_ENC_OPT "Normal","Inverted","V-I H-N","V-I H-A"
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(IMU)
|
#if defined(IMU)
|
||||||
#define TR_IMU_VSRCRAW "TltX","TltY",
|
#define TR_IMU_VSRCRAW "TltX","TltY",
|
||||||
#else
|
#else
|
||||||
@@ -766,7 +772,7 @@
|
|||||||
#define TR_DATE "Date"
|
#define TR_DATE "Date"
|
||||||
#define TR_MONTHS { "Jan", "Fév", "Mar", "Avr", "Mai", "Jun", "Jul", "Aou", "Sep", "Oct", "Nov", "Dec" }
|
#define TR_MONTHS { "Jan", "Fév", "Mar", "Avr", "Mai", "Jun", "Jul", "Aou", "Sep", "Oct", "Nov", "Dec" }
|
||||||
#define TR_ROTARY_ENCODER "Enc.Rot."
|
#define TR_ROTARY_ENCODER "Enc.Rot."
|
||||||
#define TR_INVERT_ROTARY "Invert Rotary"
|
#define TR_ROTARY_ENC_MODE TR("RotEnc Mode","Rotary Encoder Mode")
|
||||||
#define TR_CHANNELS_MONITOR "MONITEUR CANAUX"
|
#define TR_CHANNELS_MONITOR "MONITEUR CANAUX"
|
||||||
#define TR_MIXERS_MONITOR "MONITEUR MIXAGES "
|
#define TR_MIXERS_MONITOR "MONITEUR MIXAGES "
|
||||||
#define TR_PATH_TOO_LONG "Chemin trop long"
|
#define TR_PATH_TOO_LONG "Chemin trop long"
|
||||||
|
|||||||
@@ -223,6 +223,12 @@
|
|||||||
|
|
||||||
#define TR_ON_ONE_SWITCHES "ON","One"
|
#define TR_ON_ONE_SWITCHES "ON","One"
|
||||||
|
|
||||||
|
#if defined(COLORLCD)
|
||||||
|
#define TR_ROTARY_ENC_OPT "Normal","Inverted"
|
||||||
|
#else
|
||||||
|
#define TR_ROTARY_ENC_OPT "Normal","Inverted","V-I H-N","V-I H-A"
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(IMU)
|
#if defined(IMU)
|
||||||
#define TR_IMU_VSRCRAW "TltX","TltY",
|
#define TR_IMU_VSRCRAW "TltX","TltY",
|
||||||
#else
|
#else
|
||||||
@@ -746,7 +752,7 @@
|
|||||||
#define TR_DATE "Data"
|
#define TR_DATE "Data"
|
||||||
#define TR_MONTHS { "Gen", "Feb", "Mar", "Apr", "Mag", "Giu", "Lug", "Ago", "Set", "Ott", "Nov", "Dic" }
|
#define TR_MONTHS { "Gen", "Feb", "Mar", "Apr", "Mag", "Giu", "Lug", "Ago", "Set", "Ott", "Nov", "Dic" }
|
||||||
#define TR_ROTARY_ENCODER "R.E."
|
#define TR_ROTARY_ENCODER "R.E."
|
||||||
#define TR_INVERT_ROTARY "Inverti Rotary"
|
#define TR_ROTARY_ENC_MODE TR("RotEnc Mode","Rotary Encoder Mode")
|
||||||
#define TR_CHANNELS_MONITOR "MONITOR CANALI"
|
#define TR_CHANNELS_MONITOR "MONITOR CANALI"
|
||||||
#define TR_MIXERS_MONITOR "MONITOR MIXER"
|
#define TR_MIXERS_MONITOR "MONITOR MIXER"
|
||||||
#define TR_PATH_TOO_LONG "Path troppo lungo"
|
#define TR_PATH_TOO_LONG "Path troppo lungo"
|
||||||
|
|||||||
@@ -222,6 +222,12 @@
|
|||||||
|
|
||||||
#define TR_ON_ONE_SWITCHES "ON","One"
|
#define TR_ON_ONE_SWITCHES "ON","One"
|
||||||
|
|
||||||
|
#if defined(COLORLCD)
|
||||||
|
#define TR_ROTARY_ENC_OPT "Normal","Inverted"
|
||||||
|
#else
|
||||||
|
#define TR_ROTARY_ENC_OPT "Normal","Inverted","V-I H-N","V-I H-A"
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(IMU)
|
#if defined(IMU)
|
||||||
#define TR_IMU_VSRCRAW "TltX","TltY",
|
#define TR_IMU_VSRCRAW "TltX","TltY",
|
||||||
#else
|
#else
|
||||||
@@ -754,7 +760,7 @@
|
|||||||
#define TR_DATE "Datum:"
|
#define TR_DATE "Datum:"
|
||||||
#define TR_MONTHS { "Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec" }
|
#define TR_MONTHS { "Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec" }
|
||||||
#define TR_ROTARY_ENCODER "Draaischakelaar"
|
#define TR_ROTARY_ENCODER "Draaischakelaar"
|
||||||
#define TR_INVERT_ROTARY "Invert Rotary"
|
#define TR_ROTARY_ENC_MODE TR("RotEnc Mode","Rotary Encoder Mode")
|
||||||
#define TR_CHANNELS_MONITOR "Kanaal-Monitor==>"
|
#define TR_CHANNELS_MONITOR "Kanaal-Monitor==>"
|
||||||
#define TR_MIXERS_MONITOR "==>MIXERS MONitor"
|
#define TR_MIXERS_MONITOR "==>MIXERS MONitor"
|
||||||
#define TR_PATH_TOO_LONG "Pad te Lang"
|
#define TR_PATH_TOO_LONG "Pad te Lang"
|
||||||
|
|||||||
@@ -216,7 +216,13 @@
|
|||||||
#define TR_ROTARY_ENCODERS
|
#define TR_ROTARY_ENCODERS
|
||||||
#define TR_ROTENC_SWITCHES
|
#define TR_ROTENC_SWITCHES
|
||||||
|
|
||||||
#define TR_ON_ONE_SWITCHES "ON","One"
|
#define TR_ON_ONE_SWITCHES "ON","One"
|
||||||
|
|
||||||
|
#if defined(COLORLCD)
|
||||||
|
#define TR_ROTARY_ENC_OPT "Normal","Inverted"
|
||||||
|
#else
|
||||||
|
#define TR_ROTARY_ENC_OPT "Normal","Inverted","V-I H-N","V-I H-A"
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(IMU)
|
#if defined(IMU)
|
||||||
#define TR_IMU_VSRCRAW "TltX","TltY",
|
#define TR_IMU_VSRCRAW "TltX","TltY",
|
||||||
@@ -742,7 +748,7 @@
|
|||||||
#define TR_DATE "Data"
|
#define TR_DATE "Data"
|
||||||
#define TR_MONTHS { "Jan", "Fev", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" }
|
#define TR_MONTHS { "Jan", "Fev", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" }
|
||||||
#define TR_ROTARY_ENCODER "R.E."
|
#define TR_ROTARY_ENCODER "R.E."
|
||||||
#define TR_INVERT_ROTARY "Invert Rotary"
|
#define TR_ROTARY_ENC_MODE TR("RotEnc Mode","Rotary Encoder Mode")
|
||||||
#define TR_CHANNELS_MONITOR "MONITOR KANAŁÓW"
|
#define TR_CHANNELS_MONITOR "MONITOR KANAŁÓW"
|
||||||
#define TR_MIXERS_MONITOR "MONITOR MIKSER"
|
#define TR_MIXERS_MONITOR "MONITOR MIKSER"
|
||||||
#define TR_PATH_TOO_LONG "Ścieżka za długa"
|
#define TR_PATH_TOO_LONG "Ścieżka za długa"
|
||||||
|
|||||||
@@ -215,6 +215,12 @@
|
|||||||
|
|
||||||
#define TR_ON_ONE_SWITCHES "ON","One"
|
#define TR_ON_ONE_SWITCHES "ON","One"
|
||||||
|
|
||||||
|
#if defined(COLORLCD)
|
||||||
|
#define TR_ROTARY_ENC_OPT "Normal","Inverted"
|
||||||
|
#else
|
||||||
|
#define TR_ROTARY_ENC_OPT "Normal","Inverted","V-I H-N","V-I H-A"
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(IMU)
|
#if defined(IMU)
|
||||||
#define TR_IMU_VSRCRAW "TltX","TltY",
|
#define TR_IMU_VSRCRAW "TltX","TltY",
|
||||||
#else
|
#else
|
||||||
@@ -747,7 +753,7 @@
|
|||||||
#define TR_DATE "Data"
|
#define TR_DATE "Data"
|
||||||
#define TR_MONTHS { "Jan", "Fev", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" }
|
#define TR_MONTHS { "Jan", "Fev", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" }
|
||||||
#define TR_ROTARY_ENCODER "R.E."
|
#define TR_ROTARY_ENCODER "R.E."
|
||||||
#define TR_INVERT_ROTARY "Invert Rotary"
|
#define TR_ROTARY_ENC_MODE TR("RotEnc Mode","Rotary Encoder Mode")
|
||||||
#define TR_CHANNELS_MONITOR "CHANNELS MONITOR"
|
#define TR_CHANNELS_MONITOR "CHANNELS MONITOR"
|
||||||
#define TR_MIXERS_MONITOR "MIXERS MONITOR"
|
#define TR_MIXERS_MONITOR "MIXERS MONITOR"
|
||||||
#define TR_PATH_TOO_LONG "Path too long"
|
#define TR_PATH_TOO_LONG "Path too long"
|
||||||
|
|||||||
@@ -70,7 +70,7 @@
|
|||||||
#else
|
#else
|
||||||
#define TR_RETA123 "R","H","G","S","1","2","3"
|
#define TR_RETA123 "R","H","G","S","1","2","3"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define TR_VCURVEFUNC "---","x>0","x<0","|x|","f>0","f<0","|f|"
|
#define TR_VCURVEFUNC "---","x>0","x<0","|x|","f>0","f<0","|f|"
|
||||||
#define TR_VMLTPX "Addera","Förstärk","Ersätt"
|
#define TR_VMLTPX "Addera","Förstärk","Ersätt"
|
||||||
#define TR_VMLTPX2 "+=","*=",":="
|
#define TR_VMLTPX2 "+=","*=",":="
|
||||||
@@ -234,11 +234,16 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define TR_ROTARY_ENCODERS
|
#define TR_ROTARY_ENCODERS
|
||||||
#define TR_INVERT_ROTARY "Invertera rullhjul"
|
|
||||||
#define TR_ROTENC_SWITCHES
|
#define TR_ROTENC_SWITCHES
|
||||||
|
|
||||||
#define TR_ON_ONE_SWITCHES "PÅ","Ett"
|
#define TR_ON_ONE_SWITCHES "PÅ","Ett"
|
||||||
|
|
||||||
|
#if defined(COLORLCD)
|
||||||
|
#define TR_ROTARY_ENC_OPT "Normal","Inverted"
|
||||||
|
#else
|
||||||
|
#define TR_ROTARY_ENC_OPT "Normal","Inverted","V-I H-N","V-I H-A"
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(IMU)
|
#if defined(IMU)
|
||||||
#define TR_IMU_VSRCRAW "TltX","TltY",
|
#define TR_IMU_VSRCRAW "TltX","TltY",
|
||||||
#else
|
#else
|
||||||
@@ -776,6 +781,7 @@
|
|||||||
#define TR_DATE "Datum"
|
#define TR_DATE "Datum"
|
||||||
#define TR_MONTHS { "Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec" }
|
#define TR_MONTHS { "Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec" }
|
||||||
#define TR_ROTARY_ENCODER "R.H."
|
#define TR_ROTARY_ENCODER "R.H."
|
||||||
|
#define TR_ROTARY_ENC_MODE TR("RotEnc Mode","Rotary Encoder Mode")
|
||||||
#define TR_CHANNELS_MONITOR "Kanalöversikt"
|
#define TR_CHANNELS_MONITOR "Kanalöversikt"
|
||||||
#define TR_MIXERS_MONITOR "MIXERSKÄRM"
|
#define TR_MIXERS_MONITOR "MIXERSKÄRM"
|
||||||
#define TR_PATH_TOO_LONG "För lång sökväg"
|
#define TR_PATH_TOO_LONG "För lång sökväg"
|
||||||
|
|||||||
@@ -219,6 +219,12 @@
|
|||||||
|
|
||||||
#define TR_ON_ONE_SWITCHES "ON","One"
|
#define TR_ON_ONE_SWITCHES "ON","One"
|
||||||
|
|
||||||
|
#if defined(COLORLCD)
|
||||||
|
#define TR_ROTARY_ENC_OPT "Normal","Inverted"
|
||||||
|
#else
|
||||||
|
#define TR_ROTARY_ENC_OPT "Normal","Inverted","V-I H-N","V-I H-A"
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(IMU)
|
#if defined(IMU)
|
||||||
#define TR_IMU_VSRCRAW "TltX","TltY",
|
#define TR_IMU_VSRCRAW "TltX","TltY",
|
||||||
#else
|
#else
|
||||||
@@ -748,7 +754,7 @@
|
|||||||
#define TR_DATE "日期"
|
#define TR_DATE "日期"
|
||||||
#define TR_MONTHS { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec " }
|
#define TR_MONTHS { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec " }
|
||||||
#define TR_ROTARY_ENCODER "滾輪"
|
#define TR_ROTARY_ENCODER "滾輪"
|
||||||
#define TR_INVERT_ROTARY "滾輪反向"
|
#define TR_ROTARY_ENC_MODE TR("RotEnc Mode","Rotary Encoder Mode")
|
||||||
#define TR_CHANNELS_MONITOR "通道查看器"
|
#define TR_CHANNELS_MONITOR "通道查看器"
|
||||||
#define TR_MIXERS_MONITOR "混控查看器"
|
#define TR_MIXERS_MONITOR "混控查看器"
|
||||||
#define TR_PATH_TOO_LONG "路徑太長"
|
#define TR_PATH_TOO_LONG "路徑太長"
|
||||||
|
|||||||
Reference in New Issue
Block a user