1
0
Fork 0
mirror of https://github.com/opentx/opentx.git synced 2025-07-19 14:25:11 +03:00

Merge remote-tracking branch 'origin/next' into

bsongis/Issue554_trims_relative_default

Conflicts:
	companion/src/eeprominterface.h
	companion/src/firmwares/er9x/er9xinterface.cpp
	companion/src/firmwares/ersky9x/ersky9xinterface.cpp
This commit is contained in:
Bertrand Songis 2014-01-31 22:15:23 +01:00
commit 582b14e919
28 changed files with 774 additions and 2205 deletions

View file

@ -1110,50 +1110,42 @@ taranis-stamp:
translations/cz.h: translations/cz.h.txt
@echo
@echo "Create language specific header files"
@echo "Czech"
@echo "Create Czech language specific header files"
$(TRANSLATE) translations/cz.h.txt translations/cz.h cz
translations/de.h: translations/de.h.txt
@echo
@echo "Create language specific header files"
@echo "German"
@echo "Create German language specific header files"
$(TRANSLATE) translations/de.h.txt translations/de.h de
translations/es.h: translations/es.h.txt
@echo
@echo "Create language specific header files"
@echo "Spanish"
@echo "Create Spanish language specific header files"
$(TRANSLATE) translations/es.h.txt translations/es.h es
translations/fr.h: translations/fr.h.txt
@echo
@echo "Create language specific header files"
@echo "French"
@echo "Create French language specific header files"
$(TRANSLATE) translations/fr.h.txt translations/fr.h fr
translations/it.h: translations/it.h.txt
@echo
@echo "Create language specific header files"
@echo "Italian"
@echo "Create Italian language specific header files"
$(TRANSLATE) translations/it.h.txt translations/it.h it
translations/pl.h: translations/pl.h.txt
@echo
@echo "Create language specific header files"
@echo "Polish"
@echo "Create Polish language specific header files"
$(TRANSLATE) translations/pl.h.txt translations/pl.h pl
translations/pt.h: translations/pt.h.txt
@echo
@echo "Create language specific header files"
@echo "Portugese"
@echo "Create Portugese language specific header files"
$(TRANSLATE) translations/pt.h.txt translations/pt.h pt
translations/se.h: translations/se.h.txt
@echo
@echo "Create language specific header files"
@echo "Swedish"
@echo "Create Swedish language specific header files"
$(TRANSLATE) translations/se.h.txt translations/se.h se
.PHONY: fonts

View file

@ -5536,18 +5536,14 @@ void menuModelTelemetry(uint8_t event)
lineIndex = k-ITEM_TELEMETRY_SCREEN_LINE5;
}
#if 0
putsStrIdx(0, y, PSTR(INDENT"Line"), lineIndex+1, m_posHorz<0 ? attr : 0);
#endif
#if defined(GAUGES)
if (IS_BARS_SCREEN(screenIndex)) {
FrSkyBarData & bar = g_model.frsky.screens[screenIndex].bars[lineIndex];
uint8_t barSource = bar.source;
lcd_putsiAtt(TELEM_COL1, y, STR_VTELEMCHNS, barSource, m_posHorz==0 ? attr : 0);
if (barSource) {
putsTelemetryChannel(TELEM_BARS_COLMIN, y, barSource-1, convertTelemValue(barSource, bar.barMin), (m_posHorz==1 ? attr : 0) | LEFT);
putsTelemetryChannel(TELEM_BARS_COLMAX, y, barSource-1, convertTelemValue(barSource, 255-bar.barMax), (m_posHorz==2 ? attr : 0) | LEFT);
putsTelemetryChannel(TELEM_BARS_COLMIN, y, barSource-1, convertBarTelemValue(barSource, bar.barMin), (m_posHorz==1 ? attr : 0) | LEFT);
putsTelemetryChannel(TELEM_BARS_COLMAX, y, barSource-1, convertBarTelemValue(barSource, 255-bar.barMax), (m_posHorz==2 ? attr : 0) | LEFT);
}
else if (attr) {
MOVE_CURSOR_FROM_HERE();
@ -5558,14 +5554,14 @@ void menuModelTelemetry(uint8_t event)
bar.source = checkIncDecModel(event, barSource, 0, TELEM_DISPLAY_MAX);
if (checkIncDec_Ret) {
bar.barMin = 0;
bar.barMax = 255-maxTelemValue(bar.source);
bar.barMax = 255 - maxBarTelemValue(bar.source);
}
break;
case 1:
bar.barMin = checkIncDec(event, bar.barMin, 0, 254-bar.barMax, EE_MODEL|NO_INCDEC_MARKS);
break;
case 2:
bar.barMax = 255 - checkIncDec(event, 255-bar.barMax, bar.barMin+1, maxTelemValue(barSource), EE_MODEL|NO_INCDEC_MARKS);
bar.barMax = 255 - checkIncDec(event, 255-bar.barMax, bar.barMin+1, maxBarTelemValue(barSource), EE_MODEL|NO_INCDEC_MARKS);
break;
}
}

View file

@ -214,8 +214,8 @@ void menuTelemetryFrsky(uint8_t event)
for (int8_t i=3; i>=0; i--) {
FrSkyBarData & bar = screen.bars[i];
uint8_t source = bar.source;
getvalue_t barMin = convertTelemValue(source, bar.barMin);
getvalue_t barMax = convertTelemValue(source, 255-bar.barMax);
getvalue_t barMin = convertBarTelemValue(source, bar.barMin);
getvalue_t barMax = convertBarTelemValue(source, 255-bar.barMax);
if (source && barMax > barMin) {
uint8_t y = barHeight+6+i*(barHeight+6);
lcd_putsiAtt(0, y+barHeight-5, STR_VTELEMCHNS, source, 0);
@ -234,7 +234,7 @@ void menuTelemetryFrsky(uint8_t event)
threshold = g_model.frsky.channels[source-TELEM_A1].alarms_value[0];
#if defined(FRSKY_HUB)
else
threshold = convertTelemValue(source, barsThresholds[source-TELEM_ALT]);
threshold = convertBarTelemValue(source, barsThresholds[source-TELEM_ALT]);
#endif
if (threshold) {

View file

@ -1900,7 +1900,7 @@ csw_telemetry_value_t maxTelemValue(uint8_t channel)
#endif
#if defined(CPUARM)
getvalue_t convertTelemValue(uint8_t channel, csw_telemetry_value_t value)
getvalue_t convert16bitsTelemValue(uint8_t channel, csw_telemetry_value_t value)
{
getvalue_t result;
switch (channel) {
@ -1913,8 +1913,14 @@ getvalue_t convertTelemValue(uint8_t channel, csw_telemetry_value_t value)
}
return result;
}
#else
getvalue_t convertTelemValue(uint8_t channel, csw_telemetry_value_t value)
csw_telemetry_value_t max8bitsTelemValue(uint8_t channel)
{
return min<csw_telemetry_value_t>(255, maxTelemValue(channel));
}
#endif
getvalue_t convert8bitsTelemValue(uint8_t channel, csw_telemetry_value_t value)
{
getvalue_t result;
switch (channel) {
@ -1924,6 +1930,10 @@ getvalue_t convertTelemValue(uint8_t channel, csw_telemetry_value_t value)
break;
#if defined(FRSKY)
case TELEM_ALT:
#if defined(CPUARM)
result = 100 * (value * 8 - 500);
break;
#endif
case TELEM_GPSALT:
case TELEM_MAX_ALT:
case TELEM_MIN_ALT:
@ -1961,18 +1971,17 @@ getvalue_t convertTelemValue(uint8_t channel, csw_telemetry_value_t value)
}
return result;
}
#endif
getvalue_t convertCswTelemValue(CustomSwData * cs)
{
getvalue_t val;
#if defined(CPUARM)
val = convertTelemValue(cs->v1 - MIXSRC_FIRST_TELEM + 1, cs->v2);
val = convert16bitsTelemValue(cs->v1 - MIXSRC_FIRST_TELEM + 1, cs->v2);
#else
if (cswFamily(cs->func)==CS_VOFS)
val = convertTelemValue(cs->v1 - MIXSRC_FIRST_TELEM + 1, 128+cs->v2);
val = convert8bitsTelemValue(cs->v1 - MIXSRC_FIRST_TELEM + 1, 128+cs->v2);
else
val = convertTelemValue(cs->v1 - MIXSRC_FIRST_TELEM + 1, 128+cs->v2) - convertTelemValue(cs->v1 - MIXSRC_FIRST_TELEM + 1, 128);
val = convert8bitsTelemValue(cs->v1 - MIXSRC_FIRST_TELEM + 1, 128+cs->v2) - convert8bitsTelemValue(cs->v1 - MIXSRC_FIRST_TELEM + 1, 128);
#endif
return val;
}

View file

@ -1637,9 +1637,24 @@ extern uint8_t barsThresholds[THLD_MAX];
#define maxTelemValue(channel) 255
#endif
getvalue_t convertTelemValue(uint8_t channel, csw_telemetry_value_t value);
#if defined(CPUARM)
getvalue_t convert16bitsTelemValue(uint8_t channel, csw_telemetry_value_t value);
csw_telemetry_value_t max8bitsTelemValue(uint8_t channel);
#endif
getvalue_t convert8bitsTelemValue(uint8_t channel, csw_telemetry_value_t value);
getvalue_t convertCswTelemValue(CustomSwData * cs);
#if defined(CPUARM)
#define convertTelemValue(channel, value) convert16bitsTelemValue(channel, value)
#define convertBarTelemValue(channel, value) convert8bitsTelemValue(channel, value)
#define maxBarTelemValue(channel) max8bitsTelemValue(channel)
#else
#define convertTelemValue(channel, value) convert8bitsTelemValue(channel, value)
#define convertBarTelemValue(channel, value) convert8bitsTelemValue(channel, value)
#define maxBarTelemValue(channel) maxTelemValue(channel)
#endif
#if defined(FRSKY) || defined(CPUARM)
lcdint_t applyChannelRatio(uint8_t channel, lcdint_t val);
#endif

View file

@ -490,8 +490,8 @@ const pm_char STR_VIEW_TEXT[] PROGMEM = "View text";
const pm_char STR_CLEAR[] PROGMEM = "Clear";
const pm_char STR_RESET[] PROGMEM = "Reset";
const pm_char STR_COPY_TRIMS_TO_OFFSET[] = "Copy Trims To Offset";
const pm_char STR_TOP_BAR[] PROGMEM = "Top Bar";
const pm_char STR_ALTITUDE[] PROGMEM = INDENT "Altitude";
const pm_char STR_TOP_BAR[] PROGMEM = TR_TOP_BAR;
const pm_char STR_ALTITUDE[] PROGMEM = TR_ALTITUDE;
const pm_char STR_SCALE[] PROGMEM = "Scale";
const pm_char STR_VIEW_CHANNELS[] PROGMEM = "View Channels";
const pm_char STR_VIEW_NOTES[] PROGMEM = "View Notes";

View file

@ -234,7 +234,7 @@
#define TR_VFSWRESET TR("Tmr1""Tmr2""All\0" TR_FSW_RESET_TELEM TR_FSW_RESET_ROTENC, "Timer 1\0 ""Timer 2\0 ""All\0 " TR_FSW_RESET_TELEM TR_FSW_RESET_ROTENC)
#define LEN_FUNCSOUNDS TR("\004", "\006")
#define TR_FUNCSOUNDS TR("Bp1\0""Bp2\0""Bp3\0""Wrn1""Wrn2""Chee""Rata""Tick""Sirn""Ring""SciF""Robt""Chrp""Tada""Crck""Alrm", "Beep1 ""Beep2 ""Beep3 ""Warn1 ""Warn2 ""Cheep ""Ratata""Tick ""Siren ""Ring ""SciFi ""Robot ""Chirp ""Tada ""Crickt""AlmClk")
#define TR_FUNCSOUNDS TR("Bp1\0""Bp2\0""Bp3\0""Ost1""Ost2""Chee""Rata""Tik\0""Syre""Dzwo""SciF""Robt""Chrp""Tada""Crck""Alrm", "Beep1\0""Beep2\0""Beep3\0""Ostrz1""Ostrz1""Cheep\0""Ratata""Tick\0 ""Syrena""Dzwone""SciFi\0""Robot\0""Chirp\0""Tada\0 ""Krytcz""AlmZeg")
#define LEN_VTELEMCHNS "\004"
#if defined(PCBTARANIS)
@ -244,7 +244,7 @@
#define TR_RSSI_0 "Tx\0 "
#define TR_RSSI_1 "Rx\0 "
#endif
#define TR_VTELEMCHNS "---\0""Bat\0""Tmr1""Tmr2" TR_RSSI_0 TR_RSSI_1 "A1\0 ""A2\0 ""Alt\0""Rpm\0""Pali""T1\0 ""T2\0 ""Spd\0""Dyst""GAlt""Cell""Cels""Vfas""Curr""Cnsp""Powr""AccX""AccY""AccZ""Hdg\0""VSpd""A1-\0""A2-\0""Alt-""Alt+""Rpm+""T1+\0""T2+\0""Spd+""Dst+""Cur+""Pwr+""Acc\0""Time"
#define TR_VTELEMCHNS "---\0""Bat\0""Tmr1""Tmr2" TR_RSSI_0 TR_RSSI_1 "A1\0 ""A2\0 ""Wys\0""Rpm\0""Pali""T1\0 ""T2\0 ""Spd\0""Dyst""GAlt""Cell""Cels""Vfas""Curr""Cnsp""Moc\0""AccX""AccY""AccZ""Hdg\0""VSpd""A1-\0""A2-\0""Wys-""Wys+""Rpm+""T1+\0""T2+\0""Spd+""Dst+""Cur+""Moc+""Acc\0""Time"
#if defined(CPUARM)
#define LEN_VUNITSSYSTEM TR("\006", "\012")
@ -284,7 +284,7 @@
#if defined(FRSKY_SPORT)
#define TR_VARIOSRC "Vario""A1\0 ""A2\0"
#else
#define TR_VARIOSRC "Alti\0""Alti+""Vario""A1\0 ""A2\0"
#define TR_VARIOSRC "Wys.\0""Wys.+""Vario""A1\0 ""A2\0"
#endif
#define LEN_VSCREEN "\006"
@ -295,13 +295,13 @@
#define LEN2_VTEMPLATES 17
#define LEN_VTEMPLATES "\021"
#define TR_VTEMPLATES "Wyczyść miksery\0 ""Prosty. 4kanal\0 ""Przełącznik-T-Cut""V-Tail \0 ""Elevon-Delta\0 ""eCCPM \0 ""Heli Setup \0 ""Test serwa \0 "
#define TR_VTEMPLATES "Wyczyść miksery\0 ""Prosty. 4kanal\0 ""Przełącznik-T-Cut""V-Tail \0 ""Elevon-Delta\0 ""eCCPM \0 ""Ustaw. Heli \0 ""Test serwa \0 "
#define LEN_VSWASHTYPE "\004"
#define TR_VSWASHTYPE "--- ""120 ""120X""140 ""90\0"
#define LEN_VKEYS "\005"
#define TR_VKEYS TR(" Menu"" Exit""W dół""Wgórę""Wpraw""Wlewo", " Menu"" Exit""W dół""Wgórę""Wpraw""Wlewo")
#define TR_VKEYS TR(" Menu""Wyjdź""W dół""Wgórę""Wpraw""Wlewo", " Menu""Wyjdź""W dół""Wgórę""Wpraw""Wlewo")
#define LEN_VRENCODERS "\003"
#define TR_VRENCODERS "REa""REb"
@ -383,7 +383,7 @@
#define TR_ENTER "[MENU]"
#endif
#define TR_POPUPS TR_ENTER"\010[EXIT]"
#define TR_POPUPS TR_ENTER"\010[WYJŚCIE]"
#define OFS_EXIT sizeof(TR_ENTER)
#define TR_MENUWHENDONE CENTER "\007"TR_ENTER" > DALEJ"
@ -396,9 +396,9 @@
#define TR_MODELNAME "Nazwa modelu"
#define TR_PHASENAME "Nazwa"
#define TR_MIXNAME "Nazwa"
#define TR_INPUTNAME "Input Name"
#define TR_INPUTNAME "Wpisz Nazw"
#if defined(PCBTARANIS)
#define TR_EXPONAME "Line Name"
#define TR_EXPONAME "Linia Nazw"
#else
#define TR_EXPONAME "Nazwa"
#endif
@ -411,21 +411,21 @@
#define TR_TTRIM TR("Trymer gazu", "Trymer gazu")
#define TR_BEEPCTR "(\043)Pikanie środka"
#define TR_PROTO INDENT"Protokól"
#define TR_PPMFRAME "PPM frame"
#define TR_PPMFRAME "Ramka PPM"
#define TR_MS "ms"
#define TR_SWITCH "Przełącznik"
#define TR_TRIMS "Trymery"
#define TR_FADEIN "Pojawianie"
#define TR_FADEOUT "Zanikanie"
#define TR_DEFAULT "(Bazowa)"
#define TR_CHECKTRIMS "\006Sprawdź \012 Trymery"
#define TR_CHECKTRIMS "\006Spr \012 Trymery"
#define OFS_CHECKTRIMS (9*FW)
#define TR_SWASHTYPE "Typ tarczy"
#define TR_COLLECTIVE "Kolektyw"
#define TR_SWASHRING "Tarcza"
#define TR_ELEDIRECTION "Ster Wysokości"
#define TR_AILDIRECTION "\012Lotki"
#define TR_COLDIRECTION "\012Kolektwy"
#define TR_COLDIRECTION "\012Kolektyw"
#define TR_MODE INDENT"Tryb"
#define TR_NOFREEEXPO "Brak wolnych expo!"
#define TR_NOFREEMIXER "Brak wolnych mix!"
@ -516,7 +516,7 @@
#define TR_MENUTORESET CENTER TR_ENTER" >> Reset"
#define TR_PPM "PPM"
#define TR_CH "Kn"
#define TR_CH "KN"
#define TR_MODEL "MODEL"
#define TR_FP "FL"
#define TR_MIX "MIX"
@ -556,8 +556,8 @@
#define TR_MENUCURVES "KRZYWE"
#define TR_MENUCURVE "KRZYWA"
#define TR_MENUCUSTOMSWITCH "PRZEŁĄCZNIK LOGICZNY"
#define TR_MENUCUSTOMSWITCHES "Przełączniki logiczne"
#define TR_MENUCUSTOMSWITCH "PRZEŁ. LOGICZNY"
#define TR_MENUCUSTOMSWITCHES TR("PRZEŁ. LOG.", "PRZEŁ. LOGICZNE")
#define TR_MENUCUSTOMFUNC "FUNKCJE SPECJALNE"
#define TR_MENUTELEMETRY "TELEMETRIA"
#define TR_MENUTEMPLATES "SZABLONY"
@ -635,7 +635,7 @@
#define TR_GLOBAL_VARS "Zmienne globalne"
#define TR_GLOBAL_VAR "Zmienna globalna"
#define TR_MENUGLOBALVARS "ZMIENNE GLOBALNE"
#define TR_OWN " Własność "
#define TR_OWN "Własność"
#define TR_DATE "Data"
#define TR_ROTARY_ENCODER "R.Encs"
#define TR_CHANNELS_MONITOR "MONITOR KANAŁÓW"
@ -666,28 +666,28 @@
#define TR_BUZZER INDENT"Brzęczyk"
#define TR_BYTES "[B]"
#define TR_MODULE_BIND "[Bind]"
#define TR_MODULE_RANGE "[Zasieg]"
#define TR_MODULE_RANGE "Zasięg"
#define TR_RESET_BTN "[Reset]"
#define TR_SET "[Ustaw]"
#define TR_TRAINER "Trener"
#define TR_ANTENNAPROBLEM CENTER "Problem z anteną TX"
#define TR_MODELIDUSED TR("ID już użyte","ID modelu już użyte")
#define TR_MODELIDUSED TR("ID zajęte","ID modelu zajęte")
#define TR_MODULE INDENT "Moduł"
#define TR_CHANNELRANGE INDENT "Zakres kanału"
#define TR_LOWALARM INDENT "Alarm niski"
#define TR_CRITICALALARM INDENT "Alarm krytyczny"
#define TR_PERSISTENT_MAH INDENT "Store mAh"
#define TR_PERSISTENT_MAH INDENT "Zapisz mAh"
#define TR_FAS_OFFSET TR(INDENT "FAS Ofs", INDENT "FAS Offset")
#define TR_UART3MODE "Serial port"
#define TR_UART3MODE "Port szreg."
#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_MAVLINK_BAUD_LABEL "Baudrate"
#define TR_MAVLINK_INFOS "INFOS"
#define TR_MAVLINK_MODE "MODE"
#define TR_MAVLINK_CUR_MODE "Current Mode"
#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 "
@ -702,8 +702,8 @@
#define TR_MAVLINK_NO_FIX "NO Fix"
#define TR_MAVLINK_SAT "SAT"
#define TR_MAVLINK_HDOP "HDOP"
#define TR_MAVLINK_LAT "LAT"
#define TR_MAVLINK_LON "LON"
#define TR_MAVLINK_LAT "SZER"
#define TR_MAVLINK_LON "DLUG"
#endif
// Taranis column headers
@ -721,8 +721,8 @@
#define TR_ABOUT_OPENTX_5 TR("is welcome!", "donations is welcome!")
#define TR_ABOUT_BERTRAND_1 "Bertrand Songis"
#define TR_ABOUT_BERTRAND_2 "OpenTX main author"
#define TR_ABOUT_BERTRAND_3 "Companion9x co-author"
#define TR_ABOUT_BERTRAND_2 "OpenTX główny autor"
#define TR_ABOUT_BERTRAND_3 "Companion9x współ-autor"
#define TR_ABOUT_MIKE_1 "Mike Blandford"
#define TR_ABOUT_MIKE_2 "Guru kodu i driwerów"
@ -730,12 +730,12 @@
#define TR_ABOUT_MIKE_4 "Inspirational"
#define TR_ABOUT_ROMOLO_1 "Romolo Manfredini"
#define TR_ABOUT_ROMOLO_2 "Companion9x co-author"
#define TR_ABOUT_ROMOLO_2 "Companion9x współ-autor"
#define TR_ABOUT_ROMOLO_3 ""
#define TR_ABOUT_ANDRE_1 "Andre Bernet"
#define TR_ABOUT_ANDRE_2 "Functionality, usability,"
#define TR_ABOUT_ANDRE_3 "debugging, documentation"
#define TR_ABOUT_ANDRE_2 "Funkcjonalność, użytkowość,"
#define TR_ABOUT_ANDRE_3 "debugging, documentacja"
#define TR_ABOUT_ROB_1 "Rob Thomson"
#define TR_ABOUT_ROB_2 "openrcforums webmaster"