1
0
Fork 0
mirror of https://github.com/EdgeTX/edgetx.git synced 2025-07-22 07:45:12 +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,
#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)
SWSRC_ID0 = SWSRC_FIRST_SWITCH,
@ -604,19 +593,21 @@ enum MixSources {
MIXSRC_S1 = MIXSRC_FIRST_POT, LUA_EXPORT("s1", "Potentiometer S1")
MIXSRC_6POS, LUA_EXPORT("6pos", "Multipos Switch")
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)
MIXSRC_EXT1, LUA_EXPORT("ext1", "Ext 1")
MIXSRC_EXT2, LUA_EXPORT("ext2", "Ext 2")
MIXSRC_LAST_POT = MIXSRC_EXT2,
#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)
MIXSRC_POT1 = MIXSRC_FIRST_POT, LUA_EXPORT("s1", "Potentiometer 1")
MIXSRC_POT2, LUA_EXPORT("s2", "Potentiometer 2")
@ -732,10 +723,6 @@ enum MixSources {
MIXSRC_SQ, LUA_EXPORT("sq", "Switch Q")
MIXSRC_SR, LUA_EXPORT("sr", "Switch R")
#endif
#if defined(PCBHORUS)
MIXSRC_GMBL, LUA_EXPORT("gmbl", "Switch Left gimbal")
MIXSRC_GMBR, LUA_EXPORT("gmbr", "Switch right gimbal")
#endif
#if defined(PCBSKY9X)
MIXSRC_3POS = MIXSRC_FIRST_SWITCH,
MIXSRC_THR,
@ -901,4 +888,4 @@ enum BluetoothModes {
#define PXX2_LEN_RX_NAME 8
#define PXX2_MAX_RECEIVERS_PER_MODULE 3
#endif // _DATACONSTANTS_H_
#endif // _DATACONSTANTS_H_

View file

@ -50,8 +50,8 @@ enum MenuRadioHardwareItems {
ITEM_RADIO_HARDWARE_SF,
ITEM_RADIO_HARDWARE_SG,
ITEM_RADIO_HARDWARE_SH,
ITEM_RADIO_HARDWARE_GMBL,
ITEM_RADIO_HARDWARE_GMBR,
ITEM_RADIO_HARDWARE_SI, // Gimbal switch left
ITEM_RADIO_HARDWARE_SJ, // Gimbal switch right
ITEM_RADIO_HARDWARE_SERIAL_BAUDRATE,
ITEM_RADIO_HARDWARE_BLUETOOTH_MODE,
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)
// 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)
{
@ -165,8 +165,8 @@ bool menuRadioHardware(event_t event)
case ITEM_RADIO_HARDWARE_SF:
case ITEM_RADIO_HARDWARE_SG:
case ITEM_RADIO_HARDWARE_SH:
case ITEM_RADIO_HARDWARE_GMBL:
case ITEM_RADIO_HARDWARE_GMBR:
case ITEM_RADIO_HARDWARE_SI:
case ITEM_RADIO_HARDWARE_SJ:
{
int index = k - ITEM_RADIO_HARDWARE_SA;
int config = SWITCH_CONFIG(index);

View file

@ -180,7 +180,7 @@ bool isSourceAvailable(int source)
}
#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;
#endif
@ -253,7 +253,12 @@ bool isInputSourceAvailable(int source)
return true;
#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;
if (source >= MIXSRC_FIRST_TRIM && source <= MIXSRC_LAST_TRIM)

View file

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

View file

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

View file

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

View file

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

View file

@ -31,10 +31,10 @@
#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_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)
#define TR_POTS_VSRCRAW "\310S1\0""\3106P\0""\310S2\0""\310EX1""\310EX2""\311LS\0""\311RS\0""\313L1\0""\313L2\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_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""\312SI\0""\312SJ\0"
#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_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"