Compare commits

...

16 Commits

Author SHA1 Message Date
romolo.manfredini@gmail.com d047e24626 release 2768 2013-09-21 05:37:04 +00:00
romolo.manfredini@gmail.com 3d603143dd update release notes 2013-09-21 05:35:49 +00:00
rob@marotori.com 121dad121c Streamlines and cleaned up code. Simple compile option TARANIS_STICKS=YES 2013-09-20 15:25:20 +00:00
rob@marotori.com 95a1fd273b Cleanup to remove compile error 2013-09-20 15:01:53 +00:00
rob@marotori.com 05e46242b0 Update to simplfy code a bit, and bypass changes if not compiled in.
still to resolve:
targets/sky9x/adc_driver.cpp:42:61: warning: character constant too long for its type [enabled by default]
2013-09-20 14:50:03 +00:00
rob@marotori.com c163e2513b Update to stick position driver to use ADC system 2013-09-20 14:34:09 +00:00
rob@marotori.com bbb2b25ac8 Updates to allow sticks to be reversed at compile time.
e.g.
make PCB=SKY9X FRSKY=YES HAPTIC=YES AUDIO=YES STICK_AIL_REV=YES STICK_THR_REV=YES STICK_RUD_REV=YES
2013-09-20 10:29:45 +00:00
bsongis@gmail.com dc29a32f02 [Taranis] Bitmap not reloaded after Copy/Move/Delete/Restore - forgotten files 2013-09-15 18:54:26 +00:00
bsongis@gmail.com cefd7ee08c [stock] Custom switches not working when comparing a timer with a value (stock only without telemetry mod) 2013-09-15 18:53:25 +00:00
bsongis@gmail.com 8af733fb3d [Taranis] Bitmap not reloaded after Copy/Move/Delete/Restore 2013-09-15 17:55:40 +00:00
mhotar@gmail.com 1cb4834c38 tts.py -some minor corrections, mainly to CZ 2013-09-15 13:58:51 +00:00
bsongis@gmail.com cb28cccf50 [all] Name badly displayed after SD Model Restore 2013-09-14 15:34:49 +00:00
mhotar@gmail.com 498323a8e2 Fixed "|" character in SQT5 font 2013-09-07 12:23:48 +00:00
romolo.manfredini@gmail.com a518696cad Fix for logs in sky9x/gruvin boards 2013-09-06 22:03:21 +00:00
bsongis@gmail.com 8429ab57b3 [All boards with SD] Confirmation Popup before SD Format ... 2013-09-06 20:38:20 +00:00
bsongis@gmail.com 740fc27d5c [Taranis] Issue 134 fixed (Format instead of Delete in the SD Manager) 2013-09-06 05:18:55 +00:00
16 changed files with 161 additions and 105 deletions
+2
View File
@@ -1,5 +1,7 @@
<SVN CURRENT>
<h2>2768 / 2013-09-20</h2>
<h2>2751 / 2013-09-01</h2>
[all]
<ul>
+2
View File
@@ -1,5 +1,7 @@
<SVN CURRENT>
<h2>2768 / 2013-09-20</h2>
<h2>2751 / 2013-09-01</h2>
<ul>
<li>Fixes in translations (FR, IT, PT)</li>
+10
View File
@@ -89,6 +89,11 @@ NAVIGATION = NO
# Values = YES, NO
AUTOSWITCH = NO
# Swap Stick Inputs for AIL,ELE,RUD,THR
# Used in some scenarios where stick/pot entries
# cannot be changed by soldering the pots.
# Sources automatic selection
# Values = YES, NO
AUTOSOURCE = NO
@@ -741,6 +746,11 @@ ifeq ($(AUTOSOURCE), YES)
CPPDEFS += -DAUTOSOURCE
endif
ifeq ($(TARANIS_STICKS), YES)
CPPDEFS += -DTARANIS_STICKS
endif
ifeq ($(DBLKEYS), YES)
ifeq ($(PCB), $(filter $(PCB), 9XR 9XR128 9XR2561))
$(warning Sorry, DBLKEYS doesnt work on 9XR)
+25 -17
View File
@@ -35,7 +35,6 @@
*/
#include "opentx.h"
#include "stdio.h"
#include "inttypes.h"
#include "string.h"
@@ -702,6 +701,11 @@ const pm_char * eeRestoreModel(uint8_t i_fileDst, char *model_name)
EFile::swap(theFile.m_fileId, FILE_TMP); // s_sync_write is set to false in swap();
f_close(&g_oLogFile);
#if defined(CPUARM)
eeLoadModelHeader(i_fileDst, &modelHeaders[i_fileDst]);
#endif
return NULL;
}
#endif
@@ -894,17 +898,6 @@ void eeLoadModelName(uint8_t id, char *name)
}
}
#if defined(CPUARM)
void eeLoadModelHeader(uint8_t id, ModelHeader *header)
{
memclear(header, sizeof(ModelHeader));
if (id < MAX_MODELS) {
theFile.openRlc(FILE_MODEL(id));
theFile.readRlc((uint8_t*)header, sizeof(ModelHeader));
}
}
#endif
bool eeModelExists(uint8_t id)
{
return EFile::exists(FILE_MODEL(id));
@@ -1045,10 +1038,19 @@ void eeCheck(bool immediately)
}
#if defined(CPUARM)
void eeLoadModelHeader(uint8_t id, ModelHeader *header)
{
memclear(header, sizeof(ModelHeader));
if (id < MAX_MODELS) {
theFile.openRlc(FILE_MODEL(id));
theFile.readRlc((uint8_t*)header, sizeof(ModelHeader));
}
}
bool eeCopyModel(uint8_t dst, uint8_t src)
{
if (theFile.copy(FILE_MODEL(dst), FILE_MODEL(src))) {
memcpy(modelHeaders[dst].name, modelHeaders[src].name, sizeof(g_model.header.name));
memcpy(&modelHeaders[dst], &modelHeaders[src], sizeof(ModelHeader));
return true;
}
else {
@@ -1060,9 +1062,15 @@ void eeSwapModels(uint8_t id1, uint8_t id2)
{
EFile::swap(FILE_MODEL(id1), FILE_MODEL(id2));
char tmp[sizeof(g_model.header.name)];
memcpy(tmp, modelHeaders[id1].name, sizeof(g_model.header.name));
memcpy(modelHeaders[id1].name, modelHeaders[id2].name, sizeof(g_model.header.name));
memcpy(modelHeaders[id2].name, tmp, sizeof(g_model.header.name));
char tmp[sizeof(g_model.header)];
memcpy(tmp, &modelHeaders[id1], sizeof(ModelHeader));
memcpy(&modelHeaders[id1], &modelHeaders[id2], sizeof(ModelHeader));
memcpy(&modelHeaders[id2], tmp, sizeof(ModelHeader));
}
void eeDeleteModel(uint8_t idx)
{
EFile::rm(FILE_MODEL(idx));
memset(&modelHeaders[idx], 0, sizeof(ModelHeader));
}
#endif
+2 -2
View File
@@ -221,14 +221,14 @@ inline void eeFlush() { theFile.flush(); }
#define DISPLAY_PROGRESS_BAR(x)
#endif
#define eeDeleteModel(x) EFile::rm(FILE_MODEL(x))
#if defined(CPUARM)
bool eeCopyModel(uint8_t dst, uint8_t src);
void eeSwapModels(uint8_t id1, uint8_t id2);
void eeDeleteModel(uint8_t idx);
#else
#define eeCopyModel(dst, src) theFile.copy(FILE_MODEL(dst), FILE_MODEL(src))
#define eeSwapModels(id1, id2) EFile::swap(FILE_MODEL(id1), FILE_MODEL(id2))
#define eeDeleteModel(idx) EFile::rm(FILE_MODEL(idx))
#endif
#if defined(SDCARD)
+1 -1
View File
@@ -3,4 +3,4 @@
0x06,0x09,0x09,0x06,0x00,0x7e,0x09,0x09,0x09,0x7e,0x7f,0x49,0x49,0x4f,0x78,0x3e,0x41,0x41,0x41,0x41,0x7f,0x41,0x41,0x41,0x3e,0x7f,0x49,0x49,0x49,0x41,0x7f,0x09,0x09,0x09,0x01,0x3e,0x41,0x49,0x49,0x79,0x7f,0x08,0x08,0x08,0x7f,0x00,0x41,0x7f,0x41,0x00,0x00,0x40,0x41,0x3f,0x01,0x7f,0x08,0x14,0x22,0x41,0x7f,0x40,0x40,0x40,0x40,0x7f,0x01,0x0f,0x01,0x7f,0x7f,0x01,0x01,0x01,0x7e,0x3e,0x41,0x41,0x41,0x3e,
0x7f,0x09,0x09,0x09,0x06,0x3e,0x41,0x51,0x21,0x5e,0x7f,0x09,0x09,0x0f,0x78,0x46,0x49,0x49,0x49,0x31,0x01,0x01,0x7f,0x01,0x01,0x3f,0x40,0x40,0x40,0x3f,0x7f,0x40,0x20,0x10,0x0f,0x7f,0x40,0x30,0x40,0x7f,0x63,0x14,0x08,0x14,0x63,0x0f,0x08,0x78,0x08,0x0f,0x61,0x51,0x49,0x45,0x43,0x00,0x7f,0x41,0x41,0x00,0x02,0x04,0x08,0x10,0x20,0x00,0x41,0x41,0x7f,0x00,0x04,0x02,0x01,0x02,0x04,0x40,0x40,0x40,0x40,0x40,
0x00,0x01,0x02,0x04,0x00,0x74,0x54,0x54,0x54,0x7c,0x7f,0x44,0x44,0x44,0x7c,0x7c,0x44,0x44,0x44,0x44,0x7c,0x44,0x44,0x44,0x7f,0x7c,0x54,0x54,0x54,0x5c,0x00,0x44,0x7f,0x45,0x01,0x5c,0x54,0x54,0x54,0x7c,0x7f,0x04,0x04,0x04,0x7c,0x00,0x44,0x7d,0x40,0x00,0x00,0x40,0x44,0x3d,0x00,0x7f,0x10,0x28,0x44,0x00,0x00,0x41,0x7f,0x40,0x00,0x7c,0x04,0x1c,0x04,0x7c,0x7c,0x04,0x04,0x04,0x78,0x38,0x44,0x44,0x44,0x38,
0x7c,0x14,0x14,0x14,0x1c,0x1c,0x14,0x14,0x14,0x7c,0x7c,0x04,0x04,0x04,0x0c,0x5c,0x54,0x54,0x54,0x74,0x00,0x3f,0x44,0x40,0x00,0x7c,0x40,0x40,0x40,0x7c,0x7c,0x40,0x20,0x10,0x0c,0x7c,0x40,0x20,0x40,0x7c,0x44,0x28,0x10,0x28,0x44,0x5c,0x50,0x50,0x50,0x7c,0x44,0x64,0x54,0x4c,0x44,0x10,0x08,0x10,0x08,0x00,0x00,0x00,0x7f,0x00,0x00,0x41,0x22,0x54,0x28,0x00,0x08,0x08,0x22,0x1c,0x08,0x08,0x1c,0x22,0x08,0x08,
0x7c,0x14,0x14,0x14,0x1c,0x1c,0x14,0x14,0x14,0x7c,0x7c,0x04,0x04,0x04,0x0c,0x5c,0x54,0x54,0x54,0x74,0x00,0x3f,0x44,0x40,0x00,0x7c,0x40,0x40,0x40,0x7c,0x7c,0x40,0x20,0x10,0x0c,0x7c,0x40,0x20,0x40,0x7c,0x44,0x28,0x10,0x28,0x44,0x5c,0x50,0x50,0x50,0x7c,0x44,0x64,0x54,0x4c,0x44,0x10,0x08,0x10,0x08,0x00,0x7f,0x00,0x00,0x00,0x00,0x41,0x22,0x54,0x28,0x00,0x08,0x08,0x22,0x1c,0x08,0x08,0x1c,0x22,0x08,0x08,
Binary file not shown.

Before

Width:  |  Height:  |  Size: 936 B

After

Width:  |  Height:  |  Size: 937 B

+36 -25
View File
@@ -202,6 +202,7 @@ void menuGeneralSetup(uint8_t event)
#if defined(FAI_CHOICE)
if (s_warning_result) {
s_warning_result = 0;
g_eeGeneral.fai = true;
eeDirty(EE_GENERAL);
}
@@ -641,21 +642,7 @@ void onSdManagerMenu(const char *result)
pushMenu(menuGeneralSdManagerInfo);
}
else if (result == STR_SD_FORMAT) {
displayPopup(STR_FORMATTING);
closeLogs();
#if defined(PCBSKY9X)
Card_state = SD_ST_DATA;
#endif
#if defined(CPUARM)
audioQueue.stopSD();
#endif
if (f_mkfs(0, 1, 0) == FR_OK) {
f_chdir("/");
reusableBuffer.sdmanager.offset = -1;
}
else {
POPUP_WARNING(STR_SDCARD_ERROR);
}
POPUP_CONFIRMATION(PSTR("Confirm Format?"));
}
else if (result == STR_DELETE_FILE) {
f_getcwd(lfn, SD_SCREEN_FILE_LENGTH);
@@ -710,6 +697,27 @@ void menuGeneralSdManager(uint8_t event)
char lfn[SD_SCREEN_FILE_LENGTH];
#endif
#if defined(SDCARD)
if (s_warning_result) {
s_warning_result = 0;
displayPopup(STR_FORMATTING);
closeLogs();
#if defined(PCBSKY9X)
Card_state = SD_ST_DATA;
#endif
#if defined(CPUARM)
audioQueue.stopSD();
#endif
if (f_mkfs(0, 1, 0) == FR_OK) {
f_chdir("/");
reusableBuffer.sdmanager.offset = -1;
}
else {
POPUP_WARNING(STR_SDCARD_ERROR);
}
}
#endif
SIMPLE_MENU(SD_IS_HC() ? STR_SDHC_CARD : STR_SD_CARD, menuTabDiag, e_Sd, 1+reusableBuffer.sdmanager.count);
if (s_editMode > 0)
@@ -721,6 +729,15 @@ void menuGeneralSdManager(uint8_t event)
reusableBuffer.sdmanager.offset = 65535;
break;
#if defined(PCBTARANIS)
case EVT_KEY_LONG(KEY_MENU):
killEvents(event);
// MENU_ADD_ITEM(STR_SD_INFO); TODO: Implement
MENU_ADD_ITEM(STR_SD_FORMAT);
menuHandler = onSdManagerMenu;
break;
#endif
#if defined(PCBTARANIS)
case EVT_KEY_BREAK(KEY_ENTER):
#else
@@ -744,22 +761,16 @@ void menuGeneralSdManager(uint8_t event)
// no break;
}
#if defined(PCBTARANIS)
case EVT_KEY_LONG(KEY_MENU):
killEvents(event);
// MENU_ADD_ITEM(STR_SD_INFO); TODO: Implement
MENU_ADD_ITEM(STR_SD_FORMAT);
menuHandler = onSdManagerMenu;
break;
#endif
case EVT_KEY_LONG(KEY_ENTER):
killEvents(event);
#if !defined(PCBTARANIS)
if (m_posVert == 0) {
MENU_ADD_ITEM(STR_SD_INFO);
MENU_ADD_ITEM(STR_SD_FORMAT);
}
else {
else
#endif
{
#if defined(CPUARM)
uint8_t index = m_posVert-1-s_pgOfs;
// TODO duplicated code for finding extension
+17 -15
View File
@@ -263,6 +263,16 @@ bool listSdFiles(const char *path, const char *extension, const uint8_t maxlen,
}
#endif
#if defined(PCBTARANIS)
static int8_t modelselBitmapIdx;
static uint8_t modelselBitmap[MODEL_BITMAP_SIZE];
#define MODELSEL_W 133
#define BMP_DIRTY() modelselBitmapIdx = -1
#else
#define MODELSEL_W LCD_W
#define BMP_DIRTY()
#endif
#if defined(NAVIGATION_MENUS)
void onModelSelectMenu(const char *result)
{
@@ -308,6 +318,7 @@ void onModelSelectMenu(const char *result)
else {
// The user choosed a file on SD to restore
POPUP_WARNING(eeRestoreModel(sub, (char *)result));
BMP_DIRTY();
if (!s_warning && g_eeGeneral.currModel == sub)
eeLoadModel(sub);
}
@@ -315,12 +326,6 @@ void onModelSelectMenu(const char *result)
}
#endif
#if defined(PCBTARANIS)
#define MODELSEL_W 133
#else
#define MODELSEL_W LCD_W
#endif
void menuModelSelect(uint8_t event)
{
if (s_warning_result) {
@@ -328,6 +333,7 @@ void menuModelSelect(uint8_t event)
eeDeleteModel(m_posVert); // delete file
s_copyMode = 0;
event = EVT_ENTRY_UP;
BMP_DIRTY();
}
uint8_t _event_ = (IS_ROTARY_BREAK(event) || IS_ROTARY_LONG(event) ? 0 : event);
@@ -358,11 +364,6 @@ void menuModelSelect(uint8_t event)
}
#endif
#if defined(PCBTARANIS)
static int8_t modelselBitmapIdx;
static uint8_t modelselBitmap[MODEL_BITMAP_SIZE];
#endif
int8_t sub = m_posVert;
switch (event)
@@ -372,9 +373,7 @@ void menuModelSelect(uint8_t event)
if (sub >= LCD_LINES-1) s_pgOfs = sub-LCD_LINES+2;
s_copyMode = 0;
s_editMode = EDIT_MODE_INIT;
#if defined(PCBTARANIS)
modelselBitmapIdx = -1;
#endif
BMP_DIRTY();
eeCheck(true);
break;
case EVT_KEY_LONG(KEY_EXIT):
@@ -442,7 +441,9 @@ void menuModelSelect(uint8_t event)
uint8_t cur = (MAX_MODELS + sub + s_copyTgtOfs) % MAX_MODELS;
if (s_copyMode == COPY_MODE) {
if (!eeCopyModel(cur, s_copySrcRow))
if (eeCopyModel(cur, s_copySrcRow))
BMP_DIRTY();
else
cur = sub;
}
@@ -451,6 +452,7 @@ void menuModelSelect(uint8_t event)
uint8_t src = cur;
cur = (s_copyTgtOfs > 0 ? cur+MAX_MODELS-1 : cur+1) % MAX_MODELS;
eeSwapModels(src, cur);
BMP_DIRTY();
if (src == s_copySrcRow)
s_copySrcRow = cur;
else if (cur == s_copySrcRow)
+4 -4
View File
@@ -301,13 +301,13 @@ void displayWarning(uint8_t event);
#if defined(CPUARM)
#define DISPLAY_WARNING (*popupFunc)
#define POPUP_WARNING(s) do { s_warning = s; popupFunc = displayWarning; } while(0)
#define POPUP_CONFIRMATION(s) do { s_warning = s; s_warning_type = WARNING_TYPE_CONFIRM; popupFunc = displayWarning; } while(0)
#define POPUP_INPUT(s, func, start, min, max) do { s_warning = s; s_warning_type = WARNING_TYPE_INPUT; popupFunc = func; s_warning_input_value = start; s_warning_input_min = min; s_warning_input_max = max; } while(0)
#define POPUP_WARNING(s) (s_warning = s, popupFunc = displayWarning)
#define POPUP_CONFIRMATION(s) (s_warning = s, s_warning_type = WARNING_TYPE_CONFIRM, popupFunc = displayWarning)
#define POPUP_INPUT(s, func, start, min, max) (s_warning = s, s_warning_type = WARNING_TYPE_INPUT, popupFunc = func, s_warning_input_value = start, s_warning_input_min = min, s_warning_input_max = max)
#else
#define DISPLAY_WARNING displayWarning
#define POPUP_WARNING(s) s_warning = s
#define POPUP_CONFIRMATION(s) do { s_warning = s; s_warning_type = WARNING_TYPE_CONFIRM; } while(0)
#define POPUP_CONFIRMATION(s) (s_warning = s, s_warning_type = WARNING_TYPE_CONFIRM)
#endif
#if defined(SDCARD) || (defined(ROTARY_ENCODER_NAVIGATION) && !defined(CPUM64))
+1 -1
View File
@@ -149,7 +149,7 @@ const pm_char * openLogs()
#if defined(PCBTARANIS)
f_puts("Rud,Ele,Thr,Ail,S1,S2,LS,RS,SA,SB,SC,SD,SE,SF,SG,SH\n", &g_oLogFile);
#else
f_puts("Rud,Ele,Thr,Ail,P1,P2,P3,THR,RUD,ELE,ID0,ID1,ID2,AIL,GEA,TRN\n", &g_oLogFile);
f_puts("Rud,Ele,Thr,Ail,P1,P2,P3,THR,RUD,ELE,3POS,AIL,GEA,TRN\n", &g_oLogFile);
#endif
}
else {
+2 -1
View File
@@ -1034,7 +1034,7 @@ bool getSwitch(int8_t swtch)
}
#else
if (cs->v1 >= MIXSRC_FIRST_TELEM) {
y = (int16_t)3 * cs->v2; // it's a Timer
y = (int16_t)3 * (128+cs->v2); // it's a Timer
}
else if (cs->v1 >= MIXSRC_GVAR1) {
y = cs->v2; // it's a GVAR
@@ -2267,6 +2267,7 @@ BeepANACenter evalSticks(uint8_t mode)
if (g_model.throttleReversed && ch==THR_STICK)
v = -v;
#if defined(EXTRA_3POS)
if (i == POT1+EXTRA_3POS-1) {
+16 -1
View File
@@ -36,7 +36,12 @@
#include "../opentx.h"
uint16_t Analog_values[NUMBER_ANALOG];
volatile uint16_t Analog_values[NUMBER_ANALOG];
#if defined(TARANIS_STICKS)
const char ana_direction[NUMBER_ANALOG] = {1, 1, 0, 1 ,0 ,1 ,0, 0, 0};
#endif
// Settings for mode register ADC_MR
// USEQ off - silicon problem, doesn't work
@@ -111,4 +116,14 @@ void adcRead()
if (get_tmr10ms() >= 100 && temperature > maxTemperature) {
maxTemperature = temperature;
}
// adc direction correct
#if defined(TARANIS_STICKS)
uint32_t i ;
for (i=0; i<NUMBER_ANALOG; i++) {
if (ana_direction[i]) {
Analog_values[i] = 4096-Analog_values[i];
}
}
#endif
}
+2 -1
View File
@@ -174,6 +174,7 @@ void disable_ssc();
#define init_dsm2(port) init_main_ppm(5000, 0); init_ssc()
#define disable_dsm2(port) disable_ssc()
// SD driver
#if defined(SIMU)
#define sdInit()
@@ -206,7 +207,7 @@ void disable_ssc();
// ADC driver
void adcInit();
void adcRead(void);
extern uint16_t Analog_values[];
//extern uint16_t Analog_values[];
// Buzzer driver
void buzzerSound(uint8_t duration);
+2 -2
View File
@@ -225,8 +225,8 @@ void resetTelemetry();
#define TELEMETRY_GPS_ALT_BP frskyData.hub.gpsAltitude_bp
#define TELEMETRY_ALT frskyData.hub.baroAltitude_bp, frskyData.hub.baroAltitude_ap
#define TELEMETRY_ALT_FORMAT "%d.%02d,"
#define TELEMETRY_CELLS frskyData.hub.cellsSum / 10, frskyData.hub.cellsSum % 10
#define TELEMETRY_CELLS_FORMAT "%d.%d,"
#define TELEMETRY_CELLS frskyData.hub.cellsSum / 10, frskyData.hub.cellsSum % 10, frskyData.hub.cellVolts[0]*2/100, frskyData.hub.cellVolts[0]*2%100, frskyData.hub.cellVolts[1]*2/100, frskyData.hub.cellVolts[1]*2%100, frskyData.hub.cellVolts[2]*2/100, frskyData.hub.cellVolts[2]*2%100, frskyData.hub.cellVolts[3]*2/100, frskyData.hub.cellVolts[3]*2%100, frskyData.hub.cellVolts[4]*2/100, frskyData.hub.cellVolts[4]*2%100, frskyData.hub.cellVolts[5]*2/100, frskyData.hub.cellVolts[5]*2%100
#define TELEMETRY_CELLS_FORMAT "%d.%d,%d.%02d,%d.%02d,%d.%02d,%d.%02d,%d.%02d,%d.%02d,"
#define TELEMETRY_CURRENT frskyData.hub.current / 100, frskyData.hub.current % 100
#define TELEMETRY_CURRENT_FORMAT "%d.%02d,"
#define TELEMETRY_VFAS frskyData.hub.vfas / 10, frskyData.hub.vfas % 10
+39 -35
View File
@@ -18,7 +18,7 @@
# ffmpeg, sox, adconvertor ttscmd (2cnd speach centre)
# have fun!
# Sound pack maintainers (incomplete list) by language alphabetical order
# Czeck : Martin Hotar
# Czech : Martin Hotar
# French : Bertrand Songis & André Bernet
# English : Rob Thompson & Martin Hotar
# German : Romolo Manfredini (Some corrections by Peer)
@@ -171,8 +171,8 @@ def ttsEn():
(u"time up!", "timerlt3", NO_ALTERNATE),
(u"A1,low", "a1_org", NO_ALTERNATE),
(u"A1,critical", "a1_red", NO_ALTERNATE),
(u"A2,low", "a1_org", NO_ALTERNATE),
(u"A2,critical", "a1_red", NO_ALTERNATE),
(u"A2,low", "a2_org", NO_ALTERNATE),
(u"A2,critical", "a2_red", NO_ALTERNATE),
(u"RF signal, low", "rssi_org", NO_ALTERNATE),
(u"RF signal, critical", "rssi_red", NO_ALTERNATE),
(u"radio antenna defective", "swr_red", NO_ALTERNATE),
@@ -609,7 +609,7 @@ def ttsCz():
u"otáčka za minutu", u"otáčky za minutu", u"otáček za minutu", u"otáčky za minutu",
u"gé", u"gé", u"gé", u"gé"]):
systemSounds.append((s, filename(PROMPT_SYSTEM_BASE+118+i)))
for s, f, a in [(u"střed trimu", "midtrim", 495),
(u"maximum trimu", "endtrim", NO_ALTERNATE),
(u"baterie rádia je vybitá", "lowbatt", 485),
@@ -620,38 +620,42 @@ def ttsCz():
(u"Oupn najn iks", "tada", 480),
(u"dvacet sekund", "timer20", 500),
(u"třicet sekund", "timer30", 501),
(u"deset sekund", "timer10", NO_ALTERNATE),
(u"time up!", "timerlt3", NO_ALTERNATE),
(u"A1,nízká", "a1_org", NO_ALTERNATE),
(u"A1,kritická", "a1_red", NO_ALTERNATE),
(u"A2,nízká", "a2_org", NO_ALTERNATE),
(u"A2,kritická", "a2_red", NO_ALTERNATE),
(u"nízký RF signál", "rssi_org", NO_ALTERNATE),
(u"kritický RF signál", "rssi_red", NO_ALTERNATE),
(u"problém s anténou rádia", "swr_red", NO_ALTERNATE),
(u"telemetrie ztracena", "telemko", NO_ALTERNATE),
(u"telemetrie je funkční", "telemok", NO_ALTERNATE),
]:
systemSounds.append((s, filename(f, a)))
for i, (s, f) in enumerate([
(u"podvozek je zasunut", "gearup"),
(u"podvozek je vysunut", "geardn"),
(u"klapky jsou zapnuty", "flapup"),
(u"klapky jsou vypnuty", "flapdn"),
(u"přistání", "attero"),
(u"trenér je zapnutý", "trnon"),
(u"trenér je vypnutý", "trnoff"),
(u"motor je vypnutý", "engoff"),
(u"jsi příliš vysoko", "tohigh"),
(u"jsi příliš nízko", "tolow"),
(u"vybitá baterie", "lowbat"),
(u"krou zapnutý", "crowon"),
(u"krou vypnutý", "crowof"),
(u"nízký signál!", "siglow"),
(u"kritický signál!", "sigcrt"),
(u"rychlý mód aktivován", "spdmod"),
(u"termický mód aktivován", "thmmod"),
(u"normální mód aktivován", "nrmmod"),
(u"režim jedna", "fm-1"),
(u"režim dva", "fm-2"),
(u"režim tři", "fm-3"),
(u"režim čtyři", "fm-4"),
(u"režim pět", "fm-5"),
(u"režim šest", "fm-6"),
(u"režim sedum", "fm-7"),
(u"režim osm", "fm-8"),
(u"vario!, zapnuto", "vrion"),
(u"vario!, vypnuto", "vrioff"),
(u"podvozek je zasunut", "podvozek0"),
(u"podvozek je vysunut", "podvozek1"),
(u"klapky jsou zapnuty", "klapky1"),
(u"klapky jsou vypnuty", "klapky0"),
(u"trenér je zapnut", "trener1"),
(u"trenér je vypnutý", "trener0"),
(u"motor je vypnut", "motor0"),
(u"motor je aktivován", "motor1"),
(u"jsi příliš vysoko", "vysoko"),
(u"jsi příliš nízko", "nizko"),
(u"baterie modelu je vybitá", "bytvybita"),
(u"dochází palivo", "palivo"),
(u"nízký signál!", "nsignal"),
(u"kritický signál!", "ksignal"),
(u"rychlý režim aktivován", "r_rychly"),
(u"termický režim aktivován", "r_termik"),
(u"normální režim aktivován", "r_norm"),
(u"režim start aktivován", "r_start"),
(u"režim přistání aktivován", "r_pristani"),
(u"vario je zapnuto", "vario0"),
(u"vario je vypnuto", "vario1"),
(u"start povolen", "stpovolen"),
]):
sounds.append((s, filename(f, PROMPT_CUSTOM_BASE+i)))
return systemSounds, sounds
@@ -811,14 +815,14 @@ if __name__ == "__main__":
if board in ("sky9x", "taranis"):
l += u"SOUNDS/%s/SYSTEM;" % directory
l += f + u";" + s + u"\n"
csvFile.write(l.encode("latin-1"))
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("latin-1"))
csvFile.write(l.encode("utf-8"))
csvFile.close()
if "zip" in sys.argv: