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
|
||||||
@@ -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
|
||||||
@@ -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()
|
||||||
|
|
||||||
@@ -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 },
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -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