From 551ef10d6ff7050c41d4888e137bdd72339ab1b9 Mon Sep 17 00:00:00 2001 From: mikeller Date: Tue, 15 Dec 2015 02:08:16 +1300 Subject: [PATCH 1/4] Graft of serial port inversion option onto 'next'. --- radio/src/Makefile | 2 ++ radio/src/gui/9x/menu_model_telemetry.cpp | 12 +++++++++++- radio/src/myeeprom.h | 3 ++- radio/src/opentx.h | 5 +++++ radio/src/targets/sky9x/rtc_driver.cpp | 22 ++++++++++++++++++++++ radio/src/telemetry/frsky.cpp | 20 +++++++++++++++++++- radio/src/translations.cpp | 1 + radio/src/translations.h | 1 + radio/src/translations/cz.h.txt | 2 ++ radio/src/translations/de.h.txt | 1 + radio/src/translations/en.h.txt | 1 + radio/src/translations/es.h.txt | 1 + radio/src/translations/fi.h.txt | 1 + radio/src/translations/fr.h.txt | 1 + radio/src/translations/it.h.txt | 2 ++ radio/src/translations/nl.h.txt | 4 +++- radio/src/translations/pl.h.txt | 2 ++ radio/src/translations/pt.h.txt | 1 + radio/src/translations/se.h.txt | 2 ++ 19 files changed, 80 insertions(+), 4 deletions(-) diff --git a/radio/src/Makefile b/radio/src/Makefile index 88ef5c2fc..3e9caf631 100644 --- a/radio/src/Makefile +++ b/radio/src/Makefile @@ -847,6 +847,8 @@ ifeq ($(PCB), $(filter $(PCB), SKY9X 9XRPRO AR9X)) ifeq ($(RTCLOCK), YES) CPPDEFS += -DRTCLOCK CPPSRC += rtc.cpp targets/sky9x/rtc_driver.cpp + else ifeq ($(PCB), SKY9X) + CPPSRC += targets/sky9x/rtc_driver.cpp endif ifeq ($(BLUETOOTH), YES) CPPDEFS += -DBLUETOOTH diff --git a/radio/src/gui/9x/menu_model_telemetry.cpp b/radio/src/gui/9x/menu_model_telemetry.cpp index ede76b63a..3d85c2759 100644 --- a/radio/src/gui/9x/menu_model_telemetry.cpp +++ b/radio/src/gui/9x/menu_model_telemetry.cpp @@ -37,6 +37,9 @@ enum menuModelTelemetryItems { CASE_CPUARM(ITEM_TELEMETRY_PROTOCOL_TYPE) +#if defined(REVX) + ITEM_TELEMETRY_INVERTED_SERIAL, +#endif #if !defined(CPUARM) ITEM_TELEMETRY_A1_LABEL, ITEM_TELEMETRY_A1_RANGE, @@ -184,7 +187,9 @@ enum menuModelTelemetryItems { #define VARIO_RANGE_ROWS 3 #endif -#if defined(CPUARM) +#if defined(REVX) + #define TELEMETRY_TYPE_ROWS 0, 0, +#elif defined(CPUARM) #define TELEMETRY_TYPE_ROWS 0, #else #define TELEMETRY_TYPE_ROWS @@ -608,6 +613,11 @@ void menuModelTelemetry(uint8_t event) case ITEM_TELEMETRY_PROTOCOL_TYPE: g_model.telemetryProtocol = selectMenuItem(TELEM_COL2, y, STR_TELEMETRY_TYPE, "\017FrSky S.PORT\0 FrSky D\0 FrSky D (cable)", g_model.telemetryProtocol, PROTOCOL_TELEMETRY_FIRST, CASE_PCBSKY9X(PROTOCOL_FRSKY_D_SECONDARY) attr, event); break; +#if defined(REVX) + case ITEM_TELEMETRY_INVERTED_SERIAL: + ON_OFF_MENU_ITEM(g_model.moduleData[EXTERNAL_MODULE].invertedSerial, TELEM_COL2, y, STR_INVERTED_SERIAL, attr, event); + break; +#endif #endif #if defined(CPUARM) diff --git a/radio/src/myeeprom.h b/radio/src/myeeprom.h index d779409ba..c0b1ea046 100644 --- a/radio/src/myeeprom.h +++ b/radio/src/myeeprom.h @@ -505,7 +505,8 @@ PACK(typedef struct { int8_t rfProtocol:4; uint8_t channelsStart; int8_t channelsCount; // 0=8 channels - uint8_t failsafeMode; + uint8_t failsafeMode:7; + uint8_t invertedSerial:1; // telemetry serial inverted from standard int16_t failsafeChannels[NUM_CHNOUT]; int8_t ppmDelay:6; uint8_t ppmPulsePol:1; diff --git a/radio/src/opentx.h b/radio/src/opentx.h index d3e3fd189..99f74fe42 100644 --- a/radio/src/opentx.h +++ b/radio/src/opentx.h @@ -1520,6 +1520,11 @@ enum AUDIO_SOUNDS { #include "rtc.h" #endif +#if defined(REVX) +void setMFP(); +void clearMFP(); +#endif + #if defined(CPUARM) extern uint8_t requiredSpeakerVolume; #endif diff --git a/radio/src/targets/sky9x/rtc_driver.cpp b/radio/src/targets/sky9x/rtc_driver.cpp index 7e4044f23..c09b565d6 100644 --- a/radio/src/targets/sky9x/rtc_driver.cpp +++ b/radio/src/targets/sky9x/rtc_driver.cpp @@ -280,3 +280,25 @@ void rtcInit() coprocReadData(); #endif } + +#if defined(REVX) +void writeMFP() +{ + __disable_irq(); + Rtc_write_pending |= 2; + i2cCheck(); + __enable_irq(); +} + +void setMFP() +{ + MFPsetting = 0x80; + writeMFP(); +} + +void clearMFP() +{ + MFPsetting = 0; + writeMFP(); +} +#endif diff --git a/radio/src/telemetry/frsky.cpp b/radio/src/telemetry/frsky.cpp index daa122f72..9c02b7893 100644 --- a/radio/src/telemetry/frsky.cpp +++ b/radio/src/telemetry/frsky.cpp @@ -69,6 +69,9 @@ FrskyData frskyData; #if defined(CPUARM) uint8_t telemetryProtocol = 255; +#if defined(REVX) +uint8_t serialInversion = 0; +#endif #define IS_FRSKY_D_PROTOCOL() (telemetryProtocol == PROTOCOL_FRSKY_D) #define IS_FRSKY_SPORT_PROTOCOL() (telemetryProtocol == PROTOCOL_FRSKY_SPORT) #else @@ -283,7 +286,13 @@ void telemetryWakeup() { #if defined(CPUARM) uint8_t requiredTelemetryProtocol = MODEL_TELEMETRY_PROTOCOL(); - if (telemetryProtocol != requiredTelemetryProtocol) { +#if defined(REVX) + uint8_t requiredSerialInversion = g_model.moduleData[EXTERNAL_MODULE].invertedSerial; + if (telemetryProtocol != requiredTelemetryProtocol || serialInversion != requiredSerialInversion) { + serialInversion = requiredSerialInversion; +#else + if (telemetryProtocol != requiredTelemetryProtocol) { +#endif telemetryProtocol = requiredTelemetryProtocol; telemetryInit(); } @@ -648,5 +657,14 @@ void frskyUpdateCells(void) frskyData.hub.minCell = frskyData.hub.minCellVolts; } } + +#if defined(REVX) + if (serialInversion) { + setMFP(); + } + else { + clearMFP(); + } +#endif } #endif diff --git a/radio/src/translations.cpp b/radio/src/translations.cpp index d23796293..0aaea04d6 100644 --- a/radio/src/translations.cpp +++ b/radio/src/translations.cpp @@ -586,6 +586,7 @@ const pm_char STR_MODEL_SELECT[] PROGMEM = TR_MODEL_SELECT; const pm_char STR_ONLYPOSITIVE[] PROGMEM = TR_ONLYPOSITIVE; const pm_char STR_FILTER[] PROGMEM = TR_FILTER; const pm_char STR_TELEMETRYFULL[] PROGMEM = TR_TELEMETRYFULL; + const pm_char STR_INVERTED_SERIAL[] PROGMEM = TR_INVERTED_SERIAL; const pm_char STR_IGNORE_INSTANCE[] PROGMEM = TR_IGNORE_INSTANCE; const pm_char STR_DISCOVER_SENSORS[] PROGMEM = TR_DISCOVER_SENSORS; const pm_char STR_STOP_DISCOVER_SENSORS[] PROGMEM = TR_STOP_DISCOVER_SENSORS; diff --git a/radio/src/translations.h b/radio/src/translations.h index eaef82290..6ee196e44 100644 --- a/radio/src/translations.h +++ b/radio/src/translations.h @@ -798,6 +798,7 @@ extern const pm_char STR_MODEL_SELECT[]; extern const pm_char STR_ONLYPOSITIVE[]; extern const pm_char STR_FILTER[]; extern const pm_char STR_TELEMETRYFULL[]; + extern const pm_char STR_INVERTED_SERIAL[]; extern const pm_char STR_IGNORE_INSTANCE[]; extern const pm_char STR_DISCOVER_SENSORS[]; extern const pm_char STR_STOP_DISCOVER_SENSORS[]; diff --git a/radio/src/translations/cz.h.txt b/radio/src/translations/cz.h.txt index ebcc06c28..d8229b1f9 100644 --- a/radio/src/translations/cz.h.txt +++ b/radio/src/translations/cz.h.txt @@ -1086,6 +1086,8 @@ #define TR_ONLYPOSITIVE "Jen kladné" #define TR_FILTER "Filtr" #define TR_TELEMETRYFULL "Všechny sloty jsou plné!" +//TODO: translation +#define TR_INVERTED_SERIAL INDENT "Invert" #define TR_IGNORE_INSTANCE INDENT "Ignoruj chyby ID" #define TR_DISCOVER_SENSORS INDENT "Detekovat nové senzory" #define TR_STOP_DISCOVER_SENSORS INDENT "Zastavit autodetekci" diff --git a/radio/src/translations/de.h.txt b/radio/src/translations/de.h.txt index 644924eaa..a4e738d38 100644 --- a/radio/src/translations/de.h.txt +++ b/radio/src/translations/de.h.txt @@ -1090,6 +1090,7 @@ #define TR_ONLYPOSITIVE "Nur Positiv" #define TR_FILTER "Filter aktiv" #define TR_TELEMETRYFULL "Telemetriezeilen voll!" +#define TR_INVERTED_SERIAL INDENT "Invert." #define TR_IGNORE_INSTANCE TR(INDENT "Keine ID", INDENT "Keine Multisen-ID") //unklar #define TR_DISCOVER_SENSORS INDENT "Start Sensorsuche" #define TR_STOP_DISCOVER_SENSORS INDENT "Stop Sensorsuche" diff --git a/radio/src/translations/en.h.txt b/radio/src/translations/en.h.txt index 821ff0ea7..431816158 100644 --- a/radio/src/translations/en.h.txt +++ b/radio/src/translations/en.h.txt @@ -1117,6 +1117,7 @@ #define TR_ONLYPOSITIVE "Positive" #define TR_FILTER "Filter" #define TR_TELEMETRYFULL "All telemetry slots full!" +#define TR_INVERTED_SERIAL INDENT "Invert" #define TR_IGNORE_INSTANCE TR(INDENT "No inst.", INDENT "Ignore instances") #define TR_DISCOVER_SENSORS INDENT "Discover new sensors" #define TR_STOP_DISCOVER_SENSORS INDENT "Stop discovery" diff --git a/radio/src/translations/es.h.txt b/radio/src/translations/es.h.txt index 2c5c0be2c..7d76c27fb 100644 --- a/radio/src/translations/es.h.txt +++ b/radio/src/translations/es.h.txt @@ -1040,6 +1040,7 @@ #define TR_ONLYPOSITIVE "Positive" #define TR_FILTER "Filter" #define TR_TELEMETRYFULL "All telemetry slots full!" +#define TR_INVERTED_SERIAL INDENT "Invert" #define TR_IGNORE_INSTANCE INDENT "Ignore instance" #define TR_DISCOVER_SENSORS INDENT "Discover new sensors" #define TR_STOP_DISCOVER_SENSORS INDENT "Stop discovery" diff --git a/radio/src/translations/fi.h.txt b/radio/src/translations/fi.h.txt index 331622198..4959975fa 100644 --- a/radio/src/translations/fi.h.txt +++ b/radio/src/translations/fi.h.txt @@ -1040,6 +1040,7 @@ #define TR_ONLYPOSITIVE "Positive" #define TR_FILTER "Filter" #define TR_TELEMETRYFULL "All telemetry slots full!" +#define TR_INVERTED_SERIAL INDENT "Invert" #define TR_IGNORE_INSTANCE INDENT "Ignore instance" #define TR_DISCOVER_SENSORS INDENT "Discover new sensors" #define TR_STOP_DISCOVER_SENSORS INDENT "Stop discovery" diff --git a/radio/src/translations/fr.h.txt b/radio/src/translations/fr.h.txt index 1353c5949..c30ff817c 100644 --- a/radio/src/translations/fr.h.txt +++ b/radio/src/translations/fr.h.txt @@ -1077,6 +1077,7 @@ #define TR_ONLYPOSITIVE "Positive" #define TR_FILTER "Filtrage" #define TR_TELEMETRYFULL "Plus de capteurs libres!" +#define TR_INVERTED_SERIAL INDENT "Inverti" #define TR_IGNORE_INSTANCE TR(INDENT "Ign. inst.",INDENT "Ignorer instance") #define TR_DISCOVER_SENSORS INDENT "Découvrir capteurs" #define TR_STOP_DISCOVER_SENSORS INDENT "Terminer découverte" diff --git a/radio/src/translations/it.h.txt b/radio/src/translations/it.h.txt index d2092659f..3241c2ed0 100644 --- a/radio/src/translations/it.h.txt +++ b/radio/src/translations/it.h.txt @@ -1088,6 +1088,8 @@ #define TR_ONLYPOSITIVE "Positivo" #define TR_FILTER "Filtro" #define TR_TELEMETRYFULL "Tutti gli slot sono pieni!" +//TODO: translation +#define TR_INVERTED_SERIAL INDENT "Invert" #define TR_IGNORE_INSTANCE TR(INDENT "No inst.","Ignora instanza") #define TR_DISCOVER_SENSORS INDENT "Cerca nuovi sensori" #define TR_STOP_DISCOVER_SENSORS INDENT "Ferma ricerca.." diff --git a/radio/src/translations/nl.h.txt b/radio/src/translations/nl.h.txt index da98bf4e6..66b4c8f3c 100644 --- a/radio/src/translations/nl.h.txt +++ b/radio/src/translations/nl.h.txt @@ -1107,6 +1107,8 @@ #define TR_ONLYPOSITIVE "Geen Negatief" #define TR_FILTER "Filter aktief" #define TR_TELEMETRYFULL "Telemetrie slots vol!" +//TODO: translation +#define TR_INVERTED_SERIAL INDENT "Invert" #define TR_IGNORE_INSTANCE TR(INDENT "Neg. ID ","Negeer ID's") #define TR_DISCOVER_SENSORS INDENT "Ontdek nieuwe sensors" #define TR_STOP_DISCOVER_SENSORS INDENT "Stop ontdekking" @@ -1154,4 +1156,4 @@ #define ZSTR_CELLS "Cels" #define ZSTR_GPSALT "GAlt" #define ZSTR_GPSDATETIME "Date" -#define ZSTR_GPS "GPS" \ No newline at end of file +#define ZSTR_GPS "GPS" diff --git a/radio/src/translations/pl.h.txt b/radio/src/translations/pl.h.txt index 572135cb5..bb3af7e69 100644 --- a/radio/src/translations/pl.h.txt +++ b/radio/src/translations/pl.h.txt @@ -1089,6 +1089,8 @@ #define TR_ONLYPOSITIVE "Dodatni" #define TR_FILTER "Filtr" #define TR_TELEMETRYFULL "Wszyskie miejsca zajęte!" +//TODO: translation +#define TR_INVERTED SERIAL INDENT "Invert" #define TR_IGNORE_INSTANCE INDENT "Ignoruj przypadek" #define TR_DISCOVER_SENSORS INDENT "Znajdź nowe czujniki" #define TR_STOP_DISCOVER_SENSORS INDENT "Szukanie STOP " diff --git a/radio/src/translations/pt.h.txt b/radio/src/translations/pt.h.txt index f6289bdea..398717b20 100644 --- a/radio/src/translations/pt.h.txt +++ b/radio/src/translations/pt.h.txt @@ -1040,6 +1040,7 @@ #define TR_ONLYPOSITIVE "Positive" #define TR_FILTER "Filter" #define TR_TELEMETRYFULL "All telemetry slots full!" +#define TR_INVERTED_SERIAL INDENT "Invert" #define TR_IGNORE_INSTANCE INDENT "Ignore instance" #define TR_DISCOVER_SENSORS INDENT "Discover new sensors" #define TR_STOP_DISCOVER_SENSORS INDENT "Stop discovery" diff --git a/radio/src/translations/se.h.txt b/radio/src/translations/se.h.txt index 6a7c70b8c..81802dcf1 100644 --- a/radio/src/translations/se.h.txt +++ b/radio/src/translations/se.h.txt @@ -1116,6 +1116,8 @@ #define TR_ONLYPOSITIVE "Positiv" #define TR_FILTER "Filter" #define TR_TELEMETRYFULL "Alla telemetriplatser upptagna!" +//TODO: translation +#define TR_INVERTED_SERIAL INDENT "Invert" #define TR_IGNORE_INSTANCE TR(INDENT "Inst.fel", INDENT "Hantera Instansfel") #define TR_DISCOVER_SENSORS INDENT "Sök nya sensorer" #define TR_STOP_DISCOVER_SENSORS INDENT "Avbryt sökning" From 01fa6471c7aa59268aa9d9b4a6e4225cd0a7c395 Mon Sep 17 00:00:00 2001 From: mikeller Date: Tue, 15 Dec 2015 02:08:16 +1300 Subject: [PATCH 2/4] Graft of serial port inversion option onto 'next'. --- radio/src/Makefile | 2 ++ radio/src/gui/9x/menu_model_telemetry.cpp | 12 +++++++++++- radio/src/myeeprom.h | 3 ++- radio/src/opentx.h | 5 +++++ radio/src/targets/sky9x/rtc_driver.cpp | 22 ++++++++++++++++++++++ radio/src/telemetry/frsky.cpp | 20 +++++++++++++++++++- radio/src/translations.cpp | 1 + radio/src/translations.h | 1 + radio/src/translations/cz.h.txt | 2 ++ radio/src/translations/de.h.txt | 1 + radio/src/translations/en.h.txt | 1 + radio/src/translations/es.h.txt | 1 + radio/src/translations/fi.h.txt | 1 + radio/src/translations/fr.h.txt | 1 + radio/src/translations/it.h.txt | 2 ++ radio/src/translations/nl.h.txt | 4 +++- radio/src/translations/pl.h.txt | 2 ++ radio/src/translations/pt.h.txt | 1 + radio/src/translations/se.h.txt | 2 ++ 19 files changed, 80 insertions(+), 4 deletions(-) diff --git a/radio/src/Makefile b/radio/src/Makefile index 88ef5c2fc..3e9caf631 100644 --- a/radio/src/Makefile +++ b/radio/src/Makefile @@ -847,6 +847,8 @@ ifeq ($(PCB), $(filter $(PCB), SKY9X 9XRPRO AR9X)) ifeq ($(RTCLOCK), YES) CPPDEFS += -DRTCLOCK CPPSRC += rtc.cpp targets/sky9x/rtc_driver.cpp + else ifeq ($(PCB), SKY9X) + CPPSRC += targets/sky9x/rtc_driver.cpp endif ifeq ($(BLUETOOTH), YES) CPPDEFS += -DBLUETOOTH diff --git a/radio/src/gui/9x/menu_model_telemetry.cpp b/radio/src/gui/9x/menu_model_telemetry.cpp index ede76b63a..3d85c2759 100644 --- a/radio/src/gui/9x/menu_model_telemetry.cpp +++ b/radio/src/gui/9x/menu_model_telemetry.cpp @@ -37,6 +37,9 @@ enum menuModelTelemetryItems { CASE_CPUARM(ITEM_TELEMETRY_PROTOCOL_TYPE) +#if defined(REVX) + ITEM_TELEMETRY_INVERTED_SERIAL, +#endif #if !defined(CPUARM) ITEM_TELEMETRY_A1_LABEL, ITEM_TELEMETRY_A1_RANGE, @@ -184,7 +187,9 @@ enum menuModelTelemetryItems { #define VARIO_RANGE_ROWS 3 #endif -#if defined(CPUARM) +#if defined(REVX) + #define TELEMETRY_TYPE_ROWS 0, 0, +#elif defined(CPUARM) #define TELEMETRY_TYPE_ROWS 0, #else #define TELEMETRY_TYPE_ROWS @@ -608,6 +613,11 @@ void menuModelTelemetry(uint8_t event) case ITEM_TELEMETRY_PROTOCOL_TYPE: g_model.telemetryProtocol = selectMenuItem(TELEM_COL2, y, STR_TELEMETRY_TYPE, "\017FrSky S.PORT\0 FrSky D\0 FrSky D (cable)", g_model.telemetryProtocol, PROTOCOL_TELEMETRY_FIRST, CASE_PCBSKY9X(PROTOCOL_FRSKY_D_SECONDARY) attr, event); break; +#if defined(REVX) + case ITEM_TELEMETRY_INVERTED_SERIAL: + ON_OFF_MENU_ITEM(g_model.moduleData[EXTERNAL_MODULE].invertedSerial, TELEM_COL2, y, STR_INVERTED_SERIAL, attr, event); + break; +#endif #endif #if defined(CPUARM) diff --git a/radio/src/myeeprom.h b/radio/src/myeeprom.h index d779409ba..c0b1ea046 100644 --- a/radio/src/myeeprom.h +++ b/radio/src/myeeprom.h @@ -505,7 +505,8 @@ PACK(typedef struct { int8_t rfProtocol:4; uint8_t channelsStart; int8_t channelsCount; // 0=8 channels - uint8_t failsafeMode; + uint8_t failsafeMode:7; + uint8_t invertedSerial:1; // telemetry serial inverted from standard int16_t failsafeChannels[NUM_CHNOUT]; int8_t ppmDelay:6; uint8_t ppmPulsePol:1; diff --git a/radio/src/opentx.h b/radio/src/opentx.h index d3e3fd189..99f74fe42 100644 --- a/radio/src/opentx.h +++ b/radio/src/opentx.h @@ -1520,6 +1520,11 @@ enum AUDIO_SOUNDS { #include "rtc.h" #endif +#if defined(REVX) +void setMFP(); +void clearMFP(); +#endif + #if defined(CPUARM) extern uint8_t requiredSpeakerVolume; #endif diff --git a/radio/src/targets/sky9x/rtc_driver.cpp b/radio/src/targets/sky9x/rtc_driver.cpp index 7e4044f23..c09b565d6 100644 --- a/radio/src/targets/sky9x/rtc_driver.cpp +++ b/radio/src/targets/sky9x/rtc_driver.cpp @@ -280,3 +280,25 @@ void rtcInit() coprocReadData(); #endif } + +#if defined(REVX) +void writeMFP() +{ + __disable_irq(); + Rtc_write_pending |= 2; + i2cCheck(); + __enable_irq(); +} + +void setMFP() +{ + MFPsetting = 0x80; + writeMFP(); +} + +void clearMFP() +{ + MFPsetting = 0; + writeMFP(); +} +#endif diff --git a/radio/src/telemetry/frsky.cpp b/radio/src/telemetry/frsky.cpp index daa122f72..dabdec56d 100644 --- a/radio/src/telemetry/frsky.cpp +++ b/radio/src/telemetry/frsky.cpp @@ -69,6 +69,9 @@ FrskyData frskyData; #if defined(CPUARM) uint8_t telemetryProtocol = 255; +#if defined(REVX) +uint8_t serialInversion = 0; +#endif #define IS_FRSKY_D_PROTOCOL() (telemetryProtocol == PROTOCOL_FRSKY_D) #define IS_FRSKY_SPORT_PROTOCOL() (telemetryProtocol == PROTOCOL_FRSKY_SPORT) #else @@ -283,7 +286,13 @@ void telemetryWakeup() { #if defined(CPUARM) uint8_t requiredTelemetryProtocol = MODEL_TELEMETRY_PROTOCOL(); - if (telemetryProtocol != requiredTelemetryProtocol) { +#if defined(REVX) + uint8_t requiredSerialInversion = g_model.moduleData[EXTERNAL_MODULE].invertedSerial; + if (telemetryProtocol != requiredTelemetryProtocol || serialInversion != requiredSerialInversion) { + serialInversion = requiredSerialInversion; +#else + if (telemetryProtocol != requiredTelemetryProtocol) { +#endif telemetryProtocol = requiredTelemetryProtocol; telemetryInit(); } @@ -622,6 +631,15 @@ void telemetryInit(void) else { telemetryPortInit(FRSKY_SPORT_BAUDRATE); } + +#if defined(REVX) + if (serialInversion) { + setMFP(); + } + else { + clearMFP(); + } +#endif #elif !defined(SIMU) telemetryPortInit(); #endif diff --git a/radio/src/translations.cpp b/radio/src/translations.cpp index d23796293..0aaea04d6 100644 --- a/radio/src/translations.cpp +++ b/radio/src/translations.cpp @@ -586,6 +586,7 @@ const pm_char STR_MODEL_SELECT[] PROGMEM = TR_MODEL_SELECT; const pm_char STR_ONLYPOSITIVE[] PROGMEM = TR_ONLYPOSITIVE; const pm_char STR_FILTER[] PROGMEM = TR_FILTER; const pm_char STR_TELEMETRYFULL[] PROGMEM = TR_TELEMETRYFULL; + const pm_char STR_INVERTED_SERIAL[] PROGMEM = TR_INVERTED_SERIAL; const pm_char STR_IGNORE_INSTANCE[] PROGMEM = TR_IGNORE_INSTANCE; const pm_char STR_DISCOVER_SENSORS[] PROGMEM = TR_DISCOVER_SENSORS; const pm_char STR_STOP_DISCOVER_SENSORS[] PROGMEM = TR_STOP_DISCOVER_SENSORS; diff --git a/radio/src/translations.h b/radio/src/translations.h index eaef82290..6ee196e44 100644 --- a/radio/src/translations.h +++ b/radio/src/translations.h @@ -798,6 +798,7 @@ extern const pm_char STR_MODEL_SELECT[]; extern const pm_char STR_ONLYPOSITIVE[]; extern const pm_char STR_FILTER[]; extern const pm_char STR_TELEMETRYFULL[]; + extern const pm_char STR_INVERTED_SERIAL[]; extern const pm_char STR_IGNORE_INSTANCE[]; extern const pm_char STR_DISCOVER_SENSORS[]; extern const pm_char STR_STOP_DISCOVER_SENSORS[]; diff --git a/radio/src/translations/cz.h.txt b/radio/src/translations/cz.h.txt index ebcc06c28..d8229b1f9 100644 --- a/radio/src/translations/cz.h.txt +++ b/radio/src/translations/cz.h.txt @@ -1086,6 +1086,8 @@ #define TR_ONLYPOSITIVE "Jen kladné" #define TR_FILTER "Filtr" #define TR_TELEMETRYFULL "Všechny sloty jsou plné!" +//TODO: translation +#define TR_INVERTED_SERIAL INDENT "Invert" #define TR_IGNORE_INSTANCE INDENT "Ignoruj chyby ID" #define TR_DISCOVER_SENSORS INDENT "Detekovat nové senzory" #define TR_STOP_DISCOVER_SENSORS INDENT "Zastavit autodetekci" diff --git a/radio/src/translations/de.h.txt b/radio/src/translations/de.h.txt index 644924eaa..a4e738d38 100644 --- a/radio/src/translations/de.h.txt +++ b/radio/src/translations/de.h.txt @@ -1090,6 +1090,7 @@ #define TR_ONLYPOSITIVE "Nur Positiv" #define TR_FILTER "Filter aktiv" #define TR_TELEMETRYFULL "Telemetriezeilen voll!" +#define TR_INVERTED_SERIAL INDENT "Invert." #define TR_IGNORE_INSTANCE TR(INDENT "Keine ID", INDENT "Keine Multisen-ID") //unklar #define TR_DISCOVER_SENSORS INDENT "Start Sensorsuche" #define TR_STOP_DISCOVER_SENSORS INDENT "Stop Sensorsuche" diff --git a/radio/src/translations/en.h.txt b/radio/src/translations/en.h.txt index 821ff0ea7..431816158 100644 --- a/radio/src/translations/en.h.txt +++ b/radio/src/translations/en.h.txt @@ -1117,6 +1117,7 @@ #define TR_ONLYPOSITIVE "Positive" #define TR_FILTER "Filter" #define TR_TELEMETRYFULL "All telemetry slots full!" +#define TR_INVERTED_SERIAL INDENT "Invert" #define TR_IGNORE_INSTANCE TR(INDENT "No inst.", INDENT "Ignore instances") #define TR_DISCOVER_SENSORS INDENT "Discover new sensors" #define TR_STOP_DISCOVER_SENSORS INDENT "Stop discovery" diff --git a/radio/src/translations/es.h.txt b/radio/src/translations/es.h.txt index 2c5c0be2c..7d76c27fb 100644 --- a/radio/src/translations/es.h.txt +++ b/radio/src/translations/es.h.txt @@ -1040,6 +1040,7 @@ #define TR_ONLYPOSITIVE "Positive" #define TR_FILTER "Filter" #define TR_TELEMETRYFULL "All telemetry slots full!" +#define TR_INVERTED_SERIAL INDENT "Invert" #define TR_IGNORE_INSTANCE INDENT "Ignore instance" #define TR_DISCOVER_SENSORS INDENT "Discover new sensors" #define TR_STOP_DISCOVER_SENSORS INDENT "Stop discovery" diff --git a/radio/src/translations/fi.h.txt b/radio/src/translations/fi.h.txt index 331622198..4959975fa 100644 --- a/radio/src/translations/fi.h.txt +++ b/radio/src/translations/fi.h.txt @@ -1040,6 +1040,7 @@ #define TR_ONLYPOSITIVE "Positive" #define TR_FILTER "Filter" #define TR_TELEMETRYFULL "All telemetry slots full!" +#define TR_INVERTED_SERIAL INDENT "Invert" #define TR_IGNORE_INSTANCE INDENT "Ignore instance" #define TR_DISCOVER_SENSORS INDENT "Discover new sensors" #define TR_STOP_DISCOVER_SENSORS INDENT "Stop discovery" diff --git a/radio/src/translations/fr.h.txt b/radio/src/translations/fr.h.txt index 1353c5949..c30ff817c 100644 --- a/radio/src/translations/fr.h.txt +++ b/radio/src/translations/fr.h.txt @@ -1077,6 +1077,7 @@ #define TR_ONLYPOSITIVE "Positive" #define TR_FILTER "Filtrage" #define TR_TELEMETRYFULL "Plus de capteurs libres!" +#define TR_INVERTED_SERIAL INDENT "Inverti" #define TR_IGNORE_INSTANCE TR(INDENT "Ign. inst.",INDENT "Ignorer instance") #define TR_DISCOVER_SENSORS INDENT "Découvrir capteurs" #define TR_STOP_DISCOVER_SENSORS INDENT "Terminer découverte" diff --git a/radio/src/translations/it.h.txt b/radio/src/translations/it.h.txt index d2092659f..3241c2ed0 100644 --- a/radio/src/translations/it.h.txt +++ b/radio/src/translations/it.h.txt @@ -1088,6 +1088,8 @@ #define TR_ONLYPOSITIVE "Positivo" #define TR_FILTER "Filtro" #define TR_TELEMETRYFULL "Tutti gli slot sono pieni!" +//TODO: translation +#define TR_INVERTED_SERIAL INDENT "Invert" #define TR_IGNORE_INSTANCE TR(INDENT "No inst.","Ignora instanza") #define TR_DISCOVER_SENSORS INDENT "Cerca nuovi sensori" #define TR_STOP_DISCOVER_SENSORS INDENT "Ferma ricerca.." diff --git a/radio/src/translations/nl.h.txt b/radio/src/translations/nl.h.txt index da98bf4e6..66b4c8f3c 100644 --- a/radio/src/translations/nl.h.txt +++ b/radio/src/translations/nl.h.txt @@ -1107,6 +1107,8 @@ #define TR_ONLYPOSITIVE "Geen Negatief" #define TR_FILTER "Filter aktief" #define TR_TELEMETRYFULL "Telemetrie slots vol!" +//TODO: translation +#define TR_INVERTED_SERIAL INDENT "Invert" #define TR_IGNORE_INSTANCE TR(INDENT "Neg. ID ","Negeer ID's") #define TR_DISCOVER_SENSORS INDENT "Ontdek nieuwe sensors" #define TR_STOP_DISCOVER_SENSORS INDENT "Stop ontdekking" @@ -1154,4 +1156,4 @@ #define ZSTR_CELLS "Cels" #define ZSTR_GPSALT "GAlt" #define ZSTR_GPSDATETIME "Date" -#define ZSTR_GPS "GPS" \ No newline at end of file +#define ZSTR_GPS "GPS" diff --git a/radio/src/translations/pl.h.txt b/radio/src/translations/pl.h.txt index 572135cb5..bb3af7e69 100644 --- a/radio/src/translations/pl.h.txt +++ b/radio/src/translations/pl.h.txt @@ -1089,6 +1089,8 @@ #define TR_ONLYPOSITIVE "Dodatni" #define TR_FILTER "Filtr" #define TR_TELEMETRYFULL "Wszyskie miejsca zajęte!" +//TODO: translation +#define TR_INVERTED SERIAL INDENT "Invert" #define TR_IGNORE_INSTANCE INDENT "Ignoruj przypadek" #define TR_DISCOVER_SENSORS INDENT "Znajdź nowe czujniki" #define TR_STOP_DISCOVER_SENSORS INDENT "Szukanie STOP " diff --git a/radio/src/translations/pt.h.txt b/radio/src/translations/pt.h.txt index f6289bdea..398717b20 100644 --- a/radio/src/translations/pt.h.txt +++ b/radio/src/translations/pt.h.txt @@ -1040,6 +1040,7 @@ #define TR_ONLYPOSITIVE "Positive" #define TR_FILTER "Filter" #define TR_TELEMETRYFULL "All telemetry slots full!" +#define TR_INVERTED_SERIAL INDENT "Invert" #define TR_IGNORE_INSTANCE INDENT "Ignore instance" #define TR_DISCOVER_SENSORS INDENT "Discover new sensors" #define TR_STOP_DISCOVER_SENSORS INDENT "Stop discovery" diff --git a/radio/src/translations/se.h.txt b/radio/src/translations/se.h.txt index 6a7c70b8c..81802dcf1 100644 --- a/radio/src/translations/se.h.txt +++ b/radio/src/translations/se.h.txt @@ -1116,6 +1116,8 @@ #define TR_ONLYPOSITIVE "Positiv" #define TR_FILTER "Filter" #define TR_TELEMETRYFULL "Alla telemetriplatser upptagna!" +//TODO: translation +#define TR_INVERTED_SERIAL INDENT "Invert" #define TR_IGNORE_INSTANCE TR(INDENT "Inst.fel", INDENT "Hantera Instansfel") #define TR_DISCOVER_SENSORS INDENT "Sök nya sensorer" #define TR_STOP_DISCOVER_SENSORS INDENT "Avbryt sökning" From d165a22a545b4f96674465fc2c1e0cd4385c4c53 Mon Sep 17 00:00:00 2001 From: Michael Keller Date: Tue, 15 Dec 2015 12:06:16 +1300 Subject: [PATCH 3/4] Fixup from merge. --- radio/src/telemetry/frsky.cpp | 9 --------- 1 file changed, 9 deletions(-) diff --git a/radio/src/telemetry/frsky.cpp b/radio/src/telemetry/frsky.cpp index c7c437283..dabdec56d 100644 --- a/radio/src/telemetry/frsky.cpp +++ b/radio/src/telemetry/frsky.cpp @@ -666,14 +666,5 @@ void frskyUpdateCells(void) frskyData.hub.minCell = frskyData.hub.minCellVolts; } } - -#if defined(REVX) - if (serialInversion) { - setMFP(); - } - else { - clearMFP(); - } -#endif } #endif From 90a62b00f0ad40324917d0ebf03ee565515e00ca Mon Sep 17 00:00:00 2001 From: mikeller Date: Tue, 15 Dec 2015 19:39:01 +1300 Subject: [PATCH 4/4] Fixed compile error when building simulator. --- radio/src/telemetry/frsky.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/radio/src/telemetry/frsky.cpp b/radio/src/telemetry/frsky.cpp index dabdec56d..75dee9522 100644 --- a/radio/src/telemetry/frsky.cpp +++ b/radio/src/telemetry/frsky.cpp @@ -632,7 +632,7 @@ void telemetryInit(void) telemetryPortInit(FRSKY_SPORT_BAUDRATE); } -#if defined(REVX) +#if defined(REVX) && !defined(SIMU) if (serialInversion) { setMFP(); }