mirror of
https://github.com/EdgeTX/edgetx.git
synced 2025-07-19 06:15:08 +03:00
Merge branch '2.3.0' into 2.3
# Conflicts: # CREDITS.txt # radio/src/telemetry/multi.cpp # tools/release23/tts.py # tools/release23/tts_common.py
This commit is contained in:
commit
f56885b54d
30 changed files with 524 additions and 520 deletions
|
@ -108,7 +108,7 @@ const Multiprotocols multiProtocols {
|
||||||
{MODULE_SUBTYPE_MULTI_HITEC, 2, false, STR_SUBTYPE_HITEC, STR_MULTI_RFTUNE},
|
{MODULE_SUBTYPE_MULTI_HITEC, 2, false, STR_SUBTYPE_HITEC, STR_MULTI_RFTUNE},
|
||||||
{MODULE_SUBTYPE_MULTI_BUGS_MINI, 1, false, STR_SUBTYPE_BUGS_MINI, nullptr},
|
{MODULE_SUBTYPE_MULTI_BUGS_MINI, 1, false, STR_SUBTYPE_BUGS_MINI, nullptr},
|
||||||
{MODULE_SUBTYPE_MULTI_TRAXXAS, 0, false, STR_SUBTYPE_TRAXXAS, nullptr},
|
{MODULE_SUBTYPE_MULTI_TRAXXAS, 0, false, STR_SUBTYPE_TRAXXAS, nullptr},
|
||||||
{MODULE_SUBTYPE_MULTI_E01X, 2, false, STR_SUBTYPE_E01X, nullptr},
|
{MODULE_SUBTYPE_MULTI_E01X, 2, false, STR_SUBTYPE_E01X, STR_MULTI_OPTION},
|
||||||
{MODULE_SUBTYPE_MULTI_V911S, 0, false, NO_SUBTYPE, STR_MULTI_RFTUNE},
|
{MODULE_SUBTYPE_MULTI_V911S, 0, false, NO_SUBTYPE, STR_MULTI_RFTUNE},
|
||||||
{MODULE_SUBTYPE_MULTI_GD00X, 1, false, STR_SUBTYPE_GD00X, nullptr},
|
{MODULE_SUBTYPE_MULTI_GD00X, 1, false, STR_SUBTYPE_GD00X, nullptr},
|
||||||
{MODULE_SUBTYPE_MULTI_KF606, 0, false, NO_SUBTYPE, STR_MULTI_RFTUNE},
|
{MODULE_SUBTYPE_MULTI_KF606, 0, false, NO_SUBTYPE, STR_MULTI_RFTUNE},
|
||||||
|
|
|
@ -8,24 +8,21 @@ SimulatedUIWidgetX9LITE::SimulatedUIWidgetX9LITE(SimulatorInterface *simulator,
|
||||||
ui(new Ui::SimulatedUIWidgetX9LITE)
|
ui(new Ui::SimulatedUIWidgetX9LITE)
|
||||||
{
|
{
|
||||||
RadioUiAction * act;
|
RadioUiAction * act;
|
||||||
QPolygon polygon;
|
|
||||||
|
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
|
|
||||||
// add actions in order of appearance on the help menu
|
// add actions in order of appearance on the help menu
|
||||||
|
|
||||||
QPoint ctr(70, 91);
|
QPoint ctr(70, 91);
|
||||||
polygon << polyArc(ctr.x(), ctr.y(), 50, -90, 90) << polyArc(ctr.x(), ctr.y(), 22, -90, 90);
|
|
||||||
act = new RadioUiAction(0, QList<int>() << Qt::Key_PageUp << Qt::Key_Up, SIMU_STR_HLP_KEYS_GO_UP, SIMU_STR_HLP_ACT_MENU_ICN);
|
act = new RadioUiAction(0, QList<int>() << Qt::Key_PageUp << Qt::Key_Up, SIMU_STR_HLP_KEYS_GO_UP, SIMU_STR_HLP_ACT_MENU_ICN);
|
||||||
addRadioWidget(ui->leftbuttons->addArea(polyArc(ctr.x(), ctr.y(), 20), "X9LITE/left_menu.png", act));
|
addRadioWidget(ui->leftbuttons->addArea(QRect(80, 20, 40, 35), "X9LITE/left_menu.png", act));
|
||||||
|
|
||||||
act = new RadioUiAction(3, QList<int>() << Qt::Key_PageDown << Qt::Key_Down, SIMU_STR_HLP_KEYS_GO_DN, SIMU_STR_HLP_ACT_PAGE);
|
act = new RadioUiAction(3, QList<int>() << Qt::Key_PageDown << Qt::Key_Down, SIMU_STR_HLP_KEYS_GO_DN, SIMU_STR_HLP_ACT_PAGE);
|
||||||
addRadioWidget(ui->leftbuttons->addArea(polygon, "X9LITE/left_page.png", act));
|
addRadioWidget(ui->leftbuttons->addArea(QRect(80, 65, 40, 35), "X9LITE/left_page.png", act));
|
||||||
|
|
||||||
polygon.clear();
|
|
||||||
polygon << polyArc(ctr.x(), ctr.y(), 50, 90, 270) << polyArc(ctr.x(), ctr.y(), 22, 90, 270);
|
|
||||||
act = new RadioUiAction(1, QList<int>() << Qt::Key_Delete << Qt::Key_Escape << Qt::Key_Backspace, SIMU_STR_HLP_KEYS_EXIT, SIMU_STR_HLP_ACT_EXIT);
|
act = new RadioUiAction(1, QList<int>() << Qt::Key_Delete << Qt::Key_Escape << Qt::Key_Backspace, SIMU_STR_HLP_KEYS_EXIT, SIMU_STR_HLP_ACT_EXIT);
|
||||||
addRadioWidget(ui->leftbuttons->addArea(polygon, "X9LITE/left_exit.png", act));
|
addRadioWidget(ui->leftbuttons->addArea(QRect(80, 130, 40, 35), "X9LITE/left_exit.png", act));
|
||||||
|
|
||||||
m_scrollUpAction = new RadioUiAction(-1, QList<int>() << Qt::Key_Minus << Qt::Key_Equal << Qt::Key_Left, SIMU_STR_HLP_KEYS_GO_LFT, SIMU_STR_HLP_ACT_ROT_LFT);
|
m_scrollUpAction = new RadioUiAction(-1, QList<int>() << Qt::Key_Minus << Qt::Key_Equal << Qt::Key_Left, SIMU_STR_HLP_KEYS_GO_LFT, SIMU_STR_HLP_ACT_ROT_LFT);
|
||||||
m_scrollDnAction = new RadioUiAction(-1, QList<int>() << Qt::Key_Plus << Qt::Key_Right, SIMU_STR_HLP_KEYS_GO_RGT, SIMU_STR_HLP_ACT_ROT_RGT);
|
m_scrollDnAction = new RadioUiAction(-1, QList<int>() << Qt::Key_Plus << Qt::Key_Right, SIMU_STR_HLP_KEYS_GO_RGT, SIMU_STR_HLP_ACT_ROT_RGT);
|
||||||
|
@ -34,7 +31,7 @@ SimulatedUIWidgetX9LITE::SimulatedUIWidgetX9LITE(SimulatorInterface *simulator,
|
||||||
m_mouseMidClickAction = new RadioUiAction(2, QList<int>() << Qt::Key_Enter << Qt::Key_Return, SIMU_STR_HLP_KEYS_ACTIVATE, SIMU_STR_HLP_ACT_ROT_DN);
|
m_mouseMidClickAction = new RadioUiAction(2, QList<int>() << Qt::Key_Enter << Qt::Key_Return, SIMU_STR_HLP_KEYS_ACTIVATE, SIMU_STR_HLP_ACT_ROT_DN);
|
||||||
addRadioWidget(ui->rightbuttons->addArea(polyArc(88, 92, 33), "X9LITE/right_ent.png", m_mouseMidClickAction));
|
addRadioWidget(ui->rightbuttons->addArea(polyArc(88, 92, 33), "X9LITE/right_ent.png", m_mouseMidClickAction));
|
||||||
|
|
||||||
addRadioWidget(ui->leftbuttons->addArea(QRect(9, 154, 30, 30), "X9LITE/left_scrnshot.png", m_screenshotAction));
|
addRadioWidget(ui->leftbuttons->addArea(QRect(30, 154, 30, 30), "X9LITE/left_scrnshot.png", m_screenshotAction));
|
||||||
|
|
||||||
m_backlightColors << QColor(215, 243, 255); // X9LITE Blue
|
m_backlightColors << QColor(215, 243, 255); // X9LITE Blue
|
||||||
m_backlightColors << QColor(166,247,159);
|
m_backlightColors << QColor(166,247,159);
|
||||||
|
@ -45,10 +42,10 @@ SimulatedUIWidgetX9LITE::SimulatedUIWidgetX9LITE(SimulatorInterface *simulator,
|
||||||
setLcd(ui->lcd);
|
setLcd(ui->lcd);
|
||||||
|
|
||||||
QString css = "#radioUiWidget {"
|
QString css = "#radioUiWidget {"
|
||||||
"background-color: qlineargradient(spread:reflect, x1:0, y1:0, x2:0, y2:1,"
|
"background-color: qlineargradient(spread:reflect, x1:0, y1:0, x2:0, y2:1,"
|
||||||
"stop:0 rgba(255, 255, 255, 255),"
|
"stop:0 rgba(255, 255, 255, 255),"
|
||||||
"stop:0.757062 rgba(241, 238, 238, 255),"
|
"stop:0.757062 rgba(241, 238, 238, 255),"
|
||||||
"stop:1 rgba(247, 245, 245, 255));"
|
"stop:1 rgba(247, 245, 245, 255));"
|
||||||
"}";
|
"}";
|
||||||
|
|
||||||
QTimer * tim = new QTimer(this);
|
QTimer * tim = new QTimer(this);
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>570</width>
|
<width>650</width>
|
||||||
<height>208</height>
|
<height>208</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
|
@ -18,14 +18,14 @@
|
||||||
</property>
|
</property>
|
||||||
<property name="minimumSize">
|
<property name="minimumSize">
|
||||||
<size>
|
<size>
|
||||||
<width>570</width>
|
<width>603</width>
|
||||||
<height>208</height>
|
<height>235</height>
|
||||||
</size>
|
</size>
|
||||||
</property>
|
</property>
|
||||||
<property name="maximumSize">
|
<property name="maximumSize">
|
||||||
<size>
|
<size>
|
||||||
<width>570</width>
|
<width>603</width>
|
||||||
<height>208</height>
|
<height>240</height>
|
||||||
</size>
|
</size>
|
||||||
</property>
|
</property>
|
||||||
<property name="windowTitle">
|
<property name="windowTitle">
|
||||||
|
@ -60,14 +60,14 @@
|
||||||
</property>
|
</property>
|
||||||
<property name="minimumSize">
|
<property name="minimumSize">
|
||||||
<size>
|
<size>
|
||||||
<width>157</width>
|
<width>173</width>
|
||||||
<height>186</height>
|
<height>210</height>
|
||||||
</size>
|
</size>
|
||||||
</property>
|
</property>
|
||||||
<property name="maximumSize">
|
<property name="maximumSize">
|
||||||
<size>
|
<size>
|
||||||
<width>157</width>
|
<width>173</width>
|
||||||
<height>186</height>
|
<height>210</height>
|
||||||
</size>
|
</size>
|
||||||
</property>
|
</property>
|
||||||
<property name="styleSheet">
|
<property name="styleSheet">
|
||||||
|
@ -85,14 +85,14 @@
|
||||||
</property>
|
</property>
|
||||||
<property name="minimumSize">
|
<property name="minimumSize">
|
||||||
<size>
|
<size>
|
||||||
<width>256</width>
|
<width>602</width>
|
||||||
<height>128</height>
|
<height>129</height>
|
||||||
</size>
|
</size>
|
||||||
</property>
|
</property>
|
||||||
<property name="maximumSize">
|
<property name="maximumSize">
|
||||||
<size>
|
<size>
|
||||||
<width>424</width>
|
<width>602</width>
|
||||||
<height>128</height>
|
<height>129</height>
|
||||||
</size>
|
</size>
|
||||||
</property>
|
</property>
|
||||||
<property name="styleSheet">
|
<property name="styleSheet">
|
||||||
|
@ -110,14 +110,14 @@
|
||||||
</property>
|
</property>
|
||||||
<property name="minimumSize">
|
<property name="minimumSize">
|
||||||
<size>
|
<size>
|
||||||
<width>157</width>
|
<width>174</width>
|
||||||
<height>186</height>
|
<height>210</height>
|
||||||
</size>
|
</size>
|
||||||
</property>
|
</property>
|
||||||
<property name="maximumSize">
|
<property name="maximumSize">
|
||||||
<size>
|
<size>
|
||||||
<width>157</width>
|
<width>174</width>
|
||||||
<height>186</height>
|
<height>210</height>
|
||||||
</size>
|
</size>
|
||||||
</property>
|
</property>
|
||||||
<property name="styleSheet">
|
<property name="styleSheet">
|
||||||
|
@ -135,14 +135,14 @@
|
||||||
</property>
|
</property>
|
||||||
<property name="minimumSize">
|
<property name="minimumSize">
|
||||||
<size>
|
<size>
|
||||||
<width>256</width>
|
<width>258</width>
|
||||||
<height>48</height>
|
<height>35</height>
|
||||||
</size>
|
</size>
|
||||||
</property>
|
</property>
|
||||||
<property name="maximumSize">
|
<property name="maximumSize">
|
||||||
<size>
|
<size>
|
||||||
<width>256</width>
|
<width>258</width>
|
||||||
<height>48</height>
|
<height>35</height>
|
||||||
</size>
|
</size>
|
||||||
</property>
|
</property>
|
||||||
<property name="styleSheet">
|
<property name="styleSheet">
|
||||||
|
@ -160,14 +160,14 @@
|
||||||
</property>
|
</property>
|
||||||
<property name="minimumSize">
|
<property name="minimumSize">
|
||||||
<size>
|
<size>
|
||||||
<width>256</width>
|
<width>258</width>
|
||||||
<height>10</height>
|
<height>46</height>
|
||||||
</size>
|
</size>
|
||||||
</property>
|
</property>
|
||||||
<property name="maximumSize">
|
<property name="maximumSize">
|
||||||
<size>
|
<size>
|
||||||
<width>256</width>
|
<width>258</width>
|
||||||
<height>10</height>
|
<height>46</height>
|
||||||
</size>
|
</size>
|
||||||
</property>
|
</property>
|
||||||
<property name="styleSheet">
|
<property name="styleSheet">
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1420,9 +1420,11 @@ void menuModelSetup(event_t event)
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
CHECK_INCDEC_MODELVAR(event, g_model.moduleData[moduleIdx].multi.optionValue, -128, 127);
|
CHECK_INCDEC_MODELVAR(event, g_model.moduleData[moduleIdx].multi.optionValue, -128, 127);
|
||||||
lcdDrawText(MODEL_SETUP_2ND_COLUMN+23, y, "RSSI(", LEFT);
|
if (pdef->optionsstr == STR_MULTI_RFTUNE) {
|
||||||
lcdDrawNumber(lcdLastRightPos, y, TELEMETRY_RSSI(), LEFT);
|
lcdDrawText(MODEL_SETUP_2ND_COLUMN + 23, y, "RSSI(", LEFT);
|
||||||
lcdDrawText(lcdLastRightPos, y, ")", LEFT);
|
lcdDrawNumber(lcdLastRightPos, y, TELEMETRY_RSSI(), LEFT);
|
||||||
|
lcdDrawText(lcdLastRightPos, y, ")", LEFT);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -774,7 +774,7 @@ void menuModelSetup(event_t event)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (isModulePXX2(INTERNAL_MODULE)) {
|
else if (isModulePXX2(INTERNAL_MODULE)) {
|
||||||
g_model.moduleData[INTERNAL_MODULE].subType = checkIncDec(event, g_model.moduleData[INTERNAL_MODULE].subType, 0, MODULE_SUBTYPE_ISRM_PXX2_ACCST_LR12, EE_MODEL, isRfProtocolAvailable);
|
g_model.moduleData[INTERNAL_MODULE].subType = checkIncDec(event, g_model.moduleData[INTERNAL_MODULE].subType, 0, MODULE_SUBTYPE_ISRM_PXX2_ACCST_D16, EE_MODEL, isRfProtocolAvailable);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
|
@ -784,7 +784,7 @@ void menuModelSetup(event_t event)
|
||||||
}
|
}
|
||||||
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN, y, STR_ISRM_RF_PROTOCOLS, index, attr);
|
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN, y, STR_ISRM_RF_PROTOCOLS, index, attr);
|
||||||
if (attr) {
|
if (attr) {
|
||||||
index = checkIncDec(event, index, 0, 3, EE_MODEL);
|
index = checkIncDec(event, index, 0, MODULE_SUBTYPE_ISRM_PXX2_ACCST_D16 + 1 /* because of --- */, EE_MODEL);
|
||||||
if (checkIncDec_Ret) {
|
if (checkIncDec_Ret) {
|
||||||
memclear(&g_model.moduleData[INTERNAL_MODULE], sizeof(ModuleData));
|
memclear(&g_model.moduleData[INTERNAL_MODULE], sizeof(ModuleData));
|
||||||
if (index > 0) {
|
if (index > 0) {
|
||||||
|
@ -1251,9 +1251,11 @@ void menuModelSetup(event_t event)
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
CHECK_INCDEC_MODELVAR(event, g_model.moduleData[moduleIdx].multi.optionValue, -128, 127);
|
CHECK_INCDEC_MODELVAR(event, g_model.moduleData[moduleIdx].multi.optionValue, -128, 127);
|
||||||
lcdDrawText(MODEL_SETUP_3RD_COLUMN+22, y, "RSSI(", LEFT);
|
if (pdef->optionsstr == STR_MULTI_RFTUNE) {
|
||||||
lcdDrawNumber(lcdLastRightPos, y, TELEMETRY_RSSI(), LEFT);
|
lcdDrawText(MODEL_SETUP_3RD_COLUMN+22, y, "RSSI(", LEFT);
|
||||||
lcdDrawText(lcdLastRightPos, y, ")", LEFT);
|
lcdDrawNumber(lcdLastRightPos, y, TELEMETRY_RSSI(), LEFT);
|
||||||
|
lcdDrawText(lcdLastRightPos, y, ")", LEFT);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -998,7 +998,7 @@ bool menuModelSetup(event_t event)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (isModulePXX2(INTERNAL_MODULE)) {
|
else if (isModulePXX2(INTERNAL_MODULE)) {
|
||||||
g_model.moduleData[INTERNAL_MODULE].subType = checkIncDec(event, g_model.moduleData[INTERNAL_MODULE].subType, 0, MODULE_SUBTYPE_ISRM_PXX2_ACCST_LR12, EE_MODEL);
|
g_model.moduleData[INTERNAL_MODULE].subType = checkIncDec(event, g_model.moduleData[INTERNAL_MODULE].subType, 0, MODULE_SUBTYPE_ISRM_PXX2_ACCST_D16, EE_MODEL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -1608,7 +1608,9 @@ bool menuModelSetup(event_t event)
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
CHECK_INCDEC_MODELVAR(event, g_model.moduleData[moduleIdx].multi.optionValue, -128, 127);
|
CHECK_INCDEC_MODELVAR(event, g_model.moduleData[moduleIdx].multi.optionValue, -128, 127);
|
||||||
lcdDrawNumber(LCD_W-10, y, TELEMETRY_RSSI(), RIGHT, 0, "RSSI(", ")");
|
if (pdef->optionsstr == STR_MULTI_RFTUNE) {
|
||||||
|
lcdDrawNumber(LCD_W - 10, y, TELEMETRY_RSSI(), RIGHT, 0, "RSSI(", ")");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -634,7 +634,10 @@ void menuRadioHardware(event_t event)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ITEM_RADIO_BACKUP_EEPROM:
|
case ITEM_RADIO_BACKUP_EEPROM:
|
||||||
lcdDrawText(LCD_W / 2, y, BUTTON(STR_EEBACKUP), attr | CENTERED);
|
if (LCD_W < 212)
|
||||||
|
lcdDrawText(LCD_W / 2, y, BUTTON(STR_EEBACKUP), attr | CENTERED);
|
||||||
|
else
|
||||||
|
lcdDrawText(HW_SETTINGS_COLUMN2, y, BUTTON(STR_EEBACKUP), attr);
|
||||||
if (attr && event == EVT_KEY_BREAK(KEY_ENTER)) {
|
if (attr && event == EVT_KEY_BREAK(KEY_ENTER)) {
|
||||||
s_editMode = EDIT_SELECT_FIELD;
|
s_editMode = EDIT_SELECT_FIELD;
|
||||||
eepromBackup();
|
eepromBackup();
|
||||||
|
@ -642,7 +645,10 @@ void menuRadioHardware(event_t event)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ITEM_RADIO_FACTORY_RESET:
|
case ITEM_RADIO_FACTORY_RESET:
|
||||||
lcdDrawText(LCD_W / 2, y, BUTTON(STR_FACTORYRESET), attr | CENTERED);
|
if (LCD_W < 212)
|
||||||
|
lcdDrawText(LCD_W / 2, y, BUTTON(STR_FACTORYRESET), attr | CENTERED);
|
||||||
|
else
|
||||||
|
lcdDrawText(HW_SETTINGS_COLUMN2, y, BUTTON(STR_FACTORYRESET), attr);
|
||||||
if (attr && event == EVT_KEY_BREAK(KEY_ENTER)) {
|
if (attr && event == EVT_KEY_BREAK(KEY_ENTER)) {
|
||||||
s_editMode = EDIT_SELECT_FIELD;
|
s_editMode = EDIT_SELECT_FIELD;
|
||||||
POPUP_CONFIRMATION(STR_CONFIRMRESET, onFactoryResetConfirm);
|
POPUP_CONFIRMATION(STR_CONFIRMRESET, onFactoryResetConfirm);
|
||||||
|
|
|
@ -848,7 +848,7 @@ const mm_protocol_definition multi_protocols[] = {
|
||||||
{MODULE_SUBTYPE_MULTI_HITEC, 2, false, STR_SUBTYPE_HITEC, STR_MULTI_RFTUNE},
|
{MODULE_SUBTYPE_MULTI_HITEC, 2, false, STR_SUBTYPE_HITEC, STR_MULTI_RFTUNE},
|
||||||
{MODULE_SUBTYPE_MULTI_BUGS_MINI, 1, false, STR_SUBTYPE_BUGS_MINI, nullptr},
|
{MODULE_SUBTYPE_MULTI_BUGS_MINI, 1, false, STR_SUBTYPE_BUGS_MINI, nullptr},
|
||||||
{MODULE_SUBTYPE_MULTI_TRAXXAS, 0, false, STR_SUBTYPE_TRAXXAS, nullptr},
|
{MODULE_SUBTYPE_MULTI_TRAXXAS, 0, false, STR_SUBTYPE_TRAXXAS, nullptr},
|
||||||
{MODULE_SUBTYPE_MULTI_E01X, 2, false, STR_SUBTYPE_E01X, nullptr},
|
{MODULE_SUBTYPE_MULTI_E01X, 2, false, STR_SUBTYPE_E01X, STR_MULTI_OPTION},
|
||||||
{MODULE_SUBTYPE_MULTI_V911S, 0, false, NO_SUBTYPE, STR_MULTI_RFTUNE},
|
{MODULE_SUBTYPE_MULTI_V911S, 0, false, NO_SUBTYPE, STR_MULTI_RFTUNE},
|
||||||
{MODULE_SUBTYPE_MULTI_GD00X, 1, false, STR_SUBTYPE_GD00X, STR_MULTI_RFTUNE},
|
{MODULE_SUBTYPE_MULTI_GD00X, 1, false, STR_SUBTYPE_GD00X, STR_MULTI_RFTUNE},
|
||||||
{MODULE_SUBTYPE_MULTI_KF606, 0, false, NO_SUBTYPE, STR_MULTI_RFTUNE},
|
{MODULE_SUBTYPE_MULTI_KF606, 0, false, NO_SUBTYPE, STR_MULTI_RFTUNE},
|
||||||
|
|
|
@ -869,7 +869,10 @@ static void checkRTCBattery()
|
||||||
void checkFailsafe()
|
void checkFailsafe()
|
||||||
{
|
{
|
||||||
for (int i=0; i<NUM_MODULES; i++) {
|
for (int i=0; i<NUM_MODULES; i++) {
|
||||||
if (isModuleFailsafeAvailable(i)) {
|
if (isModuleMultimodule(i)) {
|
||||||
|
multiModuleStatus.requiresFailsafeCheck = true;
|
||||||
|
}
|
||||||
|
else if (isModuleFailsafeAvailable(i)) {
|
||||||
ModuleData & moduleData = g_model.moduleData[i];
|
ModuleData & moduleData = g_model.moduleData[i];
|
||||||
if (moduleData.failsafeMode == FAILSAFE_NOT_SET) {
|
if (moduleData.failsafeMode == FAILSAFE_NOT_SET) {
|
||||||
ALERT(STR_FAILSAFEWARN, STR_NO_FAILSAFE, AU_ERROR);
|
ALERT(STR_FAILSAFEWARN, STR_NO_FAILSAFE, AU_ERROR);
|
||||||
|
|
|
@ -20,6 +20,7 @@
|
||||||
|
|
||||||
#include "opentx.h"
|
#include "opentx.h"
|
||||||
|
|
||||||
|
#if !defined(BOOT)
|
||||||
Fifo<uint8_t, BT_TX_FIFO_SIZE> btTxFifo;
|
Fifo<uint8_t, BT_TX_FIFO_SIZE> btTxFifo;
|
||||||
Fifo<uint8_t, BT_RX_FIFO_SIZE> btRxFifo;
|
Fifo<uint8_t, BT_RX_FIFO_SIZE> btRxFifo;
|
||||||
|
|
||||||
|
@ -42,6 +43,7 @@ enum BluetoothWriteState
|
||||||
};
|
};
|
||||||
|
|
||||||
volatile uint8_t bluetoothWriteState = BLUETOOTH_WRITE_IDLE;
|
volatile uint8_t bluetoothWriteState = BLUETOOTH_WRITE_IDLE;
|
||||||
|
#endif
|
||||||
|
|
||||||
void bluetoothInit(uint32_t baudrate, bool enable)
|
void bluetoothInit(uint32_t baudrate, bool enable)
|
||||||
{
|
{
|
||||||
|
@ -65,6 +67,7 @@ void bluetoothInit(uint32_t baudrate, bool enable)
|
||||||
GPIO_Init(BT_BCTS_GPIO, &GPIO_InitStructure);
|
GPIO_Init(BT_BCTS_GPIO, &GPIO_InitStructure);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if !defined(BOOT)
|
||||||
GPIO_PinAFConfig(BT_USART_GPIO, BT_TX_GPIO_PinSource, BT_GPIO_AF);
|
GPIO_PinAFConfig(BT_USART_GPIO, BT_TX_GPIO_PinSource, BT_GPIO_AF);
|
||||||
GPIO_PinAFConfig(BT_USART_GPIO, BT_RX_GPIO_PinSource, BT_GPIO_AF);
|
GPIO_PinAFConfig(BT_USART_GPIO, BT_RX_GPIO_PinSource, BT_GPIO_AF);
|
||||||
|
|
||||||
|
@ -90,17 +93,17 @@ void bluetoothInit(uint32_t baudrate, bool enable)
|
||||||
|
|
||||||
bluetoothWriteState = BLUETOOTH_WRITE_IDLE;
|
bluetoothWriteState = BLUETOOTH_WRITE_IDLE;
|
||||||
|
|
||||||
if (enable) {
|
|
||||||
GPIO_ResetBits(BT_EN_GPIO, BT_EN_GPIO_PIN);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
GPIO_SetBits(BT_EN_GPIO, BT_EN_GPIO_PIN);
|
|
||||||
}
|
|
||||||
|
|
||||||
btRxFifo.clear();
|
btRxFifo.clear();
|
||||||
btTxFifo.clear();
|
btTxFifo.clear();
|
||||||
|
#endif
|
||||||
|
|
||||||
|
if (enable)
|
||||||
|
GPIO_ResetBits(BT_EN_GPIO, BT_EN_GPIO_PIN);
|
||||||
|
else
|
||||||
|
GPIO_SetBits(BT_EN_GPIO, BT_EN_GPIO_PIN);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if !defined(BOOT)
|
||||||
void bluetoothDisable()
|
void bluetoothDisable()
|
||||||
{
|
{
|
||||||
GPIO_SetBits(BT_EN_GPIO, BT_EN_GPIO_PIN); // close bluetooth (recent modules will go to bootloader mode)
|
GPIO_SetBits(BT_EN_GPIO, BT_EN_GPIO_PIN); // close bluetooth (recent modules will go to bootloader mode)
|
||||||
|
@ -165,3 +168,4 @@ uint8_t bluetoothIsWriting(void)
|
||||||
{
|
{
|
||||||
return bluetoothWriteState != BLUETOOTH_WRITE_IDLE;
|
return bluetoothWriteState != BLUETOOTH_WRITE_IDLE;
|
||||||
}
|
}
|
||||||
|
#endif // !BOOT
|
||||||
|
|
|
@ -92,6 +92,13 @@ if(PCB STREQUAL X12S OR PCB STREQUAL X10 OR PCB STREQUAL X9E OR (PCB STREQUAL X9
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(PCB STREQUAL X7 OR PCB STREQUAL XLITE OR PCB STREQUAL XLITES)
|
||||||
|
set(BOOTLOADER_SRC
|
||||||
|
${BOOTLOADER_SRC}
|
||||||
|
../../../../../targets/common/arm/stm32/bluetooth_driver.cpp
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
if(NOT (PCB STREQUAL X10 OR PCB STREQUAL X12S))
|
if(NOT (PCB STREQUAL X10 OR PCB STREQUAL X12S))
|
||||||
set(BOOTLOADER_SRC
|
set(BOOTLOADER_SRC
|
||||||
${BOOTLOADER_SRC}
|
${BOOTLOADER_SRC}
|
||||||
|
|
|
@ -245,6 +245,11 @@ int main()
|
||||||
backlightInit();
|
backlightInit();
|
||||||
backlightEnable();
|
backlightEnable();
|
||||||
|
|
||||||
|
#if defined(PCBX7) || defined(PCBXLITE)
|
||||||
|
// we shutdown the bluetooth module now to be sure it will be detected on firmware start
|
||||||
|
bluetoothInit(BLUETOOTH_DEFAULT_BAUDRATE, false);
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(PCBTARANIS)
|
#if defined(PCBTARANIS)
|
||||||
i2cInit();
|
i2cInit();
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -106,6 +106,7 @@ void rotaryEncoderCheck()
|
||||||
if (g_eeGeneral.backlightMode & e_backlight_mode_keys) {
|
if (g_eeGeneral.backlightMode & e_backlight_mode_keys) {
|
||||||
backlightOn();
|
backlightOn();
|
||||||
}
|
}
|
||||||
|
inactivity.counter = 0;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -116,17 +116,18 @@ struct MultiModuleStatus {
|
||||||
uint8_t patch;
|
uint8_t patch;
|
||||||
|
|
||||||
uint8_t flags;
|
uint8_t flags;
|
||||||
|
uint8_t requiresFailsafeCheck;
|
||||||
tmr10ms_t lastUpdate;
|
tmr10ms_t lastUpdate;
|
||||||
|
|
||||||
void getStatusString(char* statusText);
|
void getStatusString(char* statusText);
|
||||||
|
|
||||||
inline bool isValid() { return (bool)(get_tmr10ms() - lastUpdate < 200); }
|
inline bool isValid() const { return (bool)(get_tmr10ms() - lastUpdate < 200); }
|
||||||
inline bool supportsFailsafe() { return (bool) (flags & 0x20); }
|
inline bool supportsFailsafe() const { return (bool) (flags & 0x20); }
|
||||||
inline bool isWaitingforBind() { return (bool) (flags & 0x10); }
|
inline bool isWaitingforBind() const { return (bool) (flags & 0x10); }
|
||||||
inline bool isBinding() { return (bool) (flags & 0x08); }
|
inline bool isBinding() const { return (bool) (flags & 0x08); }
|
||||||
inline bool protocolValid() { return (bool) (flags & 0x04); }
|
inline bool protocolValid() const { return (bool) (flags & 0x04); }
|
||||||
inline bool serialMode() { return (bool) (flags & 0x02); }
|
inline bool serialMode() const { return (bool) (flags & 0x02); }
|
||||||
inline bool inputDetected() { return (bool) (flags & 0x01); }
|
inline bool inputDetected() const { return (bool) (flags & 0x01); }
|
||||||
};
|
};
|
||||||
|
|
||||||
MultiModuleStatus& getMultiModuleStatus(uint8_t module);
|
MultiModuleStatus& getMultiModuleStatus(uint8_t module);
|
||||||
|
|
|
@ -51,9 +51,6 @@
|
||||||
#define LEN_VBEEPMODE TR("\005","\012")
|
#define LEN_VBEEPMODE TR("\005","\012")
|
||||||
#define TR_VBEEPMODE TR("Tichý""Alarm""BezKl""Vše\0", "Tichý\0 ""Jen alarm\0""Bez kláves""Vše\0 ")
|
#define TR_VBEEPMODE TR("Tichý""Alarm""BezKl""Vše\0", "Tichý\0 ""Jen alarm\0""Bez kláves""Vše\0 ")
|
||||||
|
|
||||||
#define LEN_VRENAVIG "\003"
|
|
||||||
#define TR_VRENAVIG "Ne REaREb"
|
|
||||||
|
|
||||||
#define LEN_VBLMODE TR("\005", "\007")
|
#define LEN_VBLMODE TR("\005", "\007")
|
||||||
#define TR_VBLMODE TR("Vyp\0 ""Kláv.""Páky\0""Vše\0 ""Zap\0 ", "Vypnuto""Klávesy""Páky\0 ""Vše\0 ""Zapnuto")
|
#define TR_VBLMODE TR("Vyp\0 ""Kláv.""Páky\0""Vše\0 ""Zap\0 ", "Vypnuto""Klávesy""Páky\0 ""Vše\0 ""Zapnuto")
|
||||||
|
|
||||||
|
@ -512,7 +509,6 @@
|
||||||
#define TR_MODEL_STILL_POWERED "Model stále spuštěn"
|
#define TR_MODEL_STILL_POWERED "Model stále spuštěn"
|
||||||
#define TR_MODEL_SHUTDOWN "Vypnout ?"
|
#define TR_MODEL_SHUTDOWN "Vypnout ?"
|
||||||
#define TR_PRESS_ENTER_TO_CONFIRM "Zmáčkni enter pro potvrzení"
|
#define TR_PRESS_ENTER_TO_CONFIRM "Zmáčkni enter pro potvrzení"
|
||||||
#define TR_RENAVIG "Navig. RotEnc"
|
|
||||||
#define TR_THROTTLE_LABEL "Plyn"
|
#define TR_THROTTLE_LABEL "Plyn"
|
||||||
#define TR_THROTTLEREVERSE TR("ReversPlyn", INDENT"Revers plynu")
|
#define TR_THROTTLEREVERSE TR("ReversPlyn", INDENT"Revers plynu")
|
||||||
#define TR_MINUTEBEEP TR("Minuta", "Oznamovat minuty")
|
#define TR_MINUTEBEEP TR("Minuta", "Oznamovat minuty")
|
||||||
|
@ -563,11 +559,9 @@
|
||||||
#define OFS_RX 4
|
#define OFS_RX 4
|
||||||
#define TR_ACCEL "Acc:"
|
#define TR_ACCEL "Acc:"
|
||||||
#define TR_NODATA CENTER "NO DATA"
|
#define TR_NODATA CENTER "NO DATA"
|
||||||
#define TR_TOTTM1TM2THRTHP "\037\146SES\036TM1\037\146TM2\036THR\037\146TH%"
|
#define TR_US "us"
|
||||||
#define TR_US "us"
|
#define TR_TMIXMAXMS "Tmix max"
|
||||||
#define TR_TMR1JITTERUS "Tmr1 Jitter\037\124us"
|
#define TR_FREE_STACK "Free stack"
|
||||||
#define TR_TMIXMAXMS "Tmix max"
|
|
||||||
#define TR_FREE_STACK "Free stack"
|
|
||||||
#define TR_MENUTORESET TR_ENTER" >> Reset"
|
#define TR_MENUTORESET TR_ENTER" >> Reset"
|
||||||
#define TR_PPM_TRAINER "TR"
|
#define TR_PPM_TRAINER "TR"
|
||||||
#define TR_CH "CH"
|
#define TR_CH "CH"
|
||||||
|
@ -667,7 +661,6 @@
|
||||||
#define TR_PITCH_AT_ZERO INDENT "Tón na nule"
|
#define TR_PITCH_AT_ZERO INDENT "Tón na nule"
|
||||||
#define TR_PITCH_AT_MAX INDENT "Tón na maximu"
|
#define TR_PITCH_AT_MAX INDENT "Tón na maximu"
|
||||||
#define TR_REPEAT_AT_ZERO TR(INDENT "Opak. na nule", INDENT "Opakování na nule")
|
#define TR_REPEAT_AT_ZERO TR(INDENT "Opak. na nule", INDENT "Opakování na nule")
|
||||||
#define TR_POWEROFF "\027Vypínám..."
|
|
||||||
#define TR_SHUTDOWN "Vypínání.."
|
#define TR_SHUTDOWN "Vypínání.."
|
||||||
#define TR_SAVEMODEL "Ukládám nastavení modelu"
|
#define TR_SAVEMODEL "Ukládám nastavení modelu"
|
||||||
#define TR_BATT_CALIB "Kalib. bat."
|
#define TR_BATT_CALIB "Kalib. bat."
|
||||||
|
|
|
@ -52,9 +52,6 @@
|
||||||
#define LEN_VBEEPMODE "\005"
|
#define LEN_VBEEPMODE "\005"
|
||||||
#define TR_VBEEPMODE "Stumm""Alarm""NoKey""Alle\0"
|
#define TR_VBEEPMODE "Stumm""Alarm""NoKey""Alle\0"
|
||||||
|
|
||||||
#define LEN_VRENAVIG "\003"
|
|
||||||
#define TR_VRENAVIG "AUSDGaDGb"
|
|
||||||
|
|
||||||
#define LEN_VBLMODE "\005"
|
#define LEN_VBLMODE "\005"
|
||||||
#define TR_VBLMODE "AUS\0 ""Taste""Stks\0""Beide""EIN\0 " // Anpassung
|
#define TR_VBLMODE "AUS\0 ""Taste""Stks\0""Beide""EIN\0 " // Anpassung
|
||||||
|
|
||||||
|
@ -514,7 +511,6 @@
|
||||||
#define TR_MODEL_STILL_POWERED "Model still powered"
|
#define TR_MODEL_STILL_POWERED "Model still powered"
|
||||||
#define TR_MODEL_SHUTDOWN "Shutdown ?"
|
#define TR_MODEL_SHUTDOWN "Shutdown ?"
|
||||||
#define TR_PRESS_ENTER_TO_CONFIRM "Press enter to confirm"
|
#define TR_PRESS_ENTER_TO_CONFIRM "Press enter to confirm"
|
||||||
#define TR_RENAVIG TR ("Rol", "Drehgeb. Navig.")
|
|
||||||
#define TR_THROTTLE_LABEL "Gas-Kontrolle"
|
#define TR_THROTTLE_LABEL "Gas-Kontrolle"
|
||||||
#define TR_THROTTLEREVERSE TR("Gas invers", INDENT "Vollgas hinten?") //Änderung wg TH9x, Taranis
|
#define TR_THROTTLEREVERSE TR("Gas invers", INDENT "Vollgas hinten?") //Änderung wg TH9x, Taranis
|
||||||
#define TR_MINUTEBEEP TR("Min-Alarm", "Minuten-Alarm")
|
#define TR_MINUTEBEEP TR("Min-Alarm", "Minuten-Alarm")
|
||||||
|
@ -567,9 +563,7 @@
|
||||||
#define OFS_RX 4
|
#define OFS_RX 4
|
||||||
#define TR_ACCEL "Acc:"
|
#define TR_ACCEL "Acc:"
|
||||||
#define TR_NODATA CENTER"Keine Daten"
|
#define TR_NODATA CENTER"Keine Daten"
|
||||||
#define TR_TOTTM1TM2THRTHP "\037\146SES\036TM1\037\146TM2\036GAS\037\146GS%"
|
|
||||||
#define TR_US "us"
|
#define TR_US "us"
|
||||||
#define TR_TMR1JITTERUS "Tmr1 Jitter\037\124us"
|
|
||||||
#define TR_TMIXMAXMS "Tmix max"
|
#define TR_TMIXMAXMS "Tmix max"
|
||||||
#define TR_FREE_STACK "Freier Stack"
|
#define TR_FREE_STACK "Freier Stack"
|
||||||
#define TR_MENUTORESET TR_ENTER " für Reset"
|
#define TR_MENUTORESET TR_ENTER " für Reset"
|
||||||
|
@ -669,7 +663,6 @@
|
||||||
#define TR_PITCH_AT_ZERO INDENT "Töne sinken"
|
#define TR_PITCH_AT_ZERO INDENT "Töne sinken"
|
||||||
#define TR_PITCH_AT_MAX INDENT "Töne steigen"
|
#define TR_PITCH_AT_MAX INDENT "Töne steigen"
|
||||||
#define TR_REPEAT_AT_ZERO INDENT "Wiederholrate"
|
#define TR_REPEAT_AT_ZERO INDENT "Wiederholrate"
|
||||||
#define TR_POWEROFF "\027Power OFF..."
|
|
||||||
#define TR_SHUTDOWN "Herunterfahren"
|
#define TR_SHUTDOWN "Herunterfahren"
|
||||||
#define TR_SAVEMODEL "Modelleinstellungen speichern"
|
#define TR_SAVEMODEL "Modelleinstellungen speichern"
|
||||||
#define TR_BATT_CALIB TR("AkkuSpgwert", "Akku Kalibrierung")
|
#define TR_BATT_CALIB TR("AkkuSpgwert", "Akku Kalibrierung")
|
||||||
|
|
|
@ -52,9 +52,6 @@
|
||||||
#define LEN_VBEEPMODE "\005"
|
#define LEN_VBEEPMODE "\005"
|
||||||
#define TR_VBEEPMODE "Quiet""Alarm""NoKey""All\0 "
|
#define TR_VBEEPMODE "Quiet""Alarm""NoKey""All\0 "
|
||||||
|
|
||||||
#define LEN_VRENAVIG "\003"
|
|
||||||
#define TR_VRENAVIG "No REaREb"
|
|
||||||
|
|
||||||
#define LEN_VBLMODE TR("\004", "\010")
|
#define LEN_VBLMODE TR("\004", "\010")
|
||||||
#define TR_VBLMODE TR("OFF\0""Keys""Ctrl""Both""ON\0 ", "OFF\0 ""Keys\0 ""Controls""Both\0 ""ON\0 ")
|
#define TR_VBLMODE TR("OFF\0""Keys""Ctrl""Both""ON\0 ", "OFF\0 ""Keys\0 ""Controls""Both\0 ""ON\0 ")
|
||||||
|
|
||||||
|
@ -409,7 +406,6 @@
|
||||||
|
|
||||||
#if defined(PCBTARANIS)
|
#if defined(PCBTARANIS)
|
||||||
#define TR_POPUPS_ENTER_EXIT TR(TR_EXIT "\010" TR_ENTER, TR_EXIT "\010" "\010" "\010" "\010" TR_ENTER)
|
#define TR_POPUPS_ENTER_EXIT TR(TR_EXIT "\010" TR_ENTER, TR_EXIT "\010" "\010" "\010" "\010" TR_ENTER)
|
||||||
|
|
||||||
#else
|
#else
|
||||||
#define TR_POPUPS_ENTER_EXIT TR_ENTER "\010" TR_EXIT
|
#define TR_POPUPS_ENTER_EXIT TR_ENTER "\010" TR_EXIT
|
||||||
#endif
|
#endif
|
||||||
|
@ -510,11 +506,10 @@
|
||||||
#define TR_INACTIVITYALARM INDENT "Inactivity"
|
#define TR_INACTIVITYALARM INDENT "Inactivity"
|
||||||
#define TR_MEMORYWARNING INDENT "Memory low"
|
#define TR_MEMORYWARNING INDENT "Memory low"
|
||||||
#define TR_ALARMWARNING INDENT "Sound off"
|
#define TR_ALARMWARNING INDENT "Sound off"
|
||||||
#define TR_RSSISHUTDOWNALARM TR(INDENT "Rssi Shutdown", INDENT "Check Rssi on Shutdown")
|
#define TR_RSSISHUTDOWNALARM TR(INDENT "Rssi Shutdown", INDENT "Check RSSI on shutdown")
|
||||||
#define TR_MODEL_STILL_POWERED "Model still powered"
|
#define TR_MODEL_STILL_POWERED "Model still powered"
|
||||||
#define TR_MODEL_SHUTDOWN "Shutdown ?"
|
#define TR_MODEL_SHUTDOWN "Shutdown?"
|
||||||
#define TR_PRESS_ENTER_TO_CONFIRM "Press enter to confirm"
|
#define TR_PRESS_ENTER_TO_CONFIRM "Press enter to confirm"
|
||||||
#define TR_RENAVIG "RotEnc Navig"
|
|
||||||
#define TR_THROTTLE_LABEL "Throttle"
|
#define TR_THROTTLE_LABEL "Throttle"
|
||||||
#define TR_THROTTLEREVERSE TR("T-Reverse", INDENT "Reverse")
|
#define TR_THROTTLEREVERSE TR("T-Reverse", INDENT "Reverse")
|
||||||
#define TR_MINUTEBEEP TR("Minute", "Minute call")
|
#define TR_MINUTEBEEP TR("Minute", "Minute call")
|
||||||
|
@ -567,11 +562,9 @@
|
||||||
#define OFS_RX 4
|
#define OFS_RX 4
|
||||||
#define TR_ACCEL "Acc:"
|
#define TR_ACCEL "Acc:"
|
||||||
#define TR_NODATA CENTER "NO DATA"
|
#define TR_NODATA CENTER "NO DATA"
|
||||||
#define TR_TOTTM1TM2THRTHP "\037\146SES\036TM1\037\146TM2\036THR\037\146TH%"
|
#define TR_US "us"
|
||||||
#define TR_US "us"
|
#define TR_TMIXMAXMS "Tmix max"
|
||||||
#define TR_TMR1JITTERUS "Tmr1 Jitter\037\124us"
|
#define TR_FREE_STACK "Free stack"
|
||||||
#define TR_TMIXMAXMS "Tmix max"
|
|
||||||
#define TR_FREE_STACK "Free stack"
|
|
||||||
#define TR_MENUTORESET TR_ENTER " to reset"
|
#define TR_MENUTORESET TR_ENTER " to reset"
|
||||||
#define TR_PPM_TRAINER "TR"
|
#define TR_PPM_TRAINER "TR"
|
||||||
#define TR_CH "CH"
|
#define TR_CH "CH"
|
||||||
|
@ -634,7 +627,7 @@
|
||||||
#define TR_MULTI_RFTUNE TR("Freq tune", "RF Freq. fine tune")
|
#define TR_MULTI_RFTUNE TR("Freq tune", "RF Freq. fine tune")
|
||||||
#define TR_MULTI_TELEMETRY "Telemetry"
|
#define TR_MULTI_TELEMETRY "Telemetry"
|
||||||
#define TR_MULTI_VIDFREQ TR("Vid. freq.", "Video frequency")
|
#define TR_MULTI_VIDFREQ TR("Vid. freq.", "Video frequency")
|
||||||
#define TR_RFPOWER "RF Power"
|
#define TR_RFPOWER "RF Power"
|
||||||
#define TR_MULTI_FIXEDID TR("FixedID", "Fixed ID")
|
#define TR_MULTI_FIXEDID TR("FixedID", "Fixed ID")
|
||||||
#define TR_MULTI_OPTION TR("Option", "Option value")
|
#define TR_MULTI_OPTION TR("Option", "Option value")
|
||||||
#define TR_MULTI_AUTOBIND TR(INDENT "Autobind",INDENT "Bind on channel")
|
#define TR_MULTI_AUTOBIND TR(INDENT "Autobind",INDENT "Bind on channel")
|
||||||
|
@ -669,7 +662,6 @@
|
||||||
#define TR_PITCH_AT_ZERO INDENT "Pitch zero"
|
#define TR_PITCH_AT_ZERO INDENT "Pitch zero"
|
||||||
#define TR_PITCH_AT_MAX INDENT "Pitch max"
|
#define TR_PITCH_AT_MAX INDENT "Pitch max"
|
||||||
#define TR_REPEAT_AT_ZERO INDENT "Repeat zero"
|
#define TR_REPEAT_AT_ZERO INDENT "Repeat zero"
|
||||||
#define TR_POWEROFF "\027Power OFF..."
|
|
||||||
#define TR_SHUTDOWN "SHUTTING DOWN"
|
#define TR_SHUTDOWN "SHUTTING DOWN"
|
||||||
#define TR_SAVEMODEL "Saving model settings"
|
#define TR_SAVEMODEL "Saving model settings"
|
||||||
#define TR_BATT_CALIB TR("Batt. calib", "Battery calibration")
|
#define TR_BATT_CALIB TR("Batt. calib", "Battery calibration")
|
||||||
|
@ -785,7 +777,6 @@
|
||||||
#define TR_TEMP_CALIB "Temp. Calib"
|
#define TR_TEMP_CALIB "Temp. Calib"
|
||||||
#define TR_TIME "Time"
|
#define TR_TIME "Time"
|
||||||
#define TR_MAXBAUDRATE "Max bauds"
|
#define TR_MAXBAUDRATE "Max bauds"
|
||||||
|
|
||||||
#define TR_BLUETOOTH "Bluetooth"
|
#define TR_BLUETOOTH "Bluetooth"
|
||||||
#define TR_BLUETOOTH_DISC "Discover"
|
#define TR_BLUETOOTH_DISC "Discover"
|
||||||
#define TR_BLUETOOTH_INIT "Init"
|
#define TR_BLUETOOTH_INIT "Init"
|
||||||
|
@ -1085,7 +1076,7 @@
|
||||||
|
|
||||||
#define TR_BEEP_VOLUME "Beep volume"
|
#define TR_BEEP_VOLUME "Beep volume"
|
||||||
#define TR_WAV_VOLUME "Wav volume"
|
#define TR_WAV_VOLUME "Wav volume"
|
||||||
#define TR_BG_VOLUME TR("Bg volume", "Background Volume")
|
#define TR_BG_VOLUME TR("Bg volume", "Background volume")
|
||||||
|
|
||||||
#define TR_TOP_BAR "Top bar"
|
#define TR_TOP_BAR "Top bar"
|
||||||
#define TR_FLASH_ERASE "Flash erase..."
|
#define TR_FLASH_ERASE "Flash erase..."
|
||||||
|
|
|
@ -52,9 +52,6 @@
|
||||||
#define LEN_VBEEPMODE "\005"
|
#define LEN_VBEEPMODE "\005"
|
||||||
#define TR_VBEEPMODE "Mudo ""Alarm""NoKey""Todo "
|
#define TR_VBEEPMODE "Mudo ""Alarm""NoKey""Todo "
|
||||||
|
|
||||||
#define LEN_VRENAVIG "\003"
|
|
||||||
#define TR_VRENAVIG "No REaREb"
|
|
||||||
|
|
||||||
#define LEN_VBLMODE "\004"
|
#define LEN_VBLMODE "\004"
|
||||||
#define TR_VBLMODE "OFF ""Keys""Stks""Both""ON\0"
|
#define TR_VBLMODE "OFF ""Keys""Stks""Both""ON\0"
|
||||||
|
|
||||||
|
@ -534,7 +531,6 @@
|
||||||
#define TR_MODEL_STILL_POWERED "Model still powered"
|
#define TR_MODEL_STILL_POWERED "Model still powered"
|
||||||
#define TR_MODEL_SHUTDOWN "Shutdown ?"
|
#define TR_MODEL_SHUTDOWN "Shutdown ?"
|
||||||
#define TR_PRESS_ENTER_TO_CONFIRM "Press enter to confirm"
|
#define TR_PRESS_ENTER_TO_CONFIRM "Press enter to confirm"
|
||||||
#define TR_RENAVIG "RotEnc Navig"
|
|
||||||
#define TR_THROTTLE_LABEL "Throttle"
|
#define TR_THROTTLE_LABEL "Throttle"
|
||||||
#define TR_THROTTLEREVERSE TR("Invert_Acel", INDENT "Invertir Acel.")
|
#define TR_THROTTLEREVERSE TR("Invert_Acel", INDENT "Invertir Acel.")
|
||||||
#define TR_MINUTEBEEP TR("Minuto", "Cada Minuto")
|
#define TR_MINUTEBEEP TR("Minuto", "Cada Minuto")
|
||||||
|
@ -581,9 +577,7 @@
|
||||||
#define OFS_RX 4
|
#define OFS_RX 4
|
||||||
#define TR_ACCEL "Acc:"
|
#define TR_ACCEL "Acc:"
|
||||||
#define TR_NODATA CENTER "SIN DATOS"
|
#define TR_NODATA CENTER "SIN DATOS"
|
||||||
#define TR_TOTTM1TM2THRTHP "\037\146SES\036TM1\037\146TM2\036THR\037\146TH%"
|
|
||||||
#define TR_US "us"
|
#define TR_US "us"
|
||||||
#define TR_TMR1JITTERUS "Tmr1 Jitter\037\124us"
|
|
||||||
#define TR_TMIXMAXMS "Tmix max"
|
#define TR_TMIXMAXMS "Tmix max"
|
||||||
#define TR_FREE_STACK "Free stack"
|
#define TR_FREE_STACK "Free stack"
|
||||||
#define TR_MENUTORESET TR_ENTER "Resetear"
|
#define TR_MENUTORESET TR_ENTER "Resetear"
|
||||||
|
@ -692,7 +686,6 @@
|
||||||
#define TR_PITCH_AT_ZERO INDENT "Pitch at Zero"
|
#define TR_PITCH_AT_ZERO INDENT "Pitch at Zero"
|
||||||
#define TR_PITCH_AT_MAX INDENT "Pitch at Max"
|
#define TR_PITCH_AT_MAX INDENT "Pitch at Max"
|
||||||
#define TR_REPEAT_AT_ZERO INDENT "Repeat at Zero"
|
#define TR_REPEAT_AT_ZERO INDENT "Repeat at Zero"
|
||||||
#define TR_POWEROFF "\027Power OFF..."
|
|
||||||
#define TR_SHUTDOWN "APAGANDO"
|
#define TR_SHUTDOWN "APAGANDO"
|
||||||
#define TR_SAVEMODEL "Saving model settings"
|
#define TR_SAVEMODEL "Saving model settings"
|
||||||
#define TR_BATT_CALIB "Calib.bateria"
|
#define TR_BATT_CALIB "Calib.bateria"
|
||||||
|
|
|
@ -52,9 +52,6 @@
|
||||||
#define LEN_VBEEPMODE "\005"
|
#define LEN_VBEEPMODE "\005"
|
||||||
#define TR_VBEEPMODE "Äänet""Hälyt""EiNap""Kaikk"
|
#define TR_VBEEPMODE "Äänet""Hälyt""EiNap""Kaikk"
|
||||||
|
|
||||||
#define LEN_VRENAVIG "\003"
|
|
||||||
#define TR_VRENAVIG "No REaREb"
|
|
||||||
|
|
||||||
#define LEN_VBLMODE TR("\004", "\010")
|
#define LEN_VBLMODE TR("\004", "\010")
|
||||||
#define TR_VBLMODE TR("OFF\0""Keys""Ctrl""Both""ON\0 ", "OFF\0 ""Keys\0 ""Controls""Both\0 ""ON\0 ")
|
#define TR_VBLMODE TR("OFF\0""Keys""Ctrl""Both""ON\0 ", "OFF\0 ""Keys\0 ""Controls""Both\0 ""ON\0 ")
|
||||||
|
|
||||||
|
@ -526,7 +523,6 @@
|
||||||
#define TR_MODEL_STILL_POWERED "Model still powered"
|
#define TR_MODEL_STILL_POWERED "Model still powered"
|
||||||
#define TR_MODEL_SHUTDOWN "Shutdown ?"
|
#define TR_MODEL_SHUTDOWN "Shutdown ?"
|
||||||
#define TR_PRESS_ENTER_TO_CONFIRM "Press enter to confirm"
|
#define TR_PRESS_ENTER_TO_CONFIRM "Press enter to confirm"
|
||||||
#define TR_RENAVIG "RotEnc Navig"
|
|
||||||
#define TR_THROTTLE_LABEL "Throttle"
|
#define TR_THROTTLE_LABEL "Throttle"
|
||||||
#define TR_THROTTLEREVERSE TR("T-Reverse", INDENT "Throttle reverse")
|
#define TR_THROTTLEREVERSE TR("T-Reverse", INDENT "Throttle reverse")
|
||||||
#define TR_MINUTEBEEP TR("Minute", "Minute call")
|
#define TR_MINUTEBEEP TR("Minute", "Minute call")
|
||||||
|
@ -573,9 +569,7 @@
|
||||||
#define OFS_RX 4
|
#define OFS_RX 4
|
||||||
#define TR_ACCEL "Acc:"
|
#define TR_ACCEL "Acc:"
|
||||||
#define TR_NODATA CENTER "NO DATA"
|
#define TR_NODATA CENTER "NO DATA"
|
||||||
#define TR_TOTTM1TM2THRTHP "\037\146SES\036TM1\037\146TM2\036THR\037\146TH%"
|
|
||||||
#define TR_US "us"
|
#define TR_US "us"
|
||||||
#define TR_TMR1JITTERUS "Tmr1 Jitter\037\124us"
|
|
||||||
|
|
||||||
#define TR_TMIXMAXMS "Tmix max"
|
#define TR_TMIXMAXMS "Tmix max"
|
||||||
#define TR_FREE_STACK "Free stack"
|
#define TR_FREE_STACK "Free stack"
|
||||||
|
@ -686,7 +680,6 @@
|
||||||
#define TR_PITCH_AT_ZERO INDENT "Pitch at Zero"
|
#define TR_PITCH_AT_ZERO INDENT "Pitch at Zero"
|
||||||
#define TR_PITCH_AT_MAX INDENT "Pitch at Max"
|
#define TR_PITCH_AT_MAX INDENT "Pitch at Max"
|
||||||
#define TR_REPEAT_AT_ZERO INDENT "Repeat at Zero"
|
#define TR_REPEAT_AT_ZERO INDENT "Repeat at Zero"
|
||||||
#define TR_POWEROFF "\027Power OFF..."
|
|
||||||
#define TR_SHUTDOWN "SHUTTING DOWN"
|
#define TR_SHUTDOWN "SHUTTING DOWN"
|
||||||
#define TR_SAVEMODEL "Saving model settings"
|
#define TR_SAVEMODEL "Saving model settings"
|
||||||
#define TR_BATT_CALIB "Battery Calib"
|
#define TR_BATT_CALIB "Battery Calib"
|
||||||
|
|
|
@ -52,9 +52,6 @@
|
||||||
#define LEN_VBEEPMODE "\005"
|
#define LEN_VBEEPMODE "\005"
|
||||||
#define TR_VBEEPMODE "Aucun""Alarm""NoKey""Tout\0"
|
#define TR_VBEEPMODE "Aucun""Alarm""NoKey""Tout\0"
|
||||||
|
|
||||||
#define LEN_VRENAVIG "\003"
|
|
||||||
#define TR_VRENAVIG "NonREaREb"
|
|
||||||
|
|
||||||
#define LEN_VBLMODE TR("\004", "\011")
|
#define LEN_VBLMODE TR("\004", "\011")
|
||||||
#define TR_VBLMODE TR("OFF\0""Btns""Ctrl""Tous""ON\0","OFF\0 ""Touches\0 ""Controles""Tous\0 ""ON\0 ")
|
#define TR_VBLMODE TR("OFF\0""Btns""Ctrl""Tous""ON\0","OFF\0 ""Touches\0 ""Controles""Tous\0 ""ON\0 ")
|
||||||
|
|
||||||
|
@ -532,7 +529,6 @@
|
||||||
#define TR_MODEL_STILL_POWERED TR("Modèle allumé", "Modèle encore allumé")
|
#define TR_MODEL_STILL_POWERED TR("Modèle allumé", "Modèle encore allumé")
|
||||||
#define TR_MODEL_SHUTDOWN "Eteindre ?"
|
#define TR_MODEL_SHUTDOWN "Eteindre ?"
|
||||||
#define TR_PRESS_ENTER_TO_CONFIRM "Presser [Enter] pour confirmer"
|
#define TR_PRESS_ENTER_TO_CONFIRM "Presser [Enter] pour confirmer"
|
||||||
#define TR_RENAVIG "Navig EncRot"
|
|
||||||
#define TR_THROTTLE_LABEL "Gaz"
|
#define TR_THROTTLE_LABEL "Gaz"
|
||||||
#define TR_THROTTLEREVERSE TR("Inv. gaz", INDENT "Inversion gaz")
|
#define TR_THROTTLEREVERSE TR("Inv. gaz", INDENT "Inversion gaz")
|
||||||
#define TR_MINUTEBEEP TR("Bip min.", "Annonces minutes")
|
#define TR_MINUTEBEEP TR("Bip min.", "Annonces minutes")
|
||||||
|
@ -583,10 +579,8 @@
|
||||||
#define OFS_RX 4
|
#define OFS_RX 4
|
||||||
#define TR_ACCEL "Acc:"
|
#define TR_ACCEL "Acc:"
|
||||||
#define TR_NODATA CENTER "NO DATA"
|
#define TR_NODATA CENTER "NO DATA"
|
||||||
#define TR_TOTTM1TM2THRTHP "\037\146SES\036TM1\037\146TM2\036GAZ\037\146GZ%"
|
|
||||||
#define TR_US "us"
|
#define TR_US "us"
|
||||||
#define TR_TMR1LATMINUS "Tmr1Lat min\037\124us"
|
#define TR_TMR1LATMINUS "Tmr1Lat min\037\124us"
|
||||||
#define TR_TMR1JITTERUS "Tmr1 Jitter\037\124us"
|
|
||||||
|
|
||||||
#define TR_TMIXMAXMS "Tmix max"
|
#define TR_TMIXMAXMS "Tmix max"
|
||||||
#define TR_FREE_STACK "Free stack"
|
#define TR_FREE_STACK "Free stack"
|
||||||
|
@ -689,7 +683,6 @@
|
||||||
#define TR_PITCH_AT_ZERO INDENT "Tonalité zéro"
|
#define TR_PITCH_AT_ZERO INDENT "Tonalité zéro"
|
||||||
#define TR_PITCH_AT_MAX INDENT "Tonalité max"
|
#define TR_PITCH_AT_MAX INDENT "Tonalité max"
|
||||||
#define TR_REPEAT_AT_ZERO TR(INDENT "Interv. zéro", INDENT "Intervalle au zéro")
|
#define TR_REPEAT_AT_ZERO TR(INDENT "Interv. zéro", INDENT "Intervalle au zéro")
|
||||||
#define TR_POWEROFF "\037\120ARRET..."
|
|
||||||
#define TR_SHUTDOWN "ARRET EN COURS"
|
#define TR_SHUTDOWN "ARRET EN COURS"
|
||||||
#define TR_SAVEMODEL "Sauvegarde modèle..."
|
#define TR_SAVEMODEL "Sauvegarde modèle..."
|
||||||
#define TR_BATT_CALIB "Calib. batt"
|
#define TR_BATT_CALIB "Calib. batt"
|
||||||
|
|
|
@ -52,9 +52,6 @@
|
||||||
#define LEN_VBEEPMODE TR("\005", "\010")
|
#define LEN_VBEEPMODE TR("\005", "\010")
|
||||||
#define TR_VBEEPMODE TR("Silen""Avvis""Notst""Tutti","Silente ""Avvisi\0 ""No Tasti""Tutti\0 ")
|
#define TR_VBEEPMODE TR("Silen""Avvis""Notst""Tutti","Silente ""Avvisi\0 ""No Tasti""Tutti\0 ")
|
||||||
|
|
||||||
#define LEN_VRENAVIG "\003"
|
|
||||||
#define TR_VRENAVIG "No REaREb"
|
|
||||||
|
|
||||||
#define LEN_VBLMODE TR("\005", "\006")
|
#define LEN_VBLMODE TR("\005", "\006")
|
||||||
#define TR_VBLMODE TR("OFF\0 ""Tasti""Stks\0""Tutti""ON\0 ", "Spenta""Tasti\0""Sticks""Tutti\0""Accesa")
|
#define TR_VBLMODE TR("OFF\0 ""Tasti""Stks\0""Tutti""ON\0 ", "Spenta""Tasti\0""Sticks""Tutti\0""Accesa")
|
||||||
|
|
||||||
|
@ -533,7 +530,6 @@
|
||||||
#define TR_MODEL_STILL_POWERED "Model still powered"
|
#define TR_MODEL_STILL_POWERED "Model still powered"
|
||||||
#define TR_MODEL_SHUTDOWN "Shutdown ?"
|
#define TR_MODEL_SHUTDOWN "Shutdown ?"
|
||||||
#define TR_PRESS_ENTER_TO_CONFIRM "Press enter to confirm"
|
#define TR_PRESS_ENTER_TO_CONFIRM "Press enter to confirm"
|
||||||
#define TR_RENAVIG "Navig EncRot "
|
|
||||||
#define TR_THROTTLE_LABEL "Motore"
|
#define TR_THROTTLE_LABEL "Motore"
|
||||||
#define TR_THROTTLEREVERSE TR("Mot inv.", INDENT "Motore Inverso")
|
#define TR_THROTTLEREVERSE TR("Mot inv.", INDENT "Motore Inverso")
|
||||||
#define TR_MINUTEBEEP "Minuto"
|
#define TR_MINUTEBEEP "Minuto"
|
||||||
|
@ -584,9 +580,7 @@
|
||||||
#define OFS_RX 4
|
#define OFS_RX 4
|
||||||
#define TR_ACCEL "Acc:"
|
#define TR_ACCEL "Acc:"
|
||||||
#define TR_NODATA CENTER"DATI ASSENTI"
|
#define TR_NODATA CENTER"DATI ASSENTI"
|
||||||
#define TR_TOTTM1TM2THRTHP "\037\146SES\036TM1\037\146TM2\036THR\037\146TH%"
|
|
||||||
#define TR_US "us"
|
#define TR_US "us"
|
||||||
#define TR_TMR1JITTERUS "Tmr1 Jitter\037\124us"
|
|
||||||
#define TR_TMIXMAXMS "Tmix max"
|
#define TR_TMIXMAXMS "Tmix max"
|
||||||
#define TR_FREE_STACK "Free stack"
|
#define TR_FREE_STACK "Free stack"
|
||||||
#define TR_MENUTORESET TR_ENTER" x Azzerare"
|
#define TR_MENUTORESET TR_ENTER" x Azzerare"
|
||||||
|
@ -687,7 +681,6 @@
|
||||||
#define TR_PITCH_AT_ZERO INDENT "Tono a Zero"
|
#define TR_PITCH_AT_ZERO INDENT "Tono a Zero"
|
||||||
#define TR_PITCH_AT_MAX INDENT "Tono al Max"
|
#define TR_PITCH_AT_MAX INDENT "Tono al Max"
|
||||||
#define TR_REPEAT_AT_ZERO INDENT "Ripeti a Zero"
|
#define TR_REPEAT_AT_ZERO INDENT "Ripeti a Zero"
|
||||||
#define TR_POWEROFF "\027Power OFF..."
|
|
||||||
#define TR_SHUTDOWN "ARRESTO.."
|
#define TR_SHUTDOWN "ARRESTO.."
|
||||||
#define TR_SAVEMODEL "Salvataggio dati modello"
|
#define TR_SAVEMODEL "Salvataggio dati modello"
|
||||||
#define TR_BATT_CALIB "Calibra batt."
|
#define TR_BATT_CALIB "Calibra batt."
|
||||||
|
|
|
@ -52,9 +52,6 @@
|
||||||
#define LEN_VBEEPMODE "\005"
|
#define LEN_VBEEPMODE "\005"
|
||||||
#define TR_VBEEPMODE "Stil\0""Alarm""NoKey""Alles"
|
#define TR_VBEEPMODE "Stil\0""Alarm""NoKey""Alles"
|
||||||
|
|
||||||
#define LEN_VRENAVIG "\003"
|
|
||||||
#define TR_VRENAVIG "UITREaREb"
|
|
||||||
|
|
||||||
#define LEN_VBLMODE TR("\005", "\010")
|
#define LEN_VBLMODE TR("\005", "\010")
|
||||||
#define TR_VBLMODE TR("UIT\0 ""Keys\0""Stick""Beide""AAN\0 ", "UIT\0 ""Toetsen\0""Sticks\0 ""Beide\0 ""AAN\0 ")
|
#define TR_VBLMODE TR("UIT\0 ""Keys\0""Stick""Beide""AAN\0 ", "UIT\0 ""Toetsen\0""Sticks\0 ""Beide\0 ""AAN\0 ")
|
||||||
|
|
||||||
|
@ -516,7 +513,6 @@ TR_GYR_VSRCRAW
|
||||||
#define TR_MODEL_STILL_POWERED "Model still powered"
|
#define TR_MODEL_STILL_POWERED "Model still powered"
|
||||||
#define TR_MODEL_SHUTDOWN "Shutdown ?"
|
#define TR_MODEL_SHUTDOWN "Shutdown ?"
|
||||||
#define TR_PRESS_ENTER_TO_CONFIRM "Press enter to confirm"
|
#define TR_PRESS_ENTER_TO_CONFIRM "Press enter to confirm"
|
||||||
#define TR_RENAVIG "Stappenschakelaar"
|
|
||||||
#define TR_THROTTLE_LABEL "Gas"
|
#define TR_THROTTLE_LABEL "Gas"
|
||||||
#define TR_THROTTLEREVERSE TR("Reverse", INDENT "Omgekeerd")
|
#define TR_THROTTLEREVERSE TR("Reverse", INDENT "Omgekeerd")
|
||||||
#define TR_MINUTEBEEP TR("Min-Alarm", "Minuten-Alarm")
|
#define TR_MINUTEBEEP TR("Min-Alarm", "Minuten-Alarm")
|
||||||
|
@ -569,9 +565,7 @@ TR_GYR_VSRCRAW
|
||||||
#define OFS_RX 4
|
#define OFS_RX 4
|
||||||
#define TR_ACCEL "Acc:"
|
#define TR_ACCEL "Acc:"
|
||||||
#define TR_NODATA CENTER"Geen Data"
|
#define TR_NODATA CENTER"Geen Data"
|
||||||
#define TR_TOTTM1TM2THRTHP "\037\146SES\036TM1\037\146TM2\036THR\037\146TH%"
|
|
||||||
#define TR_US "us"
|
#define TR_US "us"
|
||||||
#define TR_TMR1JITTERUS "Tmr1 Jitter\037\124us"
|
|
||||||
#define TR_TMIXMAXMS "Tmix max"
|
#define TR_TMIXMAXMS "Tmix max"
|
||||||
#define TR_FREE_STACK "Free stack"
|
#define TR_FREE_STACK "Free stack"
|
||||||
#define TR_MENUTORESET TR_ENTER" voor Reset"
|
#define TR_MENUTORESET TR_ENTER" voor Reset"
|
||||||
|
@ -675,7 +669,6 @@ TR_GYR_VSRCRAW
|
||||||
#define TR_PITCH_AT_ZERO INDENT "Laagste Toon"
|
#define TR_PITCH_AT_ZERO INDENT "Laagste Toon"
|
||||||
#define TR_PITCH_AT_MAX INDENT "Hoogste Toon"
|
#define TR_PITCH_AT_MAX INDENT "Hoogste Toon"
|
||||||
#define TR_REPEAT_AT_ZERO INDENT "Herhalen bij 0"
|
#define TR_REPEAT_AT_ZERO INDENT "Herhalen bij 0"
|
||||||
#define TR_POWEROFF "\027Uitschakelen..."
|
|
||||||
#define TR_SHUTDOWN "Afsluiten"
|
#define TR_SHUTDOWN "Afsluiten"
|
||||||
#define TR_SAVEMODEL "Bewaar Model-instellingen"
|
#define TR_SAVEMODEL "Bewaar Model-instellingen"
|
||||||
#define TR_BATT_CALIB "Accu Calib"
|
#define TR_BATT_CALIB "Accu Calib"
|
||||||
|
|
|
@ -52,9 +52,6 @@
|
||||||
#define LEN_VBEEPMODE "\005"
|
#define LEN_VBEEPMODE "\005"
|
||||||
#define TR_VBEEPMODE "Cichy""Alarm""BezPr""Wsz.\0"
|
#define TR_VBEEPMODE "Cichy""Alarm""BezPr""Wsz.\0"
|
||||||
|
|
||||||
#define LEN_VRENAVIG "\003"
|
|
||||||
#define TR_VRENAVIG "No REaREb"
|
|
||||||
|
|
||||||
#define LEN_VBLMODE TR("\004", "\010")
|
#define LEN_VBLMODE TR("\004", "\010")
|
||||||
#define TR_VBLMODE TR("Wył\0""Przy""Drąż""Oba\0""Zał\0", "Wyłącz ""Przycisk""Drązki\0 ""Oba\0 ""Włącz ")
|
#define TR_VBLMODE TR("Wył\0""Przy""Drąż""Oba\0""Zał\0", "Wyłącz ""Przycisk""Drązki\0 ""Oba\0 ""Włącz ")
|
||||||
|
|
||||||
|
@ -533,7 +530,6 @@
|
||||||
#define TR_MODEL_STILL_POWERED "Model still powered"
|
#define TR_MODEL_STILL_POWERED "Model still powered"
|
||||||
#define TR_MODEL_SHUTDOWN "Shutdown ?"
|
#define TR_MODEL_SHUTDOWN "Shutdown ?"
|
||||||
#define TR_PRESS_ENTER_TO_CONFIRM "Press enter to confirm"
|
#define TR_PRESS_ENTER_TO_CONFIRM "Press enter to confirm"
|
||||||
#define TR_RENAVIG "Nawigacja potencjometrem"
|
|
||||||
#define TR_THROTTLE_LABEL "Gaz "
|
#define TR_THROTTLE_LABEL "Gaz "
|
||||||
#define TR_THROTTLEREVERSE TR("OdwrGaz", INDENT "OdwrGaz")
|
#define TR_THROTTLEREVERSE TR("OdwrGaz", INDENT "OdwrGaz")
|
||||||
#define TR_MINUTEBEEP TR("Minuta", "PikCoMinutę")
|
#define TR_MINUTEBEEP TR("Minuta", "PikCoMinutę")
|
||||||
|
@ -584,9 +580,7 @@
|
||||||
#define OFS_RX 4
|
#define OFS_RX 4
|
||||||
#define TR_ACCEL "Acc:"
|
#define TR_ACCEL "Acc:"
|
||||||
#define TR_NODATA CENTER "BrakDAN"
|
#define TR_NODATA CENTER "BrakDAN"
|
||||||
#define TR_TOTTM1TM2THRTHP "\037\146SES\036TM1\037\146TM2\036THR\037\146TH%"
|
|
||||||
#define TR_US "us"
|
#define TR_US "us"
|
||||||
#define TR_TMR1JITTERUS "Tmr1 Jitter\037\124us"
|
|
||||||
#define TR_TMIXMAXMS "TmixMaks"
|
#define TR_TMIXMAXMS "TmixMaks"
|
||||||
#define TR_FREE_STACK "Wolny stos"
|
#define TR_FREE_STACK "Wolny stos"
|
||||||
#define TR_MENUTORESET TR_ENTER " >> Reset"
|
#define TR_MENUTORESET TR_ENTER " >> Reset"
|
||||||
|
@ -687,7 +681,6 @@
|
||||||
#define TR_PITCH_AT_ZERO INDENT "Ton przy Zerze"
|
#define TR_PITCH_AT_ZERO INDENT "Ton przy Zerze"
|
||||||
#define TR_PITCH_AT_MAX INDENT "Ton przy Max"
|
#define TR_PITCH_AT_MAX INDENT "Ton przy Max"
|
||||||
#define TR_REPEAT_AT_ZERO INDENT "Powtórz przy Zerze"
|
#define TR_REPEAT_AT_ZERO INDENT "Powtórz przy Zerze"
|
||||||
#define TR_POWEROFF "\027Wyłączanie.."
|
|
||||||
#define TR_SHUTDOWN "Wyłączanie.."
|
#define TR_SHUTDOWN "Wyłączanie.."
|
||||||
#define TR_SAVEMODEL "Zapisz ustwienia modelu"
|
#define TR_SAVEMODEL "Zapisz ustwienia modelu"
|
||||||
#define TR_BATT_CALIB "Kalib:Baterii"
|
#define TR_BATT_CALIB "Kalib:Baterii"
|
||||||
|
|
|
@ -52,9 +52,6 @@
|
||||||
#define LEN_VBEEPMODE "\005"
|
#define LEN_VBEEPMODE "\005"
|
||||||
#define TR_VBEEPMODE "Mudo ""Alarm""NoKey""Todo "
|
#define TR_VBEEPMODE "Mudo ""Alarm""NoKey""Todo "
|
||||||
|
|
||||||
#define LEN_VRENAVIG "\003"
|
|
||||||
#define TR_VRENAVIG "No REaREb"
|
|
||||||
|
|
||||||
#define LEN_VBLMODE "\004"
|
#define LEN_VBLMODE "\004"
|
||||||
#define TR_VBLMODE "OFF ""Chav""Stks""Tudo""ON\0"
|
#define TR_VBLMODE "OFF ""Chav""Stks""Tudo""ON\0"
|
||||||
|
|
||||||
|
@ -519,7 +516,6 @@
|
||||||
#define TR_MODEL_STILL_POWERED "Model still powered"
|
#define TR_MODEL_STILL_POWERED "Model still powered"
|
||||||
#define TR_MODEL_SHUTDOWN "Shutdown ?"
|
#define TR_MODEL_SHUTDOWN "Shutdown ?"
|
||||||
#define TR_PRESS_ENTER_TO_CONFIRM "Press enter to confirm"
|
#define TR_PRESS_ENTER_TO_CONFIRM "Press enter to confirm"
|
||||||
#define TR_RENAVIG "RotEnc Navig"
|
|
||||||
#define TR_THROTTLE_LABEL "Throttle"
|
#define TR_THROTTLE_LABEL "Throttle"
|
||||||
#define TR_THROTTLEREVERSE TR("Inverte Acel.", INDENT "Inverte Acel.")
|
#define TR_THROTTLEREVERSE TR("Inverte Acel.", INDENT "Inverte Acel.")
|
||||||
#define TR_MINUTEBEEP "Beep Minuto"
|
#define TR_MINUTEBEEP "Beep Minuto"
|
||||||
|
@ -566,9 +562,7 @@
|
||||||
#define OFS_RX 4
|
#define OFS_RX 4
|
||||||
#define TR_ACCEL "Acc:"
|
#define TR_ACCEL "Acc:"
|
||||||
#define TR_NODATA CENTER"SEM DADOS"
|
#define TR_NODATA CENTER"SEM DADOS"
|
||||||
#define TR_TOTTM1TM2THRTHP "\037\146SES\036TM1\037\146TM2\036THR\037\146TH%"
|
|
||||||
#define TR_US "us"
|
#define TR_US "us"
|
||||||
#define TR_TMR1JITTERUS "Tmr1 Jitter\037\124us"
|
|
||||||
#define TR_TMIXMAXMS "Tmix max"
|
#define TR_TMIXMAXMS "Tmix max"
|
||||||
#define TR_FREE_STACK "Free stack"
|
#define TR_FREE_STACK "Free stack"
|
||||||
#define TR_MENUTORESET TR_ENTER" Reinicia"
|
#define TR_MENUTORESET TR_ENTER" Reinicia"
|
||||||
|
@ -677,7 +671,6 @@
|
||||||
#define TR_PITCH_AT_ZERO INDENT "Pitch at Zero"
|
#define TR_PITCH_AT_ZERO INDENT "Pitch at Zero"
|
||||||
#define TR_PITCH_AT_MAX INDENT "Pitch at Max"
|
#define TR_PITCH_AT_MAX INDENT "Pitch at Max"
|
||||||
#define TR_REPEAT_AT_ZERO INDENT "Repeat at Zero"
|
#define TR_REPEAT_AT_ZERO INDENT "Repeat at Zero"
|
||||||
#define TR_POWEROFF "\027Power OFF..."
|
|
||||||
#define TR_SHUTDOWN "DESLIGANDOo"
|
#define TR_SHUTDOWN "DESLIGANDOo"
|
||||||
#define TR_SAVEMODEL "Saving model settings"
|
#define TR_SAVEMODEL "Saving model settings"
|
||||||
#define TR_BATT_CALIB "CALIBRAR BATT"
|
#define TR_BATT_CALIB "CALIBRAR BATT"
|
||||||
|
|
|
@ -52,9 +52,6 @@
|
||||||
#define LEN_VBEEPMODE "\005"
|
#define LEN_VBEEPMODE "\005"
|
||||||
#define TR_VBEEPMODE "Tyst\0""Alarm""EjKnp""Alla\0"
|
#define TR_VBEEPMODE "Tyst\0""Alarm""EjKnp""Alla\0"
|
||||||
|
|
||||||
#define LEN_VRENAVIG "\003"
|
|
||||||
#define TR_VRENAVIG "IngREaREb"
|
|
||||||
|
|
||||||
#define LEN_VBLMODE TR("\005", "\010")
|
#define LEN_VBLMODE TR("\005", "\010")
|
||||||
#define TR_VBLMODE TR("Av\0 ""Knapp""Spak\0""Allt\0""På\0 ", "Av\0 ""Knappar\0""Spakar\0 ""Allt\0 ""På\0 ")
|
#define TR_VBLMODE TR("Av\0 ""Knapp""Spak\0""Allt\0""På\0 ", "Av\0 ""Knappar\0""Spakar\0 ""Allt\0 ""På\0 ")
|
||||||
|
|
||||||
|
@ -532,7 +529,6 @@
|
||||||
#define TR_MODEL_STILL_POWERED "Model still powered"
|
#define TR_MODEL_STILL_POWERED "Model still powered"
|
||||||
#define TR_MODEL_SHUTDOWN "Shutdown ?"
|
#define TR_MODEL_SHUTDOWN "Shutdown ?"
|
||||||
#define TR_PRESS_ENTER_TO_CONFIRM "Press enter to confirm"
|
#define TR_PRESS_ENTER_TO_CONFIRM "Press enter to confirm"
|
||||||
#define TR_RENAVIG "RotEnk Navig"
|
|
||||||
#define TR_THROTTLE_LABEL "Gas"
|
#define TR_THROTTLE_LABEL "Gas"
|
||||||
#define TR_THROTTLEREVERSE TR("Inv.Gas", INDENT "Inverterad Gas")
|
#define TR_THROTTLEREVERSE TR("Inv.Gas", INDENT "Inverterad Gas")
|
||||||
#define TR_MINUTEBEEP "Minutpip"
|
#define TR_MINUTEBEEP "Minutpip"
|
||||||
|
@ -583,9 +579,7 @@
|
||||||
#define OFS_RX 4
|
#define OFS_RX 4
|
||||||
#define TR_ACCEL "Acc:"
|
#define TR_ACCEL "Acc:"
|
||||||
#define TR_NODATA CENTER "DATA SAKNAS"
|
#define TR_NODATA CENTER "DATA SAKNAS"
|
||||||
#define TR_TOTTM1TM2THRTHP "\037\146SES\036TM1\037\146TM2\036THR\037\146TH%"
|
|
||||||
#define TR_US "us"
|
#define TR_US "us"
|
||||||
#define TR_TMR1JITTERUS "Tmr1 Jitter\037\124us"
|
|
||||||
#define TR_TMIXMAXMS "Tmix max"
|
#define TR_TMIXMAXMS "Tmix max"
|
||||||
#define TR_FREE_STACK "Free stack"
|
#define TR_FREE_STACK "Free stack"
|
||||||
#define TR_MENUTORESET TR_ENTER " Nollar"
|
#define TR_MENUTORESET TR_ENTER " Nollar"
|
||||||
|
@ -686,7 +680,6 @@
|
||||||
#define TR_PITCH_AT_ZERO INDENT "Ton vid Noll"
|
#define TR_PITCH_AT_ZERO INDENT "Ton vid Noll"
|
||||||
#define TR_PITCH_AT_MAX INDENT "Ton vid Max"
|
#define TR_PITCH_AT_MAX INDENT "Ton vid Max"
|
||||||
#define TR_REPEAT_AT_ZERO INDENT "Repetera vid Noll"
|
#define TR_REPEAT_AT_ZERO INDENT "Repetera vid Noll"
|
||||||
#define TR_POWEROFF "\027Stänger Av..."
|
|
||||||
#define TR_SHUTDOWN "STÄNGER AV"
|
#define TR_SHUTDOWN "STÄNGER AV"
|
||||||
#define TR_SAVEMODEL "Spara modellinställn."
|
#define TR_SAVEMODEL "Spara modellinställn."
|
||||||
#define TR_BATT_CALIB "Kalib. Batteri"
|
#define TR_BATT_CALIB "Kalib. Batteri"
|
||||||
|
|
77
tools/release23/build-sdcard.sh
Executable file
77
tools/release23/build-sdcard.sh
Executable file
|
@ -0,0 +1,77 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
set -x
|
||||||
|
|
||||||
|
workdir=/home/opentx/release23
|
||||||
|
output=/var/www/html/2.3/release
|
||||||
|
|
||||||
|
# Handle opentx.sdcard.version
|
||||||
|
sdcard_version="2.3V"$(grep 'set(SDCARD_REVISION' ${workdir}/code/CMakeLists.txt | grep -o '".*"' | sed 's/"//g')
|
||||||
|
echo ${sdcard_version} > ${workdir}/code/radio/sdcard/horus/opentx.sdcard.version
|
||||||
|
echo ${sdcard_version} > ${workdir}/code/radio/sdcard/taranis-x9/opentx.sdcard.version
|
||||||
|
echo ${sdcard_version} > ${workdir}/code/radio/sdcard/taranis-x7/opentx.sdcard.version
|
||||||
|
|
||||||
|
|
||||||
|
if cmp --silent ${workdir}/code/radio/sdcard/horus/opentx.sdcard.version ${workdir}/opentx.sdcard.version
|
||||||
|
then
|
||||||
|
exit
|
||||||
|
else
|
||||||
|
cd ${workdir}
|
||||||
|
|
||||||
|
# Copy git sdcard data
|
||||||
|
rm -Rf ${workdir}/sdcard
|
||||||
|
cp -r ${workdir}/code/radio/sdcard .
|
||||||
|
|
||||||
|
# Get images for Horus
|
||||||
|
mkdir -p ${workdir}/sdcard/horus/IMAGES
|
||||||
|
cp /home/opentx/horus-bitmaps/* ${workdir}/sdcard/horus/IMAGES/
|
||||||
|
|
||||||
|
|
||||||
|
# Request sound pack generation
|
||||||
|
if [[ ! -d /tmp/SOUNDS/fr ]];then
|
||||||
|
${workdir}/code/tools/release23/tts.py en csv files
|
||||||
|
fi
|
||||||
|
if [[ ! -d /tmp/SOUNDS/es ]];then
|
||||||
|
${workdir}/code/tools/release23/tts.py fr csv files
|
||||||
|
fi
|
||||||
|
if [[ ! -d /tmp/SOUNDS/it ]];then
|
||||||
|
${workdir}/code/tools/release23/tts.py es csv files
|
||||||
|
fi
|
||||||
|
if [[ ! -d /tmp/SOUNDS/de ]];then
|
||||||
|
${workdir}/code/tools/release23/tts.py it csv files
|
||||||
|
fi
|
||||||
|
if [[ ! -d /tmp/SOUNDS/cz ]];then
|
||||||
|
${workdir}/code/tools/release23/tts.py de csv files
|
||||||
|
fi
|
||||||
|
if [[ ! -d /tmp/SOUNDS/pl ]];then
|
||||||
|
${workdir}/code/tools/release23/tts.py cz csv files
|
||||||
|
fi
|
||||||
|
if [[ ! -d /tmp/SOUNDS/ru ]];then
|
||||||
|
${workdir}/code/tools/release23/tts.py pt csv files
|
||||||
|
fi
|
||||||
|
${workdir}/code/tools/release23/tts.py ru csv psv files
|
||||||
|
|
||||||
|
# Create sdcards.zips for supported platforms
|
||||||
|
mv /tmp/SOUNDS ${workdir}/sdcard/horus/
|
||||||
|
mkdir ${workdir}/sdcard/taranis-x9/SOUNDS
|
||||||
|
mkdir ${workdir}/sdcard/taranis-x7/SOUNDS
|
||||||
|
cp -r ${workdir}/sdcard/horus/SOUNDS ${workdir}/sdcard/taranis-x9/
|
||||||
|
cp -r ${workdir}/sdcard/horus/SOUNDS ${workdir}/sdcard/taranis-x7/
|
||||||
|
cd ${workdir}/sdcard/horus && zip -r ${output}/sdcard/sdcard-horus-${sdcard_version}.zip *
|
||||||
|
cd ${workdir}/sdcard/taranis-x9 && zip -r ${output}/sdcard/sdcard-taranis-x9-${sdcard_version}.zip *
|
||||||
|
cd ${workdir}/sdcard/taranis-x7 && zip -r ${output}/sdcard/sdcard-taranis-x7-${sdcard_version}.zip *
|
||||||
|
|
||||||
|
# Create symlinks for other radios
|
||||||
|
ln -s ${output}/sdcard/sdcard-taranis-x7-${sdcard_version}.zip ${output}/sdcard/sdcard-taranis-xlite-${sdcard_version}.zip
|
||||||
|
ln -s ${output}/sdcard/sdcard-taranis-x7-${sdcard_version}.zip ${output}/sdcard/sdcard-taranis-x9lite-${sdcard_version}.zip
|
||||||
|
ln -s ${output}/sdcard/sdcard-taranis-x7-${sdcard_version}.zip ${output}/sdcard/sdcard-jumper-t12-${sdcard_version}.zip
|
||||||
|
|
||||||
|
# remove LUA stuff for 9x platform
|
||||||
|
rm -Rf ${workdir}/sdcard/taranis-x7/SCRIPTS
|
||||||
|
rm -Rf ${workdir}/sdcard/taranis-x7/FrSky-utilities
|
||||||
|
cd ${workdir}/sdcard/taranis-x7 && zip -r ${output}/sdcard/sdcard-9xarm-${sdcard_version}.zip *
|
||||||
|
|
||||||
|
rm -Rf ${workdir}/sdcard
|
||||||
|
cp -r ${workdir}/code/radio/sdcard/horus/opentx.sdcard.version ${workdir}
|
||||||
|
fi
|
152
tools/release23/tts.py
Executable file
152
tools/release23/tts.py
Executable file
|
@ -0,0 +1,152 @@
|
||||||
|
#!/usr/bin/env python
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
|
||||||
|
# This script is a modified version to support Linux TTS fiel genration using PicoTTS
|
||||||
|
|
||||||
|
# Sound pack maintainers (incomplete list) by language alphabetical order
|
||||||
|
# Czech : Martin Hotar
|
||||||
|
# French : Bertrand Songis & André Bernet
|
||||||
|
# English : Rob Thompson & Martin Hotar
|
||||||
|
# German : Romolo Manfredini (Some corrections by Peer)
|
||||||
|
# Italian : Romolo Manfredini
|
||||||
|
# Portuguese : Romolo Manfredini
|
||||||
|
# Spanish : Romolo Manfredini (With the help of Jose Moreno)
|
||||||
|
|
||||||
|
# from __future__ import print_function
|
||||||
|
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
import subprocess
|
||||||
|
import zipfile
|
||||||
|
from gtts import gTTS
|
||||||
|
from tts_common import *
|
||||||
|
board = "taranis"
|
||||||
|
|
||||||
|
reload(sys)
|
||||||
|
sys.setdefaultencoding('utf8')
|
||||||
|
|
||||||
|
SOURCE_DIRECTORY = os.path.dirname(os.path.realpath(__file__))
|
||||||
|
lib_path = os.path.abspath(os.path.join(SOURCE_DIRECTORY, '..', '..', 'radio', 'util'))
|
||||||
|
sys.path.append(lib_path)
|
||||||
|
|
||||||
|
def generate(str, filename):
|
||||||
|
if 0:
|
||||||
|
output = "output.wav"
|
||||||
|
command = 'pico2wave -l=%s -w=%s "%s"' % (voice, output, str)
|
||||||
|
os.system(command.encode('utf-8'))
|
||||||
|
command = "sox %s -r 32000 %s reverse silence 1 0.1 0.1%% reverse" % (output, filename)
|
||||||
|
os.system(command.encode('utf-8'))
|
||||||
|
else:
|
||||||
|
output = u"output.mp3"
|
||||||
|
tts = gTTS(text=str, lang=voice[:2])
|
||||||
|
tts.save(output)
|
||||||
|
command = "sox --norm %s -r 32000 %s tempo 1.2" % (output, filename)
|
||||||
|
os.system(command.encode('utf-8'))
|
||||||
|
command = "rm -f output.mp3"
|
||||||
|
os.system(command.encode('utf-8'))
|
||||||
|
|
||||||
|
################################################################
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
if "en" in sys.argv:
|
||||||
|
from tts_en import systemSounds, sounds
|
||||||
|
|
||||||
|
directory = "en"
|
||||||
|
voice = "en-US"
|
||||||
|
|
||||||
|
elif "fr" in sys.argv:
|
||||||
|
from tts_fr import systemSounds, sounds
|
||||||
|
|
||||||
|
directory = "fr"
|
||||||
|
voice = "fr-FR"
|
||||||
|
|
||||||
|
elif "it" in sys.argv:
|
||||||
|
from tts_it import systemSounds, sounds
|
||||||
|
|
||||||
|
directory = "it"
|
||||||
|
voice = "it-IT"
|
||||||
|
|
||||||
|
elif "de" in sys.argv:
|
||||||
|
from tts_de import systemSounds, sounds
|
||||||
|
|
||||||
|
directory = "de"
|
||||||
|
voice = "de-DE"
|
||||||
|
|
||||||
|
elif "es" in sys.argv:
|
||||||
|
from tts_es import systemSounds, sounds
|
||||||
|
|
||||||
|
directory = "es"
|
||||||
|
voice = "es-ES"
|
||||||
|
|
||||||
|
elif "cz" in sys.argv:
|
||||||
|
from tts_cz import systemSounds, sounds
|
||||||
|
|
||||||
|
directory = "cz"
|
||||||
|
voice = "cs-CZ"
|
||||||
|
|
||||||
|
elif "ru" in sys.argv:
|
||||||
|
from tts_ru import systemSounds, sounds
|
||||||
|
|
||||||
|
directory = "ru"
|
||||||
|
voice = "ru-RU"
|
||||||
|
|
||||||
|
elif "pt" in sys.argv:
|
||||||
|
from tts_pt import systemSounds, sounds
|
||||||
|
|
||||||
|
directory = "pt"
|
||||||
|
voice = "pt-PT"
|
||||||
|
|
||||||
|
else:
|
||||||
|
print("which language?")
|
||||||
|
exit()
|
||||||
|
|
||||||
|
if "csv" in sys.argv:
|
||||||
|
path = "/tmp/SOUNDS/" + directory + "/SYSTEM/"
|
||||||
|
if not os.path.exists(path):
|
||||||
|
os.makedirs(path)
|
||||||
|
os.chdir(path)
|
||||||
|
with open("%s-%s.csv" % (voice, board), "wb") as csvFile:
|
||||||
|
for s, f in systemSounds:
|
||||||
|
if s and f:
|
||||||
|
l = u""
|
||||||
|
if board in ("sky9x", "taranis"):
|
||||||
|
l += u"SOUNDS/%s/SYSTEM;" % directory
|
||||||
|
l += f + u";" + s + u"\n"
|
||||||
|
csvFile.write(l.encode("utf-8"))
|
||||||
|
for s, f in sounds:
|
||||||
|
if s and f:
|
||||||
|
l = u""
|
||||||
|
if board in ("sky9x", "taranis"):
|
||||||
|
l += u"SOUNDS/%s;" % directory
|
||||||
|
l += f + u";" + s + u"\n"
|
||||||
|
csvFile.write(l.encode("utf-8"))
|
||||||
|
|
||||||
|
if "psv" in sys.argv:
|
||||||
|
path = "/tmp/SOUNDS/" + directory + "/"
|
||||||
|
if not os.path.exists(path):
|
||||||
|
os.makedirs(path)
|
||||||
|
os.chdir(path)
|
||||||
|
with open("%s-%s.psv" % (voice, board), "wb") as csvFile:
|
||||||
|
for s, f in systemSounds:
|
||||||
|
if s and f:
|
||||||
|
l = u"SYSTEM|" + f.replace(".wav", "") + u"|" + s + u"\r\n"
|
||||||
|
csvFile.write(l.encode("windows-1251"))
|
||||||
|
for s, f in sounds:
|
||||||
|
if s and f:
|
||||||
|
l = u"|" + f.replace(".wav", "") + u"|" + s + u"\r\n"
|
||||||
|
csvFile.write(l.encode("windows-1251"))
|
||||||
|
|
||||||
|
|
||||||
|
if "files" in sys.argv:
|
||||||
|
path = "/tmp/SOUNDS/" + directory + "/SYSTEM/"
|
||||||
|
if not os.path.exists(path):
|
||||||
|
os.makedirs(path)
|
||||||
|
os.chdir(path)
|
||||||
|
for s, f in systemSounds:
|
||||||
|
if s and f:
|
||||||
|
generate(s, f)
|
||||||
|
os.chdir("..")
|
||||||
|
for s, f in sounds:
|
||||||
|
if s and f:
|
||||||
|
generate(s, f)
|
14
tools/release23/tts_common.py
Normal file
14
tools/release23/tts_common.py
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
NO_ALTERNATE = 1024
|
||||||
|
PROMPT_CUSTOM_BASE = 256
|
||||||
|
PROMPT_SYSTEM_BASE = 0
|
||||||
|
board = "taranis"
|
||||||
|
|
||||||
|
import sys
|
||||||
|
|
||||||
|
def filename(idx, alternate=0):
|
||||||
|
ext = ".wav"
|
||||||
|
if isinstance(idx, int):
|
||||||
|
result = "%04d%s" % (idx, ext)
|
||||||
|
elif board in ('sky9x', 'taranis'):
|
||||||
|
result = idx + ext
|
||||||
|
return result
|
Loading…
Add table
Add a link
Reference in a new issue