mirror of
https://github.com/opentx/opentx.git
synced 2025-07-15 04:15:26 +03:00
[SKY9X/9XR-PRO] Shift in Switches display
This commit is contained in:
parent
d90b1e0640
commit
5d2220c842
14 changed files with 53 additions and 6 deletions
|
@ -275,7 +275,7 @@ bool isSwitchAvailable(int swtch, SwitchContext context)
|
||||||
|
|
||||||
#if defined(PCBSKY9X)
|
#if defined(PCBSKY9X)
|
||||||
if (swtch >= SWSRC_FIRST_SWITCH && swtch <= SWSRC_LAST_SWITCH) {
|
if (swtch >= SWSRC_FIRST_SWITCH && swtch <= SWSRC_LAST_SWITCH) {
|
||||||
(void)negative;
|
UNUSED(negative);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
|
@ -310,6 +310,12 @@ bool isSwitchAvailable(int swtch, SwitchContext context)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(PCBSKY9X) && defined(REVX)
|
||||||
|
if (swtch == SWSRC_REa) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
if (swtch >= SWSRC_FIRST_LOGICAL_SWITCH && swtch <= SWSRC_LAST_LOGICAL_SWITCH) {
|
if (swtch >= SWSRC_FIRST_LOGICAL_SWITCH && swtch <= SWSRC_LAST_LOGICAL_SWITCH) {
|
||||||
if (context == GeneralCustomFunctionsContext) {
|
if (context == GeneralCustomFunctionsContext) {
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -869,6 +869,10 @@ void doLoopCommonActions();
|
||||||
|
|
||||||
#define BITMASK(bit) (1<<(bit))
|
#define BITMASK(bit) (1<<(bit))
|
||||||
|
|
||||||
|
#if !defined(UNUSED)
|
||||||
|
#define UNUSED(x) ((void)(x)) /* to avoid warnings */
|
||||||
|
#endif
|
||||||
|
|
||||||
/// returns the number of elements of an array
|
/// returns the number of elements of an array
|
||||||
#define DIM(arr) (sizeof((arr))/sizeof((arr)[0]))
|
#define DIM(arr) (sizeof((arr))/sizeof((arr)[0]))
|
||||||
|
|
||||||
|
|
|
@ -241,10 +241,14 @@ char * getSwitchString(char * dest, swsrc_t idx)
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(PCBSKY9X)
|
#if defined(PCBSKY9X)
|
||||||
|
#define IDX_TRIMS_IN_STR_VSWITCHES (1+SWSRC_LAST_SWITCH)
|
||||||
|
#define IDX_ON_IN_STR_VSWITCHES (IDX_TRIMS_IN_STR_VSWITCHES+SWSRC_LAST_TRIM-SWSRC_FIRST_TRIM+2)
|
||||||
if (idx <= SWSRC_LAST_SWITCH) {
|
if (idx <= SWSRC_LAST_SWITCH) {
|
||||||
getStringAtIndex(s, STR_VSWITCHES, idx);
|
getStringAtIndex(s, STR_VSWITCHES, idx);
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
|
#define IDX_TRIMS_IN_STR_VSWITCHES (1)
|
||||||
|
#define IDX_ON_IN_STR_VSWITCHES (IDX_TRIMS_IN_STR_VSWITCHES+SWSRC_LAST_TRIM-SWSRC_FIRST_TRIM+1)
|
||||||
if (idx <= SWSRC_LAST_SWITCH) {
|
if (idx <= SWSRC_LAST_SWITCH) {
|
||||||
div_t swinfo = switchInfo(idx);
|
div_t swinfo = switchInfo(idx);
|
||||||
if (ZEXIST(g_eeGeneral.switchNames[swinfo.quot])) {
|
if (ZEXIST(g_eeGeneral.switchNames[swinfo.quot])) {
|
||||||
|
@ -267,7 +271,8 @@ char * getSwitchString(char * dest, swsrc_t idx)
|
||||||
*s++ = "\300-\301"[swinfo.rem];
|
*s++ = "\300-\301"[swinfo.rem];
|
||||||
*s = '\0';
|
*s = '\0';
|
||||||
}
|
}
|
||||||
#endif
|
#endif // PCBSKY9X
|
||||||
|
|
||||||
#if NUM_XPOTS > 0
|
#if NUM_XPOTS > 0
|
||||||
else if (idx <= SWSRC_LAST_MULTIPOS_SWITCH) {
|
else if (idx <= SWSRC_LAST_MULTIPOS_SWITCH) {
|
||||||
div_t swinfo = div(int(idx - SWSRC_FIRST_MULTIPOS_SWITCH), XPOTS_MULTIPOS_COUNT);
|
div_t swinfo = div(int(idx - SWSRC_FIRST_MULTIPOS_SWITCH), XPOTS_MULTIPOS_COUNT);
|
||||||
|
@ -277,14 +282,22 @@ char * getSwitchString(char * dest, swsrc_t idx)
|
||||||
strAppendStringWithIndex(s, temp, swinfo.rem+1);
|
strAppendStringWithIndex(s, temp, swinfo.rem+1);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
else if (idx <= SWSRC_LAST_TRIM) {
|
|
||||||
getStringAtIndex(s, STR_VSWITCHES, idx-SWSRC_FIRST_TRIM+1);
|
#if defined(PCBSKY9X)
|
||||||
|
else if (idx <= SWSRC_REa) {
|
||||||
|
getStringAtIndex(s, STR_VSWITCHES, IDX_TRIMS_IN_STR_VSWITCHES+idx-SWSRC_FIRST_TRIM);
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
else if (idx <= SWSRC_LAST_TRIM) {
|
||||||
|
getStringAtIndex(s, STR_VSWITCHES, IDX_TRIMS_IN_STR_VSWITCHES+idx-SWSRC_FIRST_TRIM);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
else if (idx <= SWSRC_LAST_LOGICAL_SWITCH) {
|
else if (idx <= SWSRC_LAST_LOGICAL_SWITCH) {
|
||||||
strAppendStringWithIndex(s, "L", idx-SWSRC_FIRST_LOGICAL_SWITCH+1);
|
strAppendStringWithIndex(s, "L", idx-SWSRC_FIRST_LOGICAL_SWITCH+1);
|
||||||
}
|
}
|
||||||
else if (idx <= SWSRC_ONE) {
|
else if (idx <= SWSRC_ONE) {
|
||||||
getStringAtIndex(s, STR_VSWITCHES, idx-SWSRC_ON+2+(SWSRC_LAST_TRIM-SWSRC_FIRST_TRIM));
|
getStringAtIndex(s, STR_VSWITCHES, IDX_ON_IN_STR_VSWITCHES + idx - SWSRC_ON);
|
||||||
}
|
}
|
||||||
else if (idx <= SWSRC_LAST_FLIGHT_MODE) {
|
else if (idx <= SWSRC_LAST_FLIGHT_MODE) {
|
||||||
strAppendStringWithIndex(s, STR_FP, idx-SWSRC_FIRST_FLIGHT_MODE);
|
strAppendStringWithIndex(s, STR_FP, idx-SWSRC_FIRST_FLIGHT_MODE);
|
||||||
|
@ -295,7 +308,9 @@ char * getSwitchString(char * dest, swsrc_t idx)
|
||||||
else {
|
else {
|
||||||
zchar2str(s, g_model.telemetrySensors[idx-SWSRC_FIRST_SENSOR].label, TELEM_LABEL_LEN);
|
zchar2str(s, g_model.telemetrySensors[idx-SWSRC_FIRST_SENSOR].label, TELEM_LABEL_LEN);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TRACE("idx=%d LAST_TRIM=%d LAST_LS=%d ONE=%d", idx, SWSRC_LAST_TRIM, SWSRC_LAST_LOGICAL_SWITCH, SWSRC_LAST_LOGICAL_SWITCH, SWSRC_ONE);
|
||||||
|
|
||||||
return dest;
|
return dest;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -599,6 +599,8 @@
|
||||||
#elif defined(PCBTARANIS) || defined(PCBHORUS)
|
#elif defined(PCBTARANIS) || defined(PCBHORUS)
|
||||||
// only special switches here
|
// only special switches here
|
||||||
#define TR_VSWITCHES "---" TR_TRIMS_SWITCHES TR_ON_ONE_SWITCHES
|
#define TR_VSWITCHES "---" TR_TRIMS_SWITCHES TR_ON_ONE_SWITCHES
|
||||||
|
#elif defined(PCBSKY9X)
|
||||||
|
#define TR_VSWITCHES "---" TR_9X_3POS_SWITCHES TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_ON_ONE_SWITCHES
|
||||||
#else
|
#else
|
||||||
#define TR_VSWITCHES "---" TR_9X_3POS_SWITCHES TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW TR_ON_ONE_SWITCHES
|
#define TR_VSWITCHES "---" TR_9X_3POS_SWITCHES TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW TR_ON_ONE_SWITCHES
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -601,6 +601,8 @@
|
||||||
#elif defined(PCBTARANIS) || defined(PCBHORUS)
|
#elif defined(PCBTARANIS) || defined(PCBHORUS)
|
||||||
// only special switches here
|
// only special switches here
|
||||||
#define TR_VSWITCHES "---" TR_TRIMS_SWITCHES TR_ON_ONE_SWITCHES
|
#define TR_VSWITCHES "---" TR_TRIMS_SWITCHES TR_ON_ONE_SWITCHES
|
||||||
|
#elif defined(PCBSKY9X)
|
||||||
|
#define TR_VSWITCHES "---" TR_9X_3POS_SWITCHES TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_ON_ONE_SWITCHES
|
||||||
#else
|
#else
|
||||||
#define TR_VSWITCHES "---" TR_9X_3POS_SWITCHES TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW TR_ON_ONE_SWITCHES
|
#define TR_VSWITCHES "---" TR_9X_3POS_SWITCHES TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW TR_ON_ONE_SWITCHES
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -578,6 +578,8 @@
|
||||||
#elif defined(PCBTARANIS) || defined(PCBHORUS)
|
#elif defined(PCBTARANIS) || defined(PCBHORUS)
|
||||||
// only special switches here
|
// only special switches here
|
||||||
#define TR_VSWITCHES "---" TR_TRIMS_SWITCHES TR_ON_ONE_SWITCHES
|
#define TR_VSWITCHES "---" TR_TRIMS_SWITCHES TR_ON_ONE_SWITCHES
|
||||||
|
#elif defined(PCBSKY9X)
|
||||||
|
#define TR_VSWITCHES "---" TR_9X_3POS_SWITCHES TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_ON_ONE_SWITCHES
|
||||||
#else
|
#else
|
||||||
#define TR_VSWITCHES "---" TR_9X_3POS_SWITCHES TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW TR_ON_ONE_SWITCHES
|
#define TR_VSWITCHES "---" TR_9X_3POS_SWITCHES TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW TR_ON_ONE_SWITCHES
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -576,6 +576,8 @@
|
||||||
#elif defined(PCBTARANIS) || defined(PCBHORUS)
|
#elif defined(PCBTARANIS) || defined(PCBHORUS)
|
||||||
// only special switches here
|
// only special switches here
|
||||||
#define TR_VSWITCHES "---" TR_TRIMS_SWITCHES TR_ON_ONE_SWITCHES
|
#define TR_VSWITCHES "---" TR_TRIMS_SWITCHES TR_ON_ONE_SWITCHES
|
||||||
|
#elif defined(PCBSKY9X)
|
||||||
|
#define TR_VSWITCHES "---" TR_9X_3POS_SWITCHES TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_ON_ONE_SWITCHES
|
||||||
#else
|
#else
|
||||||
#define TR_VSWITCHES "---" TR_9X_3POS_SWITCHES TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW TR_ON_ONE_SWITCHES
|
#define TR_VSWITCHES "---" TR_9X_3POS_SWITCHES TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW TR_ON_ONE_SWITCHES
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -576,6 +576,8 @@
|
||||||
#elif defined(PCBTARANIS) || defined(PCBHORUS)
|
#elif defined(PCBTARANIS) || defined(PCBHORUS)
|
||||||
// only special switches here
|
// only special switches here
|
||||||
#define TR_VSWITCHES "---" TR_TRIMS_SWITCHES TR_ON_ONE_SWITCHES
|
#define TR_VSWITCHES "---" TR_TRIMS_SWITCHES TR_ON_ONE_SWITCHES
|
||||||
|
#elif defined(PCBSKY9X)
|
||||||
|
#define TR_VSWITCHES "---" TR_9X_3POS_SWITCHES TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_ON_ONE_SWITCHES
|
||||||
#else
|
#else
|
||||||
#define TR_VSWITCHES "---" TR_9X_3POS_SWITCHES TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW TR_ON_ONE_SWITCHES
|
#define TR_VSWITCHES "---" TR_9X_3POS_SWITCHES TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW TR_ON_ONE_SWITCHES
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -589,6 +589,8 @@
|
||||||
#elif defined(PCBTARANIS) || defined(PCBHORUS)
|
#elif defined(PCBTARANIS) || defined(PCBHORUS)
|
||||||
// only special switches here
|
// only special switches here
|
||||||
#define TR_VSWITCHES "---" TR_TRIMS_SWITCHES TR_ON_ONE_SWITCHES
|
#define TR_VSWITCHES "---" TR_TRIMS_SWITCHES TR_ON_ONE_SWITCHES
|
||||||
|
#elif defined(PCBSKY9X)
|
||||||
|
#define TR_VSWITCHES "---" TR_9X_3POS_SWITCHES TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_ON_ONE_SWITCHES
|
||||||
#else
|
#else
|
||||||
#define TR_VSWITCHES "---" TR_9X_3POS_SWITCHES TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW TR_ON_ONE_SWITCHES
|
#define TR_VSWITCHES "---" TR_9X_3POS_SWITCHES TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW TR_ON_ONE_SWITCHES
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -583,6 +583,8 @@
|
||||||
#elif defined(PCBTARANIS) || defined(PCBHORUS)
|
#elif defined(PCBTARANIS) || defined(PCBHORUS)
|
||||||
// only special switches here
|
// only special switches here
|
||||||
#define TR_VSWITCHES "---" TR_TRIMS_SWITCHES TR_ON_ONE_SWITCHES
|
#define TR_VSWITCHES "---" TR_TRIMS_SWITCHES TR_ON_ONE_SWITCHES
|
||||||
|
#elif defined(PCBSKY9X)
|
||||||
|
#define TR_VSWITCHES "---" TR_9X_3POS_SWITCHES TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_ON_ONE_SWITCHES
|
||||||
#else
|
#else
|
||||||
#define TR_VSWITCHES "---" TR_9X_3POS_SWITCHES TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW TR_ON_ONE_SWITCHES
|
#define TR_VSWITCHES "---" TR_9X_3POS_SWITCHES TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW TR_ON_ONE_SWITCHES
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -569,6 +569,8 @@
|
||||||
#elif defined(PCBTARANIS) || defined(PCBHORUS)
|
#elif defined(PCBTARANIS) || defined(PCBHORUS)
|
||||||
// only special switches here
|
// only special switches here
|
||||||
#define TR_VSWITCHES "---" TR_TRIMS_SWITCHES TR_ON_ONE_SWITCHES
|
#define TR_VSWITCHES "---" TR_TRIMS_SWITCHES TR_ON_ONE_SWITCHES
|
||||||
|
#elif defined(PCBSKY9X)
|
||||||
|
#define TR_VSWITCHES "---" TR_9X_3POS_SWITCHES TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_ON_ONE_SWITCHES
|
||||||
#else
|
#else
|
||||||
#define TR_VSWITCHES "---" TR_9X_3POS_SWITCHES TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW TR_ON_ONE_SWITCHES
|
#define TR_VSWITCHES "---" TR_9X_3POS_SWITCHES TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW TR_ON_ONE_SWITCHES
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -585,6 +585,8 @@
|
||||||
#elif defined(PCBTARANIS) || defined(PCBHORUS)
|
#elif defined(PCBTARANIS) || defined(PCBHORUS)
|
||||||
// only special switches here
|
// only special switches here
|
||||||
#define TR_VSWITCHES "---" TR_TRIMS_SWITCHES TR_ON_ONE_SWITCHES
|
#define TR_VSWITCHES "---" TR_TRIMS_SWITCHES TR_ON_ONE_SWITCHES
|
||||||
|
#elif defined(PCBSKY9X)
|
||||||
|
#define TR_VSWITCHES "---" TR_9X_3POS_SWITCHES TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_ON_ONE_SWITCHES
|
||||||
#else
|
#else
|
||||||
#define TR_VSWITCHES "---" TR_9X_3POS_SWITCHES TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW TR_ON_ONE_SWITCHES
|
#define TR_VSWITCHES "---" TR_9X_3POS_SWITCHES TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW TR_ON_ONE_SWITCHES
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -571,6 +571,8 @@
|
||||||
#elif defined(PCBTARANIS) || defined(PCBHORUS)
|
#elif defined(PCBTARANIS) || defined(PCBHORUS)
|
||||||
// only special switches here
|
// only special switches here
|
||||||
#define TR_VSWITCHES "---" TR_TRIMS_SWITCHES TR_ON_ONE_SWITCHES
|
#define TR_VSWITCHES "---" TR_TRIMS_SWITCHES TR_ON_ONE_SWITCHES
|
||||||
|
#elif defined(PCBSKY9X)
|
||||||
|
#define TR_VSWITCHES "---" TR_9X_3POS_SWITCHES TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_ON_ONE_SWITCHES
|
||||||
#else
|
#else
|
||||||
#define TR_VSWITCHES "---" TR_9X_3POS_SWITCHES TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW TR_ON_ONE_SWITCHES
|
#define TR_VSWITCHES "---" TR_9X_3POS_SWITCHES TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW TR_ON_ONE_SWITCHES
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -594,6 +594,8 @@
|
||||||
#elif defined(PCBTARANIS) || defined(PCBHORUS)
|
#elif defined(PCBTARANIS) || defined(PCBHORUS)
|
||||||
// only special switches here
|
// only special switches here
|
||||||
#define TR_VSWITCHES "---" TR_TRIMS_SWITCHES TR_ON_ONE_SWITCHES
|
#define TR_VSWITCHES "---" TR_TRIMS_SWITCHES TR_ON_ONE_SWITCHES
|
||||||
|
#elif defined(PCBSKY9X)
|
||||||
|
#define TR_VSWITCHES "---" TR_9X_3POS_SWITCHES TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_ON_ONE_SWITCHES
|
||||||
#else
|
#else
|
||||||
#define TR_VSWITCHES "---" TR_9X_3POS_SWITCHES TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW TR_ON_ONE_SWITCHES
|
#define TR_VSWITCHES "---" TR_9X_3POS_SWITCHES TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW TR_ON_ONE_SWITCHES
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue