diff --git a/.github/workflows/actions.yml b/.github/workflows/actions.yml index f524b9455..c9cd80fc7 100644 --- a/.github/workflows/actions.yml +++ b/.github/workflows/actions.yml @@ -96,7 +96,7 @@ jobs: - t12 - t16 - t18 - - t8;zorro;commando8 + - t8;zorro;pocket;commando8 - tlite;tlitef4;tpro;tprov2;lr3pro - t20 - tx12;tx12mk2;boxer diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 83200d11e..adb4a7061 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -22,7 +22,7 @@ jobs: - t12 - t16 - t18 - - t8;zorro;commando8 + - t8;zorro;pocket;commando8 - tlite;tlitef4;tpro;tprov2;lr3pro - t20 - tx12;tx12mk2;boxer diff --git a/fw.json b/fw.json index 4c0f54567..790bc2023 100644 --- a/fw.json +++ b/fw.json @@ -26,9 +26,10 @@ ["Jumper T-Pro", "tpro-"], ["Jumper T-Pro V2", "tprov2-"], ["Jumper T20", "t20-"], + ["RadioMaster Boxer", "boxer-"], + ["RadioMaster Pocket", "pocket-"], ["RadioMaster T8", "t8-"], ["RadioMaster TX12", "tx12-"], - ["RadioMaster Boxer", "boxer-"], ["RadioMaster TX12MK2", "tx12mk2-"], ["RadioMaster TX16S", "tx16s-"], ["RadioMaster Zorro","zorro-"] diff --git a/radio/src/datastructs.h b/radio/src/datastructs.h index 25861a1c3..4907f81ab 100644 --- a/radio/src/datastructs.h +++ b/radio/src/datastructs.h @@ -125,6 +125,8 @@ static inline void check_struct() #elif defined(RADIO_TPRO) CHKSIZE(RadioData, 859); CHKSIZE(ModelData, 6290); +#elif defined(RADIO_POCKET) + CHKSIZE(RadioData, 859); #elif defined(RADIO_TPROV2) CHKSIZE(RadioData, 859); CHKSIZE(ModelData, 6290); diff --git a/radio/src/lua/api_general.cpp b/radio/src/lua/api_general.cpp index 02dc9de1d..852721f2a 100644 --- a/radio/src/lua/api_general.cpp +++ b/radio/src/lua/api_general.cpp @@ -3073,7 +3073,7 @@ LROT_BEGIN(etxcst, NULL, 0) LROT_NUMENTRY( EVT_VIRTUAL_ENTER_LONG, EVT_KEY_LONG(KEY_ENTER) ) LROT_NUMENTRY( EVT_VIRTUAL_EXIT, EVT_KEY_BREAK(KEY_EXIT) ) #elif defined(NAVIGATION_X7) || defined(NAVIGATION_X9D) -#if defined(RADIO_TX12) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_ZORRO) || defined(RADIO_T8) || defined(RADIO_COMMANDO8) +#if defined(RADIO_TX12) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_ZORRO) || defined(RADIO_POCKET) || defined(RADIO_T8) || defined(RADIO_COMMANDO8) LROT_NUMENTRY( EVT_VIRTUAL_PREV_PAGE, EVT_KEY_BREAK(KEY_PAGEUP) ) LROT_NUMENTRY( EVT_VIRTUAL_NEXT_PAGE, EVT_KEY_BREAK(KEY_PAGEDN) ) LROT_NUMENTRY( EVT_VIRTUAL_MENU, EVT_KEY_BREAK(KEY_MODEL) ) diff --git a/radio/src/simu.cpp b/radio/src/simu.cpp index 7ae46874e..649531ef1 100644 --- a/radio/src/simu.cpp +++ b/radio/src/simu.cpp @@ -368,7 +368,7 @@ void OpenTxSim::updateKeysAndSwitches(bool start) KEY_Left, KEY_LEFT, KEY_Up, KEY_UP, KEY_Down, KEY_DOWN, -#elif defined(RADIO_TX12) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_ZORRO) +#elif defined(RADIO_TX12) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_ZORRO) || defined(RADIO_POCKET) KEY_Page_Up, KEY_PAGEUP, KEY_Page_Down, KEY_PAGEDN, KEY_Return, KEY_ENTER, diff --git a/radio/src/targets/taranis/CMakeLists.txt b/radio/src/targets/taranis/CMakeLists.txt index fbc904226..5105f269d 100644 --- a/radio/src/targets/taranis/CMakeLists.txt +++ b/radio/src/targets/taranis/CMakeLists.txt @@ -258,6 +258,21 @@ elseif(PCB STREQUAL X7) add_definitions(-DMANUFACTURER_RADIOMASTER) set(PXX2 ON) set(ENABLE_SERIAL_PASSTHROUGH ON CACHE BOOL "Enable serial passthrough") + elseif(PCBREV STREQUAL POCKET) + set(DEFAULT_INTERNAL_MODULE CROSSFIRE CACHE STRING "Default internal module") + set(INTERNAL_MODULE_SERIAL YES) + set(MODULE_SIZE_SML YES) + set(FLAVOUR pocket) + set(NAVIGATION_TYPE x7) + set(CPU_TYPE_FULL STM32F407xE) + set(ROTARY_ENCODER YES) + set(BLUETOOTH NO) + set(USB_CHARGER YES) + set(AUX_SERIAL YES) + add_definitions(-DRADIO_POCKET) + add_definitions(-DMANUFACTURER_RADIOMASTER) + set(PXX2 ON) + set(ENABLE_SERIAL_PASSTHROUGH ON CACHE BOOL "Enable serial passthrough") elseif(PCBREV STREQUAL T8) set(DEFAULT_INTERNAL_MODULE MULTIMODULE CACHE STRING "Default internal module") set(INTERNAL_MODULE_SERIAL YES) diff --git a/radio/src/targets/taranis/board.cpp b/radio/src/targets/taranis/board.cpp index 2bfcf49fc..219255bb6 100644 --- a/radio/src/targets/taranis/board.cpp +++ b/radio/src/targets/taranis/board.cpp @@ -127,7 +127,7 @@ void boardInit() bluetoothInit(BLUETOOTH_DEFAULT_BAUDRATE, true); #endif -#if defined(RADIO_ZORRO) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) +#if defined(MANUFACTURER_RADIOMASTER) && defined(STM32F407xx) if (FLASH_OB_GetBOR() != OB_BOR_LEVEL3) { diff --git a/radio/src/targets/taranis/board.h b/radio/src/targets/taranis/board.h index aaad5a82d..e986e3fcd 100644 --- a/radio/src/targets/taranis/board.h +++ b/radio/src/targets/taranis/board.h @@ -31,7 +31,7 @@ #include "opentx_constants.h" #include "board_common.h" -#if defined(RADIO_TX12) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_ZORRO) +#if defined(RADIO_TX12) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_ZORRO) || defined(RADIO_POCKET) #define NAVIGATION_X7_TX12 #endif @@ -264,6 +264,10 @@ uint8_t isBacklightEnabled(); #define USB_NAME "Radiomaster Zorro" #define USB_MANUFACTURER 'R', 'M', '_', 'T', 'X', ' ', ' ', ' ' /* 8 bytes */ #define USB_PRODUCT 'R', 'M', ' ', 'Z', 'O', 'R', 'R', 'O' /* 8 Bytes */ +#elif defined(RADIO_POCKET) + #define USB_NAME "Radiomaster Pocket" + #define USB_MANUFACTURER 'R', 'M', '_', 'T', 'X', ' ', ' ', ' ' /* 8 bytes */ + #define USB_PRODUCT 'R', 'M', 'P', 'O', 'C', 'K', 'E', 'T' /* 8 Bytes */ #elif defined(RADIO_T8) #define USB_NAME "Radiomaster T8" #define USB_MANUFACTURER 'R', 'M', '_', 'T', 'X', ' ', ' ', ' ' /* 8 bytes */ @@ -459,7 +463,7 @@ void setTopBatteryValue(uint32_t volts); #define BATTERY_DIVIDER 22830 #elif defined (RADIO_T8) || defined(RADIO_COMMANDO8) #define BATTERY_DIVIDER 50000 -#elif defined (RADIO_ZORRO) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) +#elif defined (RADIO_ZORRO) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_POCKET) #define BATTERY_DIVIDER 23711 // = 2047*128*BATT_SCALE/(100*(VREF*(160+499)/160)) #elif defined (RADIO_LR3PRO) #define BATTERY_DIVIDER 39500 @@ -467,7 +471,7 @@ void setTopBatteryValue(uint32_t volts); #define BATTERY_DIVIDER 26214 #endif -#if defined(RADIO_ZORRO) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) +#if defined(RADIO_ZORRO) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_POCKET) #define VOLTAGE_DROP 45 #elif defined(RADIO_TPROV2) #define VOLTAGE_DROP 60 diff --git a/radio/src/targets/taranis/hal.h b/radio/src/targets/taranis/hal.h index 26fbfa679..1a4ca4678 100644 --- a/radio/src/targets/taranis/hal.h +++ b/radio/src/targets/taranis/hal.h @@ -82,7 +82,7 @@ #define KEYS_GPIO_PIN_LEFT LL_GPIO_PIN_7 // PD.07 #define KEYS_GPIO_REG_RIGHT GPIOD #define KEYS_GPIO_PIN_RIGHT LL_GPIO_PIN_3 // PD.03 -#elif defined(RADIO_TX12) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_ZORRO) +#elif defined(RADIO_TX12) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_ZORRO) || defined(RADIO_POCKET) #define KEYS_GPIO_REG_PAGEUP GPIOD #define KEYS_GPIO_PIN_PAGEUP LL_GPIO_PIN_3 // PD.03 #define KEYS_GPIO_REG_PAGEDN GPIOD @@ -266,7 +266,7 @@ #define USE_EXTI15_10_IRQ #define EXTI15_10_IRQ_Priority 5 #endif -#elif defined(RADIO_TX12) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_ZORRO) +#elif defined(RADIO_TX12) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_ZORRO) || defined(RADIO_POCKET) #define ROTARY_ENCODER_NAVIGATION #define ROTARY_ENCODER_GPIO GPIOE #define ROTARY_ENCODER_GPIO_PIN_A GPIO_Pin_9 // PE.9 @@ -290,7 +290,7 @@ #if defined(RADIO_TX12) #define ROTARY_ENCODER_SUPPORT_BUGGY_WIRING #endif - #if defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_ZORRO) + #if defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_ZORRO) || defined(RADIO_POCKET) #define ROTARY_ENCODER_INVERTED #endif #endif @@ -486,7 +486,7 @@ #define SWITCHES_GPIO_PIN_A_H LL_GPIO_PIN_1 // PE.01 #define SWITCHES_GPIO_REG_A_L GPIOE #define SWITCHES_GPIO_PIN_A_L LL_GPIO_PIN_0 // PE.00 -#elif defined(RADIO_TX12) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_ZORRO) +#elif defined(RADIO_TX12) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_ZORRO) || defined(RADIO_POCKET) #define STORAGE_SWITCH_A #define HARDWARE_SWITCH_A #define SWITCHES_GPIO_REG_A GPIOC @@ -636,7 +636,7 @@ #define SWITCHES_GPIO_PIN_C_L LL_GPIO_PIN_11 // PD.11 #define SWITCHES_GPIO_REG_C_H GPIOE #define SWITCHES_GPIO_PIN_C_H LL_GPIO_PIN_0 // PE.00 -#elif defined(RADIO_ZORRO) +#elif defined(RADIO_ZORRO) || defined(RADIO_POCKET) #define STORAGE_SWITCH_C #define HARDWARE_SWITCH_C #define SWITCHES_GPIO_REG_C_L GPIOE @@ -721,7 +721,7 @@ #define HARDWARE_SWITCH_D #define SWITCHES_GPIO_REG_D GPIOA #define SWITCHES_GPIO_PIN_D LL_GPIO_PIN_5 // PA.05 -#elif defined(RADIO_TX12) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_ZORRO) +#elif defined(RADIO_TX12) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_ZORRO) || defined(RADIO_POCKET) #define STORAGE_SWITCH_D #define HARDWARE_SWITCH_D #define SWITCHES_GPIO_REG_D GPIOE @@ -786,7 +786,7 @@ #define HARDWARE_SWITCH_E #define SWITCHES_GPIO_REG_E GPIOA #define SWITCHES_GPIO_PIN_E LL_GPIO_PIN_5 // PA.05 -#elif defined(RADIO_ZORRO) +#elif defined(RADIO_ZORRO) || defined(RADIO_POCKET) #define STORAGE_SWITCH_E #define HARDWARE_SWITCH_E #define SWITCHES_GPIO_REG_E GPIOE @@ -855,7 +855,7 @@ #define SWITCHES_GPIO_REG_F GPIOC #define SWITCHES_GPIO_PIN_F LL_GPIO_PIN_3 // PC.03 #elif defined(PCBX9LITE) - // no SWF +// no SWF #elif defined(RADIO_ZORRO) || defined(RADIO_BOXER) #define STORAGE_SWITCH_F #define HARDWARE_SWITCH_F @@ -890,7 +890,7 @@ #define HARDWARE_SWITCH_F #define SWITCHES_GPIO_REG_F GPIOB #define SWITCHES_GPIO_PIN_F LL_GPIO_PIN_5 // PB.05 -#elif defined(RADIO_T8) || defined(RADIO_TLITE) || defined(RADIO_TPROV2) || defined(RADIO_COMMANDO8) || defined(RADIO_LR3PRO) +#elif defined(RADIO_T8) || defined(RADIO_TLITE) || defined(RADIO_TPROV2) || defined(RADIO_COMMANDO8) || defined(RADIO_LR3PRO) || defined(RADIO_POCKET) // no SWF #define STORAGE_SWITCH_F #elif defined(RADIO_T12) @@ -944,7 +944,7 @@ #define HARDWARE_SWITCH_G #define SWITCHES_GPIO_REG_G GPIOD #define SWITCHES_GPIO_PIN_G LL_GPIO_PIN_15 // PD.15 -#elif defined(PCBX7) || defined(PCBXLITE) || defined(PCBX9LITE) || defined(RADIO_T8) || defined(RADIO_COMMANDO8) +#elif defined(PCBX7) || defined(PCBXLITE) || defined(PCBX9LITE) || defined(RADIO_T8) || defined(RADIO_COMMANDO8) || defined(RADIO_POCKET) // no SWG #else #define STORAGE_SWITCH_G @@ -965,7 +965,7 @@ #define HARDWARE_SWITCH_H #define SWITCHES_GPIO_REG_H GPIOD #define SWITCHES_GPIO_PIN_H LL_GPIO_PIN_14 // PD.14 -#elif defined(PCBXLITE) || defined(PCBX9LITE) +#elif defined(PCBXLITE) || defined(PCBX9LITE) || defined(RADIO_POCKET) // no SWH #elif defined(RADIO_T8) || defined(RADIO_COMMANDO8) #define STORAGE_SWITCH_H @@ -1042,7 +1042,7 @@ #define STORAGE_SWITCH_I // no SWJ #define STORAGE_SWITCH_J -#elif defined(RADIO_ZORRO) +#elif defined(RADIO_ZORRO) || defined(RADIO_POCKET) // No I/J #elif defined(RADIO_TPROV2) // SW1 @@ -1369,10 +1369,10 @@ #define ADC_CHANNEL_BATT LL_ADC_CHANNEL_10 #define ADC_VREF_PREC2 300 #elif defined(RADIO_COMMANDO8) - #define ADC_GPIO_PIN_STICK_LH LL_GPIO_PIN_1 // PA.01 - #define ADC_GPIO_PIN_STICK_LV LL_GPIO_PIN_0 // PA.00 + #define ADC_GPIO_PIN_STICK_LH LL_GPIO_PIN_1 // PA.01 + #define ADC_GPIO_PIN_STICK_LV LL_GPIO_PIN_0 // PA.00 #define ADC_GPIO_PIN_STICK_RV LL_GPIO_PIN_2 // PA.02 - #define ADC_GPIO_PIN_STICK_RH LL_GPIO_PIN_3 // PA.03 + #define ADC_GPIO_PIN_STICK_RH LL_GPIO_PIN_3 // PA.03 #define ADC_CHANNEL_STICK_RV LL_ADC_CHANNEL_2 // ADC1_IN2 #define ADC_CHANNEL_STICK_RH LL_ADC_CHANNEL_3 // ADC1_IN3 #define ADC_CHANNEL_STICK_LV LL_ADC_CHANNEL_0 // ADC1_IN0 @@ -1393,7 +1393,7 @@ #define STICK_PWM_CHANNEL_LH 1 #define STICK_PWM_CHANNEL_LV 0 #define STICK_PWM_CHANNEL_RV 2 - #define STICK_PWM_CHANNEL_RH 3 + #define STICK_PWM_CHANNEL_RH 3 #elif defined(RADIO_TLITE) || defined(RADIO_LR3PRO) #define ADC_GPIO_PIN_STICK_RV LL_GPIO_PIN_0 // PA.00 #define ADC_GPIO_PIN_STICK_RH LL_GPIO_PIN_1 // PA.01 @@ -1478,7 +1478,9 @@ #define ADC_CHANNEL_STICK_LV LL_ADC_CHANNEL_2 // ADC1_IN2 #define ADC_CHANNEL_STICK_LH LL_ADC_CHANNEL_3 // ADC1_IN3 #define ADC_GPIO_PIN_POT1 LL_GPIO_PIN_0 // PB.00 +#if !defined(RADIO_POCKET) #define ADC_GPIO_PIN_POT2 LL_GPIO_PIN_6 // PA.06 +#endif #define ADC_GPIO_PIN_BATT LL_GPIO_PIN_0 // PC.00 #if defined(RADIO_BOXER) #define HARDWARE_POT3 // 6 POS @@ -1558,6 +1560,8 @@ #define ADC_DIRECTION {1,-1,1,-1, -1,-1, 1} #elif defined(RADIO_ZORRO) #define ADC_DIRECTION {-1, 1, 1, -1, -1, 1, 1, 1} +#elif defined(RADIO_POCKET) + #define ADC_DIRECTION {-1, 1, 1, -1, -1} #elif defined(RADIO_TPRO) || defined(RADIO_TPROV2) #define ADC_DIRECTION {1,-1,1,-1, 1,1, 1, 1} #elif defined(RADIO_T20) @@ -1652,7 +1656,7 @@ #define LED_BLUE_GPIO_PIN GPIO_Pin_1 // PC.01 #define LED_GREEN_GPIO GPIOC #define LED_GREEN_GPIO_PIN GPIO_Pin_0 // PC.00 -#elif defined(RADIO_ZORRO) +#elif defined(RADIO_ZORRO) || defined(RADIO_POCKET) #define STATUS_LEDS #define GPIO_LED_GPIO_ON GPIO_SetBits #define GPIO_LED_GPIO_OFF GPIO_ResetBits @@ -1821,7 +1825,7 @@ #define INTMODULE_DMA_STREAM_IRQHandler DMA2_Stream7_IRQHandler #define INTMODULE_DMA_FLAG_TC DMA_IT_TCIF7 #define INTMODULE_DMA_CHANNEL DMA_Channel_4 -#elif defined(RADIO_ZORRO) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) +#elif defined(RADIO_ZORRO) || defined(RADIO_POCKET) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) #define INTMODULE_RCC_AHB1Periph (RCC_AHB1Periph_GPIOC | RCC_AHB1Periph_GPIOB | RCC_AHB1Periph_DMA2) #define INTMODULE_PWR_GPIO GPIOC #define INTMODULE_PWR_GPIO_PIN GPIO_Pin_4 // PC.04 @@ -1945,8 +1949,8 @@ #endif // External Module -#if defined(PCBXLITE) || defined(PCBX9LITE) || defined(RADIO_X9DP2019) || defined(PCBX7ACCESS) || defined(RADIO_ZORRO) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) - #if defined(RADIO_X9DP2019) || defined(RADIO_X7ACCESS) || defined(RADIO_ZORRO) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) +#if defined(PCBXLITE) || defined(PCBX9LITE) || defined(RADIO_X9DP2019) || defined(PCBX7ACCESS) || defined(RADIO_ZORRO) || defined(RADIO_POCKET) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) + #if defined(RADIO_X9DP2019) || defined(RADIO_X7ACCESS) || defined(RADIO_ZORRO)|| defined(RADIO_POCKET) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) #define EXTMODULE_RCC_AHB1Periph (RCC_AHB1Periph_GPIOC | RCC_AHB1Periph_GPIOD | RCC_AHB1Periph_DMA2) #define EXTMODULE_PWR_GPIO GPIOD #define EXTMODULE_PWR_GPIO_PIN GPIO_Pin_8 // PD.08 @@ -2078,7 +2082,7 @@ #endif // Serial Port -#if (defined(PCBX7) && !defined(RADIO_ZORRO) && !defined(RADIO_TX12MK2)) && !defined(RADIO_BOXER) || defined(PCBXLITE) || defined(PCBX9LITE) || defined(RADIO_X9DP2019) +#if (defined(PCBX7) && !defined(RADIO_ZORRO) && !defined(RADIO_TX12MK2)) && !defined(RADIO_BOXER) && !defined(RADIO_POCKET) || defined(PCBXLITE) || defined(PCBX9LITE) || defined(RADIO_X9DP2019) #else #define HARDWARE_TRAINER_AUX_SERIAL #define AUX_SERIAL_GPIO GPIOB @@ -2275,7 +2279,7 @@ // Trainer / Trainee from the module bay #if defined(PCBX9LITE) || defined(PCBXLITE) || defined(RADIO_X9DP2019) || \ - defined(PCBX7ACCESS) || defined(RADIO_ZORRO) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) + defined(PCBX7ACCESS) || defined(RADIO_ZORRO) || defined(RADIO_POCKET) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) #define TRAINER_MODULE_CPPM #define TRAINER_MODULE_CPPM_TIMER TIM3 #define TRAINER_MODULE_CPPM_FREQ (PERI1_FREQUENCY * TIMER_MULT_APB1) @@ -2419,7 +2423,7 @@ #define KEYS_BACKLIGHT_RCC_AHB1Periph 0 // LCD driver -#if defined(RADIO_TX12) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_ZORRO) || defined(RADIO_FAMILY_JUMPER_T12) || defined(RADIO_T8) || defined(RADIO_COMMANDO8) || defined(RADIO_TPRO) || defined(RADIO_TPROV2) || defined(RADIO_T20) +#if defined(RADIO_TX12) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_ZORRO) || defined(RADIO_POCKET) || defined(RADIO_FAMILY_JUMPER_T12) || defined(RADIO_T8) || defined(RADIO_COMMANDO8) || defined(RADIO_TPRO) || defined(RADIO_TPROV2) || defined(RADIO_T20) #define LCD_VERTICAL_INVERT #endif #if defined(RADIO_LR3PRO) || defined(RADIO_TPROV2) || defined(RADIO_T20) @@ -2513,7 +2517,7 @@ #define I2C_B1_GPIO_AF LL_GPIO_AF_4 #if defined(PCBXLITE) || defined(PCBX9LITE) || defined(PCBX7ACCESS) || \ - defined(RADIO_ZORRO) || defined(RADIO_X9DP2019) + defined(RADIO_ZORRO) || defined(RADIO_POCKET) || defined(RADIO_X9DP2019) #define I2C_B1_GPIO GPIOB #define I2C_B1_SDA_GPIO_PIN LL_GPIO_PIN_9 // PB.09 #define I2C_B1_SCL_GPIO_PIN LL_GPIO_PIN_8 // PB.08 @@ -2530,7 +2534,7 @@ #elif defined(PCBX7ACCESS) #define EEPROM_WP_GPIO GPIOB #define EEPROM_WP_GPIO_PIN LL_GPIO_PIN_5 // PB.05 -#elif defined(RADIO_ZORRO) || defined(RADIO_TX12MK2)|| defined(RADIO_BOXER) +#elif defined(RADIO_ZORRO) || defined(RADIO_POCKET) || defined(RADIO_TX12MK2)|| defined(RADIO_BOXER) #define EEPROM_WP_GPIO GPIOD #define EEPROM_WP_GPIO_PIN LL_GPIO_PIN_10 // PD.10 #elif defined(RADIO_X9DP2019) @@ -2654,7 +2658,7 @@ #endif // Haptic -#if defined(PCBXLITE) || defined(PCBX9LITE) || defined(RADIO_ZORRO) || defined(RADIO_TX12MK2)|| defined(RADIO_BOXER) +#if defined(PCBXLITE) || defined(PCBX9LITE) || defined(RADIO_ZORRO) || defined(RADIO_POCKET) || defined(RADIO_TX12MK2)|| defined(RADIO_BOXER) #define HAPTIC_PWM #define HAPTIC_RCC_AHB1Periph RCC_AHB1Periph_GPIOB #define HAPTIC_RCC_APB1Periph RCC_APB1Periph_TIM2 @@ -2773,8 +2777,14 @@ #define BT_EN_GPIO GPIOD #define BT_EN_GPIO_PIN LL_GPIO_PIN_14 // PD.14 #elif defined(MANUFACTURER_RADIOMASTER) - // No enable port on RM BLE port - #define BT_RCC_AHB1Periph (RCC_AHB1Periph_GPIOB) + #if defined(RADIO_POCKET) + #define BT_EN_GPIO GPIOA + #define BT_EN_GPIO_PIN LL_GPIO_PIN_6 // PA.06 + #define BT_RCC_AHB1Periph (RCC_AHB1Periph_GPIOB | RCC_AHB1Periph_GPIOA) // RCC_AHB1Periph_DMA1 + #else + // No enable port on those RM BLE port + #define BT_RCC_AHB1Periph (RCC_AHB1Periph_GPIOB) + #endif #else #define BT_RCC_AHB1Periph (RCC_AHB1Periph_GPIOB | RCC_AHB1Periph_GPIOE) // RCC_AHB1Periph_DMA1 #define BT_EN_GPIO GPIOE diff --git a/radio/src/targets/taranis/lcd_driver_spi.cpp b/radio/src/targets/taranis/lcd_driver_spi.cpp index 9b765bc0f..c9674e239 100644 --- a/radio/src/targets/taranis/lcd_driver_spi.cpp +++ b/radio/src/targets/taranis/lcd_driver_spi.cpp @@ -29,7 +29,7 @@ #if defined(OLED_SCREEN) #define LCD_CONTRAST_OFFSET 0 -#elif defined(RADIO_FAMILY_JUMPER_T12) || defined(RADIO_TX12) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_ZORRO) || defined(RADIO_T8) || defined(RADIO_COMMANDO8) || defined(RADIO_TPRO) +#elif defined(RADIO_FAMILY_JUMPER_T12) || defined(RADIO_TX12) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_ZORRO) || defined(RADIO_POCKET) || defined(RADIO_T8) || defined(RADIO_COMMANDO8) || defined(RADIO_TPRO) #define LCD_CONTRAST_OFFSET -10 #else #define LCD_CONTRAST_OFFSET 160 diff --git a/radio/util/hw_defs/legacy_names.py b/radio/util/hw_defs/legacy_names.py index 6a6686b0c..3e72e44d7 100644 --- a/radio/util/hw_defs/legacy_names.py +++ b/radio/util/hw_defs/legacy_names.py @@ -354,6 +354,30 @@ LEGACY_NAMES = [ } } }, + { + "targets": {"pocket"}, + "inputs": { + "LH": { + "yaml": "Rud" + }, + "LV": { + "yaml": "Ele" + }, + "RV": { + "yaml": "Thr" + }, + "RH": { + "yaml": "Ail" + }, + "P1": { + "yaml": "POT1", + "lua": "s1", + "label": "S1", + "short_label": "1", + "description": "Potentiometer 1" + } + } + }, { "targets": {"x9lite", "x9lites"}, "inputs": { diff --git a/radio/util/hw_defs/pot_config.py b/radio/util/hw_defs/pot_config.py index 2cdc6b100..f0fda26f2 100644 --- a/radio/util/hw_defs/pot_config.py +++ b/radio/util/hw_defs/pot_config.py @@ -130,6 +130,9 @@ POT_CONFIG = { "P1": {"default": "WITHOUT_DETENT"}, "P2": {"default": "WITHOUT_DETENT"} }, + "pocket": { + "P1": { "default": "WITHOUT_DETENT" } + }, } diff --git a/radio/util/hw_defs/switch_config.py b/radio/util/hw_defs/switch_config.py index 79a0b1f8e..02e3728f3 100644 --- a/radio/util/hw_defs/switch_config.py +++ b/radio/util/hw_defs/switch_config.py @@ -324,6 +324,15 @@ SWITCH_CONFIG = { "SF": {"default": "2POS", "display": [1, 2]}, "SH": {"default": "TOGGLE", "display": [1, 3]}, }, + "pocket": { + # left side + "SA": { "default": "2POS", "display": [ 0, 0 ] }, + "SB": { "default": "3POS", "display": [ 0, 1 ] }, + "SE": { "default": "TOGGLE", "display": [ 0, 2 ] }, + # right side + "SD": { "default": "2POS", "display": [ 1, 0 ] }, + "SC": { "default": "3POS", "display": [ 1, 1 ] }, + }, } diff --git a/tools/build-companion.sh b/tools/build-companion.sh index c853b4d1e..cd7ce7276 100755 --- a/tools/build-companion.sh +++ b/tools/build-companion.sh @@ -66,7 +66,7 @@ cd build declare -a simulator_plugins=(x9lite x9lites x7 x7-access t8 t12 tx12 tx12mk2 - zorro commando8 boxer + zorro pocket commando8 boxer tlite tpro lr3pro t20 x9d x9dp x9dp2019 x9e @@ -108,6 +108,9 @@ do zorro) BUILD_OPTIONS+="-DPCB=X7 -DPCBREV=ZORRO" ;; + pocket) + BUILD_OPTIONS+="-DPCB=X7 -DPCBREV=POCKET" + ;; boxer) BUILD_OPTIONS+="-DPCB=X7 -DPCBREV=BOXER" ;; diff --git a/tools/build-gh.sh b/tools/build-gh.sh index b1becde68..324ad1db2 100755 --- a/tools/build-gh.sh +++ b/tools/build-gh.sh @@ -122,6 +122,9 @@ do zorro) BUILD_OPTIONS+="-DPCB=X7 -DPCBREV=ZORRO" ;; + pocket) + BUILD_OPTIONS+="-DPCB=X7 -DPCBREV=POCKET" + ;; tlite) BUILD_OPTIONS+="-DPCB=X7 -DPCBREV=TLITE" ;; diff --git a/tools/generate-hw-defs.sh b/tools/generate-hw-defs.sh index 9552b9356..0fbcde6e5 100755 --- a/tools/generate-hw-defs.sh +++ b/tools/generate-hw-defs.sh @@ -6,7 +6,7 @@ set -e : "${SRCDIR:=$(dirname "$(pwd)/$0")/..}" -: ${FLAVOR:="nv14;t12;t16;t18;t8;zorro;commando8;tlite;tpro;tprov2;t20;lr3pro;tx12;tx12mk2;boxer;tx16s;x10;x10-access;x12s;x7;x7-access;x9d;x9dp;x9dp2019;x9e;x9lite;x9lites;xlite;xlites"} +: ${FLAVOR:="nv14;t12;t16;t18;t8;zorro;pocket;commando8;tlite;tpro;tprov2;t20;lr3pro;tx12;tx12mk2;boxer;tx16s;x10;x10-access;x12s;x7;x7-access;x9d;x9dp;x9dp2019;x9e;x9lite;x9lites;xlite;xlites"} : ${COMMON_OPTIONS:="-DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_RULE_MESSAGES=OFF -Wno-dev -DCMAKE_MESSAGE_LOG_LEVEL=WARNING"} # wipe build directory clean @@ -54,6 +54,9 @@ do zorro) BUILD_OPTIONS+="-DPCB=X7 -DPCBREV=ZORRO" ;; + pocket) + BUILD_OPTIONS+="-DPCB=X7 -DPCBREV=POCKET" + ;; tlite) BUILD_OPTIONS+="-DPCB=X7 -DPCBREV=TLITE" ;; diff --git a/tools/generate-yaml.sh b/tools/generate-yaml.sh index f4b271ba4..aa1b04c33 100755 --- a/tools/generate-yaml.sh +++ b/tools/generate-yaml.sh @@ -53,6 +53,9 @@ do zorro) BUILD_OPTIONS+="-DPCB=X7 -DPCBREV=ZORRO" ;; + pocket) + BUILD_OPTIONS+="-DPCB=X7 -DPCBREV=POCKET" + ;; lr3pro) BUILD_OPTIONS+="-DPCB=X7 -DPCBREV=LR3PRO" ;; diff --git a/tools/msys2_fetch_and_build_all.sh b/tools/msys2_fetch_and_build_all.sh index 8681482e7..365f9510f 100644 --- a/tools/msys2_fetch_and_build_all.sh +++ b/tools/msys2_fetch_and_build_all.sh @@ -9,7 +9,7 @@ # ----------------------------------------------------------------------------- export BRANCH_NAME="main" # main|2.9|... -export RADIO_TYPE="tx16s" # tx16s|x10|x10-access|x12s|x9d|x9dp|x9lite|x9lites|x7|x7-access|t12|tx12|tx12mk2|boxer|t8|zorro|tlite|tpro|t20/lr3pro|xlite|xlites|x9dp2019|x9e|x9e-hall|t16|t18|nv14|commando8| +export RADIO_TYPE="tx16s" # tx16s|x10|x10-access|x12s|x9d|x9dp|x9lite|x9lites|x7|x7-access|t12|tx12|tx12mk2|boxer|t8|zorro|pocket|tlite|tpro|t20|lr3pro|xlite|xlites|x9dp2019|x9e|x9e-hall|t16|t18|nv14|commando8 export BUILD_OPTIONS="-DDEFAULT_MODE=2 -DGVARS=YES -DPPM_UNIT=US" @@ -45,6 +45,9 @@ case $RADIO_TYPE in zorro) BUILD_OPTIONS+=" -DPCB=X7 -DPCBREV=ZORRO" ;; + pocket) + BUILD_OPTIONS+=" -DPCB=X7 -DPCBREV=POCKET" + ;; tlite) BUILD_OPTIONS+=" -DPCB=X7 -DPCBREV=TLITE" ;;