Merge branch 'next' of https://github.com/opentx/opentx into kilrah/Switch_and_pot_warnings

Conflicts:
	radio/src/translations/es.h.txt
	radio/src/translations/fr.h.txt
	radio/src/translations/pl.h.txt
	radio/src/translations/se.h.txt
This commit is contained in:
Andre Bernet
2014-02-03 17:15:08 +01:00
37 changed files with 30705 additions and 29992 deletions
+2
View File
@@ -310,3 +310,5 @@ Ronald Donker
Paul Oldenkamp
Dietmar Drees
Bradley Murchie
Richard Fahie
James Kaufman
@@ -77,6 +77,7 @@ inline int geteepromsize() {
#include "radio/src/targets/taranis/pulses_driver.cpp"
#include "radio/src/targets/taranis/rtc_driver.cpp"
#include "radio/src/targets/taranis/trainer_driver.cpp"
#include "radio/src/targets/taranis/uart3_driver.cpp"
#include "radio/src/protocols/pulses_arm.cpp"
#include "radio/src/stamp.cpp"
#include "radio/src/maths.cpp"
+2 -2
View File
@@ -48,8 +48,8 @@ void populateGvSourceCB(QComboBox *b, int value)
void populateVoiceLangCB(QComboBox *b, QString language)
{
QString strings[] = { QObject::tr("English"), QObject::tr("French"), QObject::tr("Italian"), QObject::tr("German"), QObject::tr("Czech"), QObject::tr("Slovak"), QObject::tr("Spanish"), QObject::tr("Portuguese"), QObject::tr("Swedish"), NULL};
QString langcode[] = { "en", "fr", "it", "de", "cz", "sk", "es", "pt", "se", NULL};
QString strings[] = { QObject::tr("English"), QObject::tr("French"), QObject::tr("Italian"), QObject::tr("German"), QObject::tr("Czech"), QObject::tr("Slovak"), QObject::tr("Spanish"), QObject::tr("Polish"), QObject::tr("Portuguese"), QObject::tr("Swedish"), NULL};
QString langcode[] = { "en", "fr", "it", "de", "cz", "sk", "es", "pl", "pt", "se", NULL};
b->clear();
for (int i=0; strings[i]!=NULL; i++) {
Binary file not shown.

Before

Width:  |  Height:  |  Size: 88 KiB

After

Width:  |  Height:  |  Size: 88 KiB

+34 -32
View File
@@ -555,6 +555,7 @@ QPushButton:checked {
border-radius: 4px;
border-color: black;
padding: 2px;
}
QPushButton:checked {
@@ -1262,7 +1263,7 @@ QPushButton:checked {
<item>
<widget class="QLabel" name="labelCSW_1">
<property name="text">
<string>CS1</string>
<string>LS1</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -1293,7 +1294,7 @@ QPushButton:checked {
<item>
<widget class="QLabel" name="labelCSW_2">
<property name="text">
<string>CS2</string>
<string>LS2</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -1324,7 +1325,7 @@ QPushButton:checked {
<item>
<widget class="QLabel" name="labelCSW_3">
<property name="text">
<string>CS3</string>
<string>LS3</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -1355,7 +1356,7 @@ QPushButton:checked {
<item>
<widget class="QLabel" name="labelCSW_4">
<property name="text">
<string>CS4</string>
<string>LS4</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -1386,7 +1387,7 @@ QPushButton:checked {
<item>
<widget class="QLabel" name="labelCSW_5">
<property name="text">
<string>CS5</string>
<string>LS5</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -1417,7 +1418,7 @@ QPushButton:checked {
<item>
<widget class="QLabel" name="labelCSW_6">
<property name="text">
<string>CS6</string>
<string>LS6</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -1448,7 +1449,7 @@ QPushButton:checked {
<item>
<widget class="QLabel" name="labelCSW_7">
<property name="text">
<string>CS7</string>
<string>LS7</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -1479,7 +1480,7 @@ QPushButton:checked {
<item>
<widget class="QLabel" name="labelCSW_8">
<property name="text">
<string>CS8</string>
<string>LS8</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -1510,7 +1511,7 @@ QPushButton:checked {
<item>
<widget class="QLabel" name="labelCSW_9">
<property name="text">
<string>CS9</string>
<string>LS9</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -1541,7 +1542,7 @@ QPushButton:checked {
<item>
<widget class="QLabel" name="labelCSW_10">
<property name="text">
<string>CSA</string>
<string>LSA</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -1572,7 +1573,7 @@ QPushButton:checked {
<item>
<widget class="QLabel" name="labelCSW_11">
<property name="text">
<string>CSB</string>
<string>LSB</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -1603,7 +1604,7 @@ QPushButton:checked {
<item>
<widget class="QLabel" name="labelCSW_12">
<property name="text">
<string>CSC</string>
<string>LSC</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -1634,7 +1635,7 @@ QPushButton:checked {
<item>
<widget class="QLabel" name="labelCSW_13">
<property name="text">
<string>CSD</string>
<string>LSD</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -1665,7 +1666,7 @@ QPushButton:checked {
<item>
<widget class="QLabel" name="labelCSW_14">
<property name="text">
<string>CSE</string>
<string>LSE</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -1696,7 +1697,7 @@ QPushButton:checked {
<item>
<widget class="QLabel" name="labelCSW_15">
<property name="text">
<string>CSF</string>
<string>LSF</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -1727,7 +1728,7 @@ QPushButton:checked {
<item>
<widget class="QLabel" name="labelCSW_16">
<property name="text">
<string>CSG</string>
<string>LSG</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -1758,7 +1759,7 @@ QPushButton:checked {
<item>
<widget class="QLabel" name="labelCSW_17">
<property name="text">
<string>CSH</string>
<string>LSH</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -1789,7 +1790,7 @@ QPushButton:checked {
<item>
<widget class="QLabel" name="labelCSW_18">
<property name="text">
<string>CSI</string>
<string>LSI</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -1820,7 +1821,7 @@ QPushButton:checked {
<item>
<widget class="QLabel" name="labelCSW_19">
<property name="text">
<string>CSJ</string>
<string>LSJ</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -1851,7 +1852,7 @@ QPushButton:checked {
<item>
<widget class="QLabel" name="labelCSW_20">
<property name="text">
<string>CSK</string>
<string>LSK</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -1882,7 +1883,7 @@ QPushButton:checked {
<item>
<widget class="QLabel" name="labelCSW_21">
<property name="text">
<string>CSL</string>
<string>LSL</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -1913,7 +1914,7 @@ QPushButton:checked {
<item>
<widget class="QLabel" name="labelCSW_22">
<property name="text">
<string>CSM</string>
<string>LSM</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -1944,7 +1945,7 @@ QPushButton:checked {
<item>
<widget class="QLabel" name="labelCSW_23">
<property name="text">
<string>CSN</string>
<string>LSN</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -1975,7 +1976,7 @@ QPushButton:checked {
<item>
<widget class="QLabel" name="labelCSW_24">
<property name="text">
<string>CSO</string>
<string>LSO</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -2006,7 +2007,7 @@ QPushButton:checked {
<item>
<widget class="QLabel" name="labelCSW_25">
<property name="text">
<string>CSP</string>
<string>LSP</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -2037,7 +2038,7 @@ QPushButton:checked {
<item>
<widget class="QLabel" name="labelCSW_26">
<property name="text">
<string>CSQ</string>
<string>LSQ</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -2068,7 +2069,7 @@ QPushButton:checked {
<item>
<widget class="QLabel" name="labelCSW_27">
<property name="text">
<string>CSR</string>
<string>LSR</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -2099,7 +2100,7 @@ QPushButton:checked {
<item>
<widget class="QLabel" name="labelCSW_28">
<property name="text">
<string>CSS</string>
<string>LSS</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -2130,7 +2131,7 @@ QPushButton:checked {
<item>
<widget class="QLabel" name="labelCSW_29">
<property name="text">
<string>CST</string>
<string>LST</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -2161,7 +2162,7 @@ QPushButton:checked {
<item>
<widget class="QLabel" name="labelCSW_30">
<property name="text">
<string>CSU</string>
<string>LSU</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -2192,7 +2193,7 @@ QPushButton:checked {
<item>
<widget class="QLabel" name="labelCSW_31">
<property name="text">
<string>CSV</string>
<string>LSV</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -2223,7 +2224,7 @@ QPushButton:checked {
<item>
<widget class="QLabel" name="labelCSW_32">
<property name="text">
<string>CSW</string>
<string>LSW</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -3052,6 +3053,7 @@ border-radius: 4px;
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>50</width>
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+33 -32
View File
@@ -2311,6 +2311,7 @@ border-radius: 4px;
</widget>
</item>
<item row="4" column="4">
<widget class="QSlider" name="chnout_13">
<property name="enabled">
<bool>false</bool>
@@ -2893,7 +2894,7 @@ border-radius: 4px;
<item>
<widget class="QLabel" name="labelCSW_20">
<property name="text">
<string>CSK</string>
<string>LSK</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -2924,7 +2925,7 @@ border-radius: 4px;
<item>
<widget class="QLabel" name="labelCSW_12">
<property name="text">
<string>CSC</string>
<string>LSC</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -2955,7 +2956,7 @@ border-radius: 4px;
<item>
<widget class="QLabel" name="labelCSW_13">
<property name="text">
<string>CSD</string>
<string>LSD</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -2986,7 +2987,7 @@ border-radius: 4px;
<item>
<widget class="QLabel" name="labelCSW_7">
<property name="text">
<string>CS7</string>
<string>LS7</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -3017,7 +3018,7 @@ border-radius: 4px;
<item>
<widget class="QLabel" name="labelCSW_21">
<property name="text">
<string>CSL</string>
<string>LSL</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -3048,7 +3049,7 @@ border-radius: 4px;
<item>
<widget class="QLabel" name="labelCSW_11">
<property name="text">
<string>CSB</string>
<string>LSB</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -3079,7 +3080,7 @@ border-radius: 4px;
<item>
<widget class="QLabel" name="labelCSW_1">
<property name="text">
<string>CS1</string>
<string>LS1</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -3110,7 +3111,7 @@ border-radius: 4px;
<item>
<widget class="QLabel" name="labelCSW_17">
<property name="text">
<string>CSH</string>
<string>LSH</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -3141,7 +3142,7 @@ border-radius: 4px;
<item>
<widget class="QLabel" name="labelCSW_16">
<property name="text">
<string>CSG</string>
<string>LSG</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -3172,7 +3173,7 @@ border-radius: 4px;
<item>
<widget class="QLabel" name="labelCSW_14">
<property name="text">
<string>CSE</string>
<string>LSE</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -3203,7 +3204,7 @@ border-radius: 4px;
<item>
<widget class="QLabel" name="labelCSW_15">
<property name="text">
<string>CSF</string>
<string>LSF</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -3234,7 +3235,7 @@ border-radius: 4px;
<item>
<widget class="QLabel" name="labelCSW_8">
<property name="text">
<string>CS8</string>
<string>LS8</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -3265,7 +3266,7 @@ border-radius: 4px;
<item>
<widget class="QLabel" name="labelCSW_9">
<property name="text">
<string>CS9</string>
<string>LS9</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -3296,7 +3297,7 @@ border-radius: 4px;
<item>
<widget class="QLabel" name="labelCSW_10">
<property name="text">
<string>CSA</string>
<string>LSA</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -3327,7 +3328,7 @@ border-radius: 4px;
<item>
<widget class="QLabel" name="labelCSW_22">
<property name="text">
<string>CSM</string>
<string>LSM</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -3358,7 +3359,7 @@ border-radius: 4px;
<item>
<widget class="QLabel" name="labelCSW_19">
<property name="text">
<string>CSJ</string>
<string>LSJ</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -3389,7 +3390,7 @@ border-radius: 4px;
<item>
<widget class="QLabel" name="labelCSW_18">
<property name="text">
<string>CSI</string>
<string>LSI</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -3420,7 +3421,7 @@ border-radius: 4px;
<item>
<widget class="QLabel" name="labelCSW_4">
<property name="text">
<string>CS4</string>
<string>LS4</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -3451,7 +3452,7 @@ border-radius: 4px;
<item>
<widget class="QLabel" name="labelCSW_5">
<property name="text">
<string>CS5</string>
<string>LS5</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -3482,7 +3483,7 @@ border-radius: 4px;
<item>
<widget class="QLabel" name="labelCSW_2">
<property name="text">
<string>CS2</string>
<string>LS2</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -3513,7 +3514,7 @@ border-radius: 4px;
<item>
<widget class="QLabel" name="labelCSW_3">
<property name="text">
<string>CS3</string>
<string>LS3</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -3544,7 +3545,7 @@ border-radius: 4px;
<item>
<widget class="QLabel" name="labelCSW_6">
<property name="text">
<string>CS6</string>
<string>LS6</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -3575,7 +3576,7 @@ border-radius: 4px;
<item>
<widget class="QLabel" name="labelCSW_23">
<property name="text">
<string>CSN</string>
<string>LSN</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -3606,7 +3607,7 @@ border-radius: 4px;
<item>
<widget class="QLabel" name="labelCSW_24">
<property name="text">
<string>CSO</string>
<string>LSO</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -3637,7 +3638,7 @@ border-radius: 4px;
<item>
<widget class="QLabel" name="labelCSW_25">
<property name="text">
<string>CSP</string>
<string>LSP</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -3668,7 +3669,7 @@ border-radius: 4px;
<item>
<widget class="QLabel" name="labelCSW_26">
<property name="text">
<string>CSQ</string>
<string>LSQ</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -3699,7 +3700,7 @@ border-radius: 4px;
<item>
<widget class="QLabel" name="labelCSW_27">
<property name="text">
<string>CSR</string>
<string>LSR</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -3730,7 +3731,7 @@ border-radius: 4px;
<item>
<widget class="QLabel" name="labelCSW_28">
<property name="text">
<string>CSS</string>
<string>LSS</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -3761,7 +3762,7 @@ border-radius: 4px;
<item>
<widget class="QLabel" name="labelCSW_29">
<property name="text">
<string>CST</string>
<string>LST</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -3792,7 +3793,7 @@ border-radius: 4px;
<item>
<widget class="QLabel" name="labelCSW_30">
<property name="text">
<string>CSU</string>
<string>LSU</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -3823,7 +3824,7 @@ border-radius: 4px;
<item>
<widget class="QLabel" name="labelCSW_31">
<property name="text">
<string>CSV</string>
<string>LSV</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -3854,7 +3855,7 @@ border-radius: 4px;
<item>
<widget class="QLabel" name="labelCSW_32">
<property name="text">
<string>CSW</string>
<string>LSW</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
+1 -1
View File
@@ -620,7 +620,7 @@ ifeq ($(PCB), TARANIS)
EEPROMSRC = eeprom_common.cpp eeprom_rlc.cpp eeprom_conversions.cpp
PULSESSRC = protocols/pulses_arm.cpp protocols/ppm_arm.cpp protocols/pxx_arm.cpp
CPPSRC += audio_arm.cpp
CPPSRC += targets/taranis/pwr_driver.cpp targets/taranis/pulses_driver.cpp targets/taranis/keys_driver.cpp targets/taranis/adc_driver.cpp targets/taranis/trainer_driver.cpp targets/taranis/audio_driver.cpp targets/taranis/delays.cpp targets/taranis/uart_driver.cpp targets/taranis/sport_driver.cpp
CPPSRC += targets/taranis/pwr_driver.cpp targets/taranis/pulses_driver.cpp targets/taranis/keys_driver.cpp targets/taranis/adc_driver.cpp targets/taranis/trainer_driver.cpp targets/taranis/audio_driver.cpp targets/taranis/delays.cpp targets/taranis/uart3_driver.cpp targets/taranis/sport_driver.cpp
CPPSRC += bmp.cpp gui/view_channels.cpp gui/view_about.cpp gui/view_text.cpp
SRC += targets/taranis/STM32F2xx_StdPeriph_Lib_V1.1.0/Libraries/CMSIS/Device/ST/STM32F2xx/Source/Templates/system_stm32f2xx.c
SRC += targets/taranis/STM32F2xx_StdPeriph_Lib_V1.1.0/Libraries/STM32F2xx_StdPeriph_Driver/src/misc.c
+4 -1
View File
@@ -679,6 +679,9 @@ void AudioQueue::playFile(const char *filename, uint8_t flags, uint8_t id)
if (!sdMounted())
return;
if (g_eeGeneral.beepMode == e_mode_quiet)
return;
if (strlen(filename) > AUDIO_FILENAME_MAXLEN) {
POPUP_WARNING(STR_PATH_TOO_LONG);
return;
@@ -870,7 +873,7 @@ void audioEvent(uint8_t e, uint16_t f)
break;
// timer == 0
case AU_TIMER_00:
audioQueue.play(BEEP_DEFAULT_FREQ+150, 240, 20, PLAY_NOW);
audioQueue.play(BEEP_DEFAULT_FREQ+150, 300, 20, PLAY_NOW);
break;
// timer <= 10 seconds left
case AU_TIMER_LT10:
-1
View File
@@ -73,7 +73,6 @@ inline void dump(unsigned char *data, unsigned int size)
extern "C" {
#endif
void debugPutc(const char c);
void debugPuts(const char *string, ...);
void dump(unsigned char *data, unsigned int size);
+9 -5
View File
@@ -1200,8 +1200,12 @@ void menuGeneralHardware(uint8_t event)
}
case ITEM_SETUP_HW_UART3_MODE:
g_eeGeneral.hw_uartMode = selectMenuItem(HW_SETTINGS_COLUMN, y, STR_UART3MODE, STR_UART3MODES, g_eeGeneral.hw_uartMode, 0, 2, attr, event);
g_eeGeneral.uart3Mode = selectMenuItem(HW_SETTINGS_COLUMN, y, STR_UART3MODE, STR_UART3MODES, g_eeGeneral.uart3Mode, 0, UART_MODE_MAX, attr, event);
if (checkIncDec_Ret) {
uart3Init(g_eeGeneral.uart3Mode);
}
break;
}
}
@@ -1301,7 +1305,7 @@ void menuCommonCalib(uint8_t event)
else {
if (reusableBuffer.calib.xpotsCalib[idx].lastCount < 255) reusableBuffer.calib.xpotsCalib[idx].lastCount++;
}
if (reusableBuffer.calib.xpotsCalib[idx].lastCount == 8/*80ms*/) {
if (reusableBuffer.calib.xpotsCalib[idx].lastCount == 10/*100ms*/) {
int16_t position = reusableBuffer.calib.xpotsCalib[idx].lastPosition;
bool found = false;
for (int j=0; j<count; j++) {
@@ -1314,9 +1318,6 @@ void menuCommonCalib(uint8_t event)
if (count < POTS_POS_COUNT) {
reusableBuffer.calib.xpotsCalib[idx].steps[count] = position;
}
else {
g_eeGeneral.potsType &= !(1<<idx);
}
reusableBuffer.calib.xpotsCalib[idx].stepsCount += 1;
}
}
@@ -1400,6 +1401,9 @@ void menuCommonCalib(uint8_t event)
calib->steps[j] = (reusableBuffer.calib.xpotsCalib[idx].steps[j+1] + reusableBuffer.calib.xpotsCalib[idx].steps[j]) >> 5;
}
}
else {
g_eeGeneral.potsType &= ~(1<<idx);
}
}
#endif
g_eeGeneral.chkSum = evalChkSum();
+12 -1
View File
@@ -243,9 +243,20 @@ enum BeeperMode {
#endif
#if defined(PCBTARANIS)
enum uartModes {
UART_MODE_NONE,
UART_MODE_SPORT,
// UART_MODE_VIRTUAL_SP2UART,
#if defined(DEBUG)
UART_MODE_DEBUG,
#endif
UART_MODE_COUNT,
UART_MODE_MAX = UART_MODE_COUNT-1
};
#define EXTRA_GENERAL_FIELDS \
EXTRA_GENERAL_FIELDS_ARM \
uint8_t hw_uartMode; \
uint8_t uart3Mode; \
uint8_t potsType;
#elif defined(CPUARM)
#define EXTRA_GENERAL_FIELDS EXTRA_GENERAL_FIELDS_ARM
+31 -15
View File
@@ -2594,7 +2594,7 @@ void getADC()
#if defined(PCBTARANIS)
if (s_noScroll) v = temp[x] >> 1;
StepsCalibData * calib = (StepsCalibData *) &g_eeGeneral.calib[x];
if (IS_MULTIPOS_POT(x) && calib->count>0 && calib->count<POTS_POS_COUNT) {
if (!s_noScroll && IS_MULTIPOS_POT(x) && calib->count>0 && calib->count<POTS_POS_COUNT) {
uint8_t vShifted = (v >> 4);
s_anaFilt[x] = 2*RESX;
for (int i=0; i<calib->count; i++) {
@@ -3110,8 +3110,10 @@ uint8_t mSwitchDuration[1+NUM_ROTARY_ENCODERS] = { 0 };
#endif
#if defined(CPUARM)
#define VOLUME_HYSTERESIS 10 // how much must a input value change to actually be considered for new volume setting
uint8_t currentSpeakerVolume = 255;
uint8_t requiredSpeakerVolume;
getvalue_t requiredSpeakerVolumeRawLast = 1024 + 1; //initial value must be outside normal range
uint8_t fnSwitchDuration[NUM_CFN] = { 0 };
inline void playCustomFunctionFile(CustomFnData *sd, uint8_t id)
@@ -3337,7 +3339,12 @@ void evalFunctions()
}
else if (CFN_FUNC(sd) == FUNC_VOLUME) {
if (CFN_ACTIVE(sd)) {
requiredSpeakerVolume = ((1024 + getValue(CFN_PARAM(sd))) * VOLUME_LEVEL_MAX) / 2048;
getvalue_t raw = getValue(CFN_PARAM(sd));
//only set volume if input changed more than hysteresis
if (abs(requiredSpeakerVolumeRawLast - raw) > VOLUME_HYSTERESIS) {
requiredSpeakerVolumeRawLast = raw;
}
requiredSpeakerVolume = ((1024 + requiredSpeakerVolumeRawLast) * VOLUME_LEVEL_MAX) / 2048;
}
else {
active = false;
@@ -3870,15 +3877,6 @@ void doMixerCalculations()
s_last_phase = phase;
}
if (tick10ms) {
#if defined(CPUARM)
requiredSpeakerVolume = g_eeGeneral.speakerVolume + VOLUME_LEVEL_DEF;
#endif
// the reason this needs to be done before limits is the applyLimit function; it checks for safety switches which would be not initialized otherwise
evalFunctions();
}
int32_t weight = 0;
if (s_fade_flight_phases) {
memclear(sum_chans512, sizeof(sum_chans512));
@@ -3886,7 +3884,7 @@ void doMixerCalculations()
s_last_switch_used = 0;
if (s_fade_flight_phases & ((ACTIVE_PHASES_TYPE)1 << p)) {
s_perout_flight_phase = p;
perOut(p==phase?e_perout_mode_normal:e_perout_mode_inactive_phase, p==phase?tick10ms:0);
perOut(p==phase ? e_perout_mode_normal : e_perout_mode_inactive_phase, p==phase ? tick10ms : 0);
for (uint8_t i=0; i<NUM_CHNOUT; i++)
sum_chans512[i] += (chans[i] >> 4) * fp_act[p];
weight += fp_act[p];
@@ -3900,7 +3898,17 @@ void doMixerCalculations()
s_perout_flight_phase = phase;
perOut(e_perout_mode_normal, tick10ms);
}
//========== FUNCTIONS ===============
// must be done after mixing because some functions use the inputs/channels values
// must be done before limits because of the applyLimit function: it checks for safety switches which would be not initialized otherwise
if (tick10ms) {
#if defined(CPUARM)
requiredSpeakerVolume = g_eeGeneral.speakerVolume + VOLUME_LEVEL_DEF;
#endif
evalFunctions();
}
//========== LIMITS ===============
for (uint8_t i=0; i<NUM_CHNOUT; i++) {
// chans[i] holds data from mixer. chans[i] = v*weight => 1024*256
@@ -4056,7 +4064,10 @@ void doMixerCalculations()
switch(timerState->state)
{
case TMR_RUNNING:
if (tv && newTimerVal>=(int16_t)tv) timerState->state = TMR_NEGATIVE;
if (tv && newTimerVal>=(int16_t)tv) {
AUDIO_TIMER_00(g_model.timers[i].countdownBeep);
timerState->state = TMR_NEGATIVE;
}
break;
case TMR_NEGATIVE:
if (newTimerVal >= (int16_t)tv + MAX_ALERT_TIME) timerState->state = TMR_STOPPED;
@@ -4071,7 +4082,6 @@ void doMixerCalculations()
if (g_model.timers[i].countdownBeep && g_model.timers[i].start) {
if (newTimerVal==30) AUDIO_TIMER_30();
if (newTimerVal==20) AUDIO_TIMER_20();
if (newTimerVal==00) AUDIO_TIMER_00(g_model.timers[i].countdownBeep);
if (newTimerVal<=10) AUDIO_TIMER_LT10(g_model.timers[i].countdownBeep, newTimerVal);
}
if (g_model.timers[i].minuteBeep && (newTimerVal % 60)==0) {
@@ -5056,11 +5066,17 @@ inline void opentxInit(OPENTX_INIT_ARGS)
lcdSetContrast();
backlightOn();
#if defined(PCBTARANIS)
uart3Init(g_eeGeneral.uart3Mode);
#endif
#if defined(CPUARM)
init_trainer_capture();
#endif
#if !defined(CPUARM)
doMixerCalculations();
#endif
startPulses();
+1
View File
@@ -632,6 +632,7 @@ void lcdRefresh()
#if defined(PCBTARANIS)
void usbStart() { }
void USART_DeInit(USART_TypeDef* ) { }
ErrorStatus RTC_SetTime(uint32_t RTC_Format, RTC_TimeTypeDef* RTC_TimeStruct) { return SUCCESS; }
ErrorStatus RTC_SetDate(uint32_t RTC_Format, RTC_DateTypeDef* RTC_DateStruct) { return SUCCESS; }
void RTC_GetTime(uint32_t RTC_Format, RTC_TimeTypeDef* RTC_TimeStruct) { }
+1
View File
@@ -406,4 +406,5 @@ extern char simuSdDirectory[1024];
#define SD_GET_SIZE_MB() (0)
#define SD_GET_SPEED() (0)
#endif
+3
View File
@@ -258,4 +258,7 @@ void rotencEnd();
#define rotencDown() 0
#endif
// Debug driver
void debugPutc(const char c);
#endif
@@ -192,9 +192,6 @@ void boardInit()
adcInit();
delaysInit();
audioInit();
#if defined(DEBUG)
uartInit(DEBUG_UART_BAUDRATE);
#endif
init5msTimer();
__enable_irq();
eepromInit();
+5 -3
View File
@@ -77,11 +77,11 @@ extern uint16_t sessionTimer;
void delaysInit();
#define DEBUG_UART_BAUDRATE 115200
#define DEBUG_BAUDRATE 115200
#define SPORT_BAUDRATE 57600
void uartInit(uint32_t baudrate);
void uartPutc(const char c);
void uart3Init(unsigned int mode);
void uart3Putc(const char c);
void sportInit(void);
@@ -183,6 +183,8 @@ bool usbPlugged(void);
void eeWriteBlockCmp(const void *pointer_ram, uint16_t pointer_eeprom, size_t size);
#endif
// Debug driver
void debugPutc(const char c);
extern uint8_t currentTrainerMode;
@@ -36,7 +36,7 @@
#include "../../opentx.h"
void uartInit(uint32_t baudrate)
void uart3Setup(unsigned int baudrate)
{
USART_InitTypeDef USART_InitStructure;
GPIO_InitTypeDef GPIO_InitStructure;
@@ -69,22 +69,47 @@ void uartInit(uint32_t baudrate)
USART_ITConfig(UART3, USART_IT_TXE, DISABLE);
NVIC_EnableIRQ(USART3_IRQn);
NVIC_SetPriority(USART3_IRQn, 8);
NVIC_SetPriority(USART3_IRQn, 7);
}
void uart3Init(unsigned int mode)
{
USART_DeInit(USART3);
switch(mode) {
case UART_MODE_SPORT:
uart3Setup(SPORT_BAUDRATE);
break;
#if defined(DEBUG)
case UART_MODE_DEBUG:
uart3Setup(DEBUG_BAUDRATE);
break;
#endif
}
}
Fifo<512> uart3TxFifo;
void uart3Putc(const char c)
{
uart3TxFifo.push(c);
USART_ITConfig(UART3, USART_IT_TXE, ENABLE);
}
#if defined(DEBUG)
Fifo<512> debugTxFifo;
void debugPutc(const char c)
{
debugTxFifo.push(c);
USART_ITConfig(UART3, USART_IT_TXE, ENABLE);
if (g_eeGeneral.uart3Mode == UART_MODE_DEBUG) {
uart3Putc(c);
}
}
#endif
extern "C" void USART3_IRQHandler(void)
{
if (USART_GetITStatus(UART3, USART_IT_TXE) != RESET) {
uint8_t txchar;
if (debugTxFifo.pop(txchar)) {
if (uart3TxFifo.pop(txchar)) {
/* Write one byte to the transmit data register */
USART_SendData(UART3, txchar);
}
@@ -93,4 +118,3 @@ extern "C" void USART3_IRQHandler(void)
}
}
}
#endif
+4
View File
@@ -526,6 +526,10 @@ void processSerialData(uint8_t data)
btPushByte(data);
#endif
if (g_eeGeneral.uart3Mode == UART_MODE_SPORT) {
uart3Putc(data);
}
if (data == START_STOP) {
dataState = STATE_DATA_IN_FRAME;
numPktBytes = 0;
+14 -11
View File
@@ -69,7 +69,10 @@
#define TR_TRNCHN "CH1CH2CH3CH4"
#define LEN_UART3MODES "\017"
#define TR_UART3MODES "OFF\0 ""SPORT Mirror\0 ""Virtual SP2UART"
#define TR_UART3MODES "OFF\0 ""S-Port Mirror\0 ""Debug\0 "
#define LEN_POTTYPES "\017"
#define TR_POTTYPES "Pot\0 ""Multipos Switch"
#define LEN_DATETIME "\006"
#define TR_DATETIME "DATUM:""ČAS: "
@@ -545,16 +548,16 @@
#define TR_MENUFLIGHTPHASES "LETOVÉ REŽIMY"
#define TR_MENUHELISETUP "HELI"
// Alignment
#define TR_MENUINPUTS "DR/EXPO"
#define TR_MENULIMITS "LIMITY"
#if defined(PCBTARANIS)
#define TR_MENUINPUTS "INPUTS"
#define TR_MENULIMITS "SERVOS"
#elif defined(PPM_CENTER_ADJUSTABLE) || defined(PPM_LIMITS_SYMETRICAL) // The right menu titles for the gurus ...
#define TR_MENUINPUTS "STICKS"
#define TR_MENULIMITS "SERVOS"
#else
#define TR_MENUINPUTS "DR/EXPO"
#define TR_MENULIMITS "LIMITY"
#endif
#define TR_MENUCURVES "KŘIVKY"
#define TR_MENUCURVE "\002k"
+1 -1
View File
@@ -69,7 +69,7 @@
#define TR_TRNCHN "CH1CH2CH3CH4"
#define LEN_UART3MODES "\017"
#define TR_UART3MODES "OFF\0 ""SPORT Mirror\0 ""Virtual SP2UART"
#define TR_UART3MODES "OFF\0 ""S-Port Mirror\0 ""Debug\0 "
#define LEN_POTTYPES "\017"
#define TR_POTTYPES "Pot\0 ""Multipos Switch"
+1 -1
View File
@@ -69,7 +69,7 @@
#define TR_TRNCHN "CH1CH2CH3CH4"
#define LEN_UART3MODES "\017"
#define TR_UART3MODES "OFF\0 ""SPORT Mirror\0 ""Virtual SP2UART"
#define TR_UART3MODES "OFF\0 ""S-Port Mirror\0 ""Debug\0 "
#define LEN_POTTYPES "\017"
#define TR_POTTYPES "Pot\0 ""Multipos Switch"
+2 -4
View File
@@ -1,4 +1,4 @@
/*
/*
* Authors (alphabetical order)
* - Bertrand Songis <bsongis@gmail.com>
* - Bernet Andre <bernet.andre@gmail.com>
@@ -69,7 +69,7 @@
#define TR_TRNCHN "CH1CH2CH3CH4"
#define LEN_UART3MODES "\017"
#define TR_UART3MODES "OFF\0 ""SPORT Mirror\0 ""Virtual SP2UART"
#define TR_UART3MODES "OFF\0 ""S-Port Mirror\0 ""Debug\0 "
#define LEN_POTTYPES "\017"
#define TR_POTTYPES "Pot\0 ""Multipos Switch"
@@ -486,7 +486,6 @@
#define TR_SPLASHSCREEN "Ptalla.inicio"
#define TR_THROTTLEWARNING TR("Aviso-A", "Aviso Acelerador")
#define TR_SWITCHWARNING TR("Aviso-I", "Aviso Intrptor")
#define TR_POTWARNING TR("Pot Warn.","Pot Warning")
#define TR_TIMEZONE TR("Zona Hora", "GPS Zona Hora")
#define TR_RXCHANNELORD TR("Rx Orden canal", "Orden habitual canales")
#define TR_SLAVE "Esclavo"
@@ -681,7 +680,6 @@
#define TR_CHANNELRANGE INDENT "Gama de canales"
#define TR_LOWALARM INDENT "Alarma baja"
#define TR_CRITICALALARM INDENT "Alarma Critica"
#define TR_CHECKLIST "Display Checklist"
#define TR_PERSISTENT_MAH INDENT "Valor mAh"
#define TR_FAS_OFFSET TR(INDENT "FAS Ofs", INDENT "FAS Offset")
#define TR_UART3MODE "Serial port"
+6 -8
View File
@@ -1,4 +1,4 @@
/*
/*
* Authors (alphabetical order)
* - Bertrand Songis <bsongis@gmail.com>
* - Bernet Andre <bernet.andre@gmail.com>
@@ -69,10 +69,10 @@
#define TR_TRNCHN "CH1CH2CH3CH4"
#define LEN_UART3MODES "\017"
#define TR_UART3MODES "OFF\0 ""SPORT Mirror\0 ""Virtual SP2UART"
#define TR_UART3MODES "OFF\0 ""Recopie S-Port\0""Debug\0 "
#define LEN_POTTYPES "\017"
#define TR_POTTYPES "Pot\0 ""Multipos Switch"
#define TR_POTTYPES "Potentiomètre\0 ""Inter multi-pos"
#define LEN_DATETIME "\005"
#define TR_DATETIME "DATE:""HEURE"
@@ -486,7 +486,6 @@
#define TR_SPLASHSCREEN "Logo d'accueil"
#define TR_THROTTLEWARNING "Alerte gaz"
#define TR_SWITCHWARNING TR("Alerte int","Alerte interrupt.")
#define TR_POTWARNING TR("Alerte pot","Alerte potentiom.")
#define TR_TIMEZONE "Fuseau horaire"
#define TR_RXCHANNELORD TR("Ordre voies RX","Ordre des voies préféré")
#define TR_SLAVE "Elève"
@@ -595,7 +594,7 @@
#define TR_EEPROMWARN "EEPROM"
#define TR_THROTTLEWARN "GAZ"
#define TR_ALARMSWARN "SON"
#define TR_SWITCHWARN TR("INTERS","CONTROLES")
#define TR_SWITCHWARN "INTERS"
#define TR_INVERT_THR "Inverser Gaz?"
#define TR_SPEAKER_VOLUME INDENT "Volume"
#define TR_LCD "Afficheur"
@@ -682,11 +681,10 @@
#define TR_LOWALARM INDENT "Alarme basse"
#define TR_CRITICALALARM INDENT "Alarme critique"
#define TR_PERSISTENT_MAH TR(INDENT "Enr. mAh",INDENT "Enregistrer mAh")
#define TR_CHECKLIST "Afficher notes"
#define TR_FAS_OFFSET TR(INDENT "Corr FAS", INDENT "Correction FAS")
#define TR_UART3MODE "Port série"
#define TR_POT1TYPE "S1 Type"
#define TR_POT2TYPE "S2 Type"
#define TR_POT1TYPE "Type S1"
#define TR_POT2TYPE "Type S2"
#if defined(MAVLINK)
#define TR_MAVLINK_RC_RSSI_SCALE_LABEL "RSSI Max"
+1 -1
View File
@@ -69,7 +69,7 @@
#define TR_TRNCHN "ch1ch2ch3ch4"
#define LEN_UART3MODES "\017"
#define TR_UART3MODES "OFF\0 ""SPORT Mirror\0 ""Virtual SP2UART"
#define TR_UART3MODES "OFF\0 ""S-Port Mirror\0 ""Debug\0 "
#define LEN_POTTYPES "\017"
#define TR_POTTYPES "Pot\0 ""Multipos Switch"
+12 -11
View File
@@ -60,19 +60,22 @@
#define TR_VRENAVIG "Ne REaREb"
#define LEN_VBLMODE TR("\006", "\011")
#define TR_VBLMODE TR("Wył\0 ""Przyc.""Drążki""Oba\0 ""Zał\0 ", "Wyłaczone""Przyciski""Drązki\0 ""Oba\0 ""Włączyć\0 ")
#define TR_VBLMODE TR("Wył\0 ""Przyc.""Drążki""Oba\0 ""Zał\0 ", "Wyłączone""Przyciski""Drązki\0 ""Oba\0 ""Włączyć\0 ")
#define LEN_TRNMODE "\003"
#define TR_TRNMODE " X "" +="" :="
#define LEN_TRNCHN "\003"
#define TR_TRNCHN "CH1CH2CH3CH4"
#define TR_TRNCHN "KN1KN2KN3KN4"
#define LEN_UART3MODES "\017"
#define TR_UART3MODES "OFF\0 ""SPORT Mirror\0 ""Virtual SP2UART"
#define TR_UART3MODES "Wyłącz\0 ""S-Port Mirror\0 ""Debug\0 "
#define LEN_POTTYPES "\017"
#define TR_POTTYPES "Potencjometr\0 ""Przeł.Wielopoz."
#define LEN_DATETIME "\006"
#define TR_DATETIME "DANA:""Czas:\0 "
#define TR_DATETIME "DATA:\0""CZAS:\0"
#define LEN_VLCD "\006"
#define TR_VLCD "Normal""Optrex"
@@ -483,7 +486,6 @@
#define TR_SPLASHSCREEN "Logo ekranu"
#define TR_THROTTLEWARNING "(\043)Gaz"
#define TR_SWITCHWARNING "(\043)Przełącznik"
#define TR_POTWARNING TR("Pot Warn.","Pot Warning")
#define TR_TIMEZONE "Strefa czasowa"
#define TR_RXCHANNELORD TR("Kolejność kanałów", "Bazowa kolejność kanałów")
#define TR_SLAVE "Uczeń"
@@ -679,23 +681,22 @@
#define TR_LOWALARM INDENT "Alarm niski"
#define TR_CRITICALALARM INDENT "Alarm krytyczny"
#define TR_PERSISTENT_MAH INDENT "Zapisz mAh"
#define TR_CHECKLIST "Display Checklist"
#define TR_FAS_OFFSET TR(INDENT "FAS Ofs", INDENT "FAS Offset")
#define TR_UART3MODE "Port szreg."
#define TR_POT1TYPE "S1 Type"
#define TR_POT2TYPE "S2 Type"
#define TR_POT1TYPE "Typ S1"
#define TR_POT2TYPE "Typ S2"
#if defined(MAVLINK)
#define TR_MAVLINK_RC_RSSI_SCALE_LABEL "Max RSSI"
#define TR_MAVLINK_PC_RSSI_EN_LABEL "PC RSSI EN"
#define TR_MAVMENUSETUP_TITLE "Mavlink Setup"
#define TR_MAVMENUSETUP_TITLE "Ustawienia Mavlink"
#define TR_MAVLINK_BAUD_LABEL "Baudrate"
#define TR_MAVLINK_INFOS "INFO"
#define TR_MAVLINK_MODE "TRYB"
#define TR_MAVLINK_CUR_MODE "Aktualy Tryb"
#define TR_MAVLINK_ARMED "Armed"
#define TR_MAVLINK_BAT_MENU_TITLE "BAT RSSI"
#define TR_MAVLINK_BATTERY_LABEL "Status baterii "
#define TR_MAVLINK_BATTERY_LABEL "Status bateri"
#define TR_MAVLINK_RC_RSSI_LABEL "RC RSSI"
#define TR_MAVLINK_PC_RSSI_LABEL "PC RSSI"
#define TR_MAVLINK_NAV_MENU_TITLE "NAV"
@@ -772,7 +773,7 @@
#define TR_BEEP_VOLUME "Głośność pikania"
#define TR_WAV_VOLUME "Głośność wav"
#define TR_VARIO_VOLUME "Głośność wario"
#define TR_BG_VOLUME "Głośnośc tła "
#define TR_BG_VOLUME "Głośność tła "
#define TR_TOP_BAR "Górny Pasek"
#define TR_ALTITUDE INDENT "Wysokość"
+1 -1
View File
@@ -69,7 +69,7 @@
#define TR_TRNCHN "CH1CH2CH3CH4"
#define LEN_UART3MODES "\017"
#define TR_UART3MODES "OFF\0 ""SPORT Mirror\0 ""Virtual SP2UART"
#define TR_UART3MODES "OFF\0 ""S-Port Mirror\0 ""Debug\0 "
#define LEN_POTTYPES "\017"
#define TR_POTTYPES "Pot\0 ""Multipos Switch"
+14 -16
View File
@@ -68,11 +68,11 @@
#define LEN_TRNCHN "\003"
#define TR_TRNCHN "KN1KN2KN3KN4"
#define LEN_UART3MODES "\017"
#define TR_UART3MODES "Av\0 ""SPORT-spegel\0 ""VirtuellSP2UART"
#define LEN_UART3MODES "\022"
#define TR_UART3MODES "Av\0 ""Spegling av S-Port""Debug\0 "
#define LEN_POTTYPES "\017"
#define TR_POTTYPES "Pot\0 ""Multipos Switch"
#define LEN_POTTYPES "\020"
#define TR_POTTYPES "Potentiometer\0 ""Flerlägesväljare"
#define LEN_DATETIME "\005"
#define TR_DATETIME "DAG: ""TID: "
@@ -486,7 +486,6 @@
#define TR_SPLASHSCREEN "Startbild"
#define TR_THROTTLEWARNING "Gasvarning"
#define TR_SWITCHWARNING TR("Bryt.varn.","Brytarvarning")
#define TR_POTWARNING TR("Pot Warn.","Pot Warning")
#define TR_TIMEZONE TR("Tidszon","GPS Tidszon")
#define TR_RXCHANNELORD "Kanaler i RX"
#define TR_SLAVE "Slav"
@@ -525,15 +524,15 @@
#define TR_MODEL "Modell"
#define TR_FP "FL"
#define TR_MIX "MIX"
#define TR_EEPROMLOWMEM "EEPROM low mem"
#define TR_EEPROMLOWMEM "Minnesbrist"
#define TR_ALERT "\016OBS"
#define TR_PRESSANYKEYTOSKIP "Tryck ned en knapp"
#define TR_THROTTLENOTIDLE "Gasen är påslagen!"
#define TR_ALARMSDISABLED "Alarmen Avstängda!"
#define TR_PRESSANYKEY TR("Tryck ned en knapp", "Tryck ned en knapp")
#define TR_BADEEPROMDATA "EEprom Datafel "
#define TR_EEPROMFORMATTING "Formaterar EEprom"
#define TR_EEPROMOVERFLOW "Fel i EEprom"
#define TR_PRESSANYKEY "Tryck ned en knapp"
#define TR_BADEEPROMDATA "Minnet kan inte tolkas"
#define TR_EEPROMFORMATTING "Minnet Nollställs"
#define TR_EEPROMOVERFLOW "Minnesfel"
#define TR_MENURADIOSETUP "Inställningar"
#define TR_MENUDATEANDTIME "Dag och Tid"
#define TR_MENUTRAINER "Trainer (PPM in)"
@@ -681,12 +680,11 @@
#define TR_CHANNELRANGE INDENT "Kanalområde"
#define TR_LOWALARM INDENT "Låg-alarm"
#define TR_CRITICALALARM INDENT "Kritiskt alarm"
#define TR_PERSISTENT_MAH INDENT "Store mAh"
#define TR_CHECKLIST "Display Checklist"
#define TR_PERSISTENT_MAH INDENT "Store mAh"
#define TR_FAS_OFFSET TR(INDENT "FAS Ofs", INDENT "FAS Offset")
#define TR_UART3MODE "Serieport"
#define TR_POT1TYPE "S1 Type"
#define TR_POT2TYPE "S2 Type"
#define TR_UART3MODE "Serieporten"
#define TR_POT1TYPE "S1-ratten"
#define TR_POT2TYPE "S2-ratten"
#if defined(MAVLINK)
#define TR_MAVLINK_RC_RSSI_SCALE_LABEL "Max RSSI"
@@ -707,7 +705,7 @@
#define TR_MAVLINK_BEARING "Bäring"
#define TR_MAVLINK_ALTITUDE "Höjd"
#define TR_MAVLINK_GPS "GPS"
#define TR_MAVLINK_NO_FIX "NO Fix"
#define TR_MAVLINK_NO_FIX "EJ Lås"
#define TR_MAVLINK_SAT "SAT"
#define TR_MAVLINK_HDOP "HDOP"
#define TR_MAVLINK_LAT "LAT"