mirror of
https://github.com/opentx/opentx.git
synced 2025-07-23 00:05:17 +03:00
Merge of ARM branch
This commit is contained in:
parent
ea53713580
commit
30be30212c
15 changed files with 209 additions and 61 deletions
|
@ -629,7 +629,7 @@ endif
|
||||||
|
|
||||||
# Concatenate all sources files in one big file to optimize size
|
# Concatenate all sources files in one big file to optimize size
|
||||||
allsrc.cpp: Makefile $(BOARDSRC) $(CPPSRC) $(EXTRABOARDSRC)
|
allsrc.cpp: Makefile $(BOARDSRC) $(CPPSRC) $(EXTRABOARDSRC)
|
||||||
@echo -n > allsrc.cpp
|
@rm -f allsrc.cpp
|
||||||
for f in $(BOARDSRC) $(CPPSRC) $(EXTRABOARDSRC) ; do echo "# 1 \"$$f\"" >> allsrc.cpp; cat "$$f" >> allsrc.cpp; done
|
for f in $(BOARDSRC) $(CPPSRC) $(EXTRABOARDSRC) ; do echo "# 1 \"$$f\"" >> allsrc.cpp; cat "$$f" >> allsrc.cpp; done
|
||||||
|
|
||||||
remallsrc:
|
remallsrc:
|
||||||
|
|
|
@ -45,11 +45,20 @@ uint8_t getEvent()
|
||||||
return evt;
|
return evt;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(PCBARM)
|
||||||
|
#define KEY_LONG_DELAY 32
|
||||||
|
#else
|
||||||
|
#define KEY_LONG_DELAY 24
|
||||||
|
#endif
|
||||||
|
|
||||||
Key keys[NUM_KEYS];
|
Key keys[NUM_KEYS];
|
||||||
void Key::input(bool val, EnumKeys enuk)
|
void Key::input(bool val, EnumKeys enuk)
|
||||||
{
|
{
|
||||||
// uint8_t old=m_vals;
|
uint8_t t_vals = m_vals ;
|
||||||
m_vals <<= 1; if(val) m_vals |= 1; //portbit einschieben
|
t_vals <<= 1 ;
|
||||||
|
if(val) t_vals |= 1; //portbit einschieben
|
||||||
|
m_vals = t_vals ;
|
||||||
|
|
||||||
m_cnt++;
|
m_cnt++;
|
||||||
|
|
||||||
if(m_state && m_vals==0){ //gerade eben sprung auf 0
|
if(m_state && m_vals==0){ //gerade eben sprung auf 0
|
||||||
|
@ -81,7 +90,7 @@ void Key::input(bool val, EnumKeys enuk)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case KSTATE_RPTDELAY: // gruvin: delay state before first key repeat
|
case KSTATE_RPTDELAY: // gruvin: delay state before first key repeat
|
||||||
if(m_cnt == 24) putEvent(EVT_KEY_LONG(enuk));
|
if(m_cnt == KEY_LONG_DELAY) putEvent(EVT_KEY_LONG(enuk));
|
||||||
if (m_cnt == 40) {
|
if (m_cnt == 40) {
|
||||||
m_state = 16;
|
m_state = 16;
|
||||||
m_cnt = 0;
|
m_cnt = 0;
|
||||||
|
|
|
@ -477,18 +477,21 @@ void eeLoadModel(uint8_t id)
|
||||||
|
|
||||||
memset(&g_model, 0, sizeof(g_model));
|
memset(&g_model, 0, sizeof(g_model));
|
||||||
|
|
||||||
if ( size > sizeof(g_model) )
|
#ifdef SIMU
|
||||||
{
|
if (size > 0 && size != sizeof(g_model)) {
|
||||||
|
printf("Model data read=%d bytes vs %d bytes\n", size, (int)sizeof(ModelData));
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
if (size > sizeof(g_model)) {
|
||||||
size = sizeof(g_model) ;
|
size = sizeof(g_model) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(size<256) // if not loaded a fair amount
|
if(size < 256) { // if not loaded a fair amount
|
||||||
{
|
|
||||||
modelDefault(id) ;
|
modelDefault(id) ;
|
||||||
eeCheck(true);
|
eeCheck(true);
|
||||||
}
|
}
|
||||||
else
|
else {
|
||||||
{
|
|
||||||
read32_eeprom_data( ( File_system[id+1].block_no << 12) + sizeof( struct t_eeprom_header), ( uint8_t *)&g_model, size, 0 ) ;
|
read32_eeprom_data( ( File_system[id+1].block_no << 12) + sizeof( struct t_eeprom_header), ( uint8_t *)&g_model, size, 0 ) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -851,7 +851,7 @@ static const pm_uint8_t bchunit_ar[] PROGMEM = {
|
||||||
UNIT_PERCENT, // Fuel
|
UNIT_PERCENT, // Fuel
|
||||||
UNIT_DEGREES, // T1
|
UNIT_DEGREES, // T1
|
||||||
UNIT_DEGREES, // T2
|
UNIT_DEGREES, // T2
|
||||||
UNIT_KMH, // Speed
|
UNIT_KTS, // Speed
|
||||||
UNIT_METERS, // Dist
|
UNIT_METERS, // Dist
|
||||||
UNIT_METERS, // GPS Alt
|
UNIT_METERS, // GPS Alt
|
||||||
};
|
};
|
||||||
|
|
|
@ -239,7 +239,9 @@ void menuProcSetup(uint8_t event)
|
||||||
b = 100 - g_eeGeneral.backlightBright;
|
b = 100 - g_eeGeneral.backlightBright;
|
||||||
CHECK_INCDEC_GENVAR(event, b, 0, 100);
|
CHECK_INCDEC_GENVAR(event, b, 0, 100);
|
||||||
g_eeGeneral.backlightBright = 100 - b;
|
g_eeGeneral.backlightBright = 100 - b;
|
||||||
|
#ifndef SIMU
|
||||||
PWM->PWM_CH_NUM[0].PWM_CDTYUPD = g_eeGeneral.backlightBright ;
|
PWM->PWM_CH_NUM[0].PWM_CDTYUPD = g_eeGeneral.backlightBright ;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -843,7 +843,12 @@ void menuProcPhasesAll(uint8_t event)
|
||||||
|
|
||||||
uint8_t att;
|
uint8_t att;
|
||||||
for (uint8_t i=0; i<MAX_PHASES; i++) {
|
for (uint8_t i=0; i<MAX_PHASES; i++) {
|
||||||
|
#if defined(PCBARM)
|
||||||
|
int8_t y = (1+i-s_pgOfs)*FH;
|
||||||
|
if (y<1*FH || y>7*FH) continue;
|
||||||
|
#else
|
||||||
uint8_t y=(i+1)*FH;
|
uint8_t y=(i+1)*FH;
|
||||||
|
#endif
|
||||||
att = i==sub ? INVERS : 0;
|
att = i==sub ? INVERS : 0;
|
||||||
PhaseData *p = phaseaddress(i);
|
PhaseData *p = phaseaddress(i);
|
||||||
#if defined(EXTRA_ROTARY_ENCODERS)
|
#if defined(EXTRA_ROTARY_ENCODERS)
|
||||||
|
@ -887,6 +892,10 @@ void menuProcPhasesAll(uint8_t event)
|
||||||
lcd_putc(20*FW+2, y, (p->fadeIn && p->fadeOut) ? '*' : (p->fadeIn ? 'I' : 'O'));
|
lcd_putc(20*FW+2, y, (p->fadeIn && p->fadeOut) ? '*' : (p->fadeIn ? 'I' : 'O'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(PCBARM)
|
||||||
|
if (s_pgOfs != MAX_PHASES-6) return;
|
||||||
|
#endif
|
||||||
|
|
||||||
att = (sub==MAX_PHASES && !trimsCheckTimer) ? INVERS : 0;
|
att = (sub==MAX_PHASES && !trimsCheckTimer) ? INVERS : 0;
|
||||||
lcd_putsAtt(0, 7*FH, STR_CHECKTRIMS, att);
|
lcd_putsAtt(0, 7*FH, STR_CHECKTRIMS, att);
|
||||||
putsFlightPhase(6*FW, 7*FH, getFlightPhase()+1, att);
|
putsFlightPhase(6*FW, 7*FH, getFlightPhase()+1, att);
|
||||||
|
@ -1306,9 +1315,14 @@ inline void editExpoVals(uint8_t event, uint8_t which, bool edit, uint8_t y, uin
|
||||||
#ifdef FLIGHT_PHASES
|
#ifdef FLIGHT_PHASES
|
||||||
case EXPO_FIELD_FLIGHT_PHASE:
|
case EXPO_FIELD_FLIGHT_PHASE:
|
||||||
{
|
{
|
||||||
|
#if defined(PCBARM)
|
||||||
|
putsFlightPhase(6*FW+5, y, ed->phase, invBlk);
|
||||||
|
if(edit) { ed->phase = checkIncDecModel(event, ed->phase, -MAX_PHASES, MAX_PHASES); }
|
||||||
|
#else
|
||||||
int8_t phase = ed->negPhase ? -ed->phase : +ed->phase;
|
int8_t phase = ed->negPhase ? -ed->phase : +ed->phase;
|
||||||
putsFlightPhase(6*FW+5, y, phase, invBlk);
|
putsFlightPhase(6*FW+5, y, phase, invBlk);
|
||||||
if(edit) { phase = checkIncDecModel(event, phase, -MAX_PHASES, MAX_PHASES); ed->negPhase = (phase < 0); ed->phase = abs(phase); }
|
if(edit) { phase = checkIncDecModel(event, phase, -MAX_PHASES, MAX_PHASES); ed->negPhase = (phase < 0); ed->phase = abs(phase); }
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
@ -1535,8 +1549,12 @@ inline void displayExpoLine(uint8_t row, uint8_t expo, uint8_t ch, uint8_t idx,
|
||||||
if (attr != 0)
|
if (attr != 0)
|
||||||
CHECK_INCDEC_MODELVAR(event, ed->weight, 0, 100);
|
CHECK_INCDEC_MODELVAR(event, ed->weight, 0, 100);
|
||||||
lcd_outdezAtt(9*FW+1, y, ed->expo, 0);
|
lcd_outdezAtt(9*FW+1, y, ed->expo, 0);
|
||||||
#ifdef FLIGHT_PHASES
|
#if defined(FLIGHT_PHASES)
|
||||||
|
#if defined(PCBARM)
|
||||||
|
putsFlightPhase(10*FW, y, ed->phase);
|
||||||
|
#else
|
||||||
putsFlightPhase(10*FW, y, ed->negPhase ? -ed->phase : +ed->phase);
|
putsFlightPhase(10*FW, y, ed->negPhase ? -ed->phase : +ed->phase);
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
putsSwitches(13*FW+4, y, ed->swtch, 0); // normal switches
|
putsSwitches(13*FW+4, y, ed->swtch, 0); // normal switches
|
||||||
if (ed->mode!=3) lcd_putc(17*FW, y, ed->mode == 2 ? 126 : 127);//'|' : (stkVal[i] ? '<' : '>'),0);*/
|
if (ed->mode!=3) lcd_putc(17*FW, y, ed->mode == 2 ? 126 : 127);//'|' : (stkVal[i] ? '<' : '>'),0);*/
|
||||||
|
@ -2041,17 +2059,17 @@ void menuProcFunctionSwitches(uint8_t event)
|
||||||
case 1:
|
case 1:
|
||||||
if (sd->swtch) {
|
if (sd->swtch) {
|
||||||
uint8_t func_displayed;
|
uint8_t func_displayed;
|
||||||
if (sd->func < NUM_CHNOUT) {
|
if (sd->func < 16) {
|
||||||
func_displayed = 0;
|
func_displayed = 0;
|
||||||
putsChnRaw(14*FW-2, y, NUM_STICKS+NUM_POTS+NUM_ROTARY_ENCODERS+2+3+NUM_PPM+sd->func+1, attr);
|
putsChnRaw(14*FW-2, y, NUM_STICKS+NUM_POTS+NUM_ROTARY_ENCODERS+2+3+NUM_PPM+sd->func+1, attr);
|
||||||
}
|
}
|
||||||
else if (sd->func < NUM_CHNOUT + NUM_STICKS + 1) {
|
else if (sd->func < 16 + NUM_STICKS + 1) {
|
||||||
func_displayed = 1;
|
func_displayed = 1;
|
||||||
if (sd->func != FUNC_TRAINER)
|
if (sd->func != FUNC_TRAINER)
|
||||||
putsChnRaw(13*FW-2, y, sd->func-FUNC_TRAINER, attr);
|
putsChnRaw(13*FW-2, y, sd->func-FUNC_TRAINER, attr);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
func_displayed = 2 + sd->func - NUM_CHNOUT - NUM_STICKS - 1;
|
func_displayed = 2 + sd->func - 16 - NUM_STICKS - 1;
|
||||||
lcd_putsiAtt(5*FW-2, y, STR_VFSWFUNC, func_displayed, attr);
|
lcd_putsiAtt(5*FW-2, y, STR_VFSWFUNC, func_displayed, attr);
|
||||||
if (active) {
|
if (active) {
|
||||||
CHECK_INCDEC_MODELVAR( event, sd->func, 0, FUNC_MAX-1);
|
CHECK_INCDEC_MODELVAR( event, sd->func, 0, FUNC_MAX-1);
|
||||||
|
|
|
@ -48,8 +48,10 @@
|
||||||
#define WARN_MEM (!(g_eeGeneral.warnOpts & WARN_MEM_BIT))
|
#define WARN_MEM (!(g_eeGeneral.warnOpts & WARN_MEM_BIT))
|
||||||
#define BEEP_VAL ( (g_eeGeneral.warnOpts & WARN_BVAL_BIT) >>3 )
|
#define BEEP_VAL ( (g_eeGeneral.warnOpts & WARN_BVAL_BIT) >>3 )
|
||||||
|
|
||||||
#if defined(PCBV4)
|
#if defined(PCBARM)
|
||||||
#define EEPROM_VER 207
|
#define EEPROM_VER 208
|
||||||
|
#elif defined(PCBV4)
|
||||||
|
#define EEPROM_VER 208
|
||||||
#else
|
#else
|
||||||
#define EEPROM_VER 205
|
#define EEPROM_VER 205
|
||||||
#endif
|
#endif
|
||||||
|
@ -147,6 +149,17 @@ PACK(typedef struct t_EEGeneral {
|
||||||
|
|
||||||
// eeprom modelspec
|
// eeprom modelspec
|
||||||
|
|
||||||
|
#if defined(PCBARM)
|
||||||
|
PACK(typedef struct t_ExpoData {
|
||||||
|
uint8_t mode; // 0=end, 1=pos, 2=neg, 3=both
|
||||||
|
uint8_t chn;
|
||||||
|
int8_t curve; // 0=no curve, 1-6=std curves, 7-10=CV1-CV4, 11-15=CV9-CV13
|
||||||
|
int8_t swtch;
|
||||||
|
int8_t phase; // if negPhase is 0: 0=normal, 5=FP4 if negPhase is 1: 5=!FP4
|
||||||
|
uint8_t weight;
|
||||||
|
int8_t expo;
|
||||||
|
}) ExpoData;
|
||||||
|
#else
|
||||||
PACK(typedef struct t_ExpoData {
|
PACK(typedef struct t_ExpoData {
|
||||||
uint8_t mode:2; // 0=end, 1=pos, 2=neg, 3=both
|
uint8_t mode:2; // 0=end, 1=pos, 2=neg, 3=both
|
||||||
uint8_t chn:2;
|
uint8_t chn:2;
|
||||||
|
@ -157,6 +170,7 @@ PACK(typedef struct t_ExpoData {
|
||||||
uint8_t weight:7;
|
uint8_t weight:7;
|
||||||
int8_t expo;
|
int8_t expo;
|
||||||
}) ExpoData;
|
}) ExpoData;
|
||||||
|
#endif
|
||||||
|
|
||||||
PACK(typedef struct t_LimitData {
|
PACK(typedef struct t_LimitData {
|
||||||
int8_t min;
|
int8_t min;
|
||||||
|
@ -218,6 +232,25 @@ enum MixSources {
|
||||||
#define MLTPX_MUL 1
|
#define MLTPX_MUL 1
|
||||||
#define MLTPX_REP 2
|
#define MLTPX_REP 2
|
||||||
|
|
||||||
|
#if defined(PCBARM)
|
||||||
|
PACK(typedef struct t_MixData {
|
||||||
|
uint8_t destCh;
|
||||||
|
int8_t phase;
|
||||||
|
int8_t weight;
|
||||||
|
int8_t swtch;
|
||||||
|
uint8_t mltpx; // multiplex method: 0 means +=, 1 means *=, 2 means :=
|
||||||
|
int8_t curve;
|
||||||
|
uint8_t mixWarn; // mixer warning
|
||||||
|
uint8_t delayUp;
|
||||||
|
uint8_t delayDown;
|
||||||
|
uint8_t speedUp; // Servogeschwindigkeit aus Tabelle (10ms Cycle)
|
||||||
|
uint8_t speedDown; // 0 nichts
|
||||||
|
uint8_t srcRaw; //
|
||||||
|
int8_t differential;
|
||||||
|
uint8_t carryTrim;
|
||||||
|
int8_t sOffset;
|
||||||
|
}) MixData;
|
||||||
|
#else
|
||||||
PACK(typedef struct t_MixData {
|
PACK(typedef struct t_MixData {
|
||||||
uint8_t destCh:4; // 0, 1..NUM_CHNOUT
|
uint8_t destCh:4; // 0, 1..NUM_CHNOUT
|
||||||
int8_t phase:4; // -5=!FP4, 0=normal, 5=FP4
|
int8_t phase:4; // -5=!FP4, 0=normal, 5=FP4
|
||||||
|
@ -235,6 +268,7 @@ PACK(typedef struct t_MixData {
|
||||||
uint16_t carryTrim:2;
|
uint16_t carryTrim:2;
|
||||||
int8_t sOffset;
|
int8_t sOffset;
|
||||||
}) MixData;
|
}) MixData;
|
||||||
|
#endif
|
||||||
|
|
||||||
PACK(typedef struct t_CustomSwData { // Custom Switches data
|
PACK(typedef struct t_CustomSwData { // Custom Switches data
|
||||||
int8_t v1; //input
|
int8_t v1; //input
|
||||||
|
@ -278,9 +312,8 @@ enum TelemetryUnit {
|
||||||
UNIT_VOLTS,
|
UNIT_VOLTS,
|
||||||
UNIT_AMPS,
|
UNIT_AMPS,
|
||||||
UNIT_RAW,
|
UNIT_RAW,
|
||||||
UNIT_KTS,
|
|
||||||
UNIT_KMH,
|
UNIT_KMH,
|
||||||
UNIT_MPH,
|
UNIT_KTS = UNIT_KMH,
|
||||||
UNIT_METERS,
|
UNIT_METERS,
|
||||||
UNIT_FEET = UNIT_METERS,
|
UNIT_FEET = UNIT_METERS,
|
||||||
UNIT_DEGREES,
|
UNIT_DEGREES,
|
||||||
|
@ -396,22 +429,25 @@ PACK(typedef struct t_SwashRingData { // Swash Ring data
|
||||||
#if defined(PCBV4)
|
#if defined(PCBV4)
|
||||||
#if defined(EXTRA_ROTARY_ENCODERS)
|
#if defined(EXTRA_ROTARY_ENCODERS)
|
||||||
#define NUM_EXTRA_ROTARY_ENCODERS 3
|
#define NUM_EXTRA_ROTARY_ENCODERS 3
|
||||||
#else //EXTRA_ROTARY_ENCODERS
|
#else
|
||||||
#define NUM_EXTRA_ROTARY_ENCODERS 0
|
#define NUM_EXTRA_ROTARY_ENCODERS 0
|
||||||
#endif //EXTRA_ROTARY_ENCODERS
|
#endif
|
||||||
#define NUM_ROTARY_ENCODERS (2+NUM_EXTRA_ROTARY_ENCODERS)
|
#define NUM_ROTARY_ENCODERS (2+NUM_EXTRA_ROTARY_ENCODERS)
|
||||||
#define ROTARY_ENCODER_MAX 1024
|
#define ROTARY_ENCODER_MAX 1024
|
||||||
#define ROTARY_ENCODER_ARRAY int16_t rotaryEncoders[NUM_ROTARY_ENCODERS];
|
#define ROTARY_ENCODER_ARRAY int16_t rotaryEncoders[NUM_ROTARY_ENCODERS];
|
||||||
#else //PCBV4
|
#else
|
||||||
#define NUM_ROTARY_ENCODERS 0
|
#define NUM_ROTARY_ENCODERS 0
|
||||||
#define ROTARY_ENCODER_ARRAY
|
#define ROTARY_ENCODER_ARRAY
|
||||||
#endif //PCBV4
|
#endif
|
||||||
|
|
||||||
|
#if defined(PCBSTD)
|
||||||
|
#define TRIM_ARRAY int8_t trim[4]; int8_t trim_ext:8
|
||||||
|
#else
|
||||||
|
#define TRIM_ARRAY int16_t trim[4]
|
||||||
|
#endif
|
||||||
|
|
||||||
PACK(typedef struct t_PhaseData {
|
PACK(typedef struct t_PhaseData {
|
||||||
// TODO perhaps not a so good idea to have 10bits trims instead of 16bits ...
|
TRIM_ARRAY;
|
||||||
int8_t trim[4]; // -500..500 => trim value, 501 => use trim of phase 0, 502, 503, 504 => use trim of phases 1|2|3|4 instead
|
|
||||||
int8_t trim_ext:8; // 2 less significant extra bits per trim (10bits trims)
|
|
||||||
int8_t swtch; // swtch of phase[0] is not used
|
int8_t swtch; // swtch of phase[0] is not used
|
||||||
char name[6];
|
char name[6];
|
||||||
uint8_t fadeIn:4;
|
uint8_t fadeIn:4;
|
||||||
|
@ -421,22 +457,33 @@ PACK(typedef struct t_PhaseData {
|
||||||
|
|
||||||
#if defined(PCBARM)
|
#if defined(PCBARM)
|
||||||
#define MAX_MODELS 60
|
#define MAX_MODELS 60
|
||||||
|
#define NUM_CHNOUT 32 // number of real output channels CH1-CH32
|
||||||
|
#define MAX_PHASES 9
|
||||||
|
#define MAX_MIXERS 64
|
||||||
|
#define MAX_EXPOS 32
|
||||||
|
#define NUM_CSW 32 // number of custom switches
|
||||||
|
#define NUM_FSW 32 // number of functions assigned to switches
|
||||||
#elif defined(PCBV4)
|
#elif defined(PCBV4)
|
||||||
#define MAX_MODELS 30
|
#define MAX_MODELS 30
|
||||||
#else
|
#define NUM_CHNOUT 16 // number of real output channels CH1-CH16
|
||||||
#define MAX_MODELS 16
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define MAX_TIMERS 2
|
|
||||||
#define MAX_PHASES 5
|
#define MAX_PHASES 5
|
||||||
#define MAX_MIXERS 32
|
#define MAX_MIXERS 32
|
||||||
#define MAX_EXPOS 14
|
#define MAX_EXPOS 14
|
||||||
#define MAX_CURVE5 8
|
|
||||||
#define MAX_CURVE9 8
|
|
||||||
|
|
||||||
#define NUM_CHNOUT 16 // number of real output channels CH1-CH16
|
|
||||||
#define NUM_CSW 12 // number of custom switches
|
#define NUM_CSW 12 // number of custom switches
|
||||||
#define NUM_FSW 16 // number of functions assigned to switches
|
#define NUM_FSW 16 // number of functions assigned to switches
|
||||||
|
#else
|
||||||
|
#define MAX_MODELS 16
|
||||||
|
#define NUM_CHNOUT 16 // number of real output channels CH1-CH16
|
||||||
|
#define MAX_PHASES 5
|
||||||
|
#define MAX_MIXERS 32
|
||||||
|
#define MAX_EXPOS 14
|
||||||
|
#define NUM_CSW 12 // number of custom switches
|
||||||
|
#define NUM_FSW 16 // number of functions assigned to switches
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define MAX_TIMERS 2
|
||||||
|
#define MAX_CURVE5 8
|
||||||
|
#define MAX_CURVE9 8
|
||||||
|
|
||||||
#define TMRMODE_NONE 0
|
#define TMRMODE_NONE 0
|
||||||
#define TMRMODE_ABS 1
|
#define TMRMODE_ABS 1
|
||||||
|
@ -454,6 +501,7 @@ enum Protocols {
|
||||||
PROTO_DSM2,
|
PROTO_DSM2,
|
||||||
PROTO_PPM16,
|
PROTO_PPM16,
|
||||||
PROTO_FAAST,
|
PROTO_FAAST,
|
||||||
|
PROTO_PPMSIM,
|
||||||
PROTO_MAX
|
PROTO_MAX
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -469,7 +517,7 @@ enum Dsm2Variants {
|
||||||
#define EXTDATA FrSkyData frsky
|
#define EXTDATA FrSkyData frsky
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(PCBV4)
|
#if defined(PCBV4) || defined(PCBARM)
|
||||||
#define BeepANACenter uint16_t
|
#define BeepANACenter uint16_t
|
||||||
#else
|
#else
|
||||||
#define BeepANACenter uint8_t
|
#define BeepANACenter uint8_t
|
||||||
|
|
|
@ -333,15 +333,26 @@ void applyExpos(int16_t *anas, uint8_t phase)
|
||||||
|
|
||||||
for (uint8_t i=0; i<MAX_EXPOS; i++) {
|
for (uint8_t i=0; i<MAX_EXPOS; i++) {
|
||||||
ExpoData &ed = g_model.expoData[i];
|
ExpoData &ed = g_model.expoData[i];
|
||||||
|
#if defined(PCBARM)
|
||||||
|
int8_t ed_phase = ed.phase;
|
||||||
|
#else
|
||||||
uint8_t ed_phase = ed.phase;
|
uint8_t ed_phase = ed.phase;
|
||||||
|
#endif
|
||||||
if (ed.mode==0) break; // end of list
|
if (ed.mode==0) break; // end of list
|
||||||
if (ed.chn == cur_chn)
|
if (ed.chn == cur_chn)
|
||||||
continue;
|
continue;
|
||||||
if (ed_phase != 0) {
|
if (ed_phase != 0) {
|
||||||
|
#if defined(PCBARM)
|
||||||
|
if (ed_phase < 0) {
|
||||||
|
if (phase == -ed_phase)
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
#else
|
||||||
if (ed.negPhase) {
|
if (ed.negPhase) {
|
||||||
if (phase == ed_phase)
|
if (phase == ed_phase)
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
else {
|
else {
|
||||||
if (phase != ed_phase)
|
if (phase != ed_phase)
|
||||||
continue;
|
continue;
|
||||||
|
@ -587,7 +598,11 @@ int16_t getRawTrimValue(uint8_t phase, uint8_t idx)
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
PhaseData *p = phaseaddress(phase);
|
PhaseData *p = phaseaddress(phase);
|
||||||
|
#if defined(PCBSTD)
|
||||||
result = (((int16_t)p->trim[idx]) << 2) + ((p->trim_ext >> (2*idx)) & 0x03);
|
result = (((int16_t)p->trim[idx]) << 2) + ((p->trim_ext >> (2*idx)) & 0x03);
|
||||||
|
#else
|
||||||
|
result = p->trim[idx];
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
@ -604,8 +619,12 @@ void setTrimValue(uint8_t phase, uint8_t idx, int16_t trim)
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
PhaseData *p = phaseaddress(phase);
|
PhaseData *p = phaseaddress(phase);
|
||||||
|
#if defined(PCBSTD)
|
||||||
p->trim[idx] = (int8_t)(trim >> 2);
|
p->trim[idx] = (int8_t)(trim >> 2);
|
||||||
p->trim_ext = (p->trim_ext & ~(0x03 << (2*idx))) + (((trim & 0x03) << (2*idx)));
|
p->trim_ext = (p->trim_ext & ~(0x03 << (2*idx))) + (((trim & 0x03) << (2*idx)));
|
||||||
|
#else
|
||||||
|
p->trim[idx] = trim;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
STORE_MODELVARS;
|
STORE_MODELVARS;
|
||||||
}
|
}
|
||||||
|
@ -668,8 +687,12 @@ void putsTelemetryValue(uint8_t x, uint8_t y, int16_t val, uint8_t unit, uint8_t
|
||||||
// m to ft *105/32
|
// m to ft *105/32
|
||||||
val = val * 3 + ( val >> 2 ) + (val >> 5) ;
|
val = val * 3 + ( val >> 2 ) + (val >> 5) ;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
if (unit == UNIT_KTS) {
|
||||||
|
// kts to km/h
|
||||||
|
val = (val * 463) / 250;
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
lcd_outdezAtt(x, (att & DBLSIZE ? y - FH : y), val, att & (~NO_UNIT)); // TODO we could add this test inside lcd_outdezAtt!
|
lcd_outdezAtt(x, (att & DBLSIZE ? y - FH : y), val, att & (~NO_UNIT)); // TODO we could add this test inside lcd_outdezAtt!
|
||||||
if (~att & NO_UNIT && unit != UNIT_RAW)
|
if (~att & NO_UNIT && unit != UNIT_RAW)
|
||||||
lcd_putsiAtt(lcd_lastPos/*+1*/, y, STR_VTELEMUNIT, unit, 0);
|
lcd_putsiAtt(lcd_lastPos/*+1*/, y, STR_VTELEMUNIT, unit, 0);
|
||||||
|
@ -868,10 +891,10 @@ void message(const pm_char *title, const pm_char *s, const pm_char *t, const cha
|
||||||
if (last) {
|
if (last) {
|
||||||
lcd_putsLeft(7*FH, last);
|
lcd_putsLeft(7*FH, last);
|
||||||
AUDIO_ERROR();
|
AUDIO_ERROR();
|
||||||
clearKeyEvents();
|
|
||||||
}
|
}
|
||||||
refreshDisplay();
|
refreshDisplay();
|
||||||
lcdSetRefVolt(g_eeGeneral.contrast);
|
lcdSetRefVolt(g_eeGeneral.contrast);
|
||||||
|
clearKeyEvents();
|
||||||
}
|
}
|
||||||
|
|
||||||
int8_t *s_trimPtr[NUM_STICKS] = { NULL, NULL, NULL, NULL };
|
int8_t *s_trimPtr[NUM_STICKS] = { NULL, NULL, NULL, NULL };
|
||||||
|
@ -2610,7 +2633,6 @@ int main(void)
|
||||||
eeCheck(true);
|
eeCheck(true);
|
||||||
lcd_clear() ;
|
lcd_clear() ;
|
||||||
refreshDisplay() ;
|
refreshDisplay() ;
|
||||||
// TODO needed? lcdSetRefVolt(0);
|
|
||||||
soft_power_off(); // Only turn power off if necessary
|
soft_power_off(); // Only turn power off if necessary
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -2625,11 +2647,14 @@ int main(void)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(PCBARM) || defined(PCBV4)
|
#if defined(PCBARM) || defined(PCBV4)
|
||||||
|
lcdSetRefVolt(0); // TODO before soft_power_off?
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(PCBV4)
|
||||||
//never return from main() - there is no code to return back, if any daelays occurs in physical power it does dead loop.
|
//never return from main() - there is no code to return back, if any daelays occurs in physical power it does dead loop.
|
||||||
wdt_disable();
|
wdt_disable();
|
||||||
for(;;){}
|
for(;;){}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -377,7 +377,11 @@ extern Key keys[NUM_KEYS];
|
||||||
#define MAX_SWITCH (MAX_PSWITCH+NUM_CSW)
|
#define MAX_SWITCH (MAX_PSWITCH+NUM_CSW)
|
||||||
#define SWITCH_ON (1+MAX_SWITCH)
|
#define SWITCH_ON (1+MAX_SWITCH)
|
||||||
#define SWITCH_OFF (-SWITCH_ON)
|
#define SWITCH_OFF (-SWITCH_ON)
|
||||||
|
#if defined(PCBARM)
|
||||||
|
#define MAX_DRSWITCH (MAX_PSWITCH+NUM_CSW) // 15(9+6) !switches + 0 + 15 switches: 5 bits needed
|
||||||
|
#else
|
||||||
#define MAX_DRSWITCH (MAX_PSWITCH+NUM_CSW/2) // 15(9+6) !switches + 0 + 15 switches: 5 bits needed
|
#define MAX_DRSWITCH (MAX_PSWITCH+NUM_CSW/2) // 15(9+6) !switches + 0 + 15 switches: 5 bits needed
|
||||||
|
#endif
|
||||||
|
|
||||||
#define NUM_STICKS 4
|
#define NUM_STICKS 4
|
||||||
#define NUM_POTS 3
|
#define NUM_POTS 3
|
||||||
|
|
|
@ -78,10 +78,12 @@ static void init_main_ppm( uint32_t period, uint32_t out_enable )
|
||||||
pwmptr = PWM ;
|
pwmptr = PWM ;
|
||||||
// PWM3 for PPM output
|
// PWM3 for PPM output
|
||||||
pwmptr->PWM_CH_NUM[3].PWM_CMR = 0x0000000B ; // CLKA
|
pwmptr->PWM_CH_NUM[3].PWM_CMR = 0x0000000B ; // CLKA
|
||||||
|
if (g_model.pulsePol)
|
||||||
|
pwmptr->PWM_CH_NUM[3].PWM_CMR |= 0x00000200 ; // CPOL
|
||||||
pwmptr->PWM_CH_NUM[3].PWM_CPDR = period ; // Period in half uS
|
pwmptr->PWM_CH_NUM[3].PWM_CPDR = period ; // Period in half uS
|
||||||
pwmptr->PWM_CH_NUM[3].PWM_CPDRUPD = period ; // Period in half uS
|
pwmptr->PWM_CH_NUM[3].PWM_CPDRUPD = period ; // Period in half uS
|
||||||
pwmptr->PWM_CH_NUM[3].PWM_CDTY = 600 ; // Duty in half uS
|
pwmptr->PWM_CH_NUM[3].PWM_CDTY = g_model.ppmDelay*100+600; // Duty in half uS
|
||||||
pwmptr->PWM_CH_NUM[3].PWM_CDTYUPD = 600 ; // Duty in half uS
|
pwmptr->PWM_CH_NUM[3].PWM_CDTYUPD = g_model.ppmDelay*100+600; // Duty in half uS
|
||||||
pwmptr->PWM_ENA = PWM_ENA_CHID3 ; // Enable channel 3
|
pwmptr->PWM_ENA = PWM_ENA_CHID3 ; // Enable channel 3
|
||||||
|
|
||||||
NVIC_EnableIRQ(PWM_IRQn) ;
|
NVIC_EnableIRQ(PWM_IRQn) ;
|
||||||
|
@ -151,6 +153,10 @@ void setupPulsesPPM() // Don't enable interrupts through here
|
||||||
uint32_t p = 8 + g_model.ppmNCH * 2; //Channels *2
|
uint32_t p = 8 + g_model.ppmNCH * 2; //Channels *2
|
||||||
|
|
||||||
pwmptr->PWM_CH_NUM[3].PWM_CDTYUPD = (g_model.ppmDelay * 50 + 300) * 2; //Stoplen *2
|
pwmptr->PWM_CH_NUM[3].PWM_CDTYUPD = (g_model.ppmDelay * 50 + 300) * 2; //Stoplen *2
|
||||||
|
if (g_model.pulsePol)
|
||||||
|
pwmptr->PWM_CH_NUM[3].PWM_CMR |= 0x00000200 ; // CPOL
|
||||||
|
else
|
||||||
|
pwmptr->PWM_CH_NUM[3].PWM_CMR &= ~0x00000200 ; // CPOL
|
||||||
|
|
||||||
uint16_t rest = 22500u * 2; //Minimum Framelen=22.5 ms
|
uint16_t rest = 22500u * 2; //Minimum Framelen=22.5 ms
|
||||||
rest += (int16_t(g_model.ppmFrameLength)) * 1000;
|
rest += (int16_t(g_model.ppmFrameLength)) * 1000;
|
||||||
|
|
|
@ -228,6 +228,8 @@ void eeprom_read_block (void *pointer_ram,
|
||||||
const void *pointer_eeprom,
|
const void *pointer_eeprom,
|
||||||
size_t size)
|
size_t size)
|
||||||
{
|
{
|
||||||
|
assert(size);
|
||||||
|
|
||||||
if (fp) {
|
if (fp) {
|
||||||
memset(pointer_ram, 0, size);
|
memset(pointer_ram, 0, size);
|
||||||
if (fseek(fp, (long) pointer_eeprom, SEEK_SET)==-1) perror("error in seek");
|
if (fseek(fp, (long) pointer_eeprom, SEEK_SET)==-1) perror("error in seek");
|
||||||
|
|
|
@ -340,7 +340,9 @@ void Open9xSim::refreshDiplay()
|
||||||
static FXuint keys2[]={KEY_F8, KEY_F7, KEY_F4, KEY_F3, KEY_F6, KEY_F5, KEY_F1, KEY_F2 };
|
static FXuint keys2[]={KEY_F8, KEY_F7, KEY_F4, KEY_F3, KEY_F6, KEY_F5, KEY_F1, KEY_F2 };
|
||||||
#endif
|
#endif
|
||||||
#if defined(PCBARM)
|
#if defined(PCBARM)
|
||||||
PIOA->PIO_PDSR &= ~(0x00800000 | 0x01000000 | 0x00000002 | 0x00000001 );
|
PIOA->PIO_PDSR |= (0x00800000 | 0x01000000 | 0x00000002 | 0x00000001);
|
||||||
|
PIOB->PIO_PDSR |= (0x00000010);
|
||||||
|
PIOC->PIO_PDSR |= (0x10000000 | 0x00000400 | 0x00000200);
|
||||||
#elif defined(PCBV4)
|
#elif defined(PCBV4)
|
||||||
pinj = 0;
|
pinj = 0;
|
||||||
#else
|
#else
|
||||||
|
|
|
@ -46,8 +46,8 @@
|
||||||
#define TR_RETA123 "RETA123"
|
#define TR_RETA123 "RETA123"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define LEN_VPROTOS "\005"
|
#define LEN_VPROTOS "\006"
|
||||||
#define TR_VPROTOS "PPM\0 ""PXX\0 ""DSM2\0""PPM16""FUT\0 "
|
#define TR_VPROTOS "PPM\0 ""PXX\0 ""DSM2\0 ""PPM16\0""FUT\0 ""PPMsim"
|
||||||
|
|
||||||
#define LEN_POSNEG "\003"
|
#define LEN_POSNEG "\003"
|
||||||
#define TR_POSNEG "POS""NEG"
|
#define TR_POSNEG "POS""NEG"
|
||||||
|
@ -64,7 +64,7 @@
|
||||||
#else
|
#else
|
||||||
#define TR_EXPLABEL_FP
|
#define TR_EXPLABEL_FP
|
||||||
#endif
|
#endif
|
||||||
#define TR_EXPLABELS "Weight""Expo ""Curve " TR_EXPLABEL_FP "Swtch ""When "" " // TODO remove all the trailing spaces
|
#define TR_EXPLABELS "Weight""Expo ""Curve " TR_EXPLABEL_FP "Swtch ""Side "" " // TODO remove all the trailing spaces
|
||||||
|
|
||||||
#define LEN_VMLTPX "\010"
|
#define LEN_VMLTPX "\010"
|
||||||
#define TR_VMLTPX "Add ""Multiply""Replace "
|
#define TR_VMLTPX "Add ""Multiply""Replace "
|
||||||
|
@ -115,14 +115,16 @@
|
||||||
#define LEN_VTELEMCHNS "\004"
|
#define LEN_VTELEMCHNS "\004"
|
||||||
#define TR_VTELEMCHNS "---\0""Tmr1""Tmr2""A1\0 ""A2\0 ""Tx\0 ""Rx\0 ""Alt\0""Rpm\0""Fuel""T1\0 ""T2\0 ""Spd\0""Dist""GAlt""Cell""AccX""AccY""AccZ""Hdg\0""VSpd""A1-\0""A2-\0""Alt-""Alt+""Rpm+""T1+\0""T2+\0""Spd+""Dst+""Acc\0""Time"
|
#define TR_VTELEMCHNS "---\0""Tmr1""Tmr2""A1\0 ""A2\0 ""Tx\0 ""Rx\0 ""Alt\0""Rpm\0""Fuel""T1\0 ""T2\0 ""Spd\0""Dist""GAlt""Cell""AccX""AccY""AccZ""Hdg\0""VSpd""A1-\0""A2-\0""Alt-""Alt+""Rpm+""T1+\0""T2+\0""Spd+""Dst+""Acc\0""Time"
|
||||||
|
|
||||||
#define LEN_VTELEMUNIT "\003"
|
|
||||||
#ifdef IMPERIAL_UNITS
|
#ifdef IMPERIAL_UNITS
|
||||||
#define LENGTH_UNIT "ft\0"
|
#define LENGTH_UNIT "ft\0"
|
||||||
|
#define SPEED_UNIT "kts"
|
||||||
#else
|
#else
|
||||||
#define LENGTH_UNIT "m\0 "
|
#define LENGTH_UNIT "m\0 "
|
||||||
|
#define SPEED_UNIT "kmh"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define TR_VTELEMUNIT "v\0 ""A\0 ""-\0 ""kts""kmh""M/h" LENGTH_UNIT "@\0 ""%\0 ""mA\0"
|
#define LEN_VTELEMUNIT "\003"
|
||||||
|
#define TR_VTELEMUNIT "v\0 ""A\0 ""-\0 " SPEED_UNIT LENGTH_UNIT "@\0 ""%\0 ""mA\0"
|
||||||
#define STR_V (STR_VTELEMUNIT+1)
|
#define STR_V (STR_VTELEMUNIT+1)
|
||||||
#define STR_A (STR_VTELEMUNIT+4)
|
#define STR_A (STR_VTELEMUNIT+4)
|
||||||
|
|
||||||
|
@ -158,7 +160,11 @@
|
||||||
#define TR_RE1RE2 "RE1""RE2"
|
#define TR_RE1RE2 "RE1""RE2"
|
||||||
|
|
||||||
#define LEN_VSWITCHES "\003"
|
#define LEN_VSWITCHES "\003"
|
||||||
|
#if defined(PCBARM)
|
||||||
|
#define TR_VSWITCHES "THR""RUD""ELE""ID0""ID1""ID2""AIL""GEA""TRN""SW1""SW2""SW3""SW4""SW5""SW6""SW7""SW8""SW9""SWA""SWB""SWC""SWD""SWE""SWF""SWG""SWH""SWI""SWJ""SWK""SWL""SWM""SWN""SWO""SWP""SWQ""SWR""SWS""SWT""SWU""SWV""SWW"
|
||||||
|
#else
|
||||||
#define TR_VSWITCHES "THR""RUD""ELE""ID0""ID1""ID2""AIL""GEA""TRN""SW1""SW2""SW3""SW4""SW5""SW6""SW7""SW8""SW9""SWA""SWB""SWC"
|
#define TR_VSWITCHES "THR""RUD""ELE""ID0""ID1""ID2""AIL""GEA""TRN""SW1""SW2""SW3""SW4""SW5""SW6""SW7""SW8""SW9""SWA""SWB""SWC"
|
||||||
|
#endif
|
||||||
|
|
||||||
#define LEN_VSRCRAW "\004"
|
#define LEN_VSRCRAW "\004"
|
||||||
#if defined(PCBV4)
|
#if defined(PCBV4)
|
||||||
|
|
|
@ -46,8 +46,8 @@
|
||||||
#define TR_RETA123 "RETA123"
|
#define TR_RETA123 "RETA123"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define LEN_VPROTOS "\005"
|
#define LEN_VPROTOS "\006"
|
||||||
#define TR_VPROTOS "PPM\0 ""PXX\0 ""DSM2\0""PPM16""FUT\0 "
|
#define TR_VPROTOS "PPM\0 ""PXX\0 ""DSM2\0 ""PPM16\0""FUT\0 PPMsim"
|
||||||
|
|
||||||
#define LEN_POSNEG "\003"
|
#define LEN_POSNEG "\003"
|
||||||
#define TR_POSNEG "POS""NEG"
|
#define TR_POSNEG "POS""NEG"
|
||||||
|
@ -115,9 +115,16 @@
|
||||||
#define LEN_VTELEMCHNS "\004"
|
#define LEN_VTELEMCHNS "\004"
|
||||||
#define TR_VTELEMCHNS "---\0""Tmr1""Tmr2""A1\0 ""A2\0 ""Tx\0 ""Rx\0 ""Alt\0""Rpm\0""Fuel""T1\0 ""T2\0 ""Spd\0""Dist""GAlt""Cell""AccX""AccY""AccZ""Hdg\0""VSpd""A1-\0""A2-\0""Alt-""Alt+""Rpm+""T1+\0""T2+\0""Spd+""Dst+""Acc\0""Time"
|
#define TR_VTELEMCHNS "---\0""Tmr1""Tmr2""A1\0 ""A2\0 ""Tx\0 ""Rx\0 ""Alt\0""Rpm\0""Fuel""T1\0 ""T2\0 ""Spd\0""Dist""GAlt""Cell""AccX""AccY""AccZ""Hdg\0""VSpd""A1-\0""A2-\0""Alt-""Alt+""Rpm+""T1+\0""T2+\0""Spd+""Dst+""Acc\0""Time"
|
||||||
|
|
||||||
#define LEN_VTELEMUNIT "\003"
|
#ifdef IMPERIAL_UNITS
|
||||||
#define TR_VTELEMUNIT "v\0 ""A\0 ""-\0 ""kts""kmh""M/h""m\0 ""@\0 ""%\0 ""mA\0""ft\0"
|
#define LENGTH_UNIT "ft\0"
|
||||||
|
#define SPEED_UNIT "kts"
|
||||||
|
#else
|
||||||
|
#define LENGTH_UNIT "m\0 "
|
||||||
|
#define SPEED_UNIT "kmh"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define LEN_VTELEMUNIT "\003"
|
||||||
|
#define TR_VTELEMUNIT "v\0 ""A\0 ""-\0 " SPEED_UNIT LENGTH_UNIT "@\0 ""%\0 ""mA\0"
|
||||||
#define STR_V (STR_VTELEMUNIT+1)
|
#define STR_V (STR_VTELEMUNIT+1)
|
||||||
#define STR_A (STR_VTELEMUNIT+4)
|
#define STR_A (STR_VTELEMUNIT+4)
|
||||||
|
|
||||||
|
@ -156,7 +163,11 @@
|
||||||
#define TR_RE1RE2 "RE1""RE2"
|
#define TR_RE1RE2 "RE1""RE2"
|
||||||
|
|
||||||
#define LEN_VSWITCHES "\003"
|
#define LEN_VSWITCHES "\003"
|
||||||
|
#if defined(PCBARM)
|
||||||
|
#define TR_VSWITCHES "GAZ""DIR""PRF""ID0""ID1""ID2""AIL""GEA""TRN""SW1""SW2""SW3""SW4""SW5""SW6""SW7""SW8""SW9""SWA""SWB""SWC""SWD""SWE""SWF""SWG""SWH""SWI""SWJ""SWK""SWL""SWM""SWN""SWO""SWP""SWQ""SWR""SWS""SWT""SWU""SWV""SWW"
|
||||||
|
#else
|
||||||
#define TR_VSWITCHES "GAZ""DIR""PRF""ID0""ID1""ID2""AIL""GEA""TRN""SW1""SW2""SW3""SW4""SW5""SW6""SW7""SW8""SW9""SWA""SWB""SWC"
|
#define TR_VSWITCHES "GAZ""DIR""PRF""ID0""ID1""ID2""AIL""GEA""TRN""SW1""SW2""SW3""SW4""SW5""SW6""SW7""SW8""SW9""SWA""SWB""SWC"
|
||||||
|
#endif
|
||||||
|
|
||||||
#define LEN_VSRCRAW "\004"
|
#define LEN_VSRCRAW "\004"
|
||||||
#if defined(PCBV4)
|
#if defined(PCBV4)
|
||||||
|
|
|
@ -46,8 +46,8 @@
|
||||||
#define TR_RETA123 "RETA123"
|
#define TR_RETA123 "RETA123"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define LEN_VPROTOS "\005"
|
#define LEN_VPROTOS "\006"
|
||||||
#define TR_VPROTOS "PPM\0 ""PXX\0 ""DSM2\0""PPM16""FUT\0 "
|
#define TR_VPROTOS "PPM\0 ""PXX\0 ""DSM2\0 ""PPM16\0""FUT\0 PPMsim"
|
||||||
|
|
||||||
#define LEN_POSNEG "\003"
|
#define LEN_POSNEG "\003"
|
||||||
#define TR_POSNEG "POS""NEG"
|
#define TR_POSNEG "POS""NEG"
|
||||||
|
@ -115,8 +115,16 @@
|
||||||
#define LEN_VTELEMCHNS "\004"
|
#define LEN_VTELEMCHNS "\004"
|
||||||
#define TR_VTELEMCHNS "---\0""Tmr1""Tmr2""A1\0 ""A2\0 ""Tx\0 ""Rx\0 ""Alt\0""Rpm\0""Tank""T1\0 ""T2\0 ""Spd\0""Dist""GAlt""Cell""AccX""AccY""AccZ""Hdg\0""VSpd""A1-\0""A2-\0""Alt-""Alt+""Rpm+""T1+\0""T2+\0""Spd+""Dst+""Acc\0""Tid\0"
|
#define TR_VTELEMCHNS "---\0""Tmr1""Tmr2""A1\0 ""A2\0 ""Tx\0 ""Rx\0 ""Alt\0""Rpm\0""Tank""T1\0 ""T2\0 ""Spd\0""Dist""GAlt""Cell""AccX""AccY""AccZ""Hdg\0""VSpd""A1-\0""A2-\0""Alt-""Alt+""Rpm+""T1+\0""T2+\0""Spd+""Dst+""Acc\0""Tid\0"
|
||||||
|
|
||||||
|
#ifdef IMPERIAL_UNITS
|
||||||
|
#define LENGTH_UNIT "ft\0"
|
||||||
|
#define SPEED_UNIT "kts"
|
||||||
|
#else
|
||||||
|
#define LENGTH_UNIT "m\0 "
|
||||||
|
#define SPEED_UNIT "kmh"
|
||||||
|
#endif
|
||||||
|
|
||||||
#define LEN_VTELEMUNIT "\003"
|
#define LEN_VTELEMUNIT "\003"
|
||||||
#define TR_VTELEMUNIT "v\0 ""A\0 ""-\0 ""kts""kmh""M/h""m\0 ""@\0 ""%\0 ""mA\0""ft\0"
|
#define TR_VTELEMUNIT "v\0 ""A\0 ""-\0 " SPEED_UNIT LENGTH_UNIT "@\0 ""%\0 ""mA\0"
|
||||||
#define STR_V (STR_VTELEMUNIT+1)
|
#define STR_V (STR_VTELEMUNIT+1)
|
||||||
#define STR_A (STR_VTELEMUNIT+4)
|
#define STR_A (STR_VTELEMUNIT+4)
|
||||||
|
|
||||||
|
@ -155,7 +163,11 @@
|
||||||
#define TR_RE1RE2 "RE1""RE2"
|
#define TR_RE1RE2 "RE1""RE2"
|
||||||
|
|
||||||
#define LEN_VSWITCHES "\003"
|
#define LEN_VSWITCHES "\003"
|
||||||
|
#if defined(PCBARM)
|
||||||
|
#define TR_VSWITCHES "GAS""SID""H\205J""ID0""ID1""ID2""SKE""LAN""TRN""BR1""BR2""BR3""BR4""BR5""BR6""BR7""BR8""BR9""BRA""BRB""BRC""BRD""BRE""BRF""BRG""BRH""BRI""BRJ""BRK""BRL""BRM""BRN""BRO""BRP""BRQ""BRR""BRS""BRT""BRU""BRV""BRW"
|
||||||
|
#else
|
||||||
#define TR_VSWITCHES "GAS""SID""H\205J""ID0""ID1""ID2""SKE""LAN""TRN""BR1""BR2""BR3""BR4""BR5""BR6""BR7""BR8""BR9""BRA""BRB""BRC"
|
#define TR_VSWITCHES "GAS""SID""H\205J""ID0""ID1""ID2""SKE""LAN""TRN""BR1""BR2""BR3""BR4""BR5""BR6""BR7""BR8""BR9""BRA""BRB""BRC"
|
||||||
|
#endif
|
||||||
|
|
||||||
#define LEN_VSRCRAW "\004"
|
#define LEN_VSRCRAW "\004"
|
||||||
#if defined(PCBV4)
|
#if defined(PCBV4)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue