feat: option to automatically power off radio after inactivity (#3414)
This commit is contained in:
@@ -280,6 +280,7 @@ Node convert<GeneralSettings>::encode(const GeneralSettings& rhs)
|
||||
node["antennaMode"] = antennaModeLut << rhs.antennaMode;
|
||||
node["pwrOnSpeed"] = rhs.pwrOnSpeed;
|
||||
node["pwrOffSpeed"] = rhs.pwrOffSpeed;
|
||||
node["pwrOffIfInactive"] = rhs.pwrOffIfInactive; // Power off after inactivity
|
||||
node["disablePwrOnOffHaptic"] = (int)rhs.disablePwrOnOffHaptic;
|
||||
|
||||
for (int i = 0; i < CPN_MAX_SPECIAL_FUNCTIONS; i++) {
|
||||
@@ -559,6 +560,7 @@ bool convert<GeneralSettings>::decode(const Node& node, GeneralSettings& rhs)
|
||||
node["backlightColor"] >> rhs.backlightColor;
|
||||
node["pwrOnSpeed"] >> rhs.pwrOnSpeed;
|
||||
node["pwrOffSpeed"] >> rhs.pwrOffSpeed;
|
||||
node["pwrOffIfInactive"] >> rhs.pwrOffIfInactive; // Power off after inactivity
|
||||
node["disablePwrOnOffHaptic"] >> rhs.disablePwrOnOffHaptic;
|
||||
|
||||
if (node["customFn"]) {
|
||||
|
||||
@@ -314,6 +314,7 @@ class GeneralSettings {
|
||||
bool modelSFDisabled;
|
||||
bool modelCustomScriptsDisabled;
|
||||
bool modelTelemetryDisabled;
|
||||
unsigned int pwrOffIfInactive;
|
||||
|
||||
int modelSelectLayout;
|
||||
int labelSingleSelect;
|
||||
|
||||
@@ -284,6 +284,8 @@ ui(new Ui::GeneralSetup)
|
||||
ui->pwrOnDelay->hide();
|
||||
ui->pwrOffDelayLabel->hide();
|
||||
ui->pwrOffDelay->hide();
|
||||
ui->pwrOffIfInactiveLabel->hide();
|
||||
ui->pwrOffIfInactiveSB->hide();
|
||||
}
|
||||
else if (!IS_TARANIS(board)) {
|
||||
ui->pwrOnDelayLabel->hide();
|
||||
@@ -524,6 +526,7 @@ void GeneralSetupPanel::setValues()
|
||||
|
||||
ui->pwrOnDelay->setCurrentIndex(pwrDelayFromYaml(generalSettings.pwrOnSpeed));
|
||||
ui->pwrOffDelay->setCurrentIndex(pwrDelayFromYaml(generalSettings.pwrOffSpeed));
|
||||
ui->pwrOffIfInactiveSB->setValue(generalSettings.pwrOffIfInactive);
|
||||
|
||||
ui->registrationId->setText(generalSettings.registrationId);
|
||||
|
||||
@@ -831,6 +834,12 @@ void GeneralSetupPanel::on_inactimerSB_editingFinished()
|
||||
emit modified();
|
||||
}
|
||||
|
||||
void GeneralSetupPanel::on_pwrOffIfInactiveSB_editingFinished()
|
||||
{
|
||||
generalSettings.pwrOffIfInactive = ui->pwrOffIfInactiveSB->value();
|
||||
emit modified();
|
||||
}
|
||||
|
||||
void GeneralSetupPanel::on_memwarnChkB_stateChanged(int)
|
||||
{
|
||||
generalSettings.disableMemoryWarning = ui->memwarnChkB->isChecked() ? 0 : 1;
|
||||
|
||||
@@ -104,6 +104,8 @@ class GeneralSetupPanel : public GeneralPanel
|
||||
void on_favMultiMode_CB_currentIndexChanged(int);
|
||||
void on_invertLCD_CB_stateChanged(int);
|
||||
|
||||
void on_pwrOffIfInactiveSB_editingFinished();
|
||||
|
||||
private:
|
||||
Ui::GeneralSetup *ui;
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -83,11 +83,11 @@ static inline void check_struct()
|
||||
#endif
|
||||
|
||||
#if defined(PCBXLITES)
|
||||
CHKSIZE(RadioData, 871);
|
||||
CHKSIZE(RadioData, 872);
|
||||
#elif defined(COLORLCD)
|
||||
CHKSIZE(RadioData, 965);
|
||||
CHKSIZE(RadioData, 966);
|
||||
#else
|
||||
CHKSIZE(RadioData, 869);
|
||||
CHKSIZE(RadioData, 870);
|
||||
#endif
|
||||
|
||||
#if defined(RADIO_TPRO) || defined(RADIO_TPROV2)
|
||||
|
||||
@@ -987,9 +987,7 @@ PACK(struct RadioData {
|
||||
NOBACKUP(uint8_t modelSFDisabled:1);
|
||||
NOBACKUP(uint8_t modelCustomScriptsDisabled:1);
|
||||
NOBACKUP(uint8_t modelTelemetryDisabled:1);
|
||||
|
||||
NOBACKUP(uint8_t disableTrainerPoweroffAlarm:1);
|
||||
|
||||
NOBACKUP(uint8_t disablePwrOnOffHaptic:1);
|
||||
|
||||
#if defined(COLORLCD)
|
||||
@@ -1001,6 +999,8 @@ PACK(struct RadioData {
|
||||
NOBACKUP(uint8_t spare:4 SKIP);
|
||||
#endif
|
||||
|
||||
NOBACKUP(uint8_t pwrOffIfInactive);
|
||||
|
||||
NOBACKUP(uint8_t getBrightness() const
|
||||
{
|
||||
#if defined(OLED_SCREEN)
|
||||
|
||||
+25
-2
@@ -40,6 +40,7 @@
|
||||
#include "switches.h"
|
||||
#include "inactivity_timer.h"
|
||||
#include "input_mapping.h"
|
||||
#include "trainer.h"
|
||||
|
||||
#include "tasks.h"
|
||||
#include "tasks/mixer_task.h"
|
||||
@@ -1648,6 +1649,25 @@ uint32_t pwrPressedDuration()
|
||||
inline tmr10ms_t getTicks() { return g_tmr10ms; }
|
||||
#endif
|
||||
|
||||
bool pwrOffDueToInactivity()
|
||||
{
|
||||
uint8_t inactivityLimit = g_eeGeneral.pwrOffIfInactive;
|
||||
static tmr10ms_t lastConnectedTime = 0;
|
||||
|
||||
tmr10ms_t currentTime = get_tmr10ms();
|
||||
|
||||
if (TELEMETRY_STREAMING() ||
|
||||
(usbPlugged() && getSelectedUsbMode() != USB_UNSELECTED_MODE) ||
|
||||
isTrainerValid())
|
||||
lastConnectedTime = currentTime;
|
||||
|
||||
bool inactivityShutdown =
|
||||
inactivityLimit && inactivity.counter > 60u * inactivityLimit &&
|
||||
(currentTime - lastConnectedTime) / 100u > 60u * inactivityLimit;
|
||||
|
||||
return inactivityShutdown;
|
||||
}
|
||||
|
||||
uint32_t pwrCheck()
|
||||
{
|
||||
const char * message = nullptr;
|
||||
@@ -1660,11 +1680,14 @@ uint32_t pwrCheck()
|
||||
|
||||
static uint8_t pwr_check_state = PWR_CHECK_ON;
|
||||
|
||||
bool inactivityShutdown = pwrOffDueToInactivity();
|
||||
|
||||
if (pwr_check_state == PWR_CHECK_OFF) {
|
||||
return e_power_off;
|
||||
}
|
||||
else if (pwrPressed()) {
|
||||
inactivityTimerReset(ActivitySource::Keys);
|
||||
else if (pwrPressed() || inactivityShutdown) {
|
||||
if (!inactivityShutdown)
|
||||
inactivityTimerReset(ActivitySource::Keys);
|
||||
|
||||
if (TELEMETRY_STREAMING()) {
|
||||
message = STR_MODEL_STILL_POWERED;
|
||||
|
||||
@@ -93,6 +93,7 @@ enum {
|
||||
ITEM_RADIO_SETUP_START_SOUND,
|
||||
CASE_PWR_BUTTON_PRESS(ITEM_RADIO_SETUP_PWR_ON_SPEED)
|
||||
CASE_PWR_BUTTON_PRESS(ITEM_RADIO_SETUP_PWR_OFF_SPEED)
|
||||
CASE_PWR_BUTTON_PRESS(ITEM_RADIO_SETUP_PWR_AUTO_OFF)
|
||||
CASE_HAPTIC(ITEM_RADIO_SETUP_PWR_ON_OFF_HAPTIC)
|
||||
CASE_PXX2(ITEM_RADIO_SETUP_OWNER_ID)
|
||||
CASE_GPS(ITEM_RADIO_SETUP_LABEL_GPS)
|
||||
@@ -191,6 +192,7 @@ void menuRadioSetup(event_t event)
|
||||
0,
|
||||
CASE_PWR_BUTTON_PRESS(0)
|
||||
CASE_PWR_BUTTON_PRESS(0)
|
||||
CASE_PWR_BUTTON_PRESS(0)
|
||||
CASE_HAPTIC(0) // power on/off haptic
|
||||
CASE_PXX2(0) /* owner registration ID */
|
||||
|
||||
@@ -590,6 +592,13 @@ void menuRadioSetup(event_t event)
|
||||
case ITEM_RADIO_SETUP_PWR_OFF_SPEED:
|
||||
g_eeGeneral.pwrOffSpeed = pwrDelayToYaml(editChoice(LCD_W-2, y, STR_PWR_OFF_DELAY, STR_PWR_OFF_DELAYS, pwrDelayFromYaml(g_eeGeneral.pwrOffSpeed), 0, 4, attr|RIGHT, event));
|
||||
break;
|
||||
|
||||
case ITEM_RADIO_SETUP_PWR_AUTO_OFF:
|
||||
lcdDrawTextAlignedLeft(y, STR_PWR_AUTO_OFF);
|
||||
lcdDrawNumber(LCD_W-7, y, g_eeGeneral.pwrOffIfInactive, attr|RIGHT);
|
||||
lcdDrawChar(lcdLastRightPos, y, 'm');
|
||||
if (attr) CHECK_INCDEC_GENVAR(event, g_eeGeneral.pwrOffIfInactive, 0, 255);
|
||||
break;
|
||||
#endif
|
||||
|
||||
#if defined(HAPTIC)
|
||||
|
||||
@@ -82,6 +82,7 @@ enum MenuRadioSetupItems {
|
||||
ITEM_RADIO_SETUP_START_SOUND,
|
||||
CASE_PWR_BUTTON_PRESS(ITEM_RADIO_SETUP_PWR_ON_SPEED)
|
||||
CASE_PWR_BUTTON_PRESS(ITEM_RADIO_SETUP_PWR_OFF_SPEED)
|
||||
CASE_PWR_BUTTON_PRESS(ITEM_RADIO_SETUP_PWR_AUTO_OFF)
|
||||
CASE_HAPTIC(ITEM_RADIO_SETUP_PWR_ON_OFF_HAPTIC)
|
||||
#if defined(PXX2)
|
||||
ITEM_RADIO_SETUP_OWNER_ID,
|
||||
@@ -195,6 +196,7 @@ void menuRadioSetup(event_t event)
|
||||
0,
|
||||
CASE_PWR_BUTTON_PRESS(0) // pwr on speed
|
||||
CASE_PWR_BUTTON_PRESS(0) // pwr off speed
|
||||
CASE_PWR_BUTTON_PRESS(0) // pwr auto off
|
||||
CASE_HAPTIC(0) // power on/off haptic
|
||||
CASE_PXX2(0) // owner registration ID
|
||||
CASE_GPS(LABEL(GPS))
|
||||
@@ -549,11 +551,18 @@ void menuRadioSetup(event_t event)
|
||||
|
||||
#if defined(PWR_BUTTON_PRESS)
|
||||
case ITEM_RADIO_SETUP_PWR_ON_SPEED:
|
||||
g_eeGeneral.pwrOnSpeed = pwrDelayToYaml(editChoice(LCD_W-2, y, STR_PWR_ON_DELAY, STR_PWR_OFF_DELAYS, pwrDelayFromYaml(g_eeGeneral.pwrOnSpeed), 0, 4, attr|RIGHT, event));
|
||||
g_eeGeneral.pwrOnSpeed = pwrDelayToYaml(editChoice(RADIO_SETUP_2ND_COLUMN, y, STR_PWR_ON_DELAY, STR_PWR_OFF_DELAYS, pwrDelayFromYaml(g_eeGeneral.pwrOnSpeed), 0, 4, attr|LEFT, event));
|
||||
break;
|
||||
|
||||
case ITEM_RADIO_SETUP_PWR_OFF_SPEED:
|
||||
g_eeGeneral.pwrOffSpeed = pwrDelayToYaml(editChoice(LCD_W-2, y, STR_PWR_OFF_DELAY, STR_PWR_OFF_DELAYS, pwrDelayFromYaml(g_eeGeneral.pwrOffSpeed), 0, 4, attr|RIGHT, event));
|
||||
g_eeGeneral.pwrOffSpeed = pwrDelayToYaml(editChoice(RADIO_SETUP_2ND_COLUMN, y, STR_PWR_OFF_DELAY, STR_PWR_OFF_DELAYS, pwrDelayFromYaml(g_eeGeneral.pwrOffSpeed), 0, 4, attr|LEFT, event));
|
||||
break;
|
||||
|
||||
case ITEM_RADIO_SETUP_PWR_AUTO_OFF:
|
||||
lcdDrawTextAlignedLeft(y, STR_PWR_AUTO_OFF);
|
||||
lcdDrawNumber(RADIO_SETUP_2ND_COLUMN, y, g_eeGeneral.pwrOffIfInactive, attr|LEFT);
|
||||
lcdDrawChar(lcdLastRightPos, y, 'm');
|
||||
if (attr) CHECK_INCDEC_GENVAR(event, g_eeGeneral.pwrOffIfInactive, 0, 255);
|
||||
break;
|
||||
#endif
|
||||
|
||||
|
||||
@@ -770,6 +770,16 @@ static SetupLineDef setupLines[] = {
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
// Pwr Off If Inactive
|
||||
{
|
||||
STR_PWR_AUTO_OFF,
|
||||
[](Window* parent, coord_t x, coord_t y) {
|
||||
auto edit = new NumberEdit(parent,{x, y, RadioSetupPage::NUM_W, EdgeTxStyles::UI_ELEMENT_HEIGHT}, 0,
|
||||
255, GET_SET_DEFAULT(g_eeGeneral.pwrOffIfInactive));
|
||||
edit->setSuffix(" min");
|
||||
}
|
||||
},
|
||||
#endif
|
||||
#if defined(HAPTIC)
|
||||
{
|
||||
|
||||
@@ -362,6 +362,7 @@ static const struct YamlNode struct_RadioData[] = {
|
||||
YAML_UNSIGNED( "disablePwrOnOffHaptic", 1 ),
|
||||
YAML_UNSIGNED( "invertLCD", 1 ),
|
||||
YAML_PADDING( 3 ),
|
||||
YAML_UNSIGNED( "pwrOffIfInactive", 8 ),
|
||||
YAML_END
|
||||
};
|
||||
static const struct YamlNode struct_unsigned_8[] = {
|
||||
|
||||
@@ -386,6 +386,7 @@ static const struct YamlNode struct_RadioData[] = {
|
||||
YAML_UNSIGNED( "disableTrainerPoweroffAlarm", 1 ),
|
||||
YAML_UNSIGNED( "disablePwrOnOffHaptic", 1 ),
|
||||
YAML_PADDING( 6 ),
|
||||
YAML_UNSIGNED( "pwrOffIfInactive", 8 ),
|
||||
YAML_END
|
||||
};
|
||||
static const struct YamlNode struct_unsigned_8[] = {
|
||||
|
||||
@@ -386,6 +386,7 @@ static const struct YamlNode struct_RadioData[] = {
|
||||
YAML_UNSIGNED( "disableTrainerPoweroffAlarm", 1 ),
|
||||
YAML_UNSIGNED( "disablePwrOnOffHaptic", 1 ),
|
||||
YAML_PADDING( 6 ),
|
||||
YAML_UNSIGNED( "pwrOffIfInactive", 8 ),
|
||||
YAML_END
|
||||
};
|
||||
static const struct YamlNode struct_unsigned_8[] = {
|
||||
|
||||
@@ -388,6 +388,7 @@ static const struct YamlNode struct_RadioData[] = {
|
||||
YAML_UNSIGNED( "disableTrainerPoweroffAlarm", 1 ),
|
||||
YAML_UNSIGNED( "disablePwrOnOffHaptic", 1 ),
|
||||
YAML_PADDING( 6 ),
|
||||
YAML_UNSIGNED( "pwrOffIfInactive", 8 ),
|
||||
YAML_END
|
||||
};
|
||||
static const struct YamlNode struct_unsigned_8[] = {
|
||||
|
||||
@@ -362,6 +362,7 @@ static const struct YamlNode struct_RadioData[] = {
|
||||
YAML_UNSIGNED( "disablePwrOnOffHaptic", 1 ),
|
||||
YAML_UNSIGNED( "invertLCD", 1 ),
|
||||
YAML_PADDING( 3 ),
|
||||
YAML_UNSIGNED( "pwrOffIfInactive", 8 ),
|
||||
YAML_END
|
||||
};
|
||||
static const struct YamlNode struct_unsigned_8[] = {
|
||||
|
||||
@@ -362,6 +362,7 @@ static const struct YamlNode struct_RadioData[] = {
|
||||
YAML_UNSIGNED( "disablePwrOnOffHaptic", 1 ),
|
||||
YAML_UNSIGNED( "invertLCD", 1 ),
|
||||
YAML_PADDING( 3 ),
|
||||
YAML_UNSIGNED( "pwrOffIfInactive", 8 ),
|
||||
YAML_END
|
||||
};
|
||||
static const struct YamlNode struct_unsigned_8[] = {
|
||||
|
||||
@@ -388,6 +388,7 @@ static const struct YamlNode struct_RadioData[] = {
|
||||
YAML_UNSIGNED( "disableTrainerPoweroffAlarm", 1 ),
|
||||
YAML_UNSIGNED( "disablePwrOnOffHaptic", 1 ),
|
||||
YAML_PADDING( 6 ),
|
||||
YAML_UNSIGNED( "pwrOffIfInactive", 8 ),
|
||||
YAML_END
|
||||
};
|
||||
static const struct YamlNode struct_unsigned_8[] = {
|
||||
|
||||
@@ -360,6 +360,7 @@ static const struct YamlNode struct_RadioData[] = {
|
||||
YAML_UNSIGNED( "disableTrainerPoweroffAlarm", 1 ),
|
||||
YAML_UNSIGNED( "disablePwrOnOffHaptic", 1 ),
|
||||
YAML_PADDING( 4 ),
|
||||
YAML_UNSIGNED( "pwrOffIfInactive", 8 ),
|
||||
YAML_END
|
||||
};
|
||||
static const struct YamlNode struct_unsigned_8[] = {
|
||||
|
||||
@@ -361,6 +361,7 @@ static const struct YamlNode struct_RadioData[] = {
|
||||
YAML_UNSIGNED( "disableTrainerPoweroffAlarm", 1 ),
|
||||
YAML_UNSIGNED( "disablePwrOnOffHaptic", 1 ),
|
||||
YAML_PADDING( 4 ),
|
||||
YAML_UNSIGNED( "pwrOffIfInactive", 8 ),
|
||||
YAML_END
|
||||
};
|
||||
static const struct YamlNode struct_unsigned_8[] = {
|
||||
|
||||
@@ -361,6 +361,7 @@ static const struct YamlNode struct_RadioData[] = {
|
||||
YAML_UNSIGNED( "disableTrainerPoweroffAlarm", 1 ),
|
||||
YAML_UNSIGNED( "disablePwrOnOffHaptic", 1 ),
|
||||
YAML_PADDING( 4 ),
|
||||
YAML_UNSIGNED( "pwrOffIfInactive", 8 ),
|
||||
YAML_END
|
||||
};
|
||||
static const struct YamlNode struct_unsigned_8[] = {
|
||||
|
||||
@@ -361,6 +361,7 @@ static const struct YamlNode struct_RadioData[] = {
|
||||
YAML_UNSIGNED( "disablePwrOnOffHaptic", 1 ),
|
||||
YAML_UNSIGNED( "invertLCD", 1 ),
|
||||
YAML_PADDING( 3 ),
|
||||
YAML_UNSIGNED( "pwrOffIfInactive", 8 ),
|
||||
YAML_END
|
||||
};
|
||||
static const struct YamlNode struct_unsigned_8[] = {
|
||||
|
||||
@@ -365,6 +365,7 @@ static const struct YamlNode struct_RadioData[] = {
|
||||
YAML_UNSIGNED( "disablePwrOnOffHaptic", 1 ),
|
||||
YAML_UNSIGNED( "invertLCD", 1 ),
|
||||
YAML_PADDING( 3 ),
|
||||
YAML_UNSIGNED( "pwrOffIfInactive", 8 ),
|
||||
YAML_END
|
||||
};
|
||||
static const struct YamlNode struct_unsigned_8[] = {
|
||||
|
||||
@@ -342,6 +342,7 @@ const char STR_SPLASHSCREEN[] = TR_SPLASHSCREEN;
|
||||
const char STR_PLAY_HELLO[] = TR_PLAY_HELLO;
|
||||
const char STR_PWR_ON_DELAY[] = TR_PWR_ON_DELAY;
|
||||
const char STR_PWR_OFF_DELAY[] = TR_PWR_OFF_DELAY;
|
||||
const char STR_PWR_AUTO_OFF[] = TR_PWR_AUTO_OFF;
|
||||
const char STR_THROTTLE_UPPERCASE[] = TR_THROTTLE_UPPERCASE;
|
||||
const char STR_SWITCHWARNING[] = TR_SWITCHWARNING;
|
||||
const char STR_POTWARNINGSTATE[] = TR_POTWARNINGSTATE;
|
||||
|
||||
@@ -417,6 +417,7 @@ extern const char* const STR_SPLASHSCREEN_DELAYS[];
|
||||
#if defined(PWR_BUTTON_PRESS)
|
||||
extern const char STR_PWR_ON_DELAY[];
|
||||
extern const char STR_PWR_OFF_DELAY[];
|
||||
extern const char STR_PWR_AUTO_OFF[];
|
||||
extern const char* const STR_PWR_OFF_DELAYS[];
|
||||
#endif
|
||||
#if defined(HAPTIC)
|
||||
|
||||
@@ -391,6 +391,7 @@
|
||||
#define TR_PLAY_HELLO "开机语音"
|
||||
#define TR_PWR_ON_DELAY "开机延迟"
|
||||
#define TR_PWR_OFF_DELAY "关机延迟"
|
||||
#define TR_PWR_AUTO_OFF TR("Pwr Auto Off","Power Auto Off")
|
||||
#define TR_PWR_ON_OFF_HAPTIC TR("开关机震动","开关机震动提示")
|
||||
#define TR_THROTTLE_WARNING TR("油门状态", "油门状态")
|
||||
#define TR_CUSTOM_THROTTLE_WARNING TR("自定位置", "自定油门位置?")
|
||||
|
||||
@@ -407,6 +407,7 @@
|
||||
#define TR_PLAY_HELLO "Zvuk při spuštění"
|
||||
#define TR_PWR_ON_DELAY "Zpoždění zapnutí"
|
||||
#define TR_PWR_OFF_DELAY "Zpoždění vypnutí"
|
||||
#define TR_PWR_AUTO_OFF TR("Pwr Auto Off","Power Auto Off")
|
||||
#define TR_PWR_ON_OFF_HAPTIC TR("Zap ON/OFF vibrace","Zapnutí ON/OFF vibrace")
|
||||
#define TR_THROTTLE_WARNING TR("* Plyn", "Kontrola plynu")
|
||||
#define TR_CUSTOM_THROTTLE_WARNING TR("Vlas-Poz", "Vlastní pozice?")
|
||||
|
||||
@@ -400,6 +400,7 @@
|
||||
#define TR_PLAY_HELLO "Startop lyd"
|
||||
#define TR_PWR_ON_DELAY "Forsinkelse ved tænd"
|
||||
#define TR_PWR_OFF_DELAY "Forsinkelse ved sluk"
|
||||
#define TR_PWR_AUTO_OFF TR("Pwr Auto Off","Power Auto Off")
|
||||
#define TR_PWR_ON_OFF_HAPTIC TR("Vib. strøm til/fra","Vibrator strøm til/fra")
|
||||
#define TR_THROTTLE_WARNING TR("Gas adv", "Gas advarsel")
|
||||
#define TR_CUSTOM_THROTTLE_WARNING TR("Tilp-Pos", "Tilpasset position?")
|
||||
|
||||
@@ -397,6 +397,7 @@
|
||||
#define TR_PLAY_HELLO "Startton abspielen"
|
||||
#define TR_PWR_ON_DELAY "PWR EIN Verzög."
|
||||
#define TR_PWR_OFF_DELAY "PWR AUS Verzög."
|
||||
#define TR_PWR_AUTO_OFF TR("Pwr Auto Off","Power Auto Off")
|
||||
#define TR_PWR_ON_OFF_HAPTIC TR("Pwr AN/AUS Haptik","Power AN/AUS Haptik")
|
||||
#define TR_THROTTLE_WARNING TR("Gasalarm", "Gas Alarm")
|
||||
#define TR_CUSTOM_THROTTLE_WARNING TR("Cust-Pos", "Custom position?")
|
||||
|
||||
@@ -393,6 +393,7 @@
|
||||
#define TR_PLAY_HELLO "Startup Sound"
|
||||
#define TR_PWR_ON_DELAY "Pwr On delay"
|
||||
#define TR_PWR_OFF_DELAY "Pwr Off delay"
|
||||
#define TR_PWR_AUTO_OFF TR("Pwr Auto Off","Power Auto Off")
|
||||
#define TR_PWR_ON_OFF_HAPTIC TR("Pwr ON/OFF Haptic","Power ON/OFF Haptic")
|
||||
#define TR_THROTTLE_WARNING TR("T-Warning", "Throttle state")
|
||||
#define TR_CUSTOM_THROTTLE_WARNING TR("Cust-Pos", "Custom position?")
|
||||
|
||||
@@ -393,6 +393,7 @@
|
||||
#define TR_PLAY_HELLO "Startup Sound"
|
||||
#define TR_PWR_ON_DELAY TR("Atraso On", "Atraso encendido")
|
||||
#define TR_PWR_OFF_DELAY TR("Atraso Off", "Atraso apagado")
|
||||
#define TR_PWR_AUTO_OFF TR("Pwr Auto Off","Power Auto Off")
|
||||
#define TR_PWR_ON_OFF_HAPTIC TR("Pwr ON/OFF Haptic","Power ON/OFF Haptic")
|
||||
#define TR_THROTTLE_WARNING TR("Aviso-A", "Aviso acelerador")
|
||||
#define TR_CUSTOM_THROTTLE_WARNING TR("Cust-Pos", "Custom position?")
|
||||
|
||||
@@ -407,6 +407,7 @@
|
||||
#define TR_PLAY_HELLO "Startup Sound"
|
||||
#define TR_PWR_ON_DELAY "Pwr On delay"
|
||||
#define TR_PWR_OFF_DELAY "Pwr Off delay"
|
||||
#define TR_PWR_AUTO_OFF TR("Pwr Auto Off","Power Auto Off")
|
||||
#define TR_PWR_ON_OFF_HAPTIC TR("Pwr ON/OFF Haptic","Power ON/OFF Haptic")
|
||||
#define TR_THROTTLE_WARNING TR("T-Warning", "Throttle Warning")
|
||||
#define TR_CUSTOM_THROTTLE_WARNING TR("Cust-Pos", "Custom position?")
|
||||
|
||||
@@ -401,6 +401,7 @@
|
||||
#define TR_PLAY_HELLO "Son de démarrage"
|
||||
#define TR_PWR_ON_DELAY "Délai btn ON"
|
||||
#define TR_PWR_OFF_DELAY "Délai btn OFF"
|
||||
#define TR_PWR_AUTO_OFF TR("Pwr Auto Off","Power Auto Off")
|
||||
#define TR_PWR_ON_OFF_HAPTIC TR("Pwr ON/OFF Vibreur","Power ON/OFF Vibreur")
|
||||
#define TR_THROTTLE_WARNING TR("Alerte gaz", "Alerte gaz")
|
||||
#define TR_CUSTOM_THROTTLE_WARNING TR("Pos. Perso", "Position perso ?")
|
||||
|
||||
@@ -399,6 +399,7 @@
|
||||
#define TR_PLAY_HELLO "צליל אתחול"
|
||||
#define TR_PWR_ON_DELAY "השהיית הפעלה פעיל"
|
||||
#define TR_PWR_OFF_DELAY "משך לחיצה לכיבוי השלט"
|
||||
#define TR_PWR_AUTO_OFF TR("Pwr Auto Off","Power Auto Off")
|
||||
#define TR_PWR_ON_OFF_HAPTIC TR("Pwr ON/OFF Haptic","Power ON/OFF Haptic")
|
||||
#define TR_THROTTLE_WARNING TR("T-Warning", "התראת מצערת פתוחה")
|
||||
#define TR_CUSTOM_THROTTLE_WARNING TR("Cust-Pos", "עריכת מיקום ידנית")
|
||||
|
||||
@@ -395,6 +395,7 @@
|
||||
#define TR_PLAY_HELLO "Suono all'accensione"
|
||||
#define TR_PWR_ON_DELAY "Rit. accens."
|
||||
#define TR_PWR_OFF_DELAY "Rit. spegni."
|
||||
#define TR_PWR_AUTO_OFF TR("Pwr Auto Off","Power Auto Off")
|
||||
#define TR_PWR_ON_OFF_HAPTIC TR("Vibraz. Pwr ON/OFF","Vibrazione Pwr ON/OFF")
|
||||
#define TR_THROTTLE_WARNING TR("All. Mot.", "Allarme Motore")
|
||||
#define TR_CUSTOM_THROTTLE_WARNING TR("Cust-Pos", "Custom position?")
|
||||
|
||||
@@ -394,6 +394,7 @@
|
||||
#define TR_PLAY_HELLO "起動時サウンド"
|
||||
#define TR_PWR_ON_DELAY "電源ON遅延"
|
||||
#define TR_PWR_OFF_DELAY "電源OFF遅延"
|
||||
#define TR_PWR_AUTO_OFF TR("Pwr Auto Off","Power Auto Off")
|
||||
#define TR_PWR_ON_OFF_HAPTIC TR("Pwr ON/OFF Haptic","電源 ON/OFF 時のバイブ")
|
||||
#define TR_THROTTLE_WARNING TR("T-Warning", "Throttle状態")
|
||||
#define TR_CUSTOM_THROTTLE_WARNING TR("Cust-Pos", "カスタム位置?")
|
||||
|
||||
@@ -393,6 +393,7 @@
|
||||
#define TR_PLAY_HELLO "Startup Sound"
|
||||
#define TR_PWR_ON_DELAY "Pwr On delay"
|
||||
#define TR_PWR_OFF_DELAY "Pwr Off delay"
|
||||
#define TR_PWR_AUTO_OFF TR("Pwr Auto Off","Power Auto Off")
|
||||
#define TR_PWR_ON_OFF_HAPTIC TR("Pwr ON/OFF Haptic","Power ON/OFF Haptic")
|
||||
#define TR_THROTTLE_WARNING TR("T-Warning", "Throttle Status")
|
||||
#define TR_CUSTOM_THROTTLE_WARNING TR("Cust-Pos", "Custom position?")
|
||||
|
||||
@@ -392,6 +392,7 @@
|
||||
#define TR_PLAY_HELLO "Dźwięk uruchomienia"
|
||||
#define TR_PWR_ON_DELAY "Pwr On delay"
|
||||
#define TR_PWR_OFF_DELAY "Pwr Off delay"
|
||||
#define TR_PWR_AUTO_OFF TR("Pwr Auto Off","Power Auto Off")
|
||||
#define TR_PWR_ON_OFF_HAPTIC TR("Wibracja włączania","Wibracja włączania")
|
||||
#define TR_THROTTLE_WARNING TR("OstrzGaz", "OstrzeżenieGaz")
|
||||
#define TR_CUSTOM_THROTTLE_WARNING TR("InnePoł", "Inne położenie?")
|
||||
|
||||
@@ -398,6 +398,7 @@
|
||||
#define TR_PLAY_HELLO "Som ao ligar"
|
||||
#define TR_PWR_ON_DELAY "Delay para LIGA"
|
||||
#define TR_PWR_OFF_DELAY "Delay para DESL"
|
||||
#define TR_PWR_AUTO_OFF TR("Pwr Auto Off","Power Auto Off")
|
||||
#define TR_PWR_ON_OFF_HAPTIC TR("Vibra ao LIG/DESL", "Vibrar ao Lig/Desl")
|
||||
#define TR_THROTTLE_WARNING TR("A-Aceler.", "Pos do acelerador")
|
||||
#define TR_CUSTOM_THROTTLE_WARNING TR("Cust-Pos", "Custom position?")
|
||||
|
||||
@@ -407,6 +407,7 @@
|
||||
#define TR_PLAY_HELLO "Startljud"
|
||||
#define TR_PWR_ON_DELAY "Fördröj start"
|
||||
#define TR_PWR_OFF_DELAY "Fördröj avslut"
|
||||
#define TR_PWR_AUTO_OFF TR("Pwr Auto Off","Power Auto Off")
|
||||
#define TR_PWR_ON_OFF_HAPTIC TR("Tx AV/PÅ vibr.","Radio AV/PÅ vibration")
|
||||
#define TR_BLCOLOR "Färg"
|
||||
#define TR_THROTTLE_WARNING TR("Gasvarn.", "Gasvarning")
|
||||
|
||||
@@ -396,6 +396,7 @@
|
||||
#define TR_PLAY_HELLO "開機語音"
|
||||
#define TR_PWR_ON_DELAY "開機延遲"
|
||||
#define TR_PWR_OFF_DELAY "關機延遲"
|
||||
#define TR_PWR_AUTO_OFF TR("Pwr Auto Off","Power Auto Off")
|
||||
#define TR_PWR_ON_OFF_HAPTIC TR("開關機震動","開關機震動提示")
|
||||
#define TR_THROTTLE_WARNING TR("油門狀態", "油門狀態")
|
||||
#define TR_CUSTOM_THROTTLE_WARNING TR("自定位置", "自定油門位置?")
|
||||
|
||||
Reference in New Issue
Block a user