[sim] Cosmetics for switch position macros (also removes PCBFLAMENCO from simuSetSwitch). (#5474)
This commit is contained in:
committed by
Bertrand Songis
parent
7697bcb087
commit
908adb4d2b
@@ -164,36 +164,35 @@ void simuInit()
|
||||
break;
|
||||
|
||||
#if defined(CPUARM)
|
||||
#if defined(PCBHORUS)
|
||||
#define SWITCH_CASE NEG_CASE
|
||||
#define SWITCH_CASE_NEGATIVE POS_CASE
|
||||
#elif defined(PCBTARANIS) && !defined(PCBX9E)
|
||||
#define SWITCH_CASE NEG_CASE
|
||||
#if defined(PCBHORUS) || (defined(PCBTARANIS) && !defined(PCBX9E))
|
||||
#define SWITCH_CASE NEG_CASE
|
||||
#define SWITCH_INV POS_CASE
|
||||
#else
|
||||
#define SWITCH_CASE POS_CASE
|
||||
#define SWITCH_CASE POS_CASE
|
||||
#endif
|
||||
#define KEY_CASE NEG_CASE
|
||||
#define SWITCH_3_CASE(swtch, pin1, pin2, mask1, mask2) \
|
||||
case swtch: \
|
||||
if ((int)state < 0) pin1 &= ~(mask1); else pin1 |= (mask1); \
|
||||
if ((int)state > 0) pin2 &= ~(mask2); else pin2 |= (mask2); \
|
||||
break;
|
||||
#define KEY_CASE NEG_CASE
|
||||
#define TRIM_CASE NEG_CASE
|
||||
#else
|
||||
#define SWITCH_3_INV(swtch, pin1, pin2, mask1, mask2) SWITCH_3_CASE(swtch, pin2, pin1, mask2, mask1)
|
||||
#else // AVR
|
||||
#if defined(PCBMEGA2560)
|
||||
#define SWITCH_CASE POS_CASE
|
||||
#define SWITCH_CASE POS_CASE
|
||||
#else
|
||||
#define SWITCH_CASE NEG_CASE
|
||||
#define SWITCH_CASE NEG_CASE
|
||||
#endif
|
||||
#define KEY_CASE POS_CASE
|
||||
#define SWITCH_3_CASE(swtch, pin1, pin2, mask1, mask2) \
|
||||
case swtch: \
|
||||
if ((int)state >= 0) pin1 &= ~(mask1); else pin1 |= (mask1); \
|
||||
if ((int)state <= 0) pin2 &= ~(mask2); else pin2 |= (mask2); \
|
||||
break;
|
||||
#define KEY_CASE POS_CASE
|
||||
#define TRIM_CASE KEY_CASE
|
||||
#endif
|
||||
|
||||
#define TRIM_CASE KEY_CASE
|
||||
|
||||
void simuSetKey(uint8_t key, bool state)
|
||||
{
|
||||
// if (state) TRACE_SIMPGMSPACE("simuSetKey(%d, %d)", key, state);
|
||||
@@ -267,37 +266,21 @@ void simuSetSwitch(uint8_t swtch, int8_t state)
|
||||
// TRACE_SIMPGMSPACE("simuSetSwitch(%d, %d)", swtch, state);
|
||||
|
||||
switch (swtch) {
|
||||
#if defined(PCBTARANIS) || defined(PCBHORUS)
|
||||
#if defined(PCBTARANIS)
|
||||
SWITCH_3_CASE(0, SWITCHES_GPIO_REG_A_L, SWITCHES_GPIO_REG_A_H, SWITCHES_GPIO_PIN_A_L, SWITCHES_GPIO_PIN_A_H)
|
||||
#if !defined(PCBX10)
|
||||
SWITCH_3_CASE(1, SWITCHES_GPIO_REG_B_L, SWITCHES_GPIO_REG_B_H, SWITCHES_GPIO_PIN_B_L, SWITCHES_GPIO_PIN_B_H)
|
||||
#else
|
||||
SWITCH_3_CASE(1, SWITCHES_GPIO_REG_B_H, SWITCHES_GPIO_REG_B_L, SWITCHES_GPIO_PIN_B_H, SWITCHES_GPIO_PIN_B_L)
|
||||
#endif
|
||||
SWITCH_3_CASE(2, SWITCHES_GPIO_REG_C_L, SWITCHES_GPIO_REG_C_H, SWITCHES_GPIO_PIN_C_L, SWITCHES_GPIO_PIN_C_H)
|
||||
#if !defined(PCBX10)
|
||||
SWITCH_3_CASE(3, SWITCHES_GPIO_REG_D_L, SWITCHES_GPIO_REG_D_H, SWITCHES_GPIO_PIN_D_L, SWITCHES_GPIO_PIN_D_H)
|
||||
#else
|
||||
SWITCH_3_CASE(3, SWITCHES_GPIO_REG_D_H, SWITCHES_GPIO_REG_D_L, SWITCHES_GPIO_PIN_D_H, SWITCHES_GPIO_PIN_D_L)
|
||||
#endif
|
||||
#if defined(PCBX7)
|
||||
SWITCH_CASE(4, SWITCHES_GPIO_REG_F, SWITCHES_GPIO_PIN_F)
|
||||
SWITCH_CASE(5, SWITCHES_GPIO_REG_H, SWITCHES_GPIO_PIN_H)
|
||||
#else
|
||||
#if !defined(PCBX10)
|
||||
#if defined(PCBX7)
|
||||
SWITCH_CASE (4, SWITCHES_GPIO_REG_F, SWITCHES_GPIO_PIN_F)
|
||||
SWITCH_CASE (5, SWITCHES_GPIO_REG_H, SWITCHES_GPIO_PIN_H)
|
||||
#else
|
||||
SWITCH_3_CASE(4, SWITCHES_GPIO_REG_E_L, SWITCHES_GPIO_REG_E_H, SWITCHES_GPIO_PIN_E_L, SWITCHES_GPIO_PIN_E_H)
|
||||
#else
|
||||
SWITCH_3_CASE(4, SWITCHES_GPIO_REG_E_H, SWITCHES_GPIO_REG_E_L, SWITCHES_GPIO_PIN_E_H, SWITCHES_GPIO_PIN_E_L)
|
||||
#endif
|
||||
#if defined(PCBX12S)
|
||||
SWITCH_CASE_NEGATIVE(5, SWITCHES_GPIO_REG_F, SWITCHES_GPIO_PIN_F)
|
||||
#else
|
||||
SWITCH_CASE(5, SWITCHES_GPIO_REG_F, SWITCHES_GPIO_PIN_F)
|
||||
#endif
|
||||
SWITCH_CASE (5, SWITCHES_GPIO_REG_F, SWITCHES_GPIO_PIN_F)
|
||||
SWITCH_3_CASE(6, SWITCHES_GPIO_REG_G_L, SWITCHES_GPIO_REG_G_H, SWITCHES_GPIO_PIN_G_L, SWITCHES_GPIO_PIN_G_H)
|
||||
SWITCH_CASE(7, SWITCHES_GPIO_REG_H, SWITCHES_GPIO_PIN_H)
|
||||
#endif
|
||||
#if defined(PCBX9E)
|
||||
SWITCH_CASE (7, SWITCHES_GPIO_REG_H, SWITCHES_GPIO_PIN_H)
|
||||
#endif
|
||||
#if defined(PCBX9E)
|
||||
SWITCH_3_CASE(8, SWITCHES_GPIO_REG_I_L, SWITCHES_GPIO_REG_I_H, SWITCHES_GPIO_PIN_I_L, SWITCHES_GPIO_PIN_I_H)
|
||||
SWITCH_3_CASE(9, SWITCHES_GPIO_REG_J_L, SWITCHES_GPIO_REG_J_H, SWITCHES_GPIO_PIN_J_L, SWITCHES_GPIO_PIN_J_H)
|
||||
SWITCH_3_CASE(10, SWITCHES_GPIO_REG_K_L, SWITCHES_GPIO_REG_K_H, SWITCHES_GPIO_PIN_K_L, SWITCHES_GPIO_PIN_K_H)
|
||||
@@ -308,7 +291,24 @@ void simuSetSwitch(uint8_t swtch, int8_t state)
|
||||
SWITCH_3_CASE(15, SWITCHES_GPIO_REG_P_L, SWITCHES_GPIO_REG_P_H, SWITCHES_GPIO_PIN_P_L, SWITCHES_GPIO_PIN_P_H)
|
||||
SWITCH_3_CASE(16, SWITCHES_GPIO_REG_Q_L, SWITCHES_GPIO_REG_Q_H, SWITCHES_GPIO_PIN_Q_L, SWITCHES_GPIO_PIN_Q_H)
|
||||
SWITCH_3_CASE(17, SWITCHES_GPIO_REG_R_L, SWITCHES_GPIO_REG_R_H, SWITCHES_GPIO_PIN_R_L, SWITCHES_GPIO_PIN_R_H)
|
||||
#endif
|
||||
#endif
|
||||
#elif defined(PCBHORUS)
|
||||
SWITCH_3_CASE(0, SWITCHES_GPIO_REG_A_L, SWITCHES_GPIO_REG_A_H, SWITCHES_GPIO_PIN_A_L, SWITCHES_GPIO_PIN_A_H)
|
||||
#if defined(PCBX10)
|
||||
SWITCH_3_INV (1, SWITCHES_GPIO_REG_B_L, SWITCHES_GPIO_REG_B_H, SWITCHES_GPIO_PIN_B_L, SWITCHES_GPIO_PIN_B_H)
|
||||
SWITCH_3_CASE(2, SWITCHES_GPIO_REG_C_L, SWITCHES_GPIO_REG_C_H, SWITCHES_GPIO_PIN_C_L, SWITCHES_GPIO_PIN_C_H)
|
||||
SWITCH_3_INV (3, SWITCHES_GPIO_REG_D_L, SWITCHES_GPIO_REG_D_H, SWITCHES_GPIO_PIN_D_L, SWITCHES_GPIO_PIN_D_H)
|
||||
SWITCH_3_INV (4, SWITCHES_GPIO_REG_E_L, SWITCHES_GPIO_REG_E_H, SWITCHES_GPIO_PIN_E_L, SWITCHES_GPIO_PIN_E_H)
|
||||
SWITCH_CASE (5, SWITCHES_GPIO_REG_F, SWITCHES_GPIO_PIN_F)
|
||||
#else // X12
|
||||
SWITCH_3_CASE(1, SWITCHES_GPIO_REG_B_L, SWITCHES_GPIO_REG_B_H, SWITCHES_GPIO_PIN_B_L, SWITCHES_GPIO_PIN_B_H)
|
||||
SWITCH_3_CASE(2, SWITCHES_GPIO_REG_C_L, SWITCHES_GPIO_REG_C_H, SWITCHES_GPIO_PIN_C_L, SWITCHES_GPIO_PIN_C_H)
|
||||
SWITCH_3_CASE(3, SWITCHES_GPIO_REG_D_L, SWITCHES_GPIO_REG_D_H, SWITCHES_GPIO_PIN_D_L, SWITCHES_GPIO_PIN_D_H)
|
||||
SWITCH_3_CASE(4, SWITCHES_GPIO_REG_E_L, SWITCHES_GPIO_REG_E_H, SWITCHES_GPIO_PIN_E_L, SWITCHES_GPIO_PIN_E_H)
|
||||
SWITCH_INV (5, SWITCHES_GPIO_REG_F, SWITCHES_GPIO_PIN_F)
|
||||
#endif
|
||||
SWITCH_3_CASE(6, SWITCHES_GPIO_REG_G_L, SWITCHES_GPIO_REG_G_H, SWITCHES_GPIO_PIN_G_L, SWITCHES_GPIO_PIN_G_H)
|
||||
SWITCH_CASE (7, SWITCHES_GPIO_REG_H, SWITCHES_GPIO_PIN_H)
|
||||
#elif defined(PCBSKY9X)
|
||||
SWITCH_3_CASE(0, PIOC->PIO_PDSR, PIOC->PIO_PDSR, 0x00004000, 0x00000800)
|
||||
SWITCH_CASE(1, PIOC->PIO_PDSR, 1<<20)
|
||||
@@ -335,13 +335,13 @@ void simuSetSwitch(uint8_t swtch, int8_t state)
|
||||
SWITCH_CASE(6, pinb, 1<<INP_L_Trainer)
|
||||
#else // PCB9X
|
||||
SWITCH_3_CASE(0, ping, pine, (1<<INP_G_ID1), (1<<INP_E_ID2))
|
||||
#if defined(TELEMETRY_JETI) || defined(TELEMETRY_FRSKY) || defined(TELEMETRY_NMEA) || defined(TELEMETRY_ARDUPILOT) || defined(TELEMETRY_MAVLINK)
|
||||
#if defined(TELEMETRY_JETI) || defined(TELEMETRY_FRSKY) || defined(TELEMETRY_NMEA) || defined(TELEMETRY_ARDUPILOT) || defined(TELEMETRY_MAVLINK)
|
||||
SWITCH_CASE(1, pinc, 1<<INP_C_ThrCt)
|
||||
SWITCH_CASE(4, pinc, 1<<INP_C_AileDR)
|
||||
#else
|
||||
#else
|
||||
SWITCH_CASE(1, pine, 1<<INP_E_ThrCt)
|
||||
SWITCH_CASE(4, pine, 1<<INP_E_AileDR)
|
||||
#endif
|
||||
#endif
|
||||
SWITCH_CASE(2, ping, 1<<INP_G_RuddDR)
|
||||
SWITCH_CASE(3, pine, 1<<INP_E_ElevDR)
|
||||
SWITCH_CASE(5, pine, 1<<INP_E_Gear)
|
||||
|
||||
Reference in New Issue
Block a user