diff --git a/radio/src/targets/horus/CMakeLists.txt b/radio/src/targets/horus/CMakeLists.txt index 62b2a30e3..bcede8a20 100644 --- a/radio/src/targets/horus/CMakeLists.txt +++ b/radio/src/targets/horus/CMakeLists.txt @@ -45,6 +45,9 @@ set(AUX_SERIAL ON) # IMU support set(IMU ON) +# Touch Screen support +set(HARDWARE_TOUCH YES) + if (PCB STREQUAL X10) set(PCBREV "STD" CACHE STRING "PCB Revision") add_definitions(-DSOFTWARE_VOLUME) @@ -77,7 +80,6 @@ if (PCB STREQUAL X10) set(DEFAULT_INTERNAL_MODULE MULTIMODULE CACHE STRING "Default internal module") option(BLUETOOTH "Support for bluetooth module" OFF) option(INTERNAL_GPS "Support for internal NMEA GPS" ON) - set(HARDWARE_TOUCH YES) add_definitions(-DMANUFACTURER_JUMPER) if (NOT BLUETOOTH) set(AUX2_SERIAL ON) @@ -91,7 +93,6 @@ if (PCB STREQUAL X10) set(DEFAULT_INTERNAL_MODULE MULTIMODULE CACHE STRING "Default internal module") option(BLUETOOTH "Support for bluetooth module" OFF) option(INTERNAL_GPS "Support for internal NMEA GPS" ON) - set(HARDWARE_TOUCH YES) set(SWSERIALPOWER YES) set(USB_CHARGER YES) set(DEFAULT_THEME "DARKBLUE") @@ -109,7 +110,6 @@ if (PCB STREQUAL X10) set(DEFAULT_INTERNAL_MODULE MULTIMODULE CACHE STRING "Default internal module") option(BLUETOOTH "Support for bluetooth module" OFF) option(INTERNAL_GPS "Support for internal NMEA GPS" ON) - set(HARDWARE_TOUCH YES) add_definitions(-DMANUFACTURER_JUMPER) if (NOT BLUETOOTH) set(AUX2_SERIAL ON) @@ -123,7 +123,6 @@ if (PCB STREQUAL X10) add_definitions(-DMANUFACTURER_FRSKY) endif() elseif (PCB STREQUAL X12S) - set(HARDWARE_TOUCH YES) set(DEFAULT_INTERNAL_MODULE XJT_PXX1 CACHE STRING "Default internal module") set(FLAVOUR x12s) set(BLUETOOTH ON) diff --git a/radio/src/targets/horus/hal.h b/radio/src/targets/horus/hal.h index 232a19c12..147109940 100644 --- a/radio/src/targets/horus/hal.h +++ b/radio/src/targets/horus/hal.h @@ -414,10 +414,12 @@ // PCBREV #if defined(PCBX10) - #define PCBREV_RCC_AHB1Periph RCC_AHB1Periph_GPIOH - #define PCBREV_GPIO_PIN (GPIO_Pin_7 | GPIO_Pin_8) + #define PCBREV_RCC_AHB1Periph RCC_AHB1Periph_GPIOH | RCC_AHB1Periph_GPIOA #define PCBREV_GPIO GPIOH - #define PCBREV_VALUE() (GPIO_ReadInputDataBit(PCBREV_GPIO, GPIO_Pin_7) + (GPIO_ReadInputDataBit(PCBREV_GPIO, GPIO_Pin_8) << 1)) + #define PCBREV_GPIO_PIN (GPIO_Pin_7 | GPIO_Pin_8) // PH.07 | PH.08 + #define PCBREV_TOUCH_GPIO GPIOA + #define PCBREV_TOUCH_GPIO_PIN GPIO_Pin_6 // PA.06 + #define PCBREV_VALUE() ((GPIO_ReadInputDataBit(PCBREV_GPIO, GPIO_Pin_7) + (GPIO_ReadInputDataBit(PCBREV_GPIO, GPIO_Pin_8) << 1)) * GPIO_ReadInputDataBit(PCBREV_TOUCH_GPIO, GPIO_Pin_6)) #else #define PCBREV_RCC_AHB1Periph RCC_AHB1Periph_GPIOI #define PCBREV_GPIO GPIOI @@ -766,18 +768,18 @@ #endif // HARDWARE_TOUCH // First I2C Bus -#if defined(RADIO_T18) || defined(RADIO_T16) - #define I2C_B1 I2C3 - #define I2C_B1_GPIO GPIOH - #define I2C_B1_SCL_GPIO_PIN LL_GPIO_PIN_7 // PH.07 - #define I2C_B1_SDA_GPIO_PIN LL_GPIO_PIN_8 // PH.08 - #define I2C_B1_GPIO_AF LL_GPIO_AF_4 // I2C3 -#else +#if defined(RADIO_TX16S) || defined(PCBX12S) #define I2C_B1 I2C1 #define I2C_B1_GPIO GPIOB #define I2C_B1_SCL_GPIO_PIN LL_GPIO_PIN_8 // PB.08 #define I2C_B1_SDA_GPIO_PIN LL_GPIO_PIN_9 // PB.09 #define I2C_B1_GPIO_AF LL_GPIO_AF_4 // I2C1 +#else + #define I2C_B1 I2C3 + #define I2C_B1_GPIO GPIOH + #define I2C_B1_SCL_GPIO_PIN LL_GPIO_PIN_7 // PH.07 + #define I2C_B1_SDA_GPIO_PIN LL_GPIO_PIN_8 // PH.08 + #define I2C_B1_GPIO_AF LL_GPIO_AF_4 // I2C3 #endif // Second I2C Bus