From 62183fc8ddc735b3baef1c75bfc1dbb1dffa1e07 Mon Sep 17 00:00:00 2001 From: "pienk@planet.nl" Date: Tue, 8 Oct 2013 19:17:11 +0000 Subject: [PATCH] Moved display strings to the translations files Added altitude to navigation screen. Added MAVLINK_RADIO_STATUS messaged decoder. Moved mavlink settings to the model menu. Added scaling factor for the RC rssi value. --- src/Makefile | 2 + src/gui/menu_general.cpp | 16 ++ src/gui/menu_model.cpp | 5 + src/gui/view_mavlink.cpp | 307 +++++++++++++++----------------------- src/gui/view_mavlink.h | 14 +- src/myeeprom.h | 35 +++-- src/opentx.cpp | 5 + src/opentx.h | 6 + src/serial.cpp | 28 +--- src/serial.h | 9 +- src/telemetry/mavlink.cpp | 61 ++++---- src/telemetry/mavlink.h | 21 ++- src/translations.cpp | 31 ++++ src/translations.h | 43 +++++- src/translations/cz.h | 35 +++++ src/translations/cz.h.txt | 35 +++++ src/translations/de.h | 35 +++++ src/translations/de.h.txt | 35 +++++ src/translations/en.h | 37 +++++ src/translations/es.h | 35 +++++ src/translations/es.h.txt | 35 +++++ src/translations/fr.h | 35 +++++ src/translations/fr.h.txt | 35 +++++ src/translations/it.h | 35 +++++ src/translations/it.h.txt | 35 +++++ src/translations/pt.h | 35 +++++ src/translations/pt.h.txt | 35 +++++ src/translations/se.h | 35 +++++ src/translations/se.h.txt | 35 +++++ 29 files changed, 827 insertions(+), 283 deletions(-) diff --git a/src/Makefile b/src/Makefile index c31feb668..2b7c4d5b0 100644 --- a/src/Makefile +++ b/src/Makefile @@ -265,6 +265,7 @@ endif GVARS_VARIANT = +1 FRSKY_VARIANT = +2 3POS_VARIANT = +4 +MAVLINK_VARIANT = +8 M128_VARIANT = +32768 M2561_VARIANT = +16384 EEPROM_VARIANT = 0 @@ -840,6 +841,7 @@ endif ifeq ($(EXT), MAVLINK) CPPDEFS += -DMAVLINK CPPSRC += telemetry/mavlink.cpp gui/view_mavlink.cpp serial.cpp + EEPROM_VARIANT += ${MAVLINK_VARIANT} endif ifeq ($(EXT), TELEMETREZ) diff --git a/src/gui/menu_general.cpp b/src/gui/menu_general.cpp index d92bbf353..a49c9b2ff 100644 --- a/src/gui/menu_general.cpp +++ b/src/gui/menu_general.cpp @@ -180,6 +180,7 @@ enum menuGeneralSetupItems { IF_CPUARM(ITEM_SETUP_LANGUAGE) IF_CPUARM(ITEM_SETUP_IMPERIAL) IF_FAI_CHOICE(ITEM_SETUP_FAI) + IF_MAVLINK(ITEM_MAVLINK_BAUD) ITEM_SETUP_RX_CHANNEL_ORD, ITEM_SETUP_STICK_MODE_LABELS, ITEM_SETUP_STICK_MODE, @@ -569,6 +570,21 @@ void menuGeneralSetup(uint8_t event) break; #endif +#if defined(MAVLINK) + case ITEM_MAVLINK_BAUD: + g_eeGeneral.mavbaud = selectMenuItem(RADIO_SETUP_2ND_COLUMN, //Y + y, // Y + STR_MAVLINK_BAUD_LABEL, // pm_char *label + STR_MAVLINK_BAUDS, // pm_char *values +// PSTR("4800""9600""14400""19200""38400""57600""76800""115200"), + g_eeGeneral.mavbaud, // value + 0, // min + 7, // max + attr, // attr + event); // event + break; +#endif + case ITEM_SETUP_RX_CHANNEL_ORD: lcd_putsLeft(y, STR_RXCHANNELORD); // RAET->AETR for (uint8_t i=1; i<=4; i++) diff --git a/src/gui/menu_model.cpp b/src/gui/menu_model.cpp index 9361c4ca5..63aa4e5a7 100644 --- a/src/gui/menu_model.cpp +++ b/src/gui/menu_model.cpp @@ -35,6 +35,9 @@ */ #include "../opentx.h" +#ifdef MAVLINK +#include "gui/view_mavlink.h" +#endif #define WCHART 32 #define X0 (LCD_W-WCHART-2) @@ -55,6 +58,7 @@ enum EnumTabModel { e_CustomSwitches, e_CustomFunctions, IF_FRSKY(e_Telemetry) + IF_MAVLINK(e_MavSetup) IF_TEMPLATES(e_Templates) }; @@ -88,6 +92,7 @@ const MenuFuncP_PROGMEM menuTabModel[] PROGMEM = { menuModelCustomSwitches, menuModelCustomFunctions, IF_FRSKY(menuModelTelemetry) + IF_MAVLINK(menuTelemetryMavlinkSetup) IF_TEMPLATES(menuModelTemplates) }; diff --git a/src/gui/view_mavlink.cpp b/src/gui/view_mavlink.cpp index 660f093ac..b10ab0db0 100644 --- a/src/gui/view_mavlink.cpp +++ b/src/gui/view_mavlink.cpp @@ -43,7 +43,7 @@ #include "gui/view_mavlink.h" - // Globals declaration +// Globals declaration /*! \brief Top Mavlink Menu definition @@ -54,18 +54,13 @@ */ void menuTelemetryMavlink(uint8_t event) { - static bool setup; - switch (event) // new event received, branch accordingly { case EVT_ENTRY: MAVLINK_menu = MENU_INFO; - setup = false; break; case EVT_KEY_FIRST(KEY_UP): - if (setup) - break; if (MAVLINK_menu > 0) { MAVLINK_menu--; @@ -77,54 +72,40 @@ void menuTelemetryMavlink(uint8_t event) { return; } case EVT_KEY_FIRST(KEY_DOWN): - if (setup) - break; if (MAVLINK_menu < MAX_MAVLINK_MENU - 1) MAVLINK_menu++; break; case EVT_KEY_FIRST(KEY_MENU): - setup = true; return; case EVT_KEY_FIRST(KEY_EXIT): - if (setup) - { - setup = false; - MAVLINK_Init(); - break; - } chainMenu(menuMainView); return; } - if (setup) - menuTelemetryMavlinkSetup(event); - else - { - switch (MAVLINK_menu) { - case MENU_INFO: - menuTelemetryMavlinkInfos(); - break; - case MENU_MODE: - menuTelemetryMavlinkFlightMode(); - break; - case MENU_BATT: - menuTelemetryMavlinkBattery(); - break; - case MENU_NAV: - menuTelemetryMavlinkNavigation(); - break; - case MENU_GPS: - menuTelemetryMavlinkGPS(); - break; - #ifdef DUMP_RX_TX - case MENU_DUMP_TX: - case MENU_DUMP_RX: - menuTelemetryMavlinkDump(event); - break; - #endif - default: - break; - } + switch (MAVLINK_menu) { + case MENU_INFO: + menuTelemetryMavlinkInfos(); + break; + case MENU_MODE: + menuTelemetryMavlinkFlightMode(); + break; + case MENU_BATT: + menuTelemetryMavlinkBattery(); + break; + case MENU_NAV: + menuTelemetryMavlinkNavigation(); + break; + case MENU_GPS: + menuTelemetryMavlinkGPS(); + break; +#ifdef DUMP_RX_TX + case MENU_DUMP_TX: + case MENU_DUMP_RX: + menuTelemetryMavlinkDump(event); + break; +#endif + default: + break; } } @@ -193,106 +174,28 @@ void lcd_outdezFloat(uint8_t x, uint8_t y, float val, uint8_t precis, uint8_t mo } } -/*! \brief Fightmode decode helper +/*! \brief Fightmode string printer * \details Decodes the flight mode from Mavlink custom mode enum to a string. * This funtion can handle ArduPilot and ArduCoper code. + * To support new autopilot pilots add a STR_MAVLINK_... to the translations, + * and if requred a lut (see arduplane for examle) if there are unused modes + * in the sequence. */ -const char * mav_mode_to_string(uint32_t custom_mode) //, const char * mode_text_p) +void print_mav_mode(uint8_t x, uint8_t y, uint32_t custom_mode, uint8_t attr) //, const char * mode_text_p) { - const char * mode_text_p; + uint8_t mode = (uint8_t) custom_mode; switch (telemetry_data.type_autopilot) { case MAVLINK_ARDUCOPTER: - switch(custom_mode) { - case AC_STABILIZE: - mode_text_p = PSTR("Stabilize"); - break; - case AC_ACRO: - mode_text_p = PSTR("Acro"); - break; - case AC_ALT_HOLD: - mode_text_p = PSTR("Alt Hold"); - break; - case AC_AUTO: - mode_text_p = PSTR("Auto"); - break; - case AC_GUIDED: - mode_text_p = PSTR("Guided"); - break; - case AC_LOITER: - mode_text_p = PSTR("Loiter"); - break; - case AC_RTL: - mode_text_p = PSTR("RTL"); - break; - case AC_CIRCLE: - mode_text_p = PSTR("Circle"); - break; - case AC_POSITION: - mode_text_p = PSTR("Pos Hold"); - break; - case AC_LAND: - mode_text_p = PSTR("Land"); - break; - case AC_OF_LOITER: - mode_text_p = PSTR("OF Loiter"); - break; - case AC_TOY_A: - mode_text_p = PSTR("Toy A"); - break; - case AC_TOY_M: - mode_text_p = PSTR("Toy M"); - break; - default: - mode_text_p = PSTR("INVALID"); - break; - } + lcd_putsiAtt(x,y,STR_MAVLINK_AC_MODES,mode,attr); break; case MAVLINK_ARDUPLANE: - switch(custom_mode) { - case AP_MANUAL: - mode_text_p = PSTR("Manual"); - break; - case AP_CIRCLE: - mode_text_p = PSTR("Circle"); - break; - case AP_STABILIZE: - mode_text_p = PSTR("Stabilize"); - break; - case AP_TRAINING: - mode_text_p = PSTR("Training"); - break; - case AP_FLY_BY_WIRE_A: - mode_text_p = PSTR("Fly by Wire A"); - break; - case AP_FLY_BY_WIRE_B: - mode_text_p = PSTR("Fly by Wire A"); - break; - case AP_AUTO: - mode_text_p = PSTR("Auto"); - break; - case AP_RTL: - mode_text_p = PSTR("RTL"); - break; - case AP_LOITER: - mode_text_p = PSTR("Loiter"); - break; - case AP_GUIDED: - mode_text_p = PSTR("Guided"); - break; - case AP_INITIALISING: - mode_text_p = PSTR("Initialising"); - break; - default: - mode_text_p = PSTR("INVALID"); - break; - } + lcd_putsiAtt(x,y,STR_MAVLINK_AP_MODES,ap_modes_lut[custom_mode],attr); break; default: - mode_text_p = PSTR("INVALID MAV TYPE"); + lcd_putsAtt (FW, y, PSTR("INV. MAV TYPE"), attr); break; } - return mode_text_p; } /*! \brief Menu header @@ -316,14 +219,14 @@ void mav_title(const pm_char * s, uint8_t index) */ void menuTelemetryMavlinkInfos(void) { - mav_title(PSTR("INFOS"), MAVLINK_menu); + mav_title(STR_MAVLINK_INFOS, MAVLINK_menu); uint8_t x1, x2, xnum, y; x1 = FW; x2 = 7 * FW; xnum = x2 + 5 * FWNUM; y = FH; - +/* char * ptr = mav_statustext; for (uint8_t j = 0; j < LEN_STATUSTEXT; j++) { if (*ptr == 0) { @@ -335,12 +238,11 @@ void menuTelemetryMavlinkInfos(void) { } x1 = FW; y += FH; - +*/ if (telemetry_data.status) { - lcd_putsnAtt(x1, y, PSTR("MODE"), 4, 0); + lcd_putsnAtt(x1, y, STR_MAVLINK_MODE, 4, 0); if (telemetry_data.active) - //if (telemetry_data.mode & MAV_MODE_FLAG_SAFETY_ARMED) lcd_putsnAtt(x2, y, PSTR("A"), 1, 0); lcd_outdezAtt(xnum, y, telemetry_data.mode, 0); @@ -351,7 +253,23 @@ void menuTelemetryMavlinkInfos(void) { y += FH; lcd_puts(x1, y, PSTR("DROP")); lcd_outdezAtt(xnum, y, telemetry_data.packet_drop, 0); - +/* y += FH; + lcd_puts(x1, y, PSTR("FIX")); + lcd_outdezAtt(xnum, y, telemetry_data.packet_fixed, 0); + y += FH; + lcd_puts(x1, y, PSTR("MAV Comp")); + lcd_outdezAtt(xnum, y, telemetry_data.mav_compid, 0); + y += FH; + lcd_puts(x1, y, PSTR("MAV Sys")); + lcd_outdezAtt(xnum, y, telemetry_data.mav_sysid, 0); + y += FH; + lcd_puts(x1, y, PSTR("Rad Comp")); + lcd_outdezAtt(xnum, y, telemetry_data.radio_compid, 0); + y += FH; + lcd_puts(x1, y, PSTR("Rad Sys")); + lcd_outdezAtt(xnum, y, telemetry_data.radio_sysid, 0); +*/ + } } @@ -361,17 +279,15 @@ void menuTelemetryMavlinkInfos(void) { */ void menuTelemetryMavlinkFlightMode(void) { - mav_title(PSTR("MODE"), MAVLINK_menu); - - const char * mode_text_p = mav_mode_to_string(telemetry_data.custom_mode); - + mav_title(STR_MAVLINK_MODE, MAVLINK_menu); + uint8_t x, y; x = 0; y = FH; - lcd_puts (x, y, PSTR("Current Mode")); + lcd_puts (x, y, STR_MAVLINK_CUR_MODE); y += FH; - lcd_putsAtt (FW, y, mode_text_p, DBLSIZE); + print_mav_mode(FW, y, telemetry_data.custom_mode, DBLSIZE); y += 2 * FH; char * ptr = mav_statustext; @@ -387,15 +303,16 @@ void menuTelemetryMavlinkFlightMode(void) { x = 0; if (telemetry_data.active) - lcd_putsAtt (FW, y, PSTR("Armed"), DBLSIZE); + lcd_putsAtt (FW, y, STR_MAVLINK_ARMED, DBLSIZE); } /*! \brief Batterystatus dislplay * \details Shows flight batery status. + * Also RC and PC RSSI are in this menu. */ void menuTelemetryMavlinkBattery(void) { - mav_title(PSTR("BAT RSSI"), MAVLINK_menu); + mav_title(STR_MAVLINK_BAT_MENU_TITLE, MAVLINK_menu); uint8_t x, y, ynum; x = 7 * FWNUM; @@ -403,7 +320,7 @@ void menuTelemetryMavlinkBattery(void) { ynum = 2 * FH; y = 3 * FH; - lcd_puts(0, 1*FH, PSTR("Flight Batery status")); + lcd_puts(0, 1*FH, STR_MAVLINK_BATTERY_LABEL); lcd_outdezAtt(x, ynum, telemetry_data.vbat, (DBLSIZE | PREC1 | UNSIGN)); lcd_puts(x, y, PSTR("V")); @@ -417,22 +334,28 @@ void menuTelemetryMavlinkBattery(void) { ynum += 3 * FH; x = 0; - lcd_puts (x, y, PSTR("RC RSSI")); + lcd_puts (x, y, STR_MAVLINK_RC_RSSI_LABEL); lcd_outdezAtt(x + 7 * FWNUM, ynum, telemetry_data.rc_rssi, (DBLSIZE | UNSIGN)); lcd_puts(x + 7 * FWNUM, ynum + FH, PSTR("%")); - x += 8 * (2 * FWNUM); - lcd_puts(x, y, PSTR("PC RSSI")); - lcd_outdezAtt(x + 7 * FWNUM, ynum, telemetry_data.pc_rssi, (DBLSIZE)); - lcd_puts(x + 7 * FWNUM, ynum + FH, PSTR("%")); + if (g_model.mavlink.pc_rssi_en) + { + x += 8 * (2 * FWNUM); + lcd_puts(x, y, STR_MAVLINK_PC_RSSI_LABEL); + lcd_outdezAtt(x + 7 * FWNUM, ynum, telemetry_data.pc_rssi, (DBLSIZE)); + lcd_puts(x + 7 * FWNUM, ynum + FH, PSTR("%")); + } } /*! \brief Navigation dislplay * \details Shows Navigation telemetry. + * Altitude in this menu is the relative (to the home location) altitude. This + * is the same altitude used by the waypoints. + * \todo Add a similar menu to fly back to the home location. */ void menuTelemetryMavlinkNavigation(void) { - mav_title(PSTR("NAV"), MAVLINK_menu); + mav_title(STR_MAVLINK_NAV_MENU_TITLE, MAVLINK_menu); uint8_t x, y, ynum; x = 7 * FWNUM; @@ -442,23 +365,23 @@ void menuTelemetryMavlinkNavigation(void) { x = 0; - lcd_puts (x, y, PSTR("Course")); + lcd_puts (x, y, STR_MAVLINK_COURSE); lcd_outdezAtt(x + 7 * FWNUM, ynum, telemetry_data.course, (DBLSIZE | UNSIGN)); lcd_puts(x + 7 * FWNUM, ynum, PSTR("o")); x += 8 * (2 * FWNUM); - lcd_puts(x, y, PSTR("Heading")); + lcd_puts(x, y, STR_MAVLINK_HEADING); lcd_outdezAtt(x + 7 * FWNUM, ynum, telemetry_data.heading, (DBLSIZE | UNSIGN)); lcd_puts(x + 7 * FWNUM, ynum, PSTR("o")); y += 3 * FH; ynum += 3 * FH; x = 0; - lcd_puts (x, y, PSTR("Bearing")); + lcd_puts (x, y, STR_MAVLINK_BEARING); lcd_outdezAtt(x + 7 * FWNUM, ynum, telemetry_data.bearing, (DBLSIZE | UNSIGN)); lcd_puts(x + 7 * FWNUM, ynum, PSTR("o")); x += 8 * (2 * FWNUM); - lcd_puts(x, y, PSTR("Altitude")); - lcd_outdezFloat(x + 2 * FWNUM - 1, ynum, telemetry_data.altitude, 2, (DBLSIZE)); + lcd_puts(x, y, STR_MAVLINK_ALTITUDE); + lcd_outdezFloat(x + 4 * FWNUM - 1, ynum, telemetry_data.loc_current.rel_alt, 1, (DBLSIZE)); lcd_puts(x + 7 * FWNUM, ynum + FH, PSTR("m")); } @@ -473,48 +396,48 @@ void menuTelemetryMavlinkNavigation(void) { * I don't think will be used much when a user is concentrated on flying. */ void menuTelemetryMavlinkGPS(void) { - mav_title(PSTR("GPS"), MAVLINK_menu); + mav_title(STR_MAVLINK_GPS, MAVLINK_menu); - uint8_t x1, x2, xnum, y; + uint8_t x1, x2, xnum, xnum2, y; x1 = FW; - x2 = 5 * FW + FWNUM; - xnum = 5 * FW + 3 * FWNUM; + x2 = x1 + 12 * FW; + xnum = 7 * FW + 3 * FWNUM; + xnum2 = xnum + 11 * FWNUM; y = FH; - lcd_putsnAtt(x1, y, PSTR("GPS"), 3, 0); - if (telemetry_data.fix_type <= 2) { - lcd_putsnAtt(x2, y, PSTR("__NOOK") + 2 * telemetry_data.fix_type, 2, 0); + lcd_putsnAtt(x1, y, STR_MAVLINK_GPS, 3, 0); + if (telemetry_data.fix_type < 2) { + lcd_putsnAtt(xnum, y, STR_MAVLINK_NO_FIX, 6, 0); } else { lcd_outdezNAtt(xnum, y, telemetry_data.fix_type, 0, 3); lcd_puts(xnum, y, PSTR("D")); } - lcd_puts(x2 + 5 * FW, y, PSTR("SAT")); - lcd_outdezNAtt(x2 + 8 * FW + 3 * FWNUM, y, telemetry_data.satellites_visible, 0, 2); + lcd_puts(x2, y, STR_MAVLINK_SAT); + lcd_outdezNAtt(xnum2, y, telemetry_data.satellites_visible, 0, 2); // if (telemetry_data.fix_type > 0) { y += FH; - lcd_puts(0, y, PSTR("HDOP")); + lcd_puts(x1, y, STR_MAVLINK_HDOP); lcd_outdezFloat(xnum, y, telemetry_data.eph, 2); y += FH; - lcd_puts(0, y, PSTR("COOR")); + lcd_puts(x1, y, STR_MAVLINK_LAT); lcd_outdezFloat(xnum, y, telemetry_data.loc_current.lat, 2); - // y += FH; - // lcd_putsnAtt(x1, y, PSTR("LON"), 3, 0); - lcd_outdezFloat(xnum + 10 * FWNUM, y, telemetry_data.loc_current.lon, 2); + lcd_putsnAtt(x2, y, STR_MAVLINK_LON, 3, 0); + lcd_outdezFloat(xnum2, y, telemetry_data.loc_current.lon, 2); y += FH; - lcd_putsnAtt(x1, y, PSTR("ALT"), 3, 0); - lcd_outdezAtt(xnum, y, telemetry_data.loc_current.alt, 2); + lcd_putsnAtt(x1, y, STR_MAVLINK_ALTITUDE, 3, 0); + lcd_outdezAtt(xnum, y, telemetry_data.loc_current.gps_alt, 0); y += FH; - lcd_putsnAtt(x1, y, PSTR("COG"), 3, 0); + lcd_putsnAtt(x1, y, STR_MAVLINK_COURSE, 6, 0); lcd_outdezFloat(xnum, y, telemetry_data.course, 2); y += FH; lcd_putsnAtt(x1, y, PSTR("V"), 1, 0); - lcd_outdezAtt(xnum, y, telemetry_data.v, 2); + lcd_outdezAtt(xnum, y, telemetry_data.v, 0); //} } @@ -573,12 +496,16 @@ void menuTelemetryMavlinkDump(uint8_t event) { /*! \brief Mavlink General setup menu. * \details Setup menu for generic mavlink settings. - * - Baudrate select item. - * MENU funtion is used to create the tab based menu. + * Current menu items + * - RC RSSI scale item. Used to adjust the scale of the RSSI indicator to match + * the actual rssi value + * - PC RSSI enable item. Can be used to dissable PC RSSI display if not used. + * This funcion is called from the model setup menus, not directly by the + * telemetry menus */ void menuTelemetryMavlinkSetup(uint8_t event) { - MENU(STR_MAVMENUSETUP, menuTabMav, e_MavSetup, ITEM_MAVLINK_MAX+1, {0, 0, 1/*to force edit mode*/}); + MENU(STR_MAVMENUSETUP_TITLE, menuTabModel, e_MavSetup, ITEM_MAVLINK_MAX + 1, {0, 0, 1/*to force edit mode*/}); uint8_t sub = m_posVert - 1; @@ -588,17 +515,19 @@ void menuTelemetryMavlinkSetup(uint8_t event) { uint8_t blink = ((s_editMode>0) ? BLINK|INVERS : INVERS); uint8_t attr = (sub == k ? blink : 0); switch(k) { - case ITEM_MAVLINK_BAUD: - g_eeGeneral.spare2 = selectMenuItem(RADIO_SETUP_2ND_COLUMN, //Y - y, // Y - STR_MAVLINK_BAUD_LABEL, // pm_char *label - STR_MAVLINK_BAUDS, // pm_char *values -// PSTR("4800""9600""14400""19200""38400""57600""76800""115200"), - g_eeGeneral.spare2, // value - 0, // min - 7, // max - attr, // attr - event); // event + case ITEM_MAVLINK_RC_RSSI_SCALE: + lcd_putsLeft(y, STR_MAVLINK_RC_RSSI_SCALE_LABEL); + lcd_outdezAtt(RADIO_SETUP_2ND_COLUMN, y, (25 + g_model.mavlink.rc_rssi_scale * 5), attr|LEFT); + lcd_putc(lcdLastPos, y, '%'); + if (attr) CHECK_INCDEC_GENVAR(event, g_model.mavlink.rc_rssi_scale, 0, 15); + break; + case ITEM_MAVLINK_PC_RSSI_EN: + g_model.mavlink.pc_rssi_en = onoffMenuItem(g_model.mavlink.pc_rssi_en, + RADIO_SETUP_2ND_COLUMN, + y, + STR_MAVLINK_PC_RSSI_EN_LABEL, + attr, + event); break; } } diff --git a/src/gui/view_mavlink.h b/src/gui/view_mavlink.h index 5f3b5de64..db12dde19 100644 --- a/src/gui/view_mavlink.h +++ b/src/gui/view_mavlink.h @@ -87,19 +87,11 @@ const MenuFuncP_PROGMEM menuTabMav[] PROGMEM = { menuTelemetryMavlinkSetup }; -//! \brief Title for mavlink setup menu. -#define TR_MAVMENUSETUP "Mavlink Setup" -const pm_char STR_MAVMENUSETUP[] PROGMEM = TR_MAVMENUSETUP; - -//! \brief Enum for mavlink settings menus sequence. -enum EnumTabMav { - e_MavSetup -}; - //! \brief Mavlink setup menu configuration items list. enum menuMavlinkSetupItems { - ITEM_MAVLINK_BAUD, - ITEM_MAVLINK_MAX + ITEM_MAVLINK_RC_RSSI_SCALE, + ITEM_MAVLINK_PC_RSSI_EN, + ITEM_MAVLINK_MAX }; //! \brief Menu index varible, initialized on info menu. diff --git a/src/myeeprom.h b/src/myeeprom.h index e6b9cf0c2..7661b2f04 100644 --- a/src/myeeprom.h +++ b/src/myeeprom.h @@ -295,7 +295,7 @@ PACK(typedef struct t_EEGeneral { int8_t timezone:5; uint8_t spare1:1; uint8_t inactivityTimer; - uint8_t spare2:3; + uint8_t mavbaud:3; SPLASH_MODE; /* 3bits */ int8_t hapticMode:2; // -2=quiet, -1=only alarms, 0=no keys, 1=all uint8_t blOffBright:4; @@ -916,19 +916,28 @@ PACK(typedef struct t_FrSkyData { #endif #ifdef MAVLINK -#define ROTARY_TYPE_OFF 0 -#define ROTARY_TYPE_PPM 1 -#define ROTARY_TYPE_MAVLINK 2 -#define NUM_ROTARY_SW 8 -#define MAX_MODES_VAL 16 -PACK(typedef struct t_RotarySwChannelData { - uint8_t typeRotary:2; // see defines ROTARY_TYPE - uint8_t numMode:6; // num mode -}) RotarySwChannelData; - +//! \brief Model struct for mavlink eeprom settings total 18 bytes available. PACK(typedef struct t_MavlinkData { - RotarySwChannelData rotarySw[NUM_ROTARY_SW]; - int8_t modesVal[MAX_MODES_VAL]; + uint8_t rc_rssi_scale:4; + uint8_t pc_rssi_en:1; + uint8_t spare0:3; + uint8_t spare1; + uint8_t spare2; + uint8_t spare3; + uint8_t spare4; + uint8_t spare5; + uint8_t spare6; + uint8_t spare7; + uint8_t spare8; + uint8_t spare9; + uint8_t spare10; + uint8_t spare11; + uint8_t spare12; + uint8_t spare13; + uint8_t spare14; + uint8_t spare15; + uint8_t spare16; + uint8_t spare17; }) MavlinkData; #endif diff --git a/src/opentx.cpp b/src/opentx.cpp index 415137e6c..befb8eb95 100644 --- a/src/opentx.cpp +++ b/src/opentx.cpp @@ -476,6 +476,11 @@ void modelDefault(uint8_t id) #if defined(PCBTARANIS) g_model.frsky.channels[0].ratio = 132; #endif + +#ifdef MAVLINK + g_model.mavlink.rc_rssi_scale = 15; + g_model.mavlink.pc_rssi_en = 1; +#endif } int16_t intpol(int16_t x, uint8_t idx) // -100, -75, -50, -25, 0 ,25 ,50, 75, 100 diff --git a/src/opentx.h b/src/opentx.h index 76f8e58ec..d2be4fa84 100644 --- a/src/opentx.h +++ b/src/opentx.h @@ -140,6 +140,12 @@ #define IF_FRSKY(x) #endif +#if defined(MAVLINK) +#define IF_MAVLINK(x) x, +#else +#define IF_MAVLINK(x) +#endif + #if defined(PXX) #define IF_PXX(x) x, #else diff --git a/src/serial.cpp b/src/serial.cpp index e8c0a50e8..c90ebefe0 100644 --- a/src/serial.cpp +++ b/src/serial.cpp @@ -139,6 +139,7 @@ void SERIAL_startTX(void) { static void uart_4800(void) { #ifndef SIMU +#undef BAUD // avoid compiler warning #define BAUD 4800 #include UBRR0H = UBRRH_VALUE; @@ -153,6 +154,7 @@ static void uart_4800(void) { static void uart_9600(void) { #ifndef SIMU +#undef BAUD // avoid compiler warning #define BAUD 9600 #include UBRR0H = UBRRH_VALUE; @@ -167,6 +169,7 @@ static void uart_9600(void) { static void uart_14400(void) { #ifndef SIMU +#undef BAUD // avoid compiler warning #define BAUD 14400 #include UBRR0H = UBRRH_VALUE; @@ -181,6 +184,7 @@ static void uart_14400(void) { static void uart_19200(void) { #ifndef SIMU +#undef BAUD // avoid compiler warning #define BAUD 19200 #include UBRR0H = UBRRH_VALUE; @@ -239,23 +243,6 @@ static void uart_76800(void) { #endif } - -static void uart_115200(void) { -#ifndef SIMU -#undef BAUD // avoid compiler warning -#define BAUD 115200 -#include - UBRR0H = UBRRH_VALUE; - UBRR0L = UBRRL_VALUE; -#if USE_2X - UCSR0A |= (1 << U2X0); -#else - UCSR0A &= ~(1 << U2X0); -#endif -#endif -} - - inline void SERIAL_EnableTXD(void) { //UCSR0B |= (1 << TXEN0); // enable TX UCSR0B |= (1 << TXEN0) | (1 << UDRIE0); // enable TX and TX interrupt @@ -272,9 +259,7 @@ void SERIAL_Init(void) { DDRE &= ~(1 << DDE0); // set RXD0 pin as input PORTE &= ~(1 << PORTE0); // disable pullup on RXD0 pin - uint8_t b = 2; // TODO g_eeGeneral.baudRate; -// g_eeGeneral.spare2 = BAUD_57600; - switch (g_eeGeneral.spare2) { + switch (g_eeGeneral.mavbaud) { case BAUD_4800: uart_4800(); break; @@ -296,9 +281,6 @@ void SERIAL_Init(void) { case BAUD_76800: uart_76800(); break; - case BAUD_115200: - uart_115200(); - break; } diff --git a/src/serial.h b/src/serial.h index 5682840f5..a3089d691 100644 --- a/src/serial.h +++ b/src/serial.h @@ -32,17 +32,10 @@ enum SERIAL_BAUDS { BAUD_19200, BAUD_38400, BAUD_57600, - BAUD_76800, - BAUD_115200 + BAUD_76800 }; //! \brief Definition of baudrate settings item choices. -#define LEN_MAVLINK_BAUDS "\006" -#define TR_MAVLINK_BAUDS "4800 ""9600 ""14400 ""19200 ""38400 ""57600 ""76800 ""115200" -const pm_char STR_MAVLINK_BAUDS[] PROGMEM = LEN_MAVLINK_BAUDS TR_MAVLINK_BAUDS; -#define TR_MAVLINK_BAUD_LABEL "Baudrate" -const pm_char STR_MAVLINK_BAUD_LABEL[] PROGMEM = TR_MAVLINK_BAUD_LABEL; - typedef void (*SerialFuncP)(uint8_t event); extern SerialFuncP RXHandler; diff --git a/src/telemetry/mavlink.cpp b/src/telemetry/mavlink.cpp index 006e1ee69..eb7166dbc 100644 --- a/src/telemetry/mavlink.cpp +++ b/src/telemetry/mavlink.cpp @@ -35,7 +35,7 @@ * GNU General Public License for more details. * */ -/*! \file telemetry_mavlink.cpp +/*! \file mavlink.cpp * Mavlink telemetry decoder for Arducopter/Arduplane telemetry information. */ @@ -53,7 +53,6 @@ mavlink_system_t mavlink_system = { 7, MAV_COMP_ID_MISSIONPLANNER, 0, 0, 0, 0 }; //static uint8_t target_system = 7; //static uint8_t target_component = 1; -//static mavlink_message_t mavlink_message_in; // Mavlink message decoded Status Text #define PARAM_NB_REPEAT 10 @@ -61,12 +60,7 @@ mavlink_system_t mavlink_system = { 7, MAV_COMP_ID_MISSIONPLANNER, 0, 0, 0, 0 }; static char mav_statustext[LEN_STATUSTEXT]; static int8_t mav_heartbeat = 0; static int8_t mav_heartbeat_recv = 0; -// static int8_t watch_mav_req_id_action = 0; -// static int8_t watch_mav_req_start_data_stream = 15; static uint8_t data_stream_start_stop = 0; -// int8_t watch_mav_req_params_list = 5; -static uint8_t mav_req_params_nb_recv = 0; -// static int8_t watch_mav_req_params_set = 0; // Telemetry data hold @@ -126,10 +120,6 @@ void MAVLINK_reset(uint8_t warm_reset) { mav_heartbeat = 0; mav_heartbeat_recv = 0; -// watch_mav_req_id_action = 0; -// watch_mav_req_start_data_stream = 15; -// watch_mav_req_params_list = 5; -// watch_mav_req_params_set = 0; data_stream_start_stop = 0; } @@ -151,9 +141,7 @@ void MAVLINK_Init(void) { */ static inline void REC_MAVLINK_MSG_ID_STATUSTEXT(const mavlink_message_t* msg) { - uint8_t temp = mavlink_msg_statustext_get_severity(msg); _MAV_RETURN_char_array(msg, mav_statustext, LEN_STATUSTEXT, 1); - //mavlink_msg_statustext_get_text( msg, mav_statustext); } /*! \brief System status including cpu load, battery status and communication status. @@ -166,9 +154,6 @@ static inline void REC_MAVLINK_MSG_ID_STATUSTEXT(const mavlink_message_t* msg) { */ static inline void REC_MAVLINK_MSG_ID_SYS_STATUS(const mavlink_message_t* msg) { -// mavlink_sys_status_t sys_status; -// mavlink_msg_sys_status_decode(msg, &sys_status); - telemetry_data.vbat = mavlink_msg_sys_status_get_voltage_battery(msg) / 100; // Voltage * 10 telemetry_data.ibat = mavlink_msg_sys_status_get_current_battery(msg) / 10; telemetry_data.rem_bat = mavlink_msg_sys_status_get_battery_remaining(msg); @@ -185,15 +170,25 @@ static inline void REC_MAVLINK_MSG_ID_SYS_STATUS(const mavlink_message_t* msg) { * */ static inline void REC_MAVLINK_MSG_ID_RC_CHANNELS_RAW(const mavlink_message_t* msg) { - telemetry_data.rc_rssi = (mavlink_msg_rc_channels_raw_get_rssi(msg) * 100) / 255; + uint8_t temp_rssi =(mavlink_msg_rc_channels_raw_get_rssi(msg) * 100) / 255; + uint8_t temp_scale = 25 + g_model.mavlink.rc_rssi_scale * 5; + telemetry_data.rc_rssi = (temp_rssi * 100) / temp_scale; } /*! \brief Arducopter specific radio message * */ static inline void REC_MAVLINK_MSG_ID_RADIO(const mavlink_message_t* msg) { + if (msg->sysid != 51) + return; telemetry_data.pc_rssi = (mavlink_msg_radio_get_rssi(msg) * 100) / 255; -// telemetry_data.pc_rssi = mavlink_msg_radio_get_rssi(msg); + telemetry_data.packet_drop = mavlink_msg_radio_get_rxerrors(msg); + telemetry_data.packet_fixed = mavlink_msg_radio_get_fixed(msg); + telemetry_data.radio_sysid = msg->sysid; + telemetry_data.radio_compid = msg->compid; +} +static inline void REC_MAVLINK_MSG_ID_RADIO_STATUS(const mavlink_message_t* msg) { + REC_MAVLINK_MSG_ID_RADIO(msg); } //! \brief Navigaion output message @@ -204,7 +199,7 @@ static inline void REC_MAVLINK_MSG_ID_NAV_CONTROLLER_OUTPUT(const mavlink_messag //! \brief Hud navigation message static inline void REC_MAVLINK_MSG_ID_VFR_HUD(const mavlink_message_t* msg) { telemetry_data.heading = mavlink_msg_vfr_hud_get_heading(msg); - telemetry_data.altitude = mavlink_msg_vfr_hud_get_alt(msg); + telemetry_data.loc_current.rel_alt = mavlink_msg_vfr_hud_get_alt(msg); } /*! \brief Heartbeat message @@ -215,6 +210,8 @@ static inline void REC_MAVLINK_MSG_ID_HEARTBEAT(const mavlink_message_t* msg) { telemetry_data.mode = mavlink_msg_heartbeat_get_base_mode(msg); telemetry_data.custom_mode = mavlink_msg_heartbeat_get_custom_mode(msg); telemetry_data.status = mavlink_msg_heartbeat_get_system_status(msg); + telemetry_data.mav_sysid = msg->sysid; + telemetry_data.mav_compid = msg->compid; uint8_t type = mavlink_msg_heartbeat_get_type(msg); uint8_t autopilot = mavlink_msg_heartbeat_get_autopilot(msg); if ((type != telemetry_data.type) || (autopilot != telemetry_data.autopilot)) @@ -262,14 +259,11 @@ static inline void REC_MAVLINK_MSG_ID_GPS_RAW_INT(const mavlink_message_t* msg) telemetry_data.fix_type = mavlink_msg_gps_raw_int_get_fix_type(msg); telemetry_data.loc_current.lat = mavlink_msg_gps_raw_int_get_lat(msg) / 1E7; telemetry_data.loc_current.lon = mavlink_msg_gps_raw_int_get_lon(msg) / 1E7; - telemetry_data.loc_current.alt = mavlink_msg_gps_raw_int_get_alt(msg) / 1E3; - telemetry_data.eph = mavlink_msg_gps_raw_int_get_eph(msg) / 100; - telemetry_data.course = mavlink_msg_gps_raw_int_get_cog(msg) / 100; - telemetry_data.v = mavlink_msg_gps_raw_int_get_vel(msg) / 100; -} - -static inline void REC_MAVLINK_MSG_ID_GPS_STATUS(const mavlink_message_t* msg) { - telemetry_data.satellites_visible = mavlink_msg_gps_status_get_satellites_visible(msg); + telemetry_data.loc_current.gps_alt = mavlink_msg_gps_raw_int_get_alt(msg) / 1E3; + telemetry_data.eph = mavlink_msg_gps_raw_int_get_eph(msg) / 100.0; + telemetry_data.course = mavlink_msg_gps_raw_int_get_cog(msg) / 100.0; + telemetry_data.v = mavlink_msg_gps_raw_int_get_vel(msg) / 100.0 ; + telemetry_data.satellites_visible = mavlink_msg_gps_raw_int_get_satellites_visible(msg); } @@ -340,7 +334,6 @@ void setMavlinParamsValue(uint8_t idx, float val) { p->value = val; p->repeat = PARAM_NB_REPEAT; } -// watch_mav_req_params_set = 4; // 1; } } @@ -425,7 +418,6 @@ static inline void handleMessage(mavlink_message_t* p_rxmsg) { break; case MAVLINK_MSG_ID_SYS_STATUS: REC_MAVLINK_MSG_ID_SYS_STATUS(p_rxmsg); -// watch_mav_req_start_data_stream = 20; break; case MAVLINK_MSG_ID_RC_CHANNELS_RAW: REC_MAVLINK_MSG_ID_RC_CHANNELS_RAW(p_rxmsg); @@ -433,6 +425,9 @@ static inline void handleMessage(mavlink_message_t* p_rxmsg) { case MAVLINK_MSG_ID_RADIO: REC_MAVLINK_MSG_ID_RADIO(p_rxmsg); break; + case MAVLINK_MSG_ID_RADIO_STATUS: + REC_MAVLINK_MSG_ID_RADIO_STATUS(p_rxmsg); + break; case MAVLINK_MSG_ID_NAV_CONTROLLER_OUTPUT: REC_MAVLINK_MSG_ID_NAV_CONTROLLER_OUTPUT(p_rxmsg); break; @@ -445,9 +440,6 @@ static inline void handleMessage(mavlink_message_t* p_rxmsg) { case MAVLINK_MSG_ID_GPS_RAW_INT: REC_MAVLINK_MSG_ID_GPS_RAW_INT(p_rxmsg); break; - case MAVLINK_MSG_ID_GPS_STATUS: - REC_MAVLINK_MSG_ID_GPS_STATUS(p_rxmsg); - break; #ifdef MAVLINK_PARAMS case MAVLINK_MSG_ID_PARAM_VALUE: REC_MAVLINK_MSG_ID_PARAM_VALUE(p_rxmsg); @@ -476,7 +468,7 @@ static void MAVLINK_parse_char(uint8_t c) { #if MAVLINK_CRC_EXTRA - static const uint8_t mavlink_message_crcs[256] = MAVLINK_MESSAGE_CRCS; + static const uint8_t mavlink_message_crcs[256] PROGMEM = MAVLINK_MESSAGE_CRCS; #define MAVLINK_MESSAGE_CRC(msgid) mavlink_message_crcs[msgid] #endif @@ -541,7 +533,7 @@ static void MAVLINK_parse_char(uint8_t c) { case MAVLINK_PARSE_STATE_GOT_PAYLOAD: #if MAVLINK_CRC_EXTRA - mavlink_update_checksum(p_rxmsg, MAVLINK_MESSAGE_CRC(p_rxmsg->msgid)); + mavlink_update_checksum(p_rxmsg, pgm_read_byte(&(mavlink_message_crcs[p_rxmsg->msgid]))); #endif if (c != (p_rxmsg->checksum & 0xFF)) { // Check first checksum byte @@ -735,6 +727,7 @@ void telemetryWakeup() { if (mav_heartbeat == -30) { MAVLINK_reset(1); + SERIAL_Init(); } // SERIAL_startTX(); } diff --git a/src/telemetry/mavlink.h b/src/telemetry/mavlink.h index e6eb1d725..1ba385bf1 100644 --- a/src/telemetry/mavlink.h +++ b/src/telemetry/mavlink.h @@ -31,6 +31,10 @@ * more details. * */ + +/*! \file mavlink.h + * Mavlink include file + */ #ifndef _MAVLINK_H_ #define _MAVLINK_H_ @@ -50,6 +54,10 @@ extern void SERIAL_start_uart_send(); extern void SERIAL_end_uart_send(); extern void SERIAL_send_uart_bytes(const uint8_t * buf, uint16_t len); +# define MAV_SYSTEM_ID 1 +//mavlink_system.type = 2; //MAV_QUADROTOR; + + #define MAVLINK_START_UART_SEND(chan,len) SERIAL_start_uart_send() #define MAVLINK_END_UART_SEND(chan,len) SERIAL_end_uart_send() #define MAVLINK_SEND_UART_BYTES(chan,buf,len) SERIAL_send_uart_bytes(buf,len) @@ -97,7 +105,9 @@ extern void SERIAL_send_uart_bytes(const uint8_t * buf, uint16_t len); #define AP_LOITER 12 #define AP_GUIDED 15 #define AP_INITIALISING 16 -#define AC_NUM_MODES 17 +#define AP_NUM_MODES 17 + +static const uint8_t ap_modes_lut[18] PROGMEM = {0,1,2,3,12,4,5,12,12,12,6,7,8,9,12,12,10,11}; /* * Type definitions @@ -150,7 +160,8 @@ typedef struct MavlinkParam_ { typedef struct Location_ { float lat; ///< Latitude in degrees float lon; ///< Longitude in degrees - float alt; ///< Altitude in meters + float gps_alt; ///< Altitude in meters + float rel_alt; } Location_t; typedef struct Telemetry_Data_ { @@ -160,6 +171,11 @@ typedef struct Telemetry_Data_ { uint8_t autopilot; uint8_t type_autopilot; uint16_t packet_drop; + uint16_t packet_fixed; + uint8_t radio_sysid; + uint8_t radio_compid; + uint8_t mav_sysid; + uint8_t mav_compid; uint8_t mode; uint32_t custom_mode; bool active; @@ -190,7 +206,6 @@ typedef struct Telemetry_Data_ { // Navigation uint16_t heading; uint16_t bearing; - float altitude; #ifdef MAVLINK_PARAMS // Params diff --git a/src/translations.cpp b/src/translations.cpp index 439da0097..e08b90922 100644 --- a/src/translations.cpp +++ b/src/translations.cpp @@ -107,6 +107,11 @@ const pm_char STR_OPEN9X[] PROGMEM = #endif #if defined(PCBTARANIS) ISTR(VTRAINERMODES) +#endif +#if defined(MAVLINK) + ISTR(MAVLINK_BAUDS) + ISTR(MAVLINK_AC_MODES) + ISTR(MAVLINK_AP_MODES) #endif ; @@ -467,6 +472,32 @@ const pm_char STR_PATH_TOO_LONG[] PROGMEM = "Path too long"; const pm_char STR_MODULE_RANGE[] PROGMEM = TR_MODULE_RANGE; #endif +#if defined(MAVLINK) + const pm_char STR_MAVLINK_RC_RSSI_SCALE_LABEL[] PROGMEM = TR_MAVLINK_RC_RSSI_SCALE_LABEL; + const pm_char STR_MAVLINK_PC_RSSI_EN_LABEL[] PROGMEM = TR_MAVLINK_PC_RSSI_EN_LABEL; + const pm_char STR_MAVMENUSETUP_TITLE[] PROGMEM = TR_MAVMENUSETUP_TITLE; + const pm_char STR_MAVLINK_BAUD_LABEL[] PROGMEM = TR_MAVLINK_BAUD_LABEL; + const pm_char STR_MAVLINK_INFOS[] PROGMEM = TR_MAVLINK_INFOS; + const pm_char STR_MAVLINK_MODE[] PROGMEM = TR_MAVLINK_MODE; + const pm_char STR_MAVLINK_CUR_MODE[] PROGMEM = TR_MAVLINK_CUR_MODE; + const pm_char STR_MAVLINK_ARMED[] PROGMEM = TR_MAVLINK_ARMED; + const pm_char STR_MAVLINK_BAT_MENU_TITLE[] PROGMEM = TR_MAVLINK_BAT_MENU_TITLE; + const pm_char STR_MAVLINK_BATTERY_LABEL[] PROGMEM = TR_MAVLINK_BATTERY_LABEL; + const pm_char STR_MAVLINK_RC_RSSI_LABEL[] PROGMEM = TR_MAVLINK_RC_RSSI_LABEL; + const pm_char STR_MAVLINK_PC_RSSI_LABEL[] PROGMEM = TR_MAVLINK_PC_RSSI_LABEL; + const pm_char STR_MAVLINK_NAV_MENU_TITLE[] PROGMEM = TR_MAVLINK_NAV_MENU_TITLE; + const pm_char STR_MAVLINK_COURSE[] PROGMEM = TR_MAVLINK_COURSE; + const pm_char STR_MAVLINK_HEADING[] PROGMEM = TR_MAVLINK_HEADING; + const pm_char STR_MAVLINK_BEARING[] PROGMEM = TR_MAVLINK_BEARING; + const pm_char STR_MAVLINK_ALTITUDE[] PROGMEM = TR_MAVLINK_ALTITUDE; + const pm_char STR_MAVLINK_GPS[] PROGMEM = TR_MAVLINK_GPS; + const pm_char STR_MAVLINK_NO_FIX[] PROGMEM = TR_MAVLINK_NO_FIX; + const pm_char STR_MAVLINK_SAT[] PROGMEM = TR_MAVLINK_SAT; + const pm_char STR_MAVLINK_HDOP[] PROGMEM = TR_MAVLINK_HDOP; + const pm_char STR_MAVLINK_LAT[] PROGMEM = TR_MAVLINK_LAT; + const pm_char STR_MAVLINK_LON[] PROGMEM = TR_MAVLINK_LON; +#endif + #if !defined(CPUM64) const pm_char STR_ABOUTUS[] PROGMEM = TR_ABOUTUS; const pm_char STR_ABOUT_OPENTX_1[] PROGMEM = TR_ABOUT_OPENTX_1; diff --git a/src/translations.h b/src/translations.h index a7adb0337..16100f90c 100644 --- a/src/translations.h +++ b/src/translations.h @@ -169,9 +169,16 @@ extern const pm_char STR_OPEN9X[]; #define OFS_VTRAINERMODES (OFS_VFAILSAFE) #endif #if defined(PCBTARANIS) - #define OFS_SPARE (OFS_VTRAINERMODES + sizeof(TR_VTRAINERMODES)) + #define OFS_MAVLINK_BAUDS (OFS_VTRAINERMODES + sizeof(TR_VTRAINERMODES)) #else - #define OFS_SPARE (OFS_VTRAINERMODES) + #define OFS_MAVLINK_BAUDS (OFS_VTRAINERMODES) +#endif +#if defined(MAVLINK) + #define OFS_MAVLINK_AC_MODES (OFS_MAVLINK_BAUDS + sizeof(TR_MAVLINK_BAUDS)) + #define OFS_MAVLINK_AP_MODES (OFS_MAVLINK_AC_MODES + sizeof(TR_MAVLINK_AC_MODES)) + #define OFS_SPARE (OFS_MAVLINK_AP_MODES + sizeof(TR_MAVLINK_AP_MODES)) +#else + #define OFS_SPARE (OFS_MAVLINK_BAUDS) #endif #define STR_OFFON (STR_OPEN9X + OFS_OFFON) @@ -255,6 +262,12 @@ extern const pm_char STR_OPEN9X[]; #define STR_VTRAINERMODES (STR_OPEN9X + OFS_VTRAINERMODES) #endif +#if defined(MAVLINK) + #define STR_MAVLINK_BAUDS (STR_OPEN9X + OFS_MAVLINK_BAUDS) + #define STR_MAVLINK_AC_MODES (STR_OPEN9X + OFS_MAVLINK_AC_MODES) + #define STR_MAVLINK_AP_MODES (STR_OPEN9X + OFS_MAVLINK_AP_MODES) +#endif + // The 0-terminated-strings #define NO_INDENT(x) (x)+LEN_INDENT @@ -641,6 +654,32 @@ extern const pm_char STR_PATH_TOO_LONG[]; extern const pm_char STR_MODULE_RANGE[]; #endif +#if defined(MAVLINK) + extern const pm_char STR_MAVLINK_RC_RSSI_SCALE_LABEL[]; + extern const pm_char STR_MAVLINK_PC_RSSI_EN_LABEL[]; + extern const pm_char STR_MAVMENUSETUP_TITLE[]; + extern const pm_char STR_MAVLINK_BAUD_LABEL[]; + extern const pm_char STR_MAVLINK_INFOS[]; + extern const pm_char STR_MAVLINK_MODE[]; + extern const pm_char STR_MAVLINK_CUR_MODE[]; + extern const pm_char STR_MAVLINK_ARMED[]; + extern const pm_char STR_MAVLINK_BAT_MENU_TITLE[]; + extern const pm_char STR_MAVLINK_BATTERY_LABEL[]; + extern const pm_char STR_MAVLINK_RC_RSSI_LABEL[]; + extern const pm_char STR_MAVLINK_PC_RSSI_LABEL[]; + extern const pm_char STR_MAVLINK_NAV_MENU_TITLE[]; + extern const pm_char STR_MAVLINK_COURSE[]; + extern const pm_char STR_MAVLINK_HEADING[]; + extern const pm_char STR_MAVLINK_BEARING[]; + extern const pm_char STR_MAVLINK_ALTITUDE[]; + extern const pm_char STR_MAVLINK_GPS[]; + extern const pm_char STR_MAVLINK_NO_FIX[]; + extern const pm_char STR_MAVLINK_SAT[]; + extern const pm_char STR_MAVLINK_HDOP[]; + extern const pm_char STR_MAVLINK_LAT[]; + extern const pm_char STR_MAVLINK_LON[]; +#endif + #if !defined(CPUM64) extern const pm_char STR_ABOUTUS[]; extern const pm_char STR_ABOUT_OPENTX_1[]; diff --git a/src/translations/cz.h b/src/translations/cz.h index d8b4d5726..84387d2fa 100644 --- a/src/translations/cz.h +++ b/src/translations/cz.h @@ -351,6 +351,15 @@ #define LEN_VFAILSAFE "\011" #define TR_VFAILSAFE "Dr\217et\0 ""Vlastn\204\0 ""Bez pulz\211" +#if defined(MAVLINK) + #define LEN_MAVLINK_BAUDS "\006" + #define TR_MAVLINK_BAUDS "4800 ""9600 ""14400 ""19200 ""38400 ""57600 ""76800 ""115200" + #define LEN_MAVLINK_AC_MODES "\011" + #define TR_MAVLINK_AC_MODES "Stabilize""Acro ""Alt Hold ""Auto ""Guided ""Loiter ""RTL ""Circle ""Pos Hold ""Land ""OF Loiter""Toy A ""Toy M ""INVALID " + #define LEN_MAVLINK_AP_MODES "\015" + #define TR_MAVLINK_AP_MODES "Manual ""Circle ""Stabilize ""Training ""Fly by Wire A""Fly by Wire A""Auto ""RTL ""Loiter ""Guided ""Initialising ""INVALID " +#endif + // ZERO TERMINATED STRINGS #define INDENT "\001" #define LEN_INDENT 1 @@ -647,6 +656,32 @@ #define TR_LOWALARM INDENT "N\204zk\212 Alarm" #define TR_CRITICALALARM INDENT "Kritick\212 Alarm" +#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_ARMED "Armed" + #define TR_MAVLINK_BAT_MENU_TITLE "BAT RSSI" + #define TR_MAVLINK_BATTERY_LABEL "Flight Battery status" + #define TR_MAVLINK_RC_RSSI_LABEL "RC RSSI" + #define TR_MAVLINK_PC_RSSI_LABEL "PC RSSI" + #define TR_MAVLINK_NAV_MENU_TITLE "NAV" + #define TR_MAVLINK_COURSE "Course" + #define TR_MAVLINK_HEADING "Heading" + #define TR_MAVLINK_BEARING "Bearing" + #define TR_MAVLINK_ALTITUDE "Altitude" + #define TR_MAVLINK_GPS "GPS" + #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" +#endif + // Taranis column headers #define TR_PHASES_HEADERS { " Jm\202no ", " Sp\204na\201 ", " Trimy ", " P\206echod Zap ", " P\206echod Vyp " } #define TR_LIMITS_HEADERS { " Jm\202no ", " Subtrim ", " Min ", " Max ", " Sm\203r ", " St\206ed PPM ", " Symetrick\202 " } diff --git a/src/translations/cz.h.txt b/src/translations/cz.h.txt index 9bc0b6811..6a424d209 100644 --- a/src/translations/cz.h.txt +++ b/src/translations/cz.h.txt @@ -351,6 +351,15 @@ #define LEN_VFAILSAFE "\011" #define TR_VFAILSAFE "Držet\0 ""Vlastní\0 ""Bez pulzů" +#if defined(MAVLINK) + #define LEN_MAVLINK_BAUDS "\006" + #define TR_MAVLINK_BAUDS "4800 ""9600 ""14400 ""19200 ""38400 ""57600 ""76800 ""115200" + #define LEN_MAVLINK_AC_MODES "\011" + #define TR_MAVLINK_AC_MODES "Stabilize""Acro ""Alt Hold ""Auto ""Guided ""Loiter ""RTL ""Circle ""Pos Hold ""Land ""OF Loiter""Toy A ""Toy M ""INVALID " + #define LEN_MAVLINK_AP_MODES "\015" + #define TR_MAVLINK_AP_MODES "Manual ""Circle ""Stabilize ""Training ""Fly by Wire A""Fly by Wire A""Auto ""RTL ""Loiter ""Guided ""Initialising ""INVALID " +#endif + // ZERO TERMINATED STRINGS #define INDENT "\001" #define LEN_INDENT 1 @@ -647,6 +656,32 @@ #define TR_LOWALARM INDENT "Nízký Alarm" #define TR_CRITICALALARM INDENT "Kritický Alarm" +#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_ARMED "Armed" + #define TR_MAVLINK_BAT_MENU_TITLE "BAT RSSI" + #define TR_MAVLINK_BATTERY_LABEL "Flight Battery status" + #define TR_MAVLINK_RC_RSSI_LABEL "RC RSSI" + #define TR_MAVLINK_PC_RSSI_LABEL "PC RSSI" + #define TR_MAVLINK_NAV_MENU_TITLE "NAV" + #define TR_MAVLINK_COURSE "Course" + #define TR_MAVLINK_HEADING "Heading" + #define TR_MAVLINK_BEARING "Bearing" + #define TR_MAVLINK_ALTITUDE "Altitude" + #define TR_MAVLINK_GPS "GPS" + #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" +#endif + // Taranis column headers #define TR_PHASES_HEADERS { " Jméno ", " Spínač ", " Trimy ", " Přechod Zap ", " Přechod Vyp " } #define TR_LIMITS_HEADERS { " Jméno ", " Subtrim ", " Min ", " Max ", " Směr ", " Střed PPM ", " Symetrické " } diff --git a/src/translations/de.h b/src/translations/de.h index f9044dd7e..75fedb65f 100644 --- a/src/translations/de.h +++ b/src/translations/de.h @@ -351,6 +351,15 @@ #define LEN_VFAILSAFE "\011" #define TR_VFAILSAFE "Hold\0 ""Custom\0 ""No pulses" +#if defined(MAVLINK) + #define LEN_MAVLINK_BAUDS "\006" + #define TR_MAVLINK_BAUDS "4800 ""9600 ""14400 ""19200 ""38400 ""57600 ""76800 ""115200" + #define LEN_MAVLINK_AC_MODES "\011" + #define TR_MAVLINK_AC_MODES "Stabilize""Acro ""Alt Hold ""Auto ""Guided ""Loiter ""RTL ""Circle ""Pos Hold ""Land ""OF Loiter""Toy A ""Toy M ""INVALID " + #define LEN_MAVLINK_AP_MODES "\015" + #define TR_MAVLINK_AP_MODES "Manual ""Circle ""Stabilize ""Training ""Fly by Wire A""Fly by Wire A""Auto ""RTL ""Loiter ""Guided ""Initialising ""INVALID " +#endif + // ZERO TERMINATED STRINGS #define INDENT "\001" #define LEN_INDENT 1 @@ -647,6 +656,32 @@ #define TR_LOWALARM INDENT "Low Alarm" #define TR_CRITICALALARM INDENT "Kritisch Alarm" +#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_ARMED "Armed" + #define TR_MAVLINK_BAT_MENU_TITLE "BAT RSSI" + #define TR_MAVLINK_BATTERY_LABEL "Flight Battery status" + #define TR_MAVLINK_RC_RSSI_LABEL "RC RSSI" + #define TR_MAVLINK_PC_RSSI_LABEL "PC RSSI" + #define TR_MAVLINK_NAV_MENU_TITLE "NAV" + #define TR_MAVLINK_COURSE "Course" + #define TR_MAVLINK_HEADING "Heading" + #define TR_MAVLINK_BEARING "Bearing" + #define TR_MAVLINK_ALTITUDE "Altitude" + #define TR_MAVLINK_GPS "GPS" + #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" +#endif + // Taranis column headers #define TR_PHASES_HEADERS { " Name ", " Schalter ", " Trimmung ", " Fade In ", " Fade Out " } #define TR_LIMITS_HEADERS { " Name ", " Offset ", " Min ", " Max ", " Richtung ", " PPM Mitte ", " Symmetrisch " } diff --git a/src/translations/de.h.txt b/src/translations/de.h.txt index 9148cdf70..6f88db196 100644 --- a/src/translations/de.h.txt +++ b/src/translations/de.h.txt @@ -351,6 +351,15 @@ #define LEN_VFAILSAFE "\011" #define TR_VFAILSAFE "Hold\0 ""Custom\0 ""No pulses" +#if defined(MAVLINK) + #define LEN_MAVLINK_BAUDS "\006" + #define TR_MAVLINK_BAUDS "4800 ""9600 ""14400 ""19200 ""38400 ""57600 ""76800 ""115200" + #define LEN_MAVLINK_AC_MODES "\011" + #define TR_MAVLINK_AC_MODES "Stabilize""Acro ""Alt Hold ""Auto ""Guided ""Loiter ""RTL ""Circle ""Pos Hold ""Land ""OF Loiter""Toy A ""Toy M ""INVALID " + #define LEN_MAVLINK_AP_MODES "\015" + #define TR_MAVLINK_AP_MODES "Manual ""Circle ""Stabilize ""Training ""Fly by Wire A""Fly by Wire A""Auto ""RTL ""Loiter ""Guided ""Initialising ""INVALID " +#endif + // ZERO TERMINATED STRINGS #define INDENT "\001" #define LEN_INDENT 1 @@ -647,6 +656,32 @@ #define TR_LOWALARM INDENT "Low Alarm" #define TR_CRITICALALARM INDENT "Kritisch Alarm" +#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_ARMED "Armed" + #define TR_MAVLINK_BAT_MENU_TITLE "BAT RSSI" + #define TR_MAVLINK_BATTERY_LABEL "Flight Battery status" + #define TR_MAVLINK_RC_RSSI_LABEL "RC RSSI" + #define TR_MAVLINK_PC_RSSI_LABEL "PC RSSI" + #define TR_MAVLINK_NAV_MENU_TITLE "NAV" + #define TR_MAVLINK_COURSE "Course" + #define TR_MAVLINK_HEADING "Heading" + #define TR_MAVLINK_BEARING "Bearing" + #define TR_MAVLINK_ALTITUDE "Altitude" + #define TR_MAVLINK_GPS "GPS" + #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" +#endif + // Taranis column headers #define TR_PHASES_HEADERS { " Name ", " Schalter ", " Trimmung ", " Fade In ", " Fade Out " } #define TR_LIMITS_HEADERS { " Name ", " Offset ", " Min ", " Max ", " Richtung ", " PPM Mitte ", " Symmetrisch " } diff --git a/src/translations/en.h b/src/translations/en.h index d05e22125..e4c340c4f 100644 --- a/src/translations/en.h +++ b/src/translations/en.h @@ -351,6 +351,15 @@ #define LEN_VFAILSAFE "\011" #define TR_VFAILSAFE "Hold\0 ""Custom\0 ""No pulses" +#if defined(MAVLINK) + #define LEN_MAVLINK_BAUDS "\006" + #define TR_MAVLINK_BAUDS "4800 ""9600 ""14400 ""19200 ""38400 ""57600 ""76800 ""115200" + #define LEN_MAVLINK_AC_MODES "\011" + #define TR_MAVLINK_AC_MODES "Stabilize""Acro ""Alt Hold ""Auto ""Guided ""Loiter ""RTL ""Circle ""Pos Hold ""Land ""OF Loiter""Toy A ""Toy M ""INVALID " + #define LEN_MAVLINK_AP_MODES "\015" + #define TR_MAVLINK_AP_MODES "Manual ""Circle ""Stabilize ""Training ""Fly by Wire A""Fly by Wire A""Auto ""RTL ""Loiter ""Guided ""Initialising ""INVALID " +#endif + // ZERO TERMINATED STRINGS #define INDENT "\001" #define LEN_INDENT 1 @@ -647,6 +656,34 @@ #define TR_LOWALARM INDENT "Low Alarm" #define TR_CRITICALALARM INDENT "Critical Alarm" +#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_ARMED "Armed" + #define TR_MAVLINK_BAT_MENU_TITLE "BAT RSSI" + #define TR_MAVLINK_BATTERY_LABEL "Flight Battery status" + #define TR_MAVLINK_RC_RSSI_LABEL "RC RSSI" + #define TR_MAVLINK_PC_RSSI_LABEL "PC RSSI" + #define TR_MAVLINK_NAV_MENU_TITLE "NAV" + #define TR_MAVLINK_COURSE "Course" + #define TR_MAVLINK_HEADING "Heading" + #define TR_MAVLINK_BEARING "Bearing" + #define TR_MAVLINK_ALTITUDE "Altitude" + #define TR_MAVLINK_GPS "GPS" + #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" +#endif + + + // Taranis column headers #define TR_PHASES_HEADERS { " Name ", " Switch ", " Trims ", " Fade In ", " Fade Out " } #define TR_LIMITS_HEADERS { " Name ", " Subtrim ", " Min ", " Max ", " Direction ", " PPM Center ", " Subtrim mode " } diff --git a/src/translations/es.h b/src/translations/es.h index ccb3f91ba..c97407640 100644 --- a/src/translations/es.h +++ b/src/translations/es.h @@ -351,6 +351,15 @@ #define LEN_VFAILSAFE "\011" #define TR_VFAILSAFE "Guardar\0 ""Adaptar\0 ""Sin pulsos" +#if defined(MAVLINK) + #define LEN_MAVLINK_BAUDS "\006" + #define TR_MAVLINK_BAUDS "4800 ""9600 ""14400 ""19200 ""38400 ""57600 ""76800 ""115200" + #define LEN_MAVLINK_AC_MODES "\011" + #define TR_MAVLINK_AC_MODES "Stabilize""Acro ""Alt Hold ""Auto ""Guided ""Loiter ""RTL ""Circle ""Pos Hold ""Land ""OF Loiter""Toy A ""Toy M ""INVALID " + #define LEN_MAVLINK_AP_MODES "\015" + #define TR_MAVLINK_AP_MODES "Manual ""Circle ""Stabilize ""Training ""Fly by Wire A""Fly by Wire A""Auto ""RTL ""Loiter ""Guided ""Initialising ""INVALID " +#endif + // ZERO TERMINATED STRINGS #define INDENT "\001" #define LEN_INDENT 1 @@ -647,6 +656,32 @@ #define TR_LOWALARM INDENT "Alarma baja" #define TR_CRITICALALARM INDENT "Alarma Critica" +#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_ARMED "Armed" + #define TR_MAVLINK_BAT_MENU_TITLE "BAT RSSI" + #define TR_MAVLINK_BATTERY_LABEL "Flight Battery status" + #define TR_MAVLINK_RC_RSSI_LABEL "RC RSSI" + #define TR_MAVLINK_PC_RSSI_LABEL "PC RSSI" + #define TR_MAVLINK_NAV_MENU_TITLE "NAV" + #define TR_MAVLINK_COURSE "Course" + #define TR_MAVLINK_HEADING "Heading" + #define TR_MAVLINK_BEARING "Bearing" + #define TR_MAVLINK_ALTITUDE "Altitude" + #define TR_MAVLINK_GPS "GPS" + #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" +#endif + // Taranis column headers #define TR_PHASES_HEADERS { " Nombre ", " Interrup.", " Trims ", " Aparecer ", " Desparecer " } #define TR_LIMITS_HEADERS { " Nombre ", " Compensacion", " Min ", " Max ", " Direccion ", " Centrado PPM ", " Simetrica " } diff --git a/src/translations/es.h.txt b/src/translations/es.h.txt index 81f0eea3f..f3c9d7caf 100644 --- a/src/translations/es.h.txt +++ b/src/translations/es.h.txt @@ -351,6 +351,15 @@ #define LEN_VFAILSAFE "\011" #define TR_VFAILSAFE "Guardar\0 ""Adaptar\0 ""Sin pulsos" +#if defined(MAVLINK) + #define LEN_MAVLINK_BAUDS "\006" + #define TR_MAVLINK_BAUDS "4800 ""9600 ""14400 ""19200 ""38400 ""57600 ""76800 ""115200" + #define LEN_MAVLINK_AC_MODES "\011" + #define TR_MAVLINK_AC_MODES "Stabilize""Acro ""Alt Hold ""Auto ""Guided ""Loiter ""RTL ""Circle ""Pos Hold ""Land ""OF Loiter""Toy A ""Toy M ""INVALID " + #define LEN_MAVLINK_AP_MODES "\015" + #define TR_MAVLINK_AP_MODES "Manual ""Circle ""Stabilize ""Training ""Fly by Wire A""Fly by Wire A""Auto ""RTL ""Loiter ""Guided ""Initialising ""INVALID " +#endif + // ZERO TERMINATED STRINGS #define INDENT "\001" #define LEN_INDENT 1 @@ -647,6 +656,32 @@ #define TR_LOWALARM INDENT "Alarma baja" #define TR_CRITICALALARM INDENT "Alarma Critica" +#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_ARMED "Armed" + #define TR_MAVLINK_BAT_MENU_TITLE "BAT RSSI" + #define TR_MAVLINK_BATTERY_LABEL "Flight Battery status" + #define TR_MAVLINK_RC_RSSI_LABEL "RC RSSI" + #define TR_MAVLINK_PC_RSSI_LABEL "PC RSSI" + #define TR_MAVLINK_NAV_MENU_TITLE "NAV" + #define TR_MAVLINK_COURSE "Course" + #define TR_MAVLINK_HEADING "Heading" + #define TR_MAVLINK_BEARING "Bearing" + #define TR_MAVLINK_ALTITUDE "Altitude" + #define TR_MAVLINK_GPS "GPS" + #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" +#endif + // Taranis column headers #define TR_PHASES_HEADERS { " Nombre ", " Interrup.", " Trims ", " Aparecer ", " Desparecer " } #define TR_LIMITS_HEADERS { " Nombre ", " Compensacion", " Min ", " Max ", " Direccion ", " Centrado PPM ", " Simetrica " } diff --git a/src/translations/fr.h b/src/translations/fr.h index 0f062e5b8..f9a022840 100644 --- a/src/translations/fr.h +++ b/src/translations/fr.h @@ -351,6 +351,15 @@ #define LEN_VFAILSAFE "\011" #define TR_VFAILSAFE "Maintien\0""Pr\200d\200fini""Pas d'imp" +#if defined(MAVLINK) + #define LEN_MAVLINK_BAUDS "\006" + #define TR_MAVLINK_BAUDS "4800 ""9600 ""14400 ""19200 ""38400 ""57600 ""76800 ""115200" + #define LEN_MAVLINK_AC_MODES "\011" + #define TR_MAVLINK_AC_MODES "Stabilize""Acro ""Alt Hold ""Auto ""Guided ""Loiter ""RTL ""Circle ""Pos Hold ""Land ""OF Loiter""Toy A ""Toy M ""INVALID " + #define LEN_MAVLINK_AP_MODES "\015" + #define TR_MAVLINK_AP_MODES "Manual ""Circle ""Stabilize ""Training ""Fly by Wire A""Fly by Wire A""Auto ""RTL ""Loiter ""Guided ""Initialising ""INVALID " +#endif + // ZERO TERMINATED STRINGS #define INDENT "\001" #define LEN_INDENT 1 @@ -647,6 +656,32 @@ #define TR_LOWALARM INDENT "Alarme basse" #define TR_CRITICALALARM INDENT "Alarme critique" +#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_ARMED "Armed" + #define TR_MAVLINK_BAT_MENU_TITLE "BAT RSSI" + #define TR_MAVLINK_BATTERY_LABEL "Flight Battery status" + #define TR_MAVLINK_RC_RSSI_LABEL "RC RSSI" + #define TR_MAVLINK_PC_RSSI_LABEL "PC RSSI" + #define TR_MAVLINK_NAV_MENU_TITLE "NAV" + #define TR_MAVLINK_COURSE "Course" + #define TR_MAVLINK_HEADING "Heading" + #define TR_MAVLINK_BEARING "Bearing" + #define TR_MAVLINK_ALTITUDE "Altitude" + #define TR_MAVLINK_GPS "GPS" + #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" +#endif + // Taranis column headers #define TR_PHASES_HEADERS { " Nom ", " Inter ", " Trims ", " Fondu ON ", " Fondu OFF " } #define TR_LIMITS_HEADERS { " Nom ", " Subtrim ", " Min ", " Max ", " Direction ", " Neutre PPM ", " Mode subtrim " } diff --git a/src/translations/fr.h.txt b/src/translations/fr.h.txt index bf09c99a7..ec3d01669 100644 --- a/src/translations/fr.h.txt +++ b/src/translations/fr.h.txt @@ -351,6 +351,15 @@ #define LEN_VFAILSAFE "\011" #define TR_VFAILSAFE "Maintien\0""Prédéfini""Pas d'imp" +#if defined(MAVLINK) + #define LEN_MAVLINK_BAUDS "\006" + #define TR_MAVLINK_BAUDS "4800 ""9600 ""14400 ""19200 ""38400 ""57600 ""76800 ""115200" + #define LEN_MAVLINK_AC_MODES "\011" + #define TR_MAVLINK_AC_MODES "Stabilize""Acro ""Alt Hold ""Auto ""Guided ""Loiter ""RTL ""Circle ""Pos Hold ""Land ""OF Loiter""Toy A ""Toy M ""INVALID " + #define LEN_MAVLINK_AP_MODES "\015" + #define TR_MAVLINK_AP_MODES "Manual ""Circle ""Stabilize ""Training ""Fly by Wire A""Fly by Wire A""Auto ""RTL ""Loiter ""Guided ""Initialising ""INVALID " +#endif + // ZERO TERMINATED STRINGS #define INDENT "\001" #define LEN_INDENT 1 @@ -647,6 +656,32 @@ #define TR_LOWALARM INDENT "Alarme basse" #define TR_CRITICALALARM INDENT "Alarme critique" +#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_ARMED "Armed" + #define TR_MAVLINK_BAT_MENU_TITLE "BAT RSSI" + #define TR_MAVLINK_BATTERY_LABEL "Flight Battery status" + #define TR_MAVLINK_RC_RSSI_LABEL "RC RSSI" + #define TR_MAVLINK_PC_RSSI_LABEL "PC RSSI" + #define TR_MAVLINK_NAV_MENU_TITLE "NAV" + #define TR_MAVLINK_COURSE "Course" + #define TR_MAVLINK_HEADING "Heading" + #define TR_MAVLINK_BEARING "Bearing" + #define TR_MAVLINK_ALTITUDE "Altitude" + #define TR_MAVLINK_GPS "GPS" + #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" +#endif + // Taranis column headers #define TR_PHASES_HEADERS { " Nom ", " Inter ", " Trims ", " Fondu ON ", " Fondu OFF " } #define TR_LIMITS_HEADERS { " Nom ", " Subtrim ", " Min ", " Max ", " Direction ", " Neutre PPM ", " Mode subtrim " } diff --git a/src/translations/it.h b/src/translations/it.h index dd8037000..16b309383 100644 --- a/src/translations/it.h +++ b/src/translations/it.h @@ -351,6 +351,15 @@ #define LEN_VFAILSAFE "\012" #define TR_VFAILSAFE "Mantieni\0 ""Personali\0""No impulsi" +#if defined(MAVLINK) + #define LEN_MAVLINK_BAUDS "\006" + #define TR_MAVLINK_BAUDS "4800 ""9600 ""14400 ""19200 ""38400 ""57600 ""76800 ""115200" + #define LEN_MAVLINK_AC_MODES "\011" + #define TR_MAVLINK_AC_MODES "Stabilize""Acro ""Alt Hold ""Auto ""Guided ""Loiter ""RTL ""Circle ""Pos Hold ""Land ""OF Loiter""Toy A ""Toy M ""INVALID " + #define LEN_MAVLINK_AP_MODES "\015" + #define TR_MAVLINK_AP_MODES "Manual ""Circle ""Stabilize ""Training ""Fly by Wire A""Fly by Wire A""Auto ""RTL ""Loiter ""Guided ""Initialising ""INVALID " +#endif + // ZERO TERMINATED STRINGS #define INDENT "\001" #define LEN_INDENT 1 @@ -647,6 +656,32 @@ #define TR_LOWALARM INDENT "Allarme Basso" #define TR_CRITICALALARM INDENT "Allarme Critico" +#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_ARMED "Armed" + #define TR_MAVLINK_BAT_MENU_TITLE "BAT RSSI" + #define TR_MAVLINK_BATTERY_LABEL "Flight Battery status" + #define TR_MAVLINK_RC_RSSI_LABEL "RC RSSI" + #define TR_MAVLINK_PC_RSSI_LABEL "PC RSSI" + #define TR_MAVLINK_NAV_MENU_TITLE "NAV" + #define TR_MAVLINK_COURSE "Course" + #define TR_MAVLINK_HEADING "Heading" + #define TR_MAVLINK_BEARING "Bearing" + #define TR_MAVLINK_ALTITUDE "Altitude" + #define TR_MAVLINK_GPS "GPS" + #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" +#endif + // Taranis column headers #define TR_PHASES_HEADERS { " Nome ", " Switch ", " Trims ", " Fade In ", " Fade Out " } #define TR_LIMITS_HEADERS { " Nome ", " Offset ", " Min ", " Max ", " Direzione ", " Centro PPM ", " Simmetria " } diff --git a/src/translations/it.h.txt b/src/translations/it.h.txt index cf9adebb9..56a2d714a 100644 --- a/src/translations/it.h.txt +++ b/src/translations/it.h.txt @@ -351,6 +351,15 @@ #define LEN_VFAILSAFE "\012" #define TR_VFAILSAFE "Mantieni\0 ""Personali\0""No impulsi" +#if defined(MAVLINK) + #define LEN_MAVLINK_BAUDS "\006" + #define TR_MAVLINK_BAUDS "4800 ""9600 ""14400 ""19200 ""38400 ""57600 ""76800 ""115200" + #define LEN_MAVLINK_AC_MODES "\011" + #define TR_MAVLINK_AC_MODES "Stabilize""Acro ""Alt Hold ""Auto ""Guided ""Loiter ""RTL ""Circle ""Pos Hold ""Land ""OF Loiter""Toy A ""Toy M ""INVALID " + #define LEN_MAVLINK_AP_MODES "\015" + #define TR_MAVLINK_AP_MODES "Manual ""Circle ""Stabilize ""Training ""Fly by Wire A""Fly by Wire A""Auto ""RTL ""Loiter ""Guided ""Initialising ""INVALID " +#endif + // ZERO TERMINATED STRINGS #define INDENT "\001" #define LEN_INDENT 1 @@ -647,6 +656,32 @@ #define TR_LOWALARM INDENT "Allarme Basso" #define TR_CRITICALALARM INDENT "Allarme Critico" +#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_ARMED "Armed" + #define TR_MAVLINK_BAT_MENU_TITLE "BAT RSSI" + #define TR_MAVLINK_BATTERY_LABEL "Flight Battery status" + #define TR_MAVLINK_RC_RSSI_LABEL "RC RSSI" + #define TR_MAVLINK_PC_RSSI_LABEL "PC RSSI" + #define TR_MAVLINK_NAV_MENU_TITLE "NAV" + #define TR_MAVLINK_COURSE "Course" + #define TR_MAVLINK_HEADING "Heading" + #define TR_MAVLINK_BEARING "Bearing" + #define TR_MAVLINK_ALTITUDE "Altitude" + #define TR_MAVLINK_GPS "GPS" + #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" +#endif + // Taranis column headers #define TR_PHASES_HEADERS { " Nome ", " Switch ", " Trims ", " Fade In ", " Fade Out " } #define TR_LIMITS_HEADERS { " Nome ", " Offset ", " Min ", " Max ", " Direzione ", " Centro PPM ", " Simmetria " } diff --git a/src/translations/pt.h b/src/translations/pt.h index 1927e84de..ab8eb844e 100644 --- a/src/translations/pt.h +++ b/src/translations/pt.h @@ -351,6 +351,15 @@ #define LEN_VFAILSAFE "\011" #define TR_VFAILSAFE "Hold\0 ""Custom\0 ""No pulses" +#if defined(MAVLINK) + #define LEN_MAVLINK_BAUDS "\006" + #define TR_MAVLINK_BAUDS "4800 ""9600 ""14400 ""19200 ""38400 ""57600 ""76800 ""115200" + #define LEN_MAVLINK_AC_MODES "\011" + #define TR_MAVLINK_AC_MODES "Stabilize""Acro ""Alt Hold ""Auto ""Guided ""Loiter ""RTL ""Circle ""Pos Hold ""Land ""OF Loiter""Toy A ""Toy M ""INVALID " + #define LEN_MAVLINK_AP_MODES "\015" + #define TR_MAVLINK_AP_MODES "Manual ""Circle ""Stabilize ""Training ""Fly by Wire A""Fly by Wire A""Auto ""RTL ""Loiter ""Guided ""Initialising ""INVALID " +#endif + // ZERO TERMINATED STRINGS #define INDENT "\001" #define LEN_INDENT 1 @@ -647,6 +656,32 @@ #define TR_LOWALARM INDENT "Low Alarm" #define TR_CRITICALALARM INDENT "Critical Alarm" +#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_ARMED "Armed" + #define TR_MAVLINK_BAT_MENU_TITLE "BAT RSSI" + #define TR_MAVLINK_BATTERY_LABEL "Flight Battery status" + #define TR_MAVLINK_RC_RSSI_LABEL "RC RSSI" + #define TR_MAVLINK_PC_RSSI_LABEL "PC RSSI" + #define TR_MAVLINK_NAV_MENU_TITLE "NAV" + #define TR_MAVLINK_COURSE "Course" + #define TR_MAVLINK_HEADING "Heading" + #define TR_MAVLINK_BEARING "Bearing" + #define TR_MAVLINK_ALTITUDE "Altitude" + #define TR_MAVLINK_GPS "GPS" + #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" +#endif + // Taranis column headers #define TR_PHASES_HEADERS { " Name ", " Switch ", " Trims ", " Fade In ", " Fade Out " } #define TR_LIMITS_HEADERS { " Name ", " Offset ", " Min ", " Max ", " Direction ", " PPM Center ", " Symmetrical " } diff --git a/src/translations/pt.h.txt b/src/translations/pt.h.txt index 1927e84de..ab8eb844e 100644 --- a/src/translations/pt.h.txt +++ b/src/translations/pt.h.txt @@ -351,6 +351,15 @@ #define LEN_VFAILSAFE "\011" #define TR_VFAILSAFE "Hold\0 ""Custom\0 ""No pulses" +#if defined(MAVLINK) + #define LEN_MAVLINK_BAUDS "\006" + #define TR_MAVLINK_BAUDS "4800 ""9600 ""14400 ""19200 ""38400 ""57600 ""76800 ""115200" + #define LEN_MAVLINK_AC_MODES "\011" + #define TR_MAVLINK_AC_MODES "Stabilize""Acro ""Alt Hold ""Auto ""Guided ""Loiter ""RTL ""Circle ""Pos Hold ""Land ""OF Loiter""Toy A ""Toy M ""INVALID " + #define LEN_MAVLINK_AP_MODES "\015" + #define TR_MAVLINK_AP_MODES "Manual ""Circle ""Stabilize ""Training ""Fly by Wire A""Fly by Wire A""Auto ""RTL ""Loiter ""Guided ""Initialising ""INVALID " +#endif + // ZERO TERMINATED STRINGS #define INDENT "\001" #define LEN_INDENT 1 @@ -647,6 +656,32 @@ #define TR_LOWALARM INDENT "Low Alarm" #define TR_CRITICALALARM INDENT "Critical Alarm" +#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_ARMED "Armed" + #define TR_MAVLINK_BAT_MENU_TITLE "BAT RSSI" + #define TR_MAVLINK_BATTERY_LABEL "Flight Battery status" + #define TR_MAVLINK_RC_RSSI_LABEL "RC RSSI" + #define TR_MAVLINK_PC_RSSI_LABEL "PC RSSI" + #define TR_MAVLINK_NAV_MENU_TITLE "NAV" + #define TR_MAVLINK_COURSE "Course" + #define TR_MAVLINK_HEADING "Heading" + #define TR_MAVLINK_BEARING "Bearing" + #define TR_MAVLINK_ALTITUDE "Altitude" + #define TR_MAVLINK_GPS "GPS" + #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" +#endif + // Taranis column headers #define TR_PHASES_HEADERS { " Name ", " Switch ", " Trims ", " Fade In ", " Fade Out " } #define TR_LIMITS_HEADERS { " Name ", " Offset ", " Min ", " Max ", " Direction ", " PPM Center ", " Symmetrical " } diff --git a/src/translations/se.h b/src/translations/se.h index fb206a94b..513e39ecd 100644 --- a/src/translations/se.h +++ b/src/translations/se.h @@ -351,6 +351,15 @@ #define LEN_VFAILSAFE "\011" #define TR_VFAILSAFE "H\200ll\0 ""Special\0 ""Pulsfritt" +#if defined(MAVLINK) + #define LEN_MAVLINK_BAUDS "\006" + #define TR_MAVLINK_BAUDS "4800 ""9600 ""14400 ""19200 ""38400 ""57600 ""76800 ""115200" + #define LEN_MAVLINK_AC_MODES "\011" + #define TR_MAVLINK_AC_MODES "Stabilize""Acro ""Alt Hold ""Auto ""Guided ""Loiter ""RTL ""Circle ""Pos Hold ""Land ""OF Loiter""Toy A ""Toy M ""INVALID " + #define LEN_MAVLINK_AP_MODES "\015" + #define TR_MAVLINK_AP_MODES "Manual ""Circle ""Stabilize ""Training ""Fly by Wire A""Fly by Wire A""Auto ""RTL ""Loiter ""Guided ""Initialising ""INVALID " +#endif + // ZERO TERMINATED STRINGS #define INDENT "\001" #define LEN_INDENT 1 @@ -647,6 +656,32 @@ #define TR_LOWALARM INDENT "L\200g-alarm" #define TR_CRITICALALARM INDENT "Kritiskt alarm" +#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_ARMED "Armed" + #define TR_MAVLINK_BAT_MENU_TITLE "BAT RSSI" + #define TR_MAVLINK_BATTERY_LABEL "Flight Battery status" + #define TR_MAVLINK_RC_RSSI_LABEL "RC RSSI" + #define TR_MAVLINK_PC_RSSI_LABEL "PC RSSI" + #define TR_MAVLINK_NAV_MENU_TITLE "NAV" + #define TR_MAVLINK_COURSE "Course" + #define TR_MAVLINK_HEADING "Heading" + #define TR_MAVLINK_BEARING "Bearing" + #define TR_MAVLINK_ALTITUDE "Altitude" + #define TR_MAVLINK_GPS "GPS" + #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" +#endif + // Taranis column headers #define TR_PHASES_HEADERS { " Namn ", " Brytare ", " Trimmar ", " Tona Upp ", " Tona Ned " } #define TR_LIMITS_HEADERS { " Namn ", " Offset ", " Min ", " Max ", " Riktning ", " PPM-centrum ", " Symmetriskt " } diff --git a/src/translations/se.h.txt b/src/translations/se.h.txt index f2d14aa9c..c6dd53b94 100644 --- a/src/translations/se.h.txt +++ b/src/translations/se.h.txt @@ -351,6 +351,15 @@ #define LEN_VFAILSAFE "\011" #define TR_VFAILSAFE "Håll\0 ""Special\0 ""Pulsfritt" +#if defined(MAVLINK) + #define LEN_MAVLINK_BAUDS "\006" + #define TR_MAVLINK_BAUDS "4800 ""9600 ""14400 ""19200 ""38400 ""57600 ""76800 ""115200" + #define LEN_MAVLINK_AC_MODES "\011" + #define TR_MAVLINK_AC_MODES "Stabilize""Acro ""Alt Hold ""Auto ""Guided ""Loiter ""RTL ""Circle ""Pos Hold ""Land ""OF Loiter""Toy A ""Toy M ""INVALID " + #define LEN_MAVLINK_AP_MODES "\015" + #define TR_MAVLINK_AP_MODES "Manual ""Circle ""Stabilize ""Training ""Fly by Wire A""Fly by Wire A""Auto ""RTL ""Loiter ""Guided ""Initialising ""INVALID " +#endif + // ZERO TERMINATED STRINGS #define INDENT "\001" #define LEN_INDENT 1 @@ -647,6 +656,32 @@ #define TR_LOWALARM INDENT "Låg-alarm" #define TR_CRITICALALARM INDENT "Kritiskt alarm" +#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_ARMED "Armed" + #define TR_MAVLINK_BAT_MENU_TITLE "BAT RSSI" + #define TR_MAVLINK_BATTERY_LABEL "Flight Battery status" + #define TR_MAVLINK_RC_RSSI_LABEL "RC RSSI" + #define TR_MAVLINK_PC_RSSI_LABEL "PC RSSI" + #define TR_MAVLINK_NAV_MENU_TITLE "NAV" + #define TR_MAVLINK_COURSE "Course" + #define TR_MAVLINK_HEADING "Heading" + #define TR_MAVLINK_BEARING "Bearing" + #define TR_MAVLINK_ALTITUDE "Altitude" + #define TR_MAVLINK_GPS "GPS" + #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" +#endif + // Taranis column headers #define TR_PHASES_HEADERS { " Namn ", " Brytare ", " Trimmar ", " Tona Upp ", " Tona Ned " } #define TR_LIMITS_HEADERS { " Namn ", " Offset ", " Min ", " Max ", " Riktning ", " PPM-centrum ", " Symmetriskt " }