Compare commits
16 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| d047e24626 | |||
| 3d603143dd | |||
| 121dad121c | |||
| 95a1fd273b | |||
| 05e46242b0 | |||
| c163e2513b | |||
| bbb2b25ac8 | |||
| dc29a32f02 | |||
| cefd7ee08c | |||
| 8af733fb3d | |||
| 1cb4834c38 | |||
| cb28cccf50 | |||
| 498323a8e2 | |||
| a518696cad | |||
| 8429ab57b3 | |||
| 740fc27d5c |
@@ -1,5 +1,7 @@
|
||||
<SVN CURRENT>
|
||||
|
||||
<h2>2768 / 2013-09-20</h2>
|
||||
|
||||
<h2>2751 / 2013-09-01</h2>
|
||||
[all]
|
||||
<ul>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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
@@ -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
@@ -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)
|
||||
|
||||
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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) {
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user