1
0
Fork 0
mirror of https://github.com/EdgeTX/edgetx.git synced 2025-07-23 08:15:13 +03:00

Merge pull request #6623 from opentx/raphaelcoeffic/fix-x10-inputs

X10: fixed optional inputs
This commit is contained in:
Bertrand Songis 2019-08-16 10:27:08 +02:00 committed by GitHub
commit 6f37caa8d4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 75 additions and 68 deletions

View file

@ -478,17 +478,6 @@ enum SwitchSources {
SWSRC_SR2, SWSRC_SR2,
#endif #endif
#if defined(STORAGE_SWITCH_GMBL)
SWSRC_GMBL0,
SWSRC_GMBL1,
SWSRC_GMBL2,
#endif
#if defined(STORAGE_SWITCH_GMBR)
SWSRC_GMBR0,
SWSRC_GMBR1,
SWSRC_GMBR2,
#endif
#if defined(PCBSKY9X) #if defined(PCBSKY9X)
SWSRC_ID0 = SWSRC_FIRST_SWITCH, SWSRC_ID0 = SWSRC_FIRST_SWITCH,
@ -604,19 +593,21 @@ enum MixSources {
MIXSRC_S1 = MIXSRC_FIRST_POT, LUA_EXPORT("s1", "Potentiometer S1") MIXSRC_S1 = MIXSRC_FIRST_POT, LUA_EXPORT("s1", "Potentiometer S1")
MIXSRC_6POS, LUA_EXPORT("6pos", "Multipos Switch") MIXSRC_6POS, LUA_EXPORT("6pos", "Multipos Switch")
MIXSRC_S2, LUA_EXPORT("s2", "Potentiometer S2") MIXSRC_S2, LUA_EXPORT("s2", "Potentiometer S2")
MIXSRC_FIRST_SLIDER,
MIXSRC_S3 = MIXSRC_FIRST_SLIDER, LUA_EXPORT("s3", "Slider S3")
MIXSRC_S4, LUA_EXPORT("s4", "Slider S4")
#if defined(PCBX12S)
MIXSRC_LS, LUA_EXPORT("ls", "Left rear slider")
MIXSRC_RS, LUA_EXPORT("rs", "Right rear slider")
MIXSRC_LAST_POT = MIXSRC_RS,
#endif
#if defined(PCBX10) #if defined(PCBX10)
MIXSRC_EXT1, LUA_EXPORT("ext1", "Ext 1") MIXSRC_EXT1, LUA_EXPORT("ext1", "Ext 1")
MIXSRC_EXT2, LUA_EXPORT("ext2", "Ext 2") MIXSRC_EXT2, LUA_EXPORT("ext2", "Ext 2")
MIXSRC_LAST_POT = MIXSRC_EXT2,
#endif #endif
MIXSRC_FIRST_SLIDER,
#if defined(PCBX12S)
MIXSRC_S3 = MIXSRC_FIRST_SLIDER, LUA_EXPORT("s3", "Slider S3")
MIXSRC_S4, LUA_EXPORT("s4", "Slider S4")
MIXSRC_LS, LUA_EXPORT("ls", "Left rear slider")
MIXSRC_RS, LUA_EXPORT("rs", "Right rear slider")
#else
MIXSRC_LS = MIXSRC_FIRST_SLIDER, LUA_EXPORT("ls", "Left slider")
MIXSRC_RS, LUA_EXPORT("rs", "Right slider")
#endif
MIXSRC_LAST_POT = MIXSRC_RS,
#elif defined(PCBX9E) #elif defined(PCBX9E)
MIXSRC_POT1 = MIXSRC_FIRST_POT, LUA_EXPORT("s1", "Potentiometer 1") MIXSRC_POT1 = MIXSRC_FIRST_POT, LUA_EXPORT("s1", "Potentiometer 1")
MIXSRC_POT2, LUA_EXPORT("s2", "Potentiometer 2") MIXSRC_POT2, LUA_EXPORT("s2", "Potentiometer 2")
@ -732,10 +723,6 @@ enum MixSources {
MIXSRC_SQ, LUA_EXPORT("sq", "Switch Q") MIXSRC_SQ, LUA_EXPORT("sq", "Switch Q")
MIXSRC_SR, LUA_EXPORT("sr", "Switch R") MIXSRC_SR, LUA_EXPORT("sr", "Switch R")
#endif #endif
#if defined(PCBHORUS)
MIXSRC_GMBL, LUA_EXPORT("gmbl", "Switch Left gimbal")
MIXSRC_GMBR, LUA_EXPORT("gmbr", "Switch right gimbal")
#endif
#if defined(PCBSKY9X) #if defined(PCBSKY9X)
MIXSRC_3POS = MIXSRC_FIRST_SWITCH, MIXSRC_3POS = MIXSRC_FIRST_SWITCH,
MIXSRC_THR, MIXSRC_THR,

View file

@ -50,8 +50,8 @@ enum MenuRadioHardwareItems {
ITEM_RADIO_HARDWARE_SF, ITEM_RADIO_HARDWARE_SF,
ITEM_RADIO_HARDWARE_SG, ITEM_RADIO_HARDWARE_SG,
ITEM_RADIO_HARDWARE_SH, ITEM_RADIO_HARDWARE_SH,
ITEM_RADIO_HARDWARE_GMBL, ITEM_RADIO_HARDWARE_SI, // Gimbal switch left
ITEM_RADIO_HARDWARE_GMBR, ITEM_RADIO_HARDWARE_SJ, // Gimbal switch right
ITEM_RADIO_HARDWARE_SERIAL_BAUDRATE, ITEM_RADIO_HARDWARE_SERIAL_BAUDRATE,
ITEM_RADIO_HARDWARE_BLUETOOTH_MODE, ITEM_RADIO_HARDWARE_BLUETOOTH_MODE,
ITEM_RADIO_HARDWARE_BLUETOOTH_PAIRING_CODE, ITEM_RADIO_HARDWARE_BLUETOOTH_PAIRING_CODE,
@ -73,7 +73,7 @@ enum MenuRadioHardwareItems {
#define BLUETOOTH_ROWS 0, uint8_t(g_eeGeneral.bluetoothMode != BLUETOOTH_TELEMETRY ? HIDDEN_ROW : -1), uint8_t(g_eeGeneral.bluetoothMode == BLUETOOTH_OFF ? -1 : 0) #define BLUETOOTH_ROWS 0, uint8_t(g_eeGeneral.bluetoothMode != BLUETOOTH_TELEMETRY ? HIDDEN_ROW : -1), uint8_t(g_eeGeneral.bluetoothMode == BLUETOOTH_OFF ? -1 : 0)
// TODO should be moved to the HAL // TODO should be moved to the HAL
#define SWITCH_TYPE_MAX(sw) ((MIXSRC_SF-MIXSRC_FIRST_SWITCH == sw || MIXSRC_SH-MIXSRC_FIRST_SWITCH == sw || MIXSRC_GMBL-MIXSRC_FIRST_SWITCH == sw || MIXSRC_GMBR-MIXSRC_FIRST_SWITCH == sw) ? SWITCH_2POS : SWITCH_3POS) #define SWITCH_TYPE_MAX(sw) ((MIXSRC_SF-MIXSRC_FIRST_SWITCH == sw || MIXSRC_SH-MIXSRC_FIRST_SWITCH == sw || MIXSRC_SI-MIXSRC_FIRST_SWITCH == sw || MIXSRC_SJ-MIXSRC_FIRST_SWITCH == sw) ? SWITCH_2POS : SWITCH_3POS)
bool menuRadioHardware(event_t event) bool menuRadioHardware(event_t event)
{ {
@ -165,8 +165,8 @@ bool menuRadioHardware(event_t event)
case ITEM_RADIO_HARDWARE_SF: case ITEM_RADIO_HARDWARE_SF:
case ITEM_RADIO_HARDWARE_SG: case ITEM_RADIO_HARDWARE_SG:
case ITEM_RADIO_HARDWARE_SH: case ITEM_RADIO_HARDWARE_SH:
case ITEM_RADIO_HARDWARE_GMBL: case ITEM_RADIO_HARDWARE_SI:
case ITEM_RADIO_HARDWARE_GMBR: case ITEM_RADIO_HARDWARE_SJ:
{ {
int index = k - ITEM_RADIO_HARDWARE_SA; int index = k - ITEM_RADIO_HARDWARE_SA;
int config = SWITCH_CONFIG(index); int config = SWITCH_CONFIG(index);

View file

@ -180,7 +180,7 @@ bool isSourceAvailable(int source)
} }
#if defined(PCBX10) #if defined(PCBX10)
if ((source>=MIXSRC_S3 && source<=MIXSRC_S4) || (source>=MIXSRC_MOUSE1 && source<=MIXSRC_MOUSE2)) if (source>=MIXSRC_MOUSE1 && source<=MIXSRC_MOUSE2)
return false; return false;
#endif #endif
@ -253,7 +253,12 @@ bool isInputSourceAvailable(int source)
return true; return true;
#endif #endif
if (source >= MIXSRC_Rud && source <= MIXSRC_MAX) #if defined(PCBX10)
if (source >= MIXSRC_MOUSE1 && source <= MIXSRC_MOUSE2)
return false;
#endif
if (source >= MIXSRC_Rud && source < MIXSRC_MAX)
return true; return true;
if (source >= MIXSRC_FIRST_TRIM && source <= MIXSRC_LAST_TRIM) if (source >= MIXSRC_FIRST_TRIM && source <= MIXSRC_LAST_TRIM)

View file

@ -54,7 +54,7 @@ int convertSource_218_to_219(int source)
#endif #endif
#if defined(PCBHORUS) #if defined(PCBHORUS)
if (source >= MIXSRC_GMBL) if (source >= MIXSRC_SI)
source += 2; source += 2;
#endif #endif
@ -88,7 +88,7 @@ int convertSwitch_218_to_219(int swtch)
#endif #endif
#if defined(PCBHORUS) #if defined(PCBHORUS)
if (swtch >= SWSRC_GMBL0) if (swtch >= SWSRC_SI0)
swtch += 2 * 3; swtch += 2 * 3;
if (swtch >= SWSRC_FIRST_MULTIPOS_SWITCH + 3 * XPOTS_MULTIPOS_COUNT) if (swtch >= SWSRC_FIRST_MULTIPOS_SWITCH + 3 * XPOTS_MULTIPOS_COUNT)
swtch += 2 * XPOTS_MULTIPOS_COUNT; swtch += 2 * XPOTS_MULTIPOS_COUNT;

View file

@ -235,8 +235,8 @@ enum EnumSwitches
SW_SF, SW_SF,
SW_SG, SW_SG,
SW_SH, SW_SH,
SW_GMBL, SW_SI,
SW_GMBR, SW_SJ,
NUM_SWITCHES NUM_SWITCHES
}; };
@ -269,12 +269,12 @@ enum EnumSwitchesPositions
SW_SH0, SW_SH0,
SW_SH1, SW_SH1,
SW_SH2, SW_SH2,
SW_SGMBL0, SW_SI0,
SW_SGMBL1, SW_SI1,
SW_SGMBL2, SW_SI2,
SW_SGMBR0, SW_SJ0,
SW_SGMBR1, SW_SJ1,
SW_SGMBR2, SW_SJ2,
NUM_SWITCHES_POSITIONS NUM_SWITCHES_POSITIONS
}; };
@ -359,21 +359,23 @@ enum Analogs {
POT1 = POT_FIRST, POT1 = POT_FIRST,
POT2, POT2,
POT3, POT3,
POT_LAST = POT3, #if defined(PCBX10)
EXT1,
EXT2,
#endif
POT_LAST = POT_FIRST + NUM_POTS - 1,
SLIDER_FIRST, SLIDER_FIRST,
SLIDER_FRONT_LEFT = SLIDER_FIRST, SLIDER_FRONT_LEFT = SLIDER_FIRST,
SLIDER_FRONT_RIGHT, SLIDER_FRONT_RIGHT,
#if defined(PCBX12S)
SLIDER_REAR_LEFT, SLIDER_REAR_LEFT,
SLIDER_REAR_RIGHT, SLIDER_REAR_RIGHT,
#endif
SLIDER_LAST = SLIDER_FIRST + NUM_SLIDERS - 1, SLIDER_LAST = SLIDER_FIRST + NUM_SLIDERS - 1,
TX_VOLTAGE, TX_VOLTAGE,
#if defined(PCBX12S) #if defined(PCBX12S)
MOUSE1, // TODO why after voltage? MOUSE1, // TODO why after voltage?
MOUSE2, MOUSE2,
#endif
#if defined(PCBX10)
EXT1,
EXT2,
#endif #endif
NUM_ANALOGS NUM_ANALOGS
}; };
@ -383,7 +385,12 @@ enum Analogs {
#define DEFAULT_SWITCH_CONFIG (SWITCH_TOGGLE << 14) + (SWITCH_3POS << 12) + (SWITCH_2POS << 10) + (SWITCH_3POS << 8) + (SWITCH_3POS << 6) + (SWITCH_3POS << 4) + (SWITCH_3POS << 2) + (SWITCH_3POS << 0) #define DEFAULT_SWITCH_CONFIG (SWITCH_TOGGLE << 14) + (SWITCH_3POS << 12) + (SWITCH_2POS << 10) + (SWITCH_3POS << 8) + (SWITCH_3POS << 6) + (SWITCH_3POS << 4) + (SWITCH_3POS << 2) + (SWITCH_3POS << 0)
#define DEFAULT_POTS_CONFIG (POT_WITH_DETENT << 4) + (POT_MULTIPOS_SWITCH << 2) + (POT_WITHOUT_DETENT << 0) #define DEFAULT_POTS_CONFIG (POT_WITH_DETENT << 4) + (POT_MULTIPOS_SWITCH << 2) + (POT_WITHOUT_DETENT << 0)
#if defined(PCBX12S)
#define DEFAULT_SLIDERS_CONFIG (SLIDER_WITH_DETENT << 3) + (SLIDER_WITH_DETENT << 2) + (SLIDER_WITH_DETENT << 1) + (SLIDER_WITH_DETENT << 0) #define DEFAULT_SLIDERS_CONFIG (SLIDER_WITH_DETENT << 3) + (SLIDER_WITH_DETENT << 2) + (SLIDER_WITH_DETENT << 1) + (SLIDER_WITH_DETENT << 0)
#else
#define DEFAULT_SLIDERS_CONFIG (SLIDER_WITH_DETENT << 1) + (SLIDER_WITH_DETENT << 0)
#endif
enum CalibratedAnalogs { enum CalibratedAnalogs {
CALIBRATED_STICK1, CALIBRATED_STICK1,
@ -399,6 +406,8 @@ enum CalibratedAnalogs {
CALIBRATED_SLIDER_REAR_LEFT, CALIBRATED_SLIDER_REAR_LEFT,
CALIBRATED_SLIDER_REAR_RIGHT, CALIBRATED_SLIDER_REAR_RIGHT,
#else #else
CALIBRATED_POT_EXT1,
CALIBRATED_POT_EXT2,
CALIBRATED_SLIDER_REAR_LEFT, CALIBRATED_SLIDER_REAR_LEFT,
CALIBRATED_SLIDER_REAR_RIGHT, CALIBRATED_SLIDER_REAR_RIGHT,
#endif #endif

View file

@ -117,23 +117,27 @@
#define SWITCHES_GPIO_PIN_H GPIO_Pin_7 // PG.07 #define SWITCHES_GPIO_PIN_H GPIO_Pin_7 // PG.07
#if defined(PCBX10) #if defined(PCBX10)
#define STORAGE_SWITCH_GMBL // Gimbal switch left
#define HARDWARE_SWITCH_GMBL #define STORAGE_SWITCH_I
#define SWITCHES_GPIO_REG_GMBL GPIOH->IDR #define HARDWARE_SWITCH_I
#define SWITCHES_GPIO_PIN_GMBL GPIO_Pin_14 // PH.14 #define SWITCHES_GPIO_REG_I GPIOH->IDR
#define STORAGE_SWITCH_GMBR #define SWITCHES_GPIO_PIN_I GPIO_Pin_14 // PH.14
#define HARDWARE_SWITCH_GMBR // Gimbal switch right
#define SWITCHES_GPIO_REG_GMBR GPIOH->IDR #define STORAGE_SWITCH_J
#define SWITCHES_GPIO_PIN_GMBR GPIO_Pin_15 // PH.15 #define HARDWARE_SWITCH_J
#define SWITCHES_GPIO_REG_J GPIOH->IDR
#define SWITCHES_GPIO_PIN_J GPIO_Pin_15 // PH.15
#elif defined(PCBX12S) #elif defined(PCBX12S)
#define STORAGE_SWITCH_GMBL // Gimbal switch left
#define HARDWARE_SWITCH_GMBL #define STORAGE_SWITCH_I
#define SWITCHES_GPIO_REG_GMBL GPIOB->IDR #define HARDWARE_SWITCH_I
#define SWITCHES_GPIO_PIN_GMBL GPIO_Pin_1 // PB.01 #define SWITCHES_GPIO_REG_I GPIOB->IDR
#define STORAGE_SWITCH_GMBR #define SWITCHES_GPIO_PIN_I GPIO_Pin_1 // PB.01
#define HARDWARE_SWITCH_GMBR // Gimbal switch right
#define SWITCHES_GPIO_REG_GMBR GPIOB->IDR #define STORAGE_SWITCH_J
#define SWITCHES_GPIO_PIN_GMBR GPIO_Pin_0 // PB.00 #define HARDWARE_SWITCH_J
#define SWITCHES_GPIO_REG_J GPIOB->IDR
#define SWITCHES_GPIO_PIN_J GPIO_Pin_0 // PB.00
#endif #endif
// Trims // Trims

View file

@ -173,6 +173,8 @@ uint32_t switchState(uint8_t index)
ADD_INV_2POS_CASE(F); ADD_INV_2POS_CASE(F);
ADD_3POS_CASE(G, 6); ADD_3POS_CASE(G, 6);
ADD_2POS_CASE(H); ADD_2POS_CASE(H);
ADD_2POS_CASE(I);
ADD_2POS_CASE(J);
#else #else
ADD_3POS_CASE(A, 0); ADD_3POS_CASE(A, 0);
ADD_INV_3POS_CASE(B, 1); ADD_INV_3POS_CASE(B, 1);
@ -182,8 +184,8 @@ uint32_t switchState(uint8_t index)
ADD_2POS_CASE(F); ADD_2POS_CASE(F);
ADD_3POS_CASE(G, 6); ADD_3POS_CASE(G, 6);
ADD_2POS_CASE(H); ADD_2POS_CASE(H);
ADD_2POS_CASE(GMBL); ADD_2POS_CASE(I);
ADD_2POS_CASE(GMBR); ADD_2POS_CASE(J);
#endif #endif
default: default:
break; break;

View file

@ -31,10 +31,10 @@
#if defined(PCBX12S) #if defined(PCBX12S)
#define TR_POTS_VSRCRAW "\310S1\0""\3106P\0""\310S2\0""\313L1\0""\313L2\0""\311LS\0""\311RS\0""\310JSx""\310JSy" #define TR_POTS_VSRCRAW "\310S1\0""\3106P\0""\310S2\0""\313L1\0""\313L2\0""\311LS\0""\311RS\0""\310JSx""\310JSy"
#define TR_SW_VSRCRAW "\312SA\0""\312SB\0""\312SC\0""\312SD\0""\312SE\0""\312SF\0""\312SG\0""\312SH\0""\312GML""\312GMR" #define TR_SW_VSRCRAW "\312SA\0""\312SB\0""\312SC\0""\312SD\0""\312SE\0""\312SF\0""\312SG\0""\312SH\0""\312SI\0""\312SJ\0"
#elif defined(PCBX10) #elif defined(PCBX10)
#define TR_POTS_VSRCRAW "\310S1\0""\3106P\0""\310S2\0""\310EX1""\310EX2""\311LS\0""\311RS\0""\313L1\0""\313L2\0" #define TR_POTS_VSRCRAW "\310S1\0""\3106P\0""\310S2\0""\310EX1""\310EX2""\311LS\0""\311RS\0"
#define TR_SW_VSRCRAW "\312SA\0""\312SB\0""\312SC\0""\312SD\0""\312SE\0""\312SF\0""\312SG\0""\312SH\0""\312GML""\312GMR" #define TR_SW_VSRCRAW "\312SA\0""\312SB\0""\312SC\0""\312SD\0""\312SE\0""\312SF\0""\312SG\0""\312SH\0""\312SI\0""\312SJ\0"
#elif defined(PCBX9E) #elif defined(PCBX9E)
#define TR_POTS_VSRCRAW "\310F1\0""\310F2\0""\310F3\0""\310F4\0""\311S1\0""\311S2\0""\311LS\0""\311RS\0" #define TR_POTS_VSRCRAW "\310F1\0""\310F2\0""\310F3\0""\310F4\0""\311S1\0""\311S2\0""\311LS\0""\311RS\0"
#define TR_SW_VSRCRAW "\312SA\0""\312SB\0""\312SC\0""\312SD\0""\312SE\0""\312SF\0""\312SG\0""\312SH\0""\312SI\0""\312SJ\0""\312SK\0""\312SL\0""\312SM\0""\312SN\0""\312SO\0""\312SP\0""\312SQ\0""\312SR\0" #define TR_SW_VSRCRAW "\312SA\0""\312SB\0""\312SC\0""\312SD\0""\312SE\0""\312SF\0""\312SG\0""\312SH\0""\312SI\0""\312SJ\0""\312SK\0""\312SL\0""\312SM\0""\312SN\0""\312SO\0""\312SP\0""\312SQ\0""\312SR\0"