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.
This commit is contained in:
pienk@planet.nl
2013-10-08 19:17:11 +00:00
parent 30ce4a328d
commit 62183fc8dd
29 changed files with 827 additions and 283 deletions
+2
View File
@@ -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)
+16
View File
@@ -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++)
+5
View File
@@ -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)
};
+118 -189
View File
@@ -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;
}
}
+3 -11
View File
@@ -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.
+22 -13
View File
@@ -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
+5
View File
@@ -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
+6
View File
@@ -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
+5 -23
View File
@@ -139,6 +139,7 @@ void SERIAL_startTX(void) {
static void uart_4800(void) {
#ifndef SIMU
#undef BAUD // avoid compiler warning
#define BAUD 4800
#include <util/setbaud.h>
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 <util/setbaud.h>
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 <util/setbaud.h>
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 <util/setbaud.h>
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 <util/setbaud.h>
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;
}
+1 -8
View File
@@ -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;
+27 -34
View File
@@ -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();
}
+18 -3
View File
@@ -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
+31
View File
@@ -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;
+41 -2
View File
@@ -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[];
+35
View File
@@ -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 " }
+35
View File
@@ -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é " }
+35
View File
@@ -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 " }
+35
View File
@@ -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 " }
+37
View File
@@ -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 " }
+35
View File
@@ -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 " }
+35
View File
@@ -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 " }
+35
View File
@@ -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 " }
+35
View File
@@ -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 " }
+35
View File
@@ -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 " }
+35
View File
@@ -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 " }
+35
View File
@@ -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 " }
+35
View File
@@ -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 " }
+35
View File
@@ -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 " }
+35
View File
@@ -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 " }