chore: use settings from radio JSON files instead of hal.h (#7411)
Co-authored-by: 3djc <3djc@gh.com>
This commit is contained in:
@@ -128,6 +128,8 @@ if(NOT NATIVE_BUILD)
|
||||
${STM32_DRIVER_DIR}/stm32_i2c_driver.cpp
|
||||
)
|
||||
|
||||
add_dependencies(stm32_drivers hal_settings)
|
||||
|
||||
set(FIRMWARE_SRC ${FIRMWARE_SRC} $<TARGET_OBJECTS:stm32_drivers>)
|
||||
set(FIRMWARE_SRC ${FIRMWARE_SRC} $<TARGET_OBJECTS:stm32_drivers_w_dbg_fw>)
|
||||
|
||||
|
||||
@@ -85,7 +85,7 @@ void rotaryEncoderCheck()
|
||||
};
|
||||
#endif
|
||||
|
||||
uint8_t pins = ROTARY_ENCODER_POSITION();
|
||||
uint8_t pins = ROTARY_ENCODER_POSITION;
|
||||
|
||||
// No change - do nothing
|
||||
if (pins == lastPins) {
|
||||
@@ -230,7 +230,7 @@ void rotaryEncoderInit()
|
||||
NVIC_SetPriority(ROTARY_ENCODER_TIMER_IRQn, 7);
|
||||
|
||||
// Get initial position
|
||||
lastPins = ROTARY_ENCODER_POSITION();
|
||||
lastPins = ROTARY_ENCODER_POSITION;
|
||||
skipUntilDetent = !ON_DETENT(lastPins);
|
||||
}
|
||||
|
||||
|
||||
@@ -266,7 +266,7 @@ void boardOff()
|
||||
rgbLedClearAll();
|
||||
#endif
|
||||
|
||||
#if defined(STATUS_LEDS) && !defined(BOOT)
|
||||
#if STATUS_LEDS && !defined(BOOT)
|
||||
ledOff();
|
||||
#endif
|
||||
backlightEnable(0);
|
||||
|
||||
@@ -21,11 +21,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#define CPU_FREQ 168000000
|
||||
#define PERI1_FREQUENCY 42000000
|
||||
#define PERI2_FREQUENCY 84000000
|
||||
#define TIMER_MULT_APB1 2
|
||||
#define TIMER_MULT_APB2 2
|
||||
#include "hal_settings.h"
|
||||
|
||||
#define TELEMETRY_EXTI_PRIO 0 // required for soft serial
|
||||
|
||||
@@ -33,7 +29,7 @@
|
||||
#define ROTARY_ENCODER_GPIO GPIOH
|
||||
#define ROTARY_ENCODER_GPIO_PIN_A LL_GPIO_PIN_11 // PH.11
|
||||
#define ROTARY_ENCODER_GPIO_PIN_B LL_GPIO_PIN_10 // PH.10
|
||||
#define ROTARY_ENCODER_POSITION() ((ROTARY_ENCODER_GPIO->IDR >> 10) & 0x03)
|
||||
#define ROTARY_ENCODER_POSITION ((ROTARY_ENCODER_GPIO->IDR >> 10) & 0x03)
|
||||
#define ROTARY_ENCODER_EXTI_LINE1 LL_EXTI_LINE_11
|
||||
#define ROTARY_ENCODER_EXTI_LINE2 LL_EXTI_LINE_10
|
||||
#if !defined(USE_EXTI15_10_IRQ)
|
||||
@@ -143,22 +139,6 @@
|
||||
#pragma message "PCBREV_TOUCH_PULL_TYPE not defined, defaulting to GPIO_IN_PD"
|
||||
#endif
|
||||
|
||||
// Led
|
||||
#define STATUS_LEDS
|
||||
#if defined(PCBX12S)
|
||||
#define LED_GPIO GPIO_PIN(GPIOI, 5) // PI.05
|
||||
#elif defined(RADIO_T15)
|
||||
#define LED_RED_GPIO GPIO_PIN(GPIOI, 14) //PI.14
|
||||
#define LED_GREEN_GPIO GPIO_PIN(GPIOC, 13) //PC.13
|
||||
#define LED_BLUE_GPIO GPIO_PIN(GPIOE, 3) //PE.03
|
||||
#elif defined(PCBX10)
|
||||
#define LED_RED_GPIO GPIO_PIN(GPIOE, 2) // PE.02
|
||||
#if !defined(MANUFACTURER_FRSKY) // no green on X10/X10 Express
|
||||
#define LED_GREEN_GPIO GPIO_PIN(GPIOE, 4) // PE.04
|
||||
#endif
|
||||
#define LED_BLUE_GPIO GPIO_PIN(GPIOE, 5) // PE.05
|
||||
#endif
|
||||
|
||||
// Customisable switches leds
|
||||
#if defined(RADIO_T15)
|
||||
#define FSLED_GPIO_PIN_1 GPIO_PIN(GPIOA, 15) //PA.15
|
||||
@@ -300,19 +280,12 @@
|
||||
#define LCD_SPI_SCK_GPIO_PIN LL_GPIO_PIN_2 // PE.02
|
||||
#define LCD_SPI_MISO_GPIO_PIN LL_GPIO_PIN_5 // PE.05
|
||||
#define LCD_SPI_MOSI_GPIO_PIN LL_GPIO_PIN_6 // PE.06
|
||||
#define LTDC_IRQ_PRIO 4
|
||||
#define DMA_SCREEN_IRQ_PRIO 6
|
||||
#else
|
||||
#if defined(PCBX12S)
|
||||
#define LCD_GPIO_NRST GPIO_PIN(GPIOF, 10) // PF.10
|
||||
#elif defined(PCBX10)
|
||||
#define LCD_GPIO_NRST GPIO_PIN(GPIOI, 10) // PI.10
|
||||
#endif
|
||||
#if defined(PCBX10) && !defined(RADIO_T18) && !defined(RADIO_V16)
|
||||
#define LCD_VERTICAL_INVERT
|
||||
#endif
|
||||
#define LTDC_IRQ_PRIO 4
|
||||
#define DMA_SCREEN_IRQ_PRIO 6
|
||||
#endif
|
||||
|
||||
// Backlight
|
||||
@@ -501,28 +474,7 @@
|
||||
#endif
|
||||
|
||||
// Haptic
|
||||
#define HAPTIC_PWM
|
||||
#if defined(PCBX12S)
|
||||
#define HAPTIC_GPIO GPIO_PIN(GPIOA, 2) // PA.02
|
||||
#define HAPTIC_GPIO_TIMER TIM9
|
||||
#define HAPTIC_GPIO_AF GPIO_AF3
|
||||
#define HAPTIC_TIMER_OUTPUT_ENABLE TIM_CCER_CC1E
|
||||
#define HAPTIC_TIMER_MODE TIM_CCMR1_OC1M_1 | TIM_CCMR1_OC1M_2
|
||||
#define HAPTIC_TIMER_COMPARE_VALUE HAPTIC_GPIO_TIMER->CCR1
|
||||
#elif defined(RADIO_T15) // TIM2_CH1
|
||||
#define HAPTIC_GPIO GPIO_PIN(GPIOA, 5) // PA.05
|
||||
#define HAPTIC_GPIO_TIMER TIM2
|
||||
#define HAPTIC_GPIO_AF GPIO_AF1
|
||||
#define HAPTIC_TIMER_OUTPUT_ENABLE TIM_CCER_CC1E | TIM_CCER_CC1NE;
|
||||
#define HAPTIC_TIMER_MODE TIM_CCMR1_OC1M_1 | TIM_CCMR1_OC1M_2 | TIM_CCMR1_OC1PE
|
||||
#define HAPTIC_TIMER_COMPARE_VALUE HAPTIC_GPIO_TIMER->CCR1
|
||||
#elif defined(PCBX10)
|
||||
#define HAPTIC_GPIO GPIO_PIN(GPIOE, 6) // PE.06
|
||||
#define HAPTIC_GPIO_TIMER TIM9
|
||||
#define HAPTIC_GPIO_AF GPIO_AF3
|
||||
#define HAPTIC_TIMER_OUTPUT_ENABLE TIM_CCER_CC2E
|
||||
#define HAPTIC_TIMER_MODE TIM_CCMR1_OC2M_1 | TIM_CCMR1_OC2M_2
|
||||
#define HAPTIC_TIMER_COMPARE_VALUE HAPTIC_GPIO_TIMER->CCR2
|
||||
#if !defined(PCBX12S) && !defined(RADIO_T15) && defined(PCBX10)
|
||||
// FlySky Hall Sticks
|
||||
#define FLYSKY_HALL_SERIAL_USART UART4
|
||||
#define FLYSKY_HALL_DMA_Channel LL_DMA_CHANNEL_4
|
||||
@@ -534,24 +486,6 @@
|
||||
#define FLYSKY_HALL_DMA_Stream_TX LL_DMA_STREAM_4
|
||||
#endif
|
||||
|
||||
#if defined(RADIO_V16)
|
||||
// LED Strip
|
||||
#define LED_STRIP_LENGTH 40
|
||||
#define BLING_LED_STRIP_START 6
|
||||
#define BLING_LED_STRIP_LENGTH 34
|
||||
#define LED_STRIP_GPIO GPIO_PIN(GPIOA, 10) // PA.10 / TIM1_CH3
|
||||
#define LED_STRIP_GPIO_AF LL_GPIO_AF_1 // TIM1/2
|
||||
#define LED_STRIP_TIMER TIM1
|
||||
#define LED_STRIP_TIMER_FREQ (PERI2_FREQUENCY * TIMER_MULT_APB2)
|
||||
#define LED_STRIP_TIMER_CHANNEL LL_TIM_CHANNEL_CH3
|
||||
#define LED_STRIP_TIMER_DMA DMA2
|
||||
#define LED_STRIP_TIMER_DMA_CHANNEL LL_DMA_CHANNEL_6
|
||||
#define LED_STRIP_TIMER_DMA_STREAM LL_DMA_STREAM_5
|
||||
#define LED_STRIP_TIMER_DMA_IRQn DMA2_Stream5_IRQn
|
||||
#define LED_STRIP_TIMER_DMA_IRQHandler DMA2_Stream5_IRQHandler
|
||||
#define LED_STRIP_REFRESH_PERIOD 50 //ms
|
||||
#endif
|
||||
|
||||
// Internal PXX1 Module:
|
||||
// -> let's assume all internal XJT modules used are either X10 or X12S type
|
||||
#define EXTERNAL_ANTENNA
|
||||
@@ -691,17 +625,6 @@
|
||||
#define TRAINER_MODULE_CPPM_GPIO_AF LL_GPIO_AF_2
|
||||
#endif
|
||||
|
||||
// Millisecond timer
|
||||
#define MS_TIMER TIM14
|
||||
#define MS_TIMER_IRQn TIM8_TRG_COM_TIM14_IRQn
|
||||
#define MS_TIMER_IRQHandler TIM8_TRG_COM_TIM14_IRQHandler
|
||||
|
||||
// Mixer scheduler timer
|
||||
#define MIXER_SCHEDULER_TIMER TIM13
|
||||
#define MIXER_SCHEDULER_TIMER_FREQ (PERI1_FREQUENCY * TIMER_MULT_APB1)
|
||||
#define MIXER_SCHEDULER_TIMER_IRQn TIM8_UP_TIM13_IRQn
|
||||
#define MIXER_SCHEDULER_TIMER_IRQHandler TIM8_UP_TIM13_IRQHandler
|
||||
|
||||
// Bluetooth
|
||||
#define STORAGE_BLUETOOTH
|
||||
#if defined(BLUETOOTH)
|
||||
@@ -744,15 +667,3 @@
|
||||
|
||||
// SDRAM
|
||||
#define SDRAM_BANK2
|
||||
|
||||
#if defined(RADIO_T15)
|
||||
#define LCD_W 480
|
||||
#define LCD_H 320
|
||||
#else
|
||||
#define LCD_W 480
|
||||
#define LCD_H 272
|
||||
#endif
|
||||
|
||||
#define LCD_PHYS_H LCD_H
|
||||
#define LCD_PHYS_W LCD_W
|
||||
#define LCD_DEPTH 16
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
static LTDC_HandleTypeDef hltdc;
|
||||
static void* initialFrameBuffer = nullptr;
|
||||
|
||||
#if defined(LCD_VERTICAL_INVERT)
|
||||
#if LCD_VERTICAL_INVERT
|
||||
typedef uint16_t pixel_t;
|
||||
static pixel_t _LCD_BUF_1[DISPLAY_BUFFER_SIZE] __SDRAM;
|
||||
static pixel_t _LCD_BUF_2[DISPLAY_BUFFER_SIZE] __SDRAM;
|
||||
@@ -137,7 +137,7 @@ static void _update_frame_buffer_addr(uint16_t* addr)
|
||||
static void startLcdRefresh(lv_disp_drv_t *disp_drv, uint16_t *buffer,
|
||||
const rect_t ©_area)
|
||||
{
|
||||
#if defined(LCD_VERTICAL_INVERT)
|
||||
#if LCD_VERTICAL_INVERT
|
||||
#if defined(RADIO_F16)
|
||||
if(hardwareOptions.pcbrev > 0) {
|
||||
// Direct mode
|
||||
@@ -382,7 +382,7 @@ void LCD_LayerInit()
|
||||
layer.ImageHeight = LCD_PHYS_H;
|
||||
|
||||
/* Start Address configuration : the LCD Frame buffer is defined on SDRAM w/ Offset */
|
||||
#if defined(LCD_VERTICAL_INVERT)
|
||||
#if LCD_VERTICAL_INVERT
|
||||
intptr_t layer_address;
|
||||
#if defined(RADIO_F16)
|
||||
if (hardwareOptions.pcbrev > 0)
|
||||
@@ -423,7 +423,7 @@ void LCD_Init(void)
|
||||
extern "C"
|
||||
void lcdInit()
|
||||
{
|
||||
#if defined(LCD_VERTICAL_INVERT)
|
||||
#if LCD_VERTICAL_INVERT
|
||||
// Clear buffer first
|
||||
memset(_LCD_BUF_1, 0, sizeof(_LCD_BUF_1));
|
||||
memset(_LCD_BUF_2, 0, sizeof(_LCD_BUF_2));
|
||||
|
||||
@@ -22,12 +22,7 @@
|
||||
#ifndef _HAL_H_
|
||||
#define _HAL_H_
|
||||
|
||||
#define CPU_FREQ 400000000
|
||||
|
||||
#define PERI1_FREQUENCY 100000000
|
||||
#define PERI2_FREQUENCY 100000000
|
||||
#define TIMER_MULT_APB1 2
|
||||
#define TIMER_MULT_APB2 2
|
||||
#include "hal_settings.h"
|
||||
|
||||
/* Timers Allocation:
|
||||
* TIM3 = Haptic / Backlight
|
||||
@@ -107,12 +102,6 @@
|
||||
#define LCD_SPI_MISO GPIO_PIN(GPIOG, 9)
|
||||
#define LCD_SPI_BAUD 50000000
|
||||
|
||||
// Backlight
|
||||
#define BACKLIGHT_GPIO GPIO_PIN(GPIOB, 03) // TIM2_CH2
|
||||
#define BACKLIGHT_TIMER TIM2
|
||||
#define BACKLIGHT_GPIO_AF GPIO_AF1
|
||||
#define BACKLIGHT_TIMER_FREQ (PERI1_FREQUENCY * TIMER_MULT_APB1)
|
||||
|
||||
// QSPI Flash
|
||||
#define QSPI_MAX_FREQ 80000000U // 80 MHz
|
||||
#define QSPI_CLK_GPIO GPIO_PIN(GPIOB, 2)
|
||||
@@ -172,13 +161,6 @@
|
||||
#define I2C_B2_GPIO_AF LL_GPIO_AF_4
|
||||
#define I2C_B2_CLK_RATE 400000
|
||||
|
||||
|
||||
// Haptic: TIM3_CH2
|
||||
#define HAPTIC_PWM
|
||||
#define HAPTIC_GPIO GPIO_PIN(GPIOA, 15) // PA.15
|
||||
#define HAPTIC_GPIO_TIMER TIM2
|
||||
#define HAPTIC_GPIO_AF GPIO_AF1
|
||||
|
||||
// Flysky Hall Stick
|
||||
#define FLYSKY_HALL_SERIAL_USART USART2
|
||||
|
||||
@@ -191,30 +173,6 @@
|
||||
#define FLYSKY_HALL_DMA_Stream_TX LL_DMA_STREAM_4
|
||||
#define FLYSKY_HALL_DMA_Channel LL_DMAMUX1_REQ_USART2_RX
|
||||
|
||||
// TODO LED Strip PF.06
|
||||
|
||||
// LED Strip
|
||||
#define LED_STRIP_LENGTH 14
|
||||
#define BLING_LED_STRIP_START 10
|
||||
#define BLING_LED_STRIP_LENGTH 4
|
||||
#define CFS_LED_STRIP_START 0
|
||||
#define CFS_LED_STRIP_LENGTH 8
|
||||
#define CFS_LEDS_PER_SWITCH 2
|
||||
#define LED_STRIP_GPIO GPIO_PIN(GPIOF, 06) // PF.06 / TIM16_CH1
|
||||
#define LED_STRIP_GPIO_AF LL_GPIO_AF_1 // TIM1/2/16/17
|
||||
#define LED_STRIP_TIMER TIM16
|
||||
#define LED_STRIP_TIMER_FREQ (PERI1_FREQUENCY * TIMER_MULT_APB1)
|
||||
#define LED_STRIP_TIMER_CHANNEL LL_TIM_CHANNEL_CH1
|
||||
#define LED_STRIP_TIMER_DMA DMA1
|
||||
#define LED_STRIP_TIMER_DMA_CHANNEL LL_DMAMUX1_REQ_TIM16_UP
|
||||
#define LED_STRIP_TIMER_DMA_STREAM LL_DMA_STREAM_0
|
||||
#define LED_STRIP_TIMER_DMA_IRQn DMA1_Stream0_IRQn
|
||||
#define LED_STRIP_TIMER_DMA_IRQHandler DMA1_Stream0_IRQHandler
|
||||
#define LED_STRIP_REFRESH_PERIOD 50 //ms
|
||||
#define RGB_LED_OFFSET 10
|
||||
|
||||
#define STATUS_LEDS
|
||||
|
||||
#define LED_CHARGING_START 0
|
||||
#define LED_CHARGING_END 13
|
||||
|
||||
@@ -286,48 +244,4 @@
|
||||
#define TOUCH_I2C_BUS I2C_Bus_1
|
||||
#define TOUCH_I2C_CLK_RATE 100000
|
||||
|
||||
|
||||
// Rotary Encoder
|
||||
#define ROTARY_ENCODER_NAVIGATION
|
||||
#define ROTARY_ENCODER_GPIO GPIOA
|
||||
#define ROTARY_ENCODER_GPIO_PIN_A LL_GPIO_PIN_6 // PA.06
|
||||
#define ROTARY_ENCODER_GPIO_PIN_B LL_GPIO_PIN_7 // PA.07
|
||||
#define ROTARY_ENCODER_POSITION() ((ROTARY_ENCODER_GPIO->IDR >> 6) & 0x03)
|
||||
#define ROTARY_ENCODER_EXTI_LINE1 LL_EXTI_LINE_6
|
||||
#define ROTARY_ENCODER_EXTI_LINE2 LL_EXTI_LINE_7
|
||||
// port extender interrupt
|
||||
#if !defined(USE_EXTI9_5_IRQ)
|
||||
#define USE_EXTI9_5_IRQ
|
||||
#define EXTI9_5_IRQ_Priority 5
|
||||
#endif
|
||||
#define ROTARY_ENCODER_EXTI_PORT LL_SYSCFG_EXTI_PORTA
|
||||
#define ROTARY_ENCODER_EXTI_SYS_LINE1 LL_SYSCFG_EXTI_LINE6
|
||||
#define ROTARY_ENCODER_EXTI_SYS_LINE2 LL_SYSCFG_EXTI_LINE7
|
||||
#define ROTARY_ENCODER_TIMER TIM17
|
||||
#define ROTARY_ENCODER_TIMER_IRQn TIM17_IRQn
|
||||
#define ROTARY_ENCODER_TIMER_IRQHandler TIM17_IRQHandler
|
||||
|
||||
// Millisecond timer
|
||||
#define MS_TIMER TIM14
|
||||
#define MS_TIMER_IRQn TIM8_TRG_COM_TIM14_IRQn
|
||||
#define MS_TIMER_IRQHandler TIM8_TRG_COM_TIM14_IRQHandler
|
||||
|
||||
// Mixer scheduler timer
|
||||
#define MIXER_SCHEDULER_TIMER TIM12
|
||||
#define MIXER_SCHEDULER_TIMER_FREQ (PERI1_FREQUENCY * TIMER_MULT_APB1)
|
||||
#define MIXER_SCHEDULER_TIMER_IRQn TIM8_BRK_TIM12_IRQn
|
||||
#define MIXER_SCHEDULER_TIMER_IRQHandler TIM8_BRK_TIM12_IRQHandler
|
||||
|
||||
// IMU / Gyro
|
||||
#define IMU_I2C_BUS I2C_Bus_2
|
||||
#define IMU_I2C_ADDRESS 0x6A
|
||||
|
||||
#define LCD_W 320
|
||||
#define LCD_H 240
|
||||
|
||||
#define LCD_PHYS_W LCD_W
|
||||
#define LCD_PHYS_H LCD_H
|
||||
|
||||
#define LCD_DEPTH 16
|
||||
|
||||
#endif // _HAL_H_
|
||||
|
||||
@@ -203,7 +203,6 @@ add_dependencies(board_bl ${BITMAPS_TARGET})
|
||||
|
||||
if(PCBREV STREQUAL NB4P)
|
||||
target_sources(board_bl PUBLIC
|
||||
${CMAKE_CURRENT_BINARY_DIR}/stm32_adc_inputs.inc
|
||||
boards/generic_stm32/analog_inputs.cpp
|
||||
)
|
||||
endif()
|
||||
|
||||
@@ -21,13 +21,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#define CPU_FREQ 168000000
|
||||
|
||||
// HSI is at 168Mhz (over-drive is not enabled!)
|
||||
#define PERI1_FREQUENCY 42000000
|
||||
#define PERI2_FREQUENCY 84000000
|
||||
#define TIMER_MULT_APB1 2
|
||||
#define TIMER_MULT_APB2 2
|
||||
#include "hal_settings.h"
|
||||
|
||||
/* Timers Allocation:
|
||||
* TIM1 = Haptic
|
||||
@@ -252,41 +246,11 @@
|
||||
#define LCD_SPI_SCK_GPIO GPIO_PIN(GPIOE, 2) // PE.02
|
||||
#define LCD_SPI_MISO_GPIO GPIO_PIN(GPIOE, 5) // PE.05
|
||||
#define LCD_SPI_MOSI_GPIO GPIO_PIN(GPIOE, 6) // PE.06
|
||||
#define LTDC_IRQ_PRIO 4
|
||||
#define DMA_SCREEN_IRQ_PRIO 6
|
||||
|
||||
// Backlight
|
||||
// TODO TIM3, TIM8, TIM14, review the channel in backlight_driver.cpp according to the chosen timer
|
||||
#define BACKLIGHT_RCC_APB2Periph 0
|
||||
#define BACKLIGHT_GPIO GPIO_PIN(GPIOA, 15) // PA.15
|
||||
#define BACKLIGHT_TIMER TIM2
|
||||
#define BACKLIGHT_GPIO_AF GPIO_AF1
|
||||
#define BACKLIGHT_TIMER_FREQ (PERI1_FREQUENCY * TIMER_MULT_APB1)
|
||||
|
||||
//used in BOOTLOADER
|
||||
#define SERIAL_RCC_AHB1Periph 0
|
||||
#define SERIAL_RCC_APB1Periph 0
|
||||
|
||||
#if defined(RADIO_NB4P)
|
||||
// Rotary Encoder
|
||||
#define ROTARY_ENCODER_GPIO GPIOH
|
||||
#define ROTARY_ENCODER_GPIO_PIN_A LL_GPIO_PIN_11 // PH.11
|
||||
#define ROTARY_ENCODER_GPIO_PIN_B LL_GPIO_PIN_10 // PH.10
|
||||
#define ROTARY_ENCODER_POSITION() ((ROTARY_ENCODER_GPIO->IDR >> 10) & 0x03)
|
||||
#define ROTARY_ENCODER_EXTI_LINE1 LL_EXTI_LINE_11
|
||||
#define ROTARY_ENCODER_EXTI_LINE2 LL_EXTI_LINE_10
|
||||
#if !defined(USE_EXTI15_10_IRQ)
|
||||
#define USE_EXTI15_10_IRQ
|
||||
#define EXTI15_10_IRQ_Priority 5
|
||||
#endif
|
||||
#define ROTARY_ENCODER_EXTI_PORT LL_SYSCFG_EXTI_PORTH
|
||||
#define ROTARY_ENCODER_EXTI_SYS_LINE1 LL_SYSCFG_EXTI_LINE11
|
||||
#define ROTARY_ENCODER_EXTI_SYS_LINE2 LL_SYSCFG_EXTI_LINE10
|
||||
#define ROTARY_ENCODER_TIMER TIM13
|
||||
#define ROTARY_ENCODER_TIMER_IRQn TIM8_UP_TIM13_IRQn
|
||||
#define ROTARY_ENCODER_TIMER_IRQHandler TIM8_UP_TIM13_IRQHandler
|
||||
#endif
|
||||
|
||||
#if defined(RADIO_NV14_FAMILY) || defined(RADIO_PL18U)
|
||||
// SD card
|
||||
#if defined(RADIO_PL18U)
|
||||
@@ -389,25 +353,6 @@
|
||||
#define EXTI9_5_IRQ_Priority 9
|
||||
#endif
|
||||
|
||||
// Haptic: TIM1_CH1
|
||||
#if defined(RADIO_NB4P)
|
||||
#define HAPTIC_PWM
|
||||
#define HAPTIC_GPIO GPIO_PIN(GPIOB, 0) // PB.00
|
||||
#define HAPTIC_GPIO_TIMER TIM1
|
||||
#define HAPTIC_GPIO_AF GPIO_AF1
|
||||
#define HAPTIC_TIMER_OUTPUT_ENABLE TIM_CCER_CC2NE
|
||||
#define HAPTIC_TIMER_MODE TIM_CCMR1_OC2M_1 | TIM_CCMR1_OC2M_2 | TIM_CCMR1_OC2PE
|
||||
#define HAPTIC_TIMER_COMPARE_VALUE HAPTIC_GPIO_TIMER->CCR2
|
||||
#else
|
||||
#define HAPTIC_PWM
|
||||
#define HAPTIC_GPIO GPIO_PIN(GPIOA, 8) // PA.08
|
||||
#define HAPTIC_GPIO_TIMER TIM1
|
||||
#define HAPTIC_GPIO_AF GPIO_AF1
|
||||
#define HAPTIC_TIMER_OUTPUT_ENABLE TIM_CCER_CC1E | TIM_CCER_CC1NE
|
||||
#define HAPTIC_TIMER_MODE TIM_CCMR1_OC1M_1 | TIM_CCMR1_OC1M_2 | TIM_CCMR1_OC1PE
|
||||
#define HAPTIC_TIMER_COMPARE_VALUE HAPTIC_GPIO_TIMER->CCR1
|
||||
#endif
|
||||
|
||||
// Flysky Hall Stick
|
||||
#define FLYSKY_HALL_SERIAL_USART UART4
|
||||
#define FLYSKY_HALL_DMA_Channel LL_DMA_CHANNEL_4
|
||||
@@ -424,26 +369,6 @@
|
||||
#define FLYSKY_HALL_DMA_Stream_RX LL_DMA_STREAM_2
|
||||
#define FLYSKY_HALL_DMA_Stream_TX LL_DMA_STREAM_4
|
||||
|
||||
// LED Strip
|
||||
#if !defined(RADIO_NV14_FAMILY)
|
||||
#define LED_STRIP_LENGTH 4
|
||||
#define BLING_LED_STRIP_START 0
|
||||
#define BLING_LED_STRIP_LENGTH 4
|
||||
#define LED_STRIP_GPIO GPIO_PIN(GPIOH, 12) // PH.12 / TIM5_CH3
|
||||
#define LED_STRIP_GPIO_AF LL_GPIO_AF_2 // TIM3/4/5
|
||||
#define LED_STRIP_TIMER TIM5
|
||||
#define LED_STRIP_TIMER_FREQ (PERI1_FREQUENCY * TIMER_MULT_APB1)
|
||||
#define LED_STRIP_TIMER_CHANNEL LL_TIM_CHANNEL_CH3
|
||||
#define LED_STRIP_TIMER_DMA DMA1
|
||||
#define LED_STRIP_TIMER_DMA_CHANNEL LL_DMA_CHANNEL_6
|
||||
#define LED_STRIP_TIMER_DMA_STREAM LL_DMA_STREAM_0
|
||||
#define LED_STRIP_TIMER_DMA_IRQn DMA1_Stream0_IRQn
|
||||
#define LED_STRIP_TIMER_DMA_IRQHandler DMA1_Stream0_IRQHandler
|
||||
#define LED_STRIP_REFRESH_PERIOD 50 //ms
|
||||
|
||||
#define STATUS_LEDS
|
||||
#endif
|
||||
|
||||
// Internal Module
|
||||
#if defined(RADIO_PL18) || defined(RADIO_PL18U)
|
||||
#if defined(RADIO_PL18U)
|
||||
@@ -603,34 +528,8 @@
|
||||
#define BT_CMD_MODE_GPIO GPIO_PIN(GPIOH, 6) // PH.06
|
||||
#endif
|
||||
|
||||
// Millisecond timer
|
||||
#define MS_TIMER TIM14
|
||||
#define MS_TIMER_IRQn TIM8_TRG_COM_TIM14_IRQn
|
||||
#define MS_TIMER_IRQHandler TIM8_TRG_COM_TIM14_IRQHandler
|
||||
|
||||
// Mixer scheduler timer
|
||||
#define MIXER_SCHEDULER_TIMER TIM12
|
||||
#define MIXER_SCHEDULER_TIMER_FREQ (PERI1_FREQUENCY * TIMER_MULT_APB1)
|
||||
#define MIXER_SCHEDULER_TIMER_IRQn TIM8_BRK_TIM12_IRQn
|
||||
#define MIXER_SCHEDULER_TIMER_IRQHandler TIM8_BRK_TIM12_IRQHandler
|
||||
|
||||
// SDRAM
|
||||
#define SDRAM_BANK1
|
||||
#if defined(RADIO_PL18U)
|
||||
#define SDRAM_32MB
|
||||
#endif
|
||||
|
||||
// LCD Settings
|
||||
#if defined(RADIO_NB4P) || defined(RADIO_NV14_FAMILY)
|
||||
#define LCD_W 320
|
||||
#define LCD_H 480
|
||||
#else
|
||||
#define LCD_W 480
|
||||
#define LCD_H 320
|
||||
#endif
|
||||
|
||||
#define LCD_PHYS_W 320
|
||||
#define LCD_PHYS_H 480
|
||||
|
||||
#define LCD_DEPTH 16
|
||||
#define LCD_CONTRAST_DEFAULT 20
|
||||
|
||||
@@ -40,17 +40,6 @@ set(SIMU_DRIVERS
|
||||
abnormal_reboot.cpp
|
||||
)
|
||||
|
||||
set(HW_DESC_JSON ${FLAVOUR}.json)
|
||||
AddHWGenTarget(${HW_DESC_JSON} simu_keys simu_keys.inc)
|
||||
AddHWGenTarget(${HW_DESC_JSON} simu_switches simu_switches.inc)
|
||||
AddHWGenTarget(${HW_DESC_JSON} hal_adc_inputs hal_adc_inputs.inc)
|
||||
|
||||
set(SIMU_DRIVERS ${SIMU_DRIVERS}
|
||||
${CMAKE_CURRENT_BINARY_DIR}/simu_keys.inc
|
||||
${CMAKE_CURRENT_BINARY_DIR}/simu_switches.inc
|
||||
${CMAKE_CURRENT_BINARY_DIR}/hal_adc_inputs.inc
|
||||
)
|
||||
|
||||
include_directories(${CMAKE_CURRENT_BINARY_DIR})
|
||||
|
||||
# Pack all simu driver sources into an object lib
|
||||
@@ -58,6 +47,8 @@ add_library(simu_drivers OBJECT EXCLUDE_FROM_ALL
|
||||
${SIMU_DRIVERS}
|
||||
)
|
||||
|
||||
add_dependencies(simu_drivers simu_keys simu_switches hal_settings hal_keys hal_adc_inputs lua_inputs lua_mixsrc lua_keys yaml_inputs)
|
||||
|
||||
get_property(SIMU_SRC_OPTIONS
|
||||
TARGET radiolib_native
|
||||
PROPERTY INTERFACE_COMPILE_OPTIONS
|
||||
|
||||
@@ -53,7 +53,7 @@ void lcdRefresh()
|
||||
|
||||
#include <lvgl/lvgl.h>
|
||||
|
||||
#if defined(LCD_VERTICAL_INVERT)
|
||||
#if LCD_VERTICAL_INVERT
|
||||
static pixel_t _LCD_BUF1[DISPLAY_BUFFER_SIZE] __SDRAM;
|
||||
static pixel_t _LCD_BUF2[DISPLAY_BUFFER_SIZE] __SDRAM;
|
||||
|
||||
@@ -98,7 +98,7 @@ pixel_t* simuLcdBuf = nullptr;
|
||||
|
||||
static void simuRefreshLcd(lv_disp_drv_t * disp_drv, uint16_t *buffer, const rect_t& copy_area)
|
||||
{
|
||||
#if !defined(LCD_VERTICAL_INVERT) // rename into "Use direct mode" ???
|
||||
#if !LCD_VERTICAL_INVERT // rename into "Use direct mode" ???
|
||||
// Direct mode: driver flush is called on final LVGL flush
|
||||
|
||||
// simply set LVGL's buffer as our current frame buffer
|
||||
@@ -162,7 +162,7 @@ void lcdSetInitalFrameBuffer(void*) {}
|
||||
|
||||
void lcdInit()
|
||||
{
|
||||
#if defined(LCD_VERTICAL_INVERT)
|
||||
#if LCD_VERTICAL_INVERT
|
||||
memset(_LCD_BUF1, 0, sizeof(_LCD_BUF1));
|
||||
memset(_LCD_BUF2, 0, sizeof(_LCD_BUF2));
|
||||
#endif
|
||||
|
||||
@@ -36,13 +36,7 @@
|
||||
// - Ext. Mod. TIM4_UP: DMA2 stream 6
|
||||
//
|
||||
|
||||
|
||||
#define CPU_FREQ 400000000
|
||||
|
||||
#define PERI1_FREQUENCY 100000000
|
||||
#define PERI2_FREQUENCY 100000000
|
||||
#define TIMER_MULT_APB1 2
|
||||
#define TIMER_MULT_APB2 2
|
||||
#include "hal_settings.h"
|
||||
|
||||
#define ADC_VREF_PREC2 329
|
||||
|
||||
@@ -126,14 +120,6 @@
|
||||
#define LCD_SPI_GPIO GPIOE
|
||||
#define LCD_SPI_SCK_GPIO_PIN LL_GPIO_PIN_4 // PE.04
|
||||
#define LCD_SPI_MOSI_GPIO_PIN LL_GPIO_PIN_3 // PE.03
|
||||
#define LTDC_IRQ_PRIO 4
|
||||
#define DMA_SCREEN_IRQ_PRIO 6
|
||||
|
||||
// Backlight
|
||||
#define BACKLIGHT_GPIO GPIO_PIN(GPIOC, 06) // TIM3_CH1
|
||||
#define BACKLIGHT_TIMER TIM3
|
||||
#define BACKLIGHT_GPIO_AF GPIO_AF2
|
||||
#define BACKLIGHT_TIMER_FREQ (PERI1_FREQUENCY * TIMER_MULT_APB1)
|
||||
|
||||
// QSPI Flash
|
||||
#define QSPI_MAX_FREQ 80000000U // 80 MHz
|
||||
@@ -206,15 +192,6 @@
|
||||
#define I2C_B2_GPIO_AF LL_GPIO_AF_4
|
||||
#define I2C_B2_CLK_RATE 400000
|
||||
|
||||
// Haptic: TIM3_CH2
|
||||
#define HAPTIC_PWM
|
||||
#define HAPTIC_GPIO GPIO_PIN(GPIOB, 5) // PB.05
|
||||
#define HAPTIC_GPIO_TIMER TIM3
|
||||
#define HAPTIC_GPIO_AF GPIO_AF2
|
||||
#define HAPTIC_TIMER_OUTPUT_ENABLE TIM_CCER_CC2E | TIM_CCER_CC2NE;
|
||||
#define HAPTIC_TIMER_MODE TIM_CCMR1_OC2M_1 | TIM_CCMR1_OC2M_2 | TIM_CCMR1_OC2PE
|
||||
#define HAPTIC_TIMER_COMPARE_VALUE HAPTIC_GPIO_TIMER->CCR2
|
||||
|
||||
// Flysky Hall Stick
|
||||
#define FLYSKY_HALL_SERIAL_USART USART2
|
||||
|
||||
@@ -227,25 +204,6 @@
|
||||
#define FLYSKY_HALL_DMA_Stream_TX LL_DMA_STREAM_4
|
||||
#define FLYSKY_HALL_DMA_Channel LL_DMAMUX1_REQ_USART2_RX
|
||||
|
||||
// LED Strip
|
||||
#define LED_STRIP_LENGTH 24
|
||||
#define BLING_LED_STRIP_START 0
|
||||
#define BLING_LED_STRIP_LENGTH 12
|
||||
#define CFS_LED_STRIP_START 12
|
||||
#define CFS_LED_STRIP_LENGTH 12
|
||||
#define CFS_LEDS_PER_SWITCH 2
|
||||
#define LED_STRIP_GPIO GPIO_PIN(GPIOA, 15) // PA.15 / TIM2_CH1
|
||||
#define LED_STRIP_GPIO_AF LL_GPIO_AF_1 // TIM1/2/16/17
|
||||
#define LED_STRIP_TIMER TIM2
|
||||
#define LED_STRIP_TIMER_FREQ (PERI1_FREQUENCY * TIMER_MULT_APB1)
|
||||
#define LED_STRIP_TIMER_CHANNEL LL_TIM_CHANNEL_CH1
|
||||
#define LED_STRIP_TIMER_DMA DMA1
|
||||
#define LED_STRIP_TIMER_DMA_CHANNEL LL_DMAMUX1_REQ_TIM2_UP
|
||||
#define LED_STRIP_TIMER_DMA_STREAM LL_DMA_STREAM_0
|
||||
#define LED_STRIP_TIMER_DMA_IRQn DMA1_Stream0_IRQn
|
||||
#define LED_STRIP_TIMER_DMA_IRQHandler DMA1_Stream0_IRQHandler
|
||||
#define LED_STRIP_REFRESH_PERIOD 50 //ms
|
||||
#define STATUS_LEDS
|
||||
#define LED_CHARGING_START 12
|
||||
#define LED_CHARGING_END 23
|
||||
|
||||
@@ -332,50 +290,3 @@
|
||||
#define USE_EXTI15_10_IRQ
|
||||
#define EXTI15_10_IRQ_Priority 5
|
||||
#endif
|
||||
|
||||
#define IMU_I2C_BUS I2C_Bus_1
|
||||
#define IMU_I2C_ADDRESS 0x6A
|
||||
|
||||
//ROTARY emulation for trims as buttons
|
||||
#define ROTARY_ENCODER_NAVIGATION
|
||||
// Rotary Encoder
|
||||
#define ROTARY_ENCODER_INVERTED
|
||||
#define ROTARY_ENCODER_GPIO GPIOG
|
||||
#define ROTARY_ENCODER_GPIO_PIN_A LL_GPIO_PIN_2 // PG.02
|
||||
#define ROTARY_ENCODER_GPIO_PIN_B LL_GPIO_PIN_3 // PG.03
|
||||
#define ROTARY_ENCODER_POSITION() ((ROTARY_ENCODER_GPIO->IDR >> 2) & 0x03)
|
||||
#define ROTARY_ENCODER_EXTI_LINE1 LL_EXTI_LINE_2
|
||||
#define ROTARY_ENCODER_EXTI_LINE2 LL_EXTI_LINE_3
|
||||
#if !defined(USE_EXTI2_IRQ)
|
||||
#define USE_EXTI2_IRQ
|
||||
#define EXTI2_IRQ_Priority 5
|
||||
#endif
|
||||
#if !defined(USE_EXTI3_IRQ)
|
||||
#define USE_EXTI3_IRQ
|
||||
#define EXTI3_IRQ_Priority 5
|
||||
#endif
|
||||
#define ROTARY_ENCODER_EXTI_PORT LL_SYSCFG_EXTI_PORTG
|
||||
#define ROTARY_ENCODER_EXTI_SYS_LINE1 LL_SYSCFG_EXTI_LINE2
|
||||
#define ROTARY_ENCODER_EXTI_SYS_LINE2 LL_SYSCFG_EXTI_LINE3
|
||||
#define ROTARY_ENCODER_TIMER TIM17
|
||||
#define ROTARY_ENCODER_TIMER_IRQn TIM17_IRQn
|
||||
#define ROTARY_ENCODER_TIMER_IRQHandler TIM17_IRQHandler
|
||||
|
||||
// Millisecond timer
|
||||
#define MS_TIMER TIM14
|
||||
#define MS_TIMER_IRQn TIM8_TRG_COM_TIM14_IRQn
|
||||
#define MS_TIMER_IRQHandler TIM8_TRG_COM_TIM14_IRQHandler
|
||||
|
||||
// Mixer scheduler timer
|
||||
#define MIXER_SCHEDULER_TIMER TIM12
|
||||
#define MIXER_SCHEDULER_TIMER_FREQ (PERI1_FREQUENCY * TIMER_MULT_APB1)
|
||||
#define MIXER_SCHEDULER_TIMER_IRQn TIM8_BRK_TIM12_IRQn
|
||||
#define MIXER_SCHEDULER_TIMER_IRQHandler TIM8_BRK_TIM12_IRQHandler
|
||||
|
||||
#define LCD_W 480
|
||||
#define LCD_H 320
|
||||
|
||||
#define LCD_PHYS_W LCD_H
|
||||
#define LCD_PHYS_H LCD_W
|
||||
|
||||
#define LCD_DEPTH 16
|
||||
|
||||
@@ -66,12 +66,7 @@ USART6: EXTMODULE_USART
|
||||
#ifndef _HAL_H_
|
||||
#define _HAL_H_
|
||||
|
||||
#define CPU_FREQ 480000000
|
||||
|
||||
#define PERI1_FREQUENCY 120000000
|
||||
#define PERI2_FREQUENCY 120000000
|
||||
#define TIMER_MULT_APB1 2
|
||||
#define TIMER_MULT_APB2 2
|
||||
#include "hal_settings.h"
|
||||
|
||||
// Keys
|
||||
#define KEYS_GPIO_REG_PAGEDN GPIOI
|
||||
@@ -112,69 +107,6 @@ USART6: EXTMODULE_USART
|
||||
#define TRIMS_GPIO_REG_RVU GPIOB
|
||||
#define TRIMS_GPIO_PIN_RVU LL_GPIO_PIN_15
|
||||
|
||||
// Switches
|
||||
#define SWITCHES_GPIO_REG_A_H GPIOB
|
||||
#define SWITCHES_GPIO_PIN_A_H LL_GPIO_PIN_0 // PB.00
|
||||
#define SWITCHES_GPIO_REG_A_L GPIOC
|
||||
#define SWITCHES_GPIO_PIN_A_L LL_GPIO_PIN_4 // PC.04
|
||||
#define SWITCHES_A_INVERTED
|
||||
|
||||
#define SWITCHES_GPIO_REG_B_H GPIOD
|
||||
#define SWITCHES_GPIO_PIN_B_H LL_GPIO_PIN_4 // PD.04
|
||||
#define SWITCHES_GPIO_REG_B_L GPIOJ
|
||||
#define SWITCHES_GPIO_PIN_B_L LL_GPIO_PIN_7 // PJ.07
|
||||
#define SWITCHES_B_INVERTED
|
||||
|
||||
#define SWITCHES_GPIO_REG_C_H GPIOH
|
||||
#define SWITCHES_GPIO_PIN_C_H LL_GPIO_PIN_3 // PH.03
|
||||
#define SWITCHES_GPIO_REG_C_L GPIOJ
|
||||
#define SWITCHES_GPIO_PIN_C_L LL_GPIO_PIN_0 // PJ.00
|
||||
#define SWITCHES_C_INVERTED
|
||||
|
||||
#define SWITCHES_GPIO_REG_D_H GPIOJ
|
||||
#define SWITCHES_GPIO_PIN_D_H LL_GPIO_PIN_14 // PJ.14
|
||||
#define SWITCHES_GPIO_REG_D_L GPIOH
|
||||
#define SWITCHES_GPIO_PIN_D_L LL_GPIO_PIN_15 // PH.15
|
||||
#define SWITCHES_D_INVERTED
|
||||
|
||||
#define SWITCHES_GPIO_REG_E GPIOE
|
||||
#define SWITCHES_GPIO_PIN_E LL_GPIO_PIN_5 // PE.05
|
||||
|
||||
#define SWITCHES_GPIO_REG_F GPIOA
|
||||
#define SWITCHES_GPIO_PIN_F LL_GPIO_PIN_15 // PA.15
|
||||
|
||||
// function switches
|
||||
//SW1
|
||||
#define FUNCTION_SWITCH_1 SG
|
||||
#define SWITCHES_GPIO_REG_G GPIOH
|
||||
#define SWITCHES_GPIO_PIN_G LL_GPIO_PIN_11 // PH.11
|
||||
#define SWITCHES_G_CFS_IDX 0
|
||||
//SW2
|
||||
#define FUNCTION_SWITCH_2 SH
|
||||
#define SWITCHES_GPIO_REG_H GPIOH
|
||||
#define SWITCHES_GPIO_PIN_H LL_GPIO_PIN_9 // PH.09
|
||||
#define SWITCHES_H_CFS_IDX 1
|
||||
//SW3
|
||||
#define FUNCTION_SWITCH_3 SI
|
||||
#define SWITCHES_GPIO_REG_I GPIOH
|
||||
#define SWITCHES_GPIO_PIN_I LL_GPIO_PIN_10 // PH.10
|
||||
#define SWITCHES_I_CFS_IDX 2
|
||||
//SW4
|
||||
#define FUNCTION_SWITCH_4 SJ
|
||||
#define SWITCHES_GPIO_REG_J GPIOH
|
||||
#define SWITCHES_GPIO_PIN_J LL_GPIO_PIN_13 // PH.123
|
||||
#define SWITCHES_J_CFS_IDX 3
|
||||
//SW5
|
||||
#define FUNCTION_SWITCH_5 SK
|
||||
#define SWITCHES_GPIO_REG_K GPIOH
|
||||
#define SWITCHES_GPIO_PIN_K LL_GPIO_PIN_14 // PH.14
|
||||
#define SWITCHES_K_CFS_IDX 4
|
||||
//SW6
|
||||
#define FUNCTION_SWITCH_6 SL
|
||||
#define SWITCHES_GPIO_REG_L GPIOH
|
||||
#define SWITCHES_GPIO_PIN_L LL_GPIO_PIN_12 // PH.12
|
||||
#define SWITCHES_L_CFS_IDX 5
|
||||
|
||||
// ADC
|
||||
#define ADC_GPIO_PIN_STICK_LH LL_GPIO_PIN_0 // PA.00 ADC1_INP16
|
||||
#define ADC_GPIO_PIN_STICK_LV LL_GPIO_PIN_3 // PA.03 ADC12_INP15
|
||||
@@ -270,19 +202,10 @@ USART6: EXTMODULE_USART
|
||||
#define LCD_SPI_SCK_GPIO_PIN LL_GPIO_PIN_3
|
||||
#define LCD_SPI_MISO_GPIO_PIN LL_GPIO_PIN_4
|
||||
#define LCD_SPI_MOSI_GPIO_PIN LL_GPIO_PIN_5
|
||||
#define LTDC_IRQ_PRIO 4
|
||||
#define DMA_SCREEN_IRQ_PRIO 6
|
||||
|
||||
#define LCD_NRST_GPIO GPIOI
|
||||
#define LCD_NRST_GPIO_PIN LL_GPIO_PIN_15
|
||||
|
||||
// Backlight
|
||||
#define BACKLIGHT_GPIO GPIO_PIN(GPIOA, 5) // TIM2_CH1
|
||||
#define BACKLIGHT_TIMER TIM2
|
||||
#define BACKLIGHT_TIMER_CHANNEL LL_TIM_CHANNEL_CH1
|
||||
#define BACKLIGHT_GPIO_AF GPIO_AF1
|
||||
#define BACKLIGHT_TIMER_FREQ (PERI1_FREQUENCY * TIMER_MULT_APB1)
|
||||
|
||||
// QSPI Flash
|
||||
#define QSPI_CLK_GPIO GPIO_PIN(GPIOF, 10)
|
||||
#define QSPI_CLK_GPIO_AF GPIO_AF9
|
||||
@@ -334,41 +257,6 @@ USART6: EXTMODULE_USART
|
||||
#define I2C_B2_GPIO_AF LL_GPIO_AF_4
|
||||
#define I2C_B2_CLK_RATE 400000
|
||||
|
||||
// Haptic
|
||||
#define HAPTIC_PWM
|
||||
#define HAPTIC_GPIO GPIO_PIN(GPIOE, 6) // TIM15_CH2
|
||||
#define HAPTIC_GPIO_TIMER TIM15
|
||||
#define HAPTIC_GPIO_AF GPIO_AF4
|
||||
#define HAPTIC_TIMER_OUTPUT_ENABLE TIM_CCER_CC2E | TIM_CCER_CC2NE;
|
||||
#define HAPTIC_TIMER_MODE TIM_CCMR1_OC2M_1 | TIM_CCMR1_OC2M_2 | TIM_CCMR1_OC2PE
|
||||
#define HAPTIC_TIMER_COMPARE_VALUE HAPTIC_GPIO_TIMER->CCR2
|
||||
|
||||
// LED Strip
|
||||
#define LED_STRIP_LENGTH 7 // 6POS + 1 common (many leds in //)
|
||||
#define BLING_LED_STRIP_START 6
|
||||
#define BLING_LED_STRIP_LENGTH 1
|
||||
#define CFS_LED_STRIP_START 0
|
||||
#define CFS_LED_STRIP_LENGTH 6
|
||||
#define CFS_LEDS_PER_SWITCH 1
|
||||
#define LED_STRIP_GPIO GPIO_PIN(GPIOA, 10) // PA.00 / TIM1_CH3
|
||||
#define LED_STRIP_GPIO_AF LL_GPIO_AF_1 // TIM1_CH3
|
||||
#define LED_STRIP_TIMER TIM1
|
||||
#define LED_STRIP_TIMER_FREQ (PERI1_FREQUENCY * TIMER_MULT_APB1)
|
||||
#define LED_STRIP_TIMER_CHANNEL LL_TIM_CHANNEL_CH3
|
||||
#define LED_STRIP_TIMER_DMA DMA1
|
||||
#define LED_STRIP_TIMER_DMA_CHANNEL LL_DMAMUX1_REQ_TIM1_UP
|
||||
#define LED_STRIP_TIMER_DMA_STREAM LL_DMA_STREAM_0
|
||||
#define LED_STRIP_TIMER_DMA_IRQn DMA1_Stream0_IRQn
|
||||
#define LED_STRIP_TIMER_DMA_IRQHandler DMA1_Stream0_IRQHandler
|
||||
#define LED_STRIP_REFRESH_PERIOD 50 //ms
|
||||
|
||||
#define STATUS_LEDS
|
||||
#define GPIO_LED_GPIO_ON gpio_set
|
||||
#define GPIO_LED_GPIO_OFF gpio_clear
|
||||
#define LED_RED_GPIO GPIO_PIN(GPIOA, 8)
|
||||
#define LED_GREEN_GPIO GPIO_PIN(GPIOJ, 13)
|
||||
#define LED_BLUE_GPIO GPIO_PIN(GPIOG, 7)
|
||||
|
||||
// Internal Module
|
||||
#define INTMODULE_PWR_GPIO GPIO_PIN(GPIOI, 1)
|
||||
#define INTMODULE_BOOTCMD_GPIO GPIO_PIN(GPIOD, 7)
|
||||
@@ -449,53 +337,6 @@ USART6: EXTMODULE_USART
|
||||
#define EXTI15_10_IRQ_Priority 9
|
||||
#endif
|
||||
|
||||
//ROTARY emulation for trims as buttons
|
||||
#define ROTARY_ENCODER_NAVIGATION
|
||||
// Rotary Encoder
|
||||
#define ROTARY_ENCODER_GPIO_A GPIOA
|
||||
#define ROTARY_ENCODER_GPIO_PIN_A LL_GPIO_PIN_6
|
||||
#define ROTARY_ENCODER_GPIO_B GPIOA
|
||||
#define ROTARY_ENCODER_GPIO_PIN_B LL_GPIO_PIN_7
|
||||
#define ROTARY_ENCODER_POSITION() (((ROTARY_ENCODER_GPIO_A->IDR >> 6) & 0x01)|((ROTARY_ENCODER_GPIO_B->IDR >> 6) & 0x02))
|
||||
#define ROTARY_ENCODER_EXTI_LINE1 LL_EXTI_LINE_6
|
||||
#define ROTARY_ENCODER_EXTI_LINE2 LL_EXTI_LINE_7
|
||||
#if !defined(USE_EXTI9_5_IRQ)
|
||||
#define USE_EXTI9_5_IRQ
|
||||
#define EXTI9_5_IRQ_Priority 9
|
||||
#endif
|
||||
#define ROTARY_ENCODER_EXTI_PORT_A LL_SYSCFG_EXTI_PORTA
|
||||
#define ROTARY_ENCODER_EXTI_PORT_B LL_SYSCFG_EXTI_PORTA
|
||||
#define ROTARY_ENCODER_EXTI_SYS_LINE1 LL_SYSCFG_EXTI_LINE6
|
||||
#define ROTARY_ENCODER_EXTI_SYS_LINE2 LL_SYSCFG_EXTI_LINE7
|
||||
#define ROTARY_ENCODER_TIMER TIM17
|
||||
#define ROTARY_ENCODER_TIMER_IRQn TIM17_IRQn
|
||||
#define ROTARY_ENCODER_TIMER_IRQHandler TIM17_IRQHandler
|
||||
|
||||
// Millisecond timer
|
||||
#define MS_TIMER TIM14
|
||||
#define MS_TIMER_IRQn TIM8_TRG_COM_TIM14_IRQn
|
||||
#define MS_TIMER_IRQHandler TIM8_TRG_COM_TIM14_IRQHandler
|
||||
|
||||
// Mixer scheduler timer
|
||||
#define MIXER_SCHEDULER_TIMER TIM12
|
||||
#define MIXER_SCHEDULER_TIMER_FREQ (PERI1_FREQUENCY * TIMER_MULT_APB1)
|
||||
#define MIXER_SCHEDULER_TIMER_IRQn TIM8_BRK_TIM12_IRQn
|
||||
#define MIXER_SCHEDULER_TIMER_IRQHandler TIM8_BRK_TIM12_IRQHandler
|
||||
|
||||
#define LANDSCAPE_LCD true
|
||||
#define PORTRAIT_LCD false
|
||||
#define LANDSCAPE_LCD_SML false
|
||||
#define LANDSCAPE_LCD_STD true
|
||||
#define LANDSCAPE_LCD_LRG false
|
||||
|
||||
#define LCD_W 480
|
||||
#define LCD_H 320
|
||||
|
||||
#define LCD_PHYS_W LCD_W
|
||||
#define LCD_PHYS_H LCD_H
|
||||
|
||||
#define LCD_DEPTH 16
|
||||
|
||||
#define LSE_DRIVE_STRENGTH RCC_LSEDRIVE_HIGH
|
||||
|
||||
#endif // _HAL_H_
|
||||
|
||||
@@ -59,12 +59,7 @@ TIM17: ROTARY_ENCODER_TIMER
|
||||
#ifndef _HAL_H_
|
||||
#define _HAL_H_
|
||||
|
||||
#define CPU_FREQ 480000000
|
||||
|
||||
#define PERI1_FREQUENCY 120000000
|
||||
#define PERI2_FREQUENCY 120000000
|
||||
#define TIMER_MULT_APB1 2
|
||||
#define TIMER_MULT_APB2 2
|
||||
#include "hal_settings.h"
|
||||
|
||||
#define ADC_VREF_PREC2 330
|
||||
|
||||
@@ -179,15 +174,6 @@ TIM17: ROTARY_ENCODER_TIMER
|
||||
#define I2C_B2_GPIO_AF LL_GPIO_AF_4
|
||||
#define I2C_B2_CLK_RATE 400000
|
||||
|
||||
// Haptic
|
||||
#define HAPTIC_PWM
|
||||
#define HAPTIC_GPIO GPIO_PIN(GPIOE, 6) // TIM15_CH2
|
||||
#define HAPTIC_GPIO_TIMER TIM15
|
||||
#define HAPTIC_GPIO_AF GPIO_AF4
|
||||
#define HAPTIC_TIMER_OUTPUT_ENABLE TIM_CCER_CC2E | TIM_CCER_CC2NE;
|
||||
#define HAPTIC_TIMER_MODE TIM_CCMR1_OC2M_1 | TIM_CCMR1_OC2M_2 | TIM_CCMR1_OC2PE
|
||||
#define HAPTIC_TIMER_COMPARE_VALUE HAPTIC_GPIO_TIMER->CCR2
|
||||
|
||||
// Flysky Hall Stick
|
||||
#define FLYSKY_HALL_SERIAL_USART USART3
|
||||
#define FLYSKY_HALL_SERIAL_TX_GPIO GPIO_PIN(GPIOB, 10)
|
||||
@@ -197,33 +183,6 @@ TIM17: ROTARY_ENCODER_TIMER
|
||||
#define FLYSKY_HALL_DMA_Stream_RX LL_DMA_STREAM_2
|
||||
#define FLYSKY_HALL_DMA_Channel LL_DMAMUX1_REQ_USART3_RX
|
||||
|
||||
// LED Strip
|
||||
#define LED_STRIP_LENGTH 7 // 6POS + 1 common (many leds in //)
|
||||
#define BLING_LED_STRIP_START 6
|
||||
#define BLING_LED_STRIP_LENGTH 1
|
||||
#define CFS_LED_STRIP_START 0
|
||||
#define CFS_LED_STRIP_LENGTH 6
|
||||
#define CFS_LEDS_PER_SWITCH 1
|
||||
#define LED_STRIP_GPIO GPIO_PIN(GPIOA, 10) // PA.00 / TIM1_CH3
|
||||
#define LED_STRIP_GPIO_AF LL_GPIO_AF_1 // TIM1_CH3
|
||||
#define LED_STRIP_TIMER TIM1
|
||||
#define LED_STRIP_TIMER_FREQ (PERI1_FREQUENCY * TIMER_MULT_APB1)
|
||||
#define LED_STRIP_TIMER_CHANNEL LL_TIM_CHANNEL_CH3
|
||||
#define LED_STRIP_TIMER_DMA DMA1
|
||||
#define LED_STRIP_TIMER_DMA_CHANNEL LL_DMAMUX1_REQ_TIM1_UP
|
||||
#define LED_STRIP_TIMER_DMA_STREAM LL_DMA_STREAM_0
|
||||
#define LED_STRIP_TIMER_DMA_IRQn DMA1_Stream0_IRQn
|
||||
#define LED_STRIP_TIMER_DMA_IRQHandler DMA1_Stream0_IRQHandler
|
||||
#define LED_STRIP_REFRESH_PERIOD 50 //ms
|
||||
|
||||
#define STATUS_LEDS
|
||||
#define GPIO_LED_GPIO_ON gpio_set
|
||||
#define GPIO_LED_GPIO_OFF gpio_clear
|
||||
#define LED_RED_GPIO GPIO_PIN(GPIOB, 15)
|
||||
#define LED_RED2_GPIO GPIO_PIN(GPIOJ, 12)
|
||||
#define LED_GREEN_GPIO GPIO_PIN(GPIOB, 13)
|
||||
#define LED_BLUE_GPIO GPIO_PIN(GPIOB, 12)
|
||||
|
||||
// Internal Module
|
||||
#define INTMODULE_PWR_GPIO GPIO_PIN(GPIOI, 1)
|
||||
#define INTMODULE_BOOTCMD_GPIO GPIO_PIN(GPIOD, 7)
|
||||
@@ -304,53 +263,6 @@ TIM17: ROTARY_ENCODER_TIMER
|
||||
#define EXTI15_10_IRQ_Priority 9
|
||||
#endif
|
||||
|
||||
//ROTARY emulation for trims as buttons
|
||||
#define ROTARY_ENCODER_NAVIGATION
|
||||
// Rotary Encoder
|
||||
#define ROTARY_ENCODER_GPIO_A GPIOA
|
||||
#define ROTARY_ENCODER_GPIO_PIN_A LL_GPIO_PIN_6
|
||||
#define ROTARY_ENCODER_GPIO_B GPIOA
|
||||
#define ROTARY_ENCODER_GPIO_PIN_B LL_GPIO_PIN_7
|
||||
#define ROTARY_ENCODER_POSITION() (((ROTARY_ENCODER_GPIO_A->IDR >> 6) & 0x01)|((ROTARY_ENCODER_GPIO_B->IDR >> 6) & 0x02))
|
||||
#define ROTARY_ENCODER_EXTI_LINE1 LL_EXTI_LINE_6
|
||||
#define ROTARY_ENCODER_EXTI_LINE2 LL_EXTI_LINE_7
|
||||
#if !defined(USE_EXTI9_5_IRQ)
|
||||
#define USE_EXTI9_5_IRQ
|
||||
#define EXTI9_5_IRQ_Priority 9
|
||||
#endif
|
||||
#define ROTARY_ENCODER_EXTI_PORT_A LL_SYSCFG_EXTI_PORTA
|
||||
#define ROTARY_ENCODER_EXTI_PORT_B LL_SYSCFG_EXTI_PORTA
|
||||
#define ROTARY_ENCODER_EXTI_SYS_LINE1 LL_SYSCFG_EXTI_LINE6
|
||||
#define ROTARY_ENCODER_EXTI_SYS_LINE2 LL_SYSCFG_EXTI_LINE7
|
||||
#define ROTARY_ENCODER_TIMER TIM17
|
||||
#define ROTARY_ENCODER_TIMER_IRQn TIM17_IRQn
|
||||
#define ROTARY_ENCODER_TIMER_IRQHandler TIM17_IRQHandler
|
||||
|
||||
// Millisecond timer
|
||||
#define MS_TIMER TIM14
|
||||
#define MS_TIMER_IRQn TIM8_TRG_COM_TIM14_IRQn
|
||||
#define MS_TIMER_IRQHandler TIM8_TRG_COM_TIM14_IRQHandler
|
||||
|
||||
// Mixer scheduler timer
|
||||
#define MIXER_SCHEDULER_TIMER TIM12
|
||||
#define MIXER_SCHEDULER_TIMER_FREQ (PERI1_FREQUENCY * TIMER_MULT_APB1)
|
||||
#define MIXER_SCHEDULER_TIMER_IRQn TIM8_BRK_TIM12_IRQn
|
||||
#define MIXER_SCHEDULER_TIMER_IRQHandler TIM8_BRK_TIM12_IRQHandler
|
||||
|
||||
#define LANDSCAPE_LCD true
|
||||
#define PORTRAIT_LCD false
|
||||
#define LANDSCAPE_LCD_SML false
|
||||
#define LANDSCAPE_LCD_STD true
|
||||
#define LANDSCAPE_LCD_LRG false
|
||||
|
||||
#define LCD_W 480
|
||||
#define LCD_H 320
|
||||
|
||||
#define LCD_PHYS_W LCD_W
|
||||
#define LCD_PHYS_H LCD_H
|
||||
|
||||
#define LCD_DEPTH 16
|
||||
|
||||
#define LSE_DRIVE_STRENGTH RCC_LSEDRIVE_HIGH
|
||||
|
||||
#endif // _HAL_H_
|
||||
@@ -41,7 +41,6 @@ if(PCB STREQUAL X9E)
|
||||
set(BITMAPS_TARGET taranis_bitmaps)
|
||||
set(FONTS_TARGET taranis_fonts)
|
||||
set(LCD_DRIVER lcd_driver_spi.cpp)
|
||||
set(STATUS_LEDS NO)
|
||||
set(BLUETOOTH YES)
|
||||
set(ROTARY_ENCODER YES)
|
||||
set(MODULE_SIZE_STD YES)
|
||||
@@ -64,7 +63,6 @@ elseif(PCB STREQUAL X9D+)
|
||||
set(CPU_TYPE_FULL STM32F407xE)
|
||||
set(PWR_BUTTON "PRESS" CACHE STRING "Pwr button type (PRESS/SWITCH)")
|
||||
add_definitions(-DSOFTWARE_VOLUME -DPWR_BUTTON_${PWR_BUTTON} -DHARDWARE_POWER_MANAGEMENT_UNIT)
|
||||
set(STATUS_LEDS YES)
|
||||
set(PXX2 ON)
|
||||
set(PXX_FREQUENCY "HIGH")
|
||||
set(BLUETOOTH YES)
|
||||
@@ -77,7 +75,6 @@ elseif(PCB STREQUAL X9D+)
|
||||
set(FLAVOUR x9d+)
|
||||
set(CPU_TYPE_FULL STM32F205xE)
|
||||
set(AUX_SERIAL ON)
|
||||
set(STATUS_LEDS NO)
|
||||
set(MODULE_SIZE_STD YES)
|
||||
endif()
|
||||
elseif(PCB STREQUAL X9D)
|
||||
@@ -92,7 +89,6 @@ elseif(PCB STREQUAL X9D)
|
||||
set(FONTS_TARGET taranis_fonts)
|
||||
set(LCD_DRIVER lcd_driver_aspi.cpp)
|
||||
set(AUX_SERIAL ON)
|
||||
set(STATUS_LEDS NO)
|
||||
add_definitions(-DMANUFACTURER_FRSKY)
|
||||
set(MODULE_SIZE_STD YES)
|
||||
elseif(PCB STREQUAL X7)
|
||||
@@ -103,7 +99,6 @@ elseif(PCB STREQUAL X7)
|
||||
set(BITMAPS_TARGET 9x_bitmaps)
|
||||
set(FONTS_TARGET 9x_fonts_1bit)
|
||||
set(LCD_DRIVER lcd_driver_spi.cpp)
|
||||
set(STATUS_LEDS YES)
|
||||
add_definitions(-DPCBX7 -DSOFTWARE_VOLUME)
|
||||
add_definitions(-DPWR_BUTTON_${PWR_BUTTON})
|
||||
if(PCBREV STREQUAL T12)
|
||||
@@ -429,7 +424,6 @@ elseif(PCB STREQUAL X9LITE)
|
||||
set(BITMAPS_TARGET 9x_bitmaps)
|
||||
set(FONTS_TARGET 9x_fonts_1bit)
|
||||
set(LCD_DRIVER lcd_driver_spi.cpp)
|
||||
set(STATUS_LEDS YES)
|
||||
set(ROTARY_ENCODER YES)
|
||||
add_definitions(-DMANUFACTURER_FRSKY)
|
||||
elseif(PCB STREQUAL X9LITES)
|
||||
@@ -449,7 +443,6 @@ elseif(PCB STREQUAL X9LITES)
|
||||
set(BITMAPS_TARGET 9x_bitmaps)
|
||||
set(FONTS_TARGET 9x_fonts_1bit)
|
||||
set(LCD_DRIVER lcd_driver_spi.cpp)
|
||||
set(STATUS_LEDS YES)
|
||||
set(BLUETOOTH YES)
|
||||
set(ROTARY_ENCODER YES)
|
||||
add_definitions(-DMANUFACTURER_FRSKY)
|
||||
@@ -470,7 +463,6 @@ elseif(PCB STREQUAL XLITE)
|
||||
set(BITMAPS_TARGET 9x_bitmaps)
|
||||
set(FONTS_TARGET 9x_fonts_1bit)
|
||||
set(LCD_DRIVER lcd_driver_spi.cpp)
|
||||
set(STATUS_LEDS YES)
|
||||
set(BLUETOOTH YES)
|
||||
add_definitions(-DMANUFACTURER_FRSKY)
|
||||
elseif(PCB STREQUAL XLITES)
|
||||
@@ -489,7 +481,6 @@ elseif(PCB STREQUAL XLITES)
|
||||
set(BITMAPS_TARGET 9x_bitmaps)
|
||||
set(FONTS_TARGET 9x_fonts_1bit)
|
||||
set(LCD_DRIVER lcd_driver_spi.cpp)
|
||||
set(STATUS_LEDS YES)
|
||||
set(PXX2 ON)
|
||||
set(BLUETOOTH YES)
|
||||
set(IMU YES)
|
||||
|
||||
@@ -163,7 +163,7 @@ void boardInit()
|
||||
pwrInit();
|
||||
boardInitModulePorts();
|
||||
|
||||
#if defined(STATUS_LEDS)
|
||||
#if STATUS_LEDS
|
||||
ledInit();
|
||||
#if !defined(POWER_LED_BLUE)
|
||||
ledBlue();
|
||||
@@ -201,7 +201,7 @@ void boardInit()
|
||||
if (getBatteryVoltage() >= 780) setFSLedON(3);
|
||||
if (getBatteryVoltage() >= 820) setFSLedON(4);
|
||||
if (getBatteryVoltage() >= 842) setFSLedON(5);
|
||||
#elif defined(STATUS_LEDS)
|
||||
#elif STATUS_LEDS
|
||||
// Use Status LED to indicate battery charge level instead
|
||||
if (getBatteryVoltage() <= 660) ledRed(); // low discharge
|
||||
else if (getBatteryVoltage() <= 842) ledBlue(); // charging
|
||||
@@ -290,7 +290,7 @@ void boardOff()
|
||||
rgbLedClearAll();
|
||||
#endif
|
||||
|
||||
#if defined(STATUS_LEDS) && !defined(BOOT)
|
||||
#if STATUS_LEDS && !defined(BOOT)
|
||||
ledOff();
|
||||
#endif
|
||||
|
||||
|
||||
@@ -181,7 +181,7 @@ void pwrResetHandler();
|
||||
#define pwrForcePressed() false
|
||||
|
||||
// Backlight driver
|
||||
#if defined(OLED_SCREEN)
|
||||
#if OLED_SCREEN
|
||||
#define BACKLIGHT_DISABLE() lcdSetRefVolt(0)
|
||||
#define BACKLIGHT_FORCED_ON 255
|
||||
#else
|
||||
@@ -199,7 +199,7 @@ bool isBacklightEnabled();
|
||||
void backlightEnable(uint8_t level, uint8_t color);
|
||||
#define BACKLIGHT_ENABLE() \
|
||||
backlightEnable(currentBacklightBright, g_eeGeneral.backlightColor)
|
||||
#elif defined(OLED_SCREEN)
|
||||
#elif OLED_SCREEN
|
||||
#define BACKLIGHT_ENABLE() lcdSetRefVolt(currentBacklightBright)
|
||||
#else
|
||||
void backlightEnable(uint8_t level);
|
||||
@@ -255,7 +255,7 @@ void ledBlue();
|
||||
#define LCD_CONTRAST_DEFAULT 25
|
||||
#else
|
||||
#define IS_LCD_RESET_NEEDED() true
|
||||
#if defined(OLED_SCREEN)
|
||||
#if OLED_SCREEN
|
||||
#define LCD_CONTRAST_MIN 2
|
||||
#define LCD_CONTRAST_MAX 254
|
||||
#else
|
||||
@@ -269,7 +269,7 @@ void ledBlue();
|
||||
#define LCD_BRIGHTNESS_DEFAULT 30
|
||||
#endif
|
||||
|
||||
#if defined(OLED_SCREEN)
|
||||
#if OLED_SCREEN
|
||||
#define LCD_CONTRAST_DEFAULT 254 // full brightness
|
||||
#elif defined(RADIO_TX12) || defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_MT12)
|
||||
#define LCD_CONTRAST_DEFAULT 20
|
||||
@@ -278,7 +278,7 @@ void ledBlue();
|
||||
#else
|
||||
#define LCD_CONTRAST_DEFAULT 15
|
||||
#endif
|
||||
#if defined(OLED_SCREEN)
|
||||
#if OLED_SCREEN
|
||||
// add offset 2px because driver (SH1106) of the 1.3 OLED is for a 132 display
|
||||
#define LCD_W_OFFSET 0x02
|
||||
#endif
|
||||
|
||||
@@ -21,25 +21,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#if defined(STM32F413xx)
|
||||
#define CPU_FREQ 100000000
|
||||
#define PERI1_FREQUENCY 50000000
|
||||
#define PERI2_FREQUENCY 100000000
|
||||
#define TIMER_MULT_APB1 1
|
||||
#define TIMER_MULT_APB2 1
|
||||
#elif defined(STM32F4)
|
||||
#define CPU_FREQ 168000000
|
||||
#define PERI1_FREQUENCY 42000000
|
||||
#define PERI2_FREQUENCY 84000000
|
||||
#define TIMER_MULT_APB1 2
|
||||
#define TIMER_MULT_APB2 2
|
||||
#else
|
||||
#define CPU_FREQ 120000000
|
||||
#define PERI1_FREQUENCY 30000000
|
||||
#define PERI2_FREQUENCY 60000000
|
||||
#define TIMER_MULT_APB1 2
|
||||
#define TIMER_MULT_APB2 2
|
||||
#endif
|
||||
#include "hal_settings.h"
|
||||
|
||||
#define TELEMETRY_EXTI_PRIO 0 // required for soft serial
|
||||
|
||||
@@ -58,7 +40,7 @@
|
||||
#define ROTARY_ENCODER_GPIO GPIOD
|
||||
#define ROTARY_ENCODER_GPIO_PIN_A LL_GPIO_PIN_12 // PD.12
|
||||
#define ROTARY_ENCODER_GPIO_PIN_B LL_GPIO_PIN_13 // PD.13
|
||||
#define ROTARY_ENCODER_POSITION() (ROTARY_ENCODER_GPIO->IDR >> 12) & 0x03
|
||||
#define ROTARY_ENCODER_POSITION (ROTARY_ENCODER_GPIO->IDR >> 12) & 0x03
|
||||
#define ROTARY_ENCODER_EXTI_LINE1 LL_EXTI_LINE_12
|
||||
#define ROTARY_ENCODER_EXTI_LINE2 LL_EXTI_LINE_13
|
||||
#define ROTARY_ENCODER_EXTI_PORT LL_SYSCFG_EXTI_PORTD
|
||||
@@ -74,7 +56,7 @@
|
||||
#define ROTARY_ENCODER_GPIO GPIOE
|
||||
#define ROTARY_ENCODER_GPIO_PIN_A LL_GPIO_PIN_10 // PE.10
|
||||
#define ROTARY_ENCODER_GPIO_PIN_B LL_GPIO_PIN_11 // PE.11
|
||||
#define ROTARY_ENCODER_POSITION() (((ROTARY_ENCODER_GPIO->IDR >> 9) & 0x02) + ((ROTARY_ENCODER_GPIO->IDR >> 11) & 0x01))
|
||||
#define ROTARY_ENCODER_POSITION (((ROTARY_ENCODER_GPIO->IDR >> 9) & 0x02) + ((ROTARY_ENCODER_GPIO->IDR >> 11) & 0x01))
|
||||
#define ROTARY_ENCODER_EXTI_LINE1 LL_EXTI_LINE_10
|
||||
#define ROTARY_ENCODER_EXTI_LINE2 LL_EXTI_LINE_11
|
||||
#define ROTARY_ENCODER_EXTI_PORT LL_SYSCFG_EXTI_PORTE
|
||||
@@ -90,7 +72,7 @@
|
||||
#define ROTARY_ENCODER_GPIO GPIOE
|
||||
#define ROTARY_ENCODER_GPIO_PIN_A LL_GPIO_PIN_9 // PE.09
|
||||
#define ROTARY_ENCODER_GPIO_PIN_B LL_GPIO_PIN_11 // PE.11
|
||||
#define ROTARY_ENCODER_POSITION() (((ROTARY_ENCODER_GPIO->IDR >> 10) & 0x02) + ((ROTARY_ENCODER_GPIO->IDR >> 9) & 0x01))
|
||||
#define ROTARY_ENCODER_POSITION (((ROTARY_ENCODER_GPIO->IDR >> 10) & 0x02) + ((ROTARY_ENCODER_GPIO->IDR >> 9) & 0x01))
|
||||
#define ROTARY_ENCODER_EXTI_LINE1 LL_EXTI_LINE_9
|
||||
#define ROTARY_ENCODER_EXTI_LINE2 LL_EXTI_LINE_11
|
||||
// ROTARY_ENCODER_EXTI_LINE1 IRQ
|
||||
@@ -111,7 +93,7 @@
|
||||
#define ROTARY_ENCODER_GPIO GPIOE
|
||||
#define ROTARY_ENCODER_GPIO_PIN_A LL_GPIO_PIN_10 // PE.10
|
||||
#define ROTARY_ENCODER_GPIO_PIN_B LL_GPIO_PIN_12 // PE.12
|
||||
#define ROTARY_ENCODER_POSITION() (((ROTARY_ENCODER_GPIO->IDR >> 12) & 0x01) + ((ROTARY_ENCODER_GPIO->IDR >> 9) & 0x02))
|
||||
#define ROTARY_ENCODER_POSITION (((ROTARY_ENCODER_GPIO->IDR >> 12) & 0x01) + ((ROTARY_ENCODER_GPIO->IDR >> 9) & 0x02))
|
||||
#define ROTARY_ENCODER_EXTI_LINE1 LL_EXTI_LINE_10
|
||||
#define ROTARY_ENCODER_EXTI_LINE2 LL_EXTI_LINE_12
|
||||
#define ROTARY_ENCODER_EXTI_PORT LL_SYSCFG_EXTI_PORTE
|
||||
@@ -127,7 +109,7 @@
|
||||
#define ROTARY_ENCODER_GPIO GPIOE
|
||||
#define ROTARY_ENCODER_GPIO_PIN_A LL_GPIO_PIN_9 // PE.9
|
||||
#define ROTARY_ENCODER_GPIO_PIN_B LL_GPIO_PIN_10 // PE.10
|
||||
#define ROTARY_ENCODER_POSITION() ((ROTARY_ENCODER_GPIO->IDR >> 9) & 0x03)
|
||||
#define ROTARY_ENCODER_POSITION ((ROTARY_ENCODER_GPIO->IDR >> 9) & 0x03)
|
||||
#define ROTARY_ENCODER_EXTI_LINE1 LL_EXTI_LINE_9
|
||||
#define ROTARY_ENCODER_EXTI_LINE2 LL_EXTI_LINE_10
|
||||
#define ROTARY_ENCODER_EXTI_PORT LL_SYSCFG_EXTI_PORTE
|
||||
@@ -246,158 +228,6 @@
|
||||
#define PWR_ON_GPIO GPIO_PIN(GPIOD, 0) // PD.00
|
||||
#endif
|
||||
|
||||
#if defined(RADIO_X9DP2019)
|
||||
#define STATUS_LEDS
|
||||
#define GPIO_LED_GPIO_ON gpio_clear
|
||||
#define GPIO_LED_GPIO_OFF gpio_set
|
||||
#define LED_RED_GPIO GPIO_PIN(GPIOA, 13)
|
||||
#elif defined(PCBXLITES)
|
||||
#define STATUS_LEDS
|
||||
#define GPIO_LED_GPIO_ON gpio_clear
|
||||
#define GPIO_LED_GPIO_OFF gpio_set
|
||||
#define LED_RED_GPIO GPIO_PIN(GPIOE, 4) // PE.04
|
||||
#define LED_BLUE_GPIO GPIO_PIN(GPIOE, 6) // PE.06
|
||||
#elif defined(PCBXLITE)
|
||||
#define STATUS_LEDS
|
||||
#define GPIO_LED_GPIO_ON gpio_clear
|
||||
#define GPIO_LED_GPIO_OFF gpio_set
|
||||
#define LED_GREEN_GPIO GPIO_PIN(GPIOE, 5) // PE.05
|
||||
#define LED_RED_GPIO GPIO_PIN(GPIOE, 4) // PE.04
|
||||
#define LED_BLUE_GPIO GPIO_PIN(GPIOE, 6) // PE.06
|
||||
#elif defined(PCBX7ACCESS)
|
||||
#define STATUS_LEDS
|
||||
#define GPIO_LED_GPIO_ON gpio_set
|
||||
#define GPIO_LED_GPIO_OFF gpio_clear
|
||||
#define LED_BLUE_GPIO GPIO_PIN(GPIOB, 1) // PB.01
|
||||
#define LED_RED_GPIO GPIO_PIN(GPIOC, 4) // PC.04
|
||||
#elif defined(RADIO_T8)
|
||||
#define STATUS_LEDS
|
||||
#define GPIO_LED_GPIO_ON gpio_set
|
||||
#define GPIO_LED_GPIO_OFF gpio_clear
|
||||
#define LED_GREEN_GPIO GPIO_PIN(GPIOB, 1) // PB.01
|
||||
#define LED_RED_GPIO GPIO_PIN(GPIOC, 4) // PC.04
|
||||
#define LED_BLUE_GPIO GPIO_PIN(GPIOC, 5) // PC.05
|
||||
#elif defined(RADIO_COMMANDO8)
|
||||
#define STATUS_LEDS
|
||||
#define GPIO_LED_GPIO_ON gpio_set
|
||||
#define GPIO_LED_GPIO_OFF gpio_clear
|
||||
#define LED_GREEN_GPIO GPIO_PIN(GPIOC, 0) // PC.00
|
||||
#define LED_RED_GPIO GPIO_PIN(GPIOC, 2) // PC.02
|
||||
#define LED_BLUE_GPIO GPIO_PIN(GPIOC, 1) // PC.01
|
||||
#elif defined(RADIO_ZORRO) || defined(RADIO_POCKET)
|
||||
#define STATUS_LEDS
|
||||
#define GPIO_LED_GPIO_ON gpio_set
|
||||
#define GPIO_LED_GPIO_OFF gpio_clear
|
||||
#define LED_GREEN_GPIO GPIO_PIN(GPIOE, 2) // PE.02
|
||||
#define LED_RED_GPIO GPIO_PIN(GPIOE, 13) // PE.13
|
||||
#define LED_BLUE_GPIO GPIO_PIN(GPIOA, 7) // PA.07
|
||||
#elif defined(RADIO_T14) || defined(RADIO_T12MAX) || defined(RADIO_TPROS)
|
||||
#define STATUS_LEDS
|
||||
#define GPIO_LED_GPIO_ON gpio_set
|
||||
#define GPIO_LED_GPIO_OFF gpio_clear
|
||||
#define LED_RED_GPIO GPIO_PIN(GPIOE, 2) // PE.02
|
||||
#define LED_BLUE_GPIO GPIO_PIN(GPIOE, 13) // PE.13
|
||||
#define LED_GREEN_GPIO GPIO_PIN(GPIOA, 7) // PA.07
|
||||
#elif defined(RADIO_TLITE) || defined(RADIO_TPRO) || defined(RADIO_TPROV2) || defined(RADIO_TX12)
|
||||
#define STATUS_LEDS
|
||||
#define GPIO_LED_GPIO_ON gpio_set
|
||||
#define GPIO_LED_GPIO_OFF gpio_clear
|
||||
#define LED_GREEN_GPIO GPIO_PIN(GPIOB, 1) // PB.01
|
||||
#define LED_RED_GPIO GPIO_PIN(GPIOC, 5) // PC.05
|
||||
#define LED_BLUE_GPIO GPIO_PIN(GPIOC, 4) // PC.04
|
||||
#elif defined(RADIO_FAMILY_T20) || defined(RADIO_BUMBLEBEE)
|
||||
#define STATUS_LEDS
|
||||
#define GPIO_LED_GPIO_ON gpio_set
|
||||
#define GPIO_LED_GPIO_OFF gpio_clear
|
||||
#define LED_GREEN_GPIO GPIO_PIN(GPIOG, 1) // PG.01
|
||||
#define LED_RED_GPIO GPIO_PIN(GPIOC, 5) // PC.05
|
||||
#define LED_BLUE_GPIO GPIO_PIN(GPIOC, 4) // PC.04
|
||||
#elif defined(RADIO_TX12MK2) || defined(RADIO_BOXER) || defined(RADIO_MT12) || defined(RADIO_GX12)
|
||||
#define STATUS_LEDS
|
||||
#define GPIO_LED_GPIO_ON gpio_set
|
||||
#define GPIO_LED_GPIO_OFF gpio_clear
|
||||
#define LED_GREEN_GPIO GPIO_PIN(GPIOA, 7) // PA.07
|
||||
#define LED_RED_GPIO GPIO_PIN(GPIOE, 13) // PE.13
|
||||
#define LED_BLUE_GPIO GPIO_PIN(GPIOE, 2) // PE.02
|
||||
#elif defined(RADIO_V14) || defined(RADIO_V12)
|
||||
#define STATUS_LEDS
|
||||
#define GPIO_LED_GPIO_ON gpio_set
|
||||
#define GPIO_LED_GPIO_OFF gpio_clear
|
||||
#define LED_GREEN_GPIO GPIO_PIN(GPIOE, 14) // PE.14
|
||||
#define LED_RED_GPIO GPIO_PIN(GPIOE, 13) // PE.13
|
||||
#define LED_BLUE_GPIO GPIO_PIN(GPIOE, 2) // PE.02
|
||||
#elif defined(PCBX7)
|
||||
#define STATUS_LEDS
|
||||
#define GPIO_LED_GPIO_ON gpio_set
|
||||
#define GPIO_LED_GPIO_OFF gpio_clear
|
||||
#define LED_GREEN_GPIO GPIO_PIN(GPIOC, 4) // PC.04
|
||||
#define LED_RED_GPIO GPIO_PIN(GPIOC, 5) // PC.05
|
||||
#define LED_BLUE_GPIO GPIO_PIN(GPIOB, 1) // PB.01
|
||||
#elif defined(PCBX9LITES)
|
||||
#define STATUS_LEDS
|
||||
#define GPIO_LED_GPIO_ON gpio_set
|
||||
#define GPIO_LED_GPIO_OFF gpio_clear
|
||||
#define LED_RED_GPIO GPIO_PIN(GPIOE, 5) // PE.05
|
||||
#define LED_BLUE_GPIO GPIO_PIN(GPIOE, 6) // PE.06
|
||||
#elif defined(PCBX9LITE)
|
||||
#define STATUS_LEDS
|
||||
#define GPIO_LED_GPIO_ON gpio_set
|
||||
#define GPIO_LED_GPIO_OFF gpio_clear
|
||||
#define LED_GREEN_GPIO GPIO_PIN(GPIOE, 4) // PE.04
|
||||
#define LED_RED_GPIO GPIO_PIN(GPIOE, 5) // PE.05
|
||||
#define LED_BLUE_GPIO GPIO_PIN(GPIOE, 6) // PE.06
|
||||
#endif
|
||||
|
||||
// LED Strip
|
||||
#if defined(RGBLEDS)
|
||||
#if defined(RADIO_GX12)
|
||||
#define LED_STRIP_LENGTH 8
|
||||
#define BLING_LED_STRIP_START 0
|
||||
#define BLING_LED_STRIP_LENGTH 0
|
||||
#define CFS_LED_STRIP_START 0
|
||||
#define CFS_LED_STRIP_LENGTH 8
|
||||
#define CFS_LEDS_PER_SWITCH 1
|
||||
#else
|
||||
#define LED_STRIP_LENGTH 7
|
||||
#define BLING_LED_STRIP_START 0
|
||||
#define BLING_LED_STRIP_LENGTH 7
|
||||
#endif
|
||||
#define LED_STRIP_GPIO GPIO_PIN(GPIOA, 8) // PA.08 / TIM1_CH1
|
||||
#define LED_STRIP_GPIO_AF LL_GPIO_AF_1 // TIM1 / TIM2
|
||||
#define LED_STRIP_TIMER TIM1
|
||||
#define LED_STRIP_TIMER_FREQ (PERI2_FREQUENCY * TIMER_MULT_APB2)
|
||||
#define LED_STRIP_TIMER_CHANNEL LL_TIM_CHANNEL_CH1
|
||||
#define LED_STRIP_TIMER_DMA DMA2
|
||||
#define LED_STRIP_TIMER_DMA_CHANNEL LL_DMA_CHANNEL_6
|
||||
#define LED_STRIP_TIMER_DMA_STREAM LL_DMA_STREAM_5
|
||||
#define LED_STRIP_TIMER_DMA_IRQn DMA2_Stream5_IRQn
|
||||
#define LED_STRIP_TIMER_DMA_IRQHandler DMA2_Stream5_IRQHandler
|
||||
#define LED_STRIP_REFRESH_PERIOD 50 //ms
|
||||
#elif defined(RADIO_T14) || defined(RADIO_V14) || defined(RADIO_V12)
|
||||
#if defined(RADIO_V14)
|
||||
#define LED_STRIP_LENGTH 38
|
||||
#define BLING_LED_STRIP_START 6
|
||||
#define BLING_LED_STRIP_LENGTH 32
|
||||
#elif defined(RADIO_V12)
|
||||
#define LED_STRIP_LENGTH 6 // 6POS switches only?
|
||||
#else
|
||||
#define LED_STRIP_LENGTH 1
|
||||
#define BLING_LED_STRIP_START 0
|
||||
#define BLING_LED_STRIP_LENGTH 1
|
||||
#endif
|
||||
#define LED_STRIP_GPIO GPIO_PIN(GPIOA, 10) // PA.10 / TIM1_CH3
|
||||
#define LED_STRIP_GPIO_AF LL_GPIO_AF_1
|
||||
#define LED_STRIP_TIMER TIM1
|
||||
#define LED_STRIP_TIMER_FREQ (PERI2_FREQUENCY * TIMER_MULT_APB2)
|
||||
#define LED_STRIP_TIMER_CHANNEL LL_TIM_CHANNEL_CH3
|
||||
#define LED_STRIP_TIMER_DMA DMA2
|
||||
#define LED_STRIP_TIMER_DMA_CHANNEL LL_DMA_CHANNEL_6
|
||||
#define LED_STRIP_TIMER_DMA_STREAM LL_DMA_STREAM_5
|
||||
#define LED_STRIP_TIMER_DMA_IRQn DMA2_Stream5_IRQn
|
||||
#define LED_STRIP_TIMER_DMA_IRQHandler DMA2_Stream5_IRQHandler
|
||||
#define LED_STRIP_REFRESH_PERIOD 50 //ms
|
||||
#endif
|
||||
|
||||
#if defined(FUNCTION_SWITCHES)
|
||||
#if defined(RADIO_BUMBLEBEE)
|
||||
#define GPIO_FSLED_GPIO_ON GPIO_SetBits
|
||||
@@ -950,13 +780,6 @@
|
||||
#endif
|
||||
|
||||
// LCD driver
|
||||
#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_TPROS) || defined(RADIO_FAMILY_T20) || defined(RADIO_MT12) || defined(RADIO_T12MAX) || defined(RADIO_V12) || defined(RADIO_BUMBLEBEE)
|
||||
#define LCD_VERTICAL_INVERT
|
||||
#endif
|
||||
#if defined(RADIO_LR3PRO) || defined(RADIO_TPROV2) || defined(RADIO_TPROS) || defined(RADIO_FAMILY_T20) || defined(RADIO_T14) || defined(RADIO_BUMBLEBEE) || defined(RADIO_GX12) || defined(RADIO_V14)
|
||||
#define LCD_HORIZONTAL_INVERT
|
||||
#define OLED_SCREEN
|
||||
#endif
|
||||
#if defined(RADIO_T14) || defined(RADIO_GX12) || defined(RADIO_V14)
|
||||
#define SSD1309_LCD
|
||||
#endif
|
||||
@@ -1152,39 +975,6 @@
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// Haptic
|
||||
#if defined(PCBXLITE) || defined(PCBX9LITE) || defined(RADIO_ZORRO) || defined(RADIO_POCKET) || defined(RADIO_TX12MK2)|| defined(RADIO_BOXER) || defined(RADIO_MT12) || defined(RADIO_T20V2) || defined(RADIO_T14) || defined(RADIO_T12MAX) || defined(RADIO_TPROS) || defined(RADIO_V14) || defined(RADIO_V12) || defined(RADIO_BUMBLEBEE) || defined(RADIO_GX12)
|
||||
#define HAPTIC_PWM
|
||||
#define HAPTIC_GPIO GPIO_PIN(GPIOB, 3) // PB.03
|
||||
#define HAPTIC_GPIO_AF GPIO_AF1
|
||||
#define HAPTIC_TIMER TIM2 // Timer 2 Channel1
|
||||
#define HAPTIC_TIMER_FREQ (PERI1_FREQUENCY * TIMER_MULT_APB1)
|
||||
#define HAPTIC_COUNTER_REGISTER HAPTIC_TIMER->CCR2
|
||||
#define HAPTIC_CCMR1 TIM_CCMR1_OC2M_1 | TIM_CCMR1_OC2M_2
|
||||
#define HAPTIC_CCER TIM_CCER_CC2E
|
||||
#define BACKLIGHT_BDTR TIM_BDTR_MOE
|
||||
#elif defined(RADIO_X9DP2019) || defined(RADIO_X7ACCESS)
|
||||
#define HAPTIC_PWM
|
||||
#define HAPTIC_GPIO GPIO_PIN(GPIOA, 10) // PA.10
|
||||
#define HAPTIC_GPIO_AF GPIO_AF1
|
||||
#define HAPTIC_TIMER TIM1 // Timer1 Channel3
|
||||
#define HAPTIC_TIMER_FREQ (PERI2_FREQUENCY * TIMER_MULT_APB2)
|
||||
#define HAPTIC_COUNTER_REGISTER HAPTIC_TIMER->CCR3
|
||||
#define HAPTIC_CCMR2 TIM_CCMR2_OC3M_1 | TIM_CCMR2_OC3M_2
|
||||
#define HAPTIC_CCER TIM_CCER_CC3E
|
||||
#elif defined(PCBX9E) || defined(PCBX9DP) || defined(PCBX7)
|
||||
#define HAPTIC_PWM
|
||||
#define HAPTIC_GPIO GPIO_PIN(GPIOB, 8) // PB.08
|
||||
#define HAPTIC_GPIO_AF GPIO_AF3
|
||||
#define HAPTIC_TIMER TIM10 // Timer 10 Channel1
|
||||
#define HAPTIC_TIMER_FREQ (PERI2_FREQUENCY * TIMER_MULT_APB2)
|
||||
#define HAPTIC_COUNTER_REGISTER HAPTIC_TIMER->CCR1
|
||||
#define HAPTIC_CCMR1 TIM_CCMR1_OC1M_1 | TIM_CCMR1_OC1M_2
|
||||
#define HAPTIC_CCER TIM_CCER_CC1E
|
||||
#else
|
||||
#define HAPTIC_GPIO GPIO_PIN(GPIOC, 12) // PC.12
|
||||
#endif
|
||||
|
||||
#if defined(RADIO_BOXER) || defined(RADIO_FAMILY_T20) || defined(RADIO_X9DP2019) || defined (RADIO_V14) || defined(RADIO_GX12)
|
||||
// Flysky Hall Stick
|
||||
#define FLYSKY_HALL_SERIAL_USART UART4
|
||||
@@ -1256,29 +1046,3 @@
|
||||
#define STORAGE_BLUETOOTH
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// Millisecond timer
|
||||
#define MS_TIMER TIM14
|
||||
#define MS_TIMER_IRQn TIM8_TRG_COM_TIM14_IRQn
|
||||
#define MS_TIMER_IRQHandler TIM8_TRG_COM_TIM14_IRQHandler
|
||||
|
||||
// Mixer scheduler timer
|
||||
#define MIXER_SCHEDULER_TIMER TIM12
|
||||
#define MIXER_SCHEDULER_TIMER_FREQ (PERI1_FREQUENCY * TIMER_MULT_APB1)
|
||||
#define MIXER_SCHEDULER_TIMER_IRQn TIM8_BRK_TIM12_IRQn
|
||||
#define MIXER_SCHEDULER_TIMER_IRQHandler TIM8_BRK_TIM12_IRQHandler
|
||||
|
||||
// LCD driver
|
||||
#if defined(PCBX9D) || defined(PCBX9DP) || defined(PCBX9E)
|
||||
#define LCD_W 212
|
||||
#define LCD_H 64
|
||||
#define LCD_DEPTH 4
|
||||
#else
|
||||
#define LCD_W 128
|
||||
#define LCD_H 64
|
||||
#define LCD_DEPTH 1
|
||||
#endif
|
||||
|
||||
#if defined(PCBX9DP) || defined(PCBX9E)
|
||||
#define HAS_BACKLIGHT_COLOR
|
||||
#endif
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
#include "edgetx.h"
|
||||
#endif
|
||||
|
||||
#if defined(OLED_SCREEN)
|
||||
#if OLED_SCREEN
|
||||
#define LCD_CONTRAST_OFFSET 0
|
||||
#elif defined(RADIO_FAMILY_JUMPER_T12) || defined(MANUFACTURER_RADIOMASTER) || defined(RADIO_COMMANDO8) || defined(RADIO_TPRO) || defined(RADIO_T12MAX) || defined(RADIO_V12) || defined(RADIO_V14)
|
||||
#define LCD_CONTRAST_OFFSET -10
|
||||
@@ -158,7 +158,7 @@ void lcdStart()
|
||||
gpio_set(OLED_VCC_CS);
|
||||
#endif
|
||||
#else
|
||||
#if defined(LCD_VERTICAL_INVERT)
|
||||
#if LCD_VERTICAL_INVERT
|
||||
// T12 and TX12 have the screen inverted.
|
||||
#if defined(RADIO_V12)
|
||||
lcdWriteCommand(0xe2); // (14) Soft reset
|
||||
@@ -174,7 +174,7 @@ void lcdStart()
|
||||
lcdWriteCommand(0xa6); // Set display mode
|
||||
#else
|
||||
lcdWriteCommand(0xe2); // (14) Soft reset
|
||||
#if defined(LCD_HORIZONTAL_INVERT)
|
||||
#if LCD_HORIZONTAL_INVERT
|
||||
lcdWriteCommand(0xa1); // Set seg
|
||||
#else
|
||||
lcdWriteCommand(0xa0); // Set seg
|
||||
@@ -295,7 +295,7 @@ void lcdRefresh(bool wait)
|
||||
#else
|
||||
lcdWriteCommand(0x10); // Column addr 0
|
||||
lcdWriteCommand(0xB0 | y); // Page addr y
|
||||
#if !defined(LCD_VERTICAL_INVERT)
|
||||
#if !LCD_VERTICAL_INVERT
|
||||
lcdWriteCommand(0x04);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -65,12 +65,7 @@ SAI1_Block_A: PDM_CLOCK (1 MHz bit-clock output on SAI1_CK1 / PE5, !FLYSKY_GIMBA
|
||||
#ifndef _HAL_H_
|
||||
#define _HAL_H_
|
||||
|
||||
#define CPU_FREQ 480000000
|
||||
|
||||
#define PERI1_FREQUENCY 120000000
|
||||
#define PERI2_FREQUENCY 120000000
|
||||
#define TIMER_MULT_APB1 2
|
||||
#define TIMER_MULT_APB2 2
|
||||
#include "hal_settings.h"
|
||||
|
||||
// Expanders
|
||||
#define IO_INT_GPIO GPIO_PIN(GPIOD, 3)
|
||||
@@ -136,22 +131,12 @@ SAI1_Block_A: PDM_CLOCK (1 MHz bit-clock output on SAI1_CK1 / PE5, !FLYSKY_GIMBA
|
||||
#define LCD_SPI_MOSI_GPIO GPIOI
|
||||
#define LCD_SPI_MOSI_GPIO_PIN LL_GPIO_PIN_9
|
||||
|
||||
#define LTDC_IRQ_PRIO 4
|
||||
#define DMA_SCREEN_IRQ_PRIO 6
|
||||
|
||||
#define LCD_RESET_GPIO GPIOJ
|
||||
#define LCD_RESET_GPIO_PIN LL_GPIO_PIN_12
|
||||
|
||||
#define LCD_TE_GPIO GPIOI
|
||||
#define LCD_TE_GPIO_PIN LL_GPIO_PIN_4
|
||||
|
||||
// Backlight
|
||||
#define BACKLIGHT_GPIO GPIO_PIN(GPIOA, 10) // TIM1_CH3
|
||||
#define BACKLIGHT_TIMER TIM1
|
||||
#define BACKLIGHT_TIMER_CHANNEL LL_TIM_CHANNEL_CH3
|
||||
#define BACKLIGHT_GPIO_AF GPIO_AF1
|
||||
#define BACKLIGHT_TIMER_FREQ (PERI1_FREQUENCY * TIMER_MULT_APB1)
|
||||
|
||||
// QSPI Flash
|
||||
#define QSPI_CLK_GPIO GPIO_PIN(GPIOF, 10)
|
||||
#define QSPI_CLK_GPIO_AF GPIO_AF9
|
||||
@@ -231,41 +216,6 @@ SAI1_Block_A: PDM_CLOCK (1 MHz bit-clock output on SAI1_CK1 / PE5, !FLYSKY_GIMBA
|
||||
#define I2C_B1_GPIO_AF LL_GPIO_AF_4
|
||||
#define I2C_B1_CLK_RATE 400000
|
||||
|
||||
// Haptic: TIM3_CH2
|
||||
#define HAPTIC_PWM
|
||||
#define HAPTIC_GPIO GPIO_PIN(GPIOC, 7)
|
||||
#define HAPTIC_GPIO_TIMER TIM3
|
||||
#define HAPTIC_GPIO_AF GPIO_AF2
|
||||
#define HAPTIC_TIMER_OUTPUT_ENABLE TIM_CCER_CC2E | TIM_CCER_CC2NE;
|
||||
#define HAPTIC_TIMER_MODE TIM_CCMR1_OC2M_1 | TIM_CCMR1_OC2M_2 | TIM_CCMR1_OC2PE
|
||||
#define HAPTIC_TIMER_COMPARE_VALUE HAPTIC_GPIO_TIMER->CCR2
|
||||
|
||||
// LED Strip
|
||||
#define LED_STRIP_LENGTH 26 // 6POS + 2 rings of 10
|
||||
#define BLING_LED_STRIP_START 6
|
||||
#define BLING_LED_STRIP_LENGTH 20
|
||||
#define CFS_LED_STRIP_START 0
|
||||
#define CFS_LED_STRIP_LENGTH 6
|
||||
#define CFS_LEDS_PER_SWITCH 1
|
||||
#define LED_STRIP_GPIO GPIO_PIN(GPIOA, 0) // PA.00 / TIM2_CH1
|
||||
#define LED_STRIP_GPIO_AF LL_GPIO_AF_1 // TIM1/2/16/17
|
||||
#define LED_STRIP_TIMER TIM2
|
||||
#define LED_STRIP_TIMER_FREQ (PERI1_FREQUENCY * TIMER_MULT_APB1)
|
||||
#define LED_STRIP_TIMER_CHANNEL LL_TIM_CHANNEL_CH1
|
||||
#define LED_STRIP_TIMER_DMA DMA1
|
||||
#define LED_STRIP_TIMER_DMA_CHANNEL LL_DMAMUX1_REQ_TIM2_UP
|
||||
#define LED_STRIP_TIMER_DMA_STREAM LL_DMA_STREAM_0
|
||||
#define LED_STRIP_TIMER_DMA_IRQn DMA1_Stream0_IRQn
|
||||
#define LED_STRIP_TIMER_DMA_IRQHandler DMA1_Stream0_IRQHandler
|
||||
#define LED_STRIP_REFRESH_PERIOD 50 //ms
|
||||
|
||||
#define STATUS_LEDS
|
||||
#define GPIO_LED_GPIO_ON gpio_set
|
||||
#define GPIO_LED_GPIO_OFF gpio_clear
|
||||
#define LED_RED_GPIO GPIO_PIN(GPIOI, 8) // PI.08
|
||||
#define LED_GREEN_GPIO GPIO_PIN(GPIOI, 11) // PI.11
|
||||
#define LED_BLUE_GPIO GPIO_PIN(GPIOI, 10) // PI.10
|
||||
|
||||
// Internal Module
|
||||
#define INTMODULE_PWR_GPIO GPIO_PIN(GPIOB, 13) // PB.13
|
||||
#define INTMODULE_BOOTCMD_GPIO GPIO_PIN(GPIOH, 9) // PH.09
|
||||
@@ -399,71 +349,6 @@ SAI1_Block_A: PDM_CLOCK (1 MHz bit-clock output on SAI1_CK1 / PE5, !FLYSKY_GIMBA
|
||||
#define EXTI2_IRQ_Priority 9
|
||||
#endif
|
||||
|
||||
// IMU
|
||||
#define IMU_I2C_BUS I2C_Bus_1
|
||||
#define IMU_INT_GPIO GPIO_PIN(GPIOG, 13) // PG.13
|
||||
#define IMU_INVERT_X // X axis mounted reversed (default, user-overridable)
|
||||
#define IMU_INVERT_Y // Y axis mounted reversed (default, user-overridable)
|
||||
|
||||
// IMU_INT_EXTI IRQ
|
||||
#if !defined(USE_EXTI15_10_IRQ)
|
||||
#define USE_EXTI15_10_IRQ
|
||||
#define EXTI15_10_IRQ_Priority 6
|
||||
#endif
|
||||
|
||||
|
||||
//ROTARY emulation for trims as buttons
|
||||
#define ROTARY_ENCODER_NAVIGATION
|
||||
// Rotary Encoder
|
||||
#define ROTARY_ENCODER_INVERTED
|
||||
#define ROTARY_ENCODER_GPIO_A GPIOI
|
||||
#define ROTARY_ENCODER_GPIO_PIN_A LL_GPIO_PIN_7
|
||||
#define ROTARY_ENCODER_GPIO_B GPIOJ
|
||||
#define ROTARY_ENCODER_GPIO_PIN_B LL_GPIO_PIN_8
|
||||
#define ROTARY_ENCODER_POSITION() (((ROTARY_ENCODER_GPIO_A->IDR >> 7) & 0x01)|((ROTARY_ENCODER_GPIO_B->IDR >> 7) & 0x02))
|
||||
#define ROTARY_ENCODER_EXTI_LINE1 LL_EXTI_LINE_7
|
||||
#define ROTARY_ENCODER_EXTI_LINE2 LL_EXTI_LINE_8
|
||||
#if !defined(USE_EXTI7_IRQ)
|
||||
#define USE_EXTI7_IRQ
|
||||
#define EXTI7_IRQ_Priority 5
|
||||
#endif
|
||||
#if !defined(USE_EXTI8_IRQ)
|
||||
#define USE_EXTI8_IRQ
|
||||
#define EXTI8_IRQ_Priority 5
|
||||
#endif
|
||||
#define ROTARY_ENCODER_EXTI_PORT_A LL_SYSCFG_EXTI_PORTI
|
||||
#define ROTARY_ENCODER_EXTI_PORT_B LL_SYSCFG_EXTI_PORTJ
|
||||
#define ROTARY_ENCODER_EXTI_SYS_LINE1 LL_SYSCFG_EXTI_LINE7
|
||||
#define ROTARY_ENCODER_EXTI_SYS_LINE2 LL_SYSCFG_EXTI_LINE8
|
||||
#define ROTARY_ENCODER_TIMER TIM17
|
||||
#define ROTARY_ENCODER_TIMER_IRQn TIM17_IRQn
|
||||
#define ROTARY_ENCODER_TIMER_IRQHandler TIM17_IRQHandler
|
||||
|
||||
// Millisecond timer
|
||||
#define MS_TIMER TIM14
|
||||
#define MS_TIMER_IRQn TIM8_TRG_COM_TIM14_IRQn
|
||||
#define MS_TIMER_IRQHandler TIM8_TRG_COM_TIM14_IRQHandler
|
||||
|
||||
// Mixer scheduler timer
|
||||
#define MIXER_SCHEDULER_TIMER TIM12
|
||||
#define MIXER_SCHEDULER_TIMER_FREQ (PERI1_FREQUENCY * TIMER_MULT_APB1)
|
||||
#define MIXER_SCHEDULER_TIMER_IRQn TIM8_BRK_TIM12_IRQn
|
||||
#define MIXER_SCHEDULER_TIMER_IRQHandler TIM8_BRK_TIM12_IRQHandler
|
||||
|
||||
#define LANDSCAPE_LCD true
|
||||
#define PORTRAIT_LCD false
|
||||
#define LANDSCAPE_LCD_SML false
|
||||
#define LANDSCAPE_LCD_STD true
|
||||
#define LANDSCAPE_LCD_LRG false
|
||||
|
||||
#define LCD_W 480
|
||||
#define LCD_H 320
|
||||
|
||||
#define LCD_PHYS_W LCD_H
|
||||
#define LCD_PHYS_H LCD_W
|
||||
|
||||
#define LCD_DEPTH 16
|
||||
|
||||
#define LSE_DRIVE_STRENGTH RCC_LSEDRIVE_HIGH
|
||||
|
||||
#endif // _HAL_H_
|
||||
|
||||
@@ -72,12 +72,7 @@ USART6: INTMODULE_USART
|
||||
#ifndef _HAL_H_
|
||||
#define _HAL_H_
|
||||
|
||||
#define CPU_FREQ 480000000
|
||||
|
||||
#define PERI1_FREQUENCY 120000000
|
||||
#define PERI2_FREQUENCY 120000000
|
||||
#define TIMER_MULT_APB1 2
|
||||
#define TIMER_MULT_APB2 2
|
||||
#include "hal_settings.h"
|
||||
|
||||
// Keys
|
||||
#define KEYS_GPIO_REG_PAGEDN GPIOA
|
||||
@@ -132,91 +127,6 @@ USART6: INTMODULE_USART
|
||||
#define TRIMS_GPIO_REG_LSU GPIOH
|
||||
#define TRIMS_GPIO_PIN_LSU LL_GPIO_PIN_13
|
||||
|
||||
// Extender Switches
|
||||
#define SWITCHES_A_3POS
|
||||
#define SWITCHES_GPIO_REG_A_H
|
||||
#define SWITCHES_GPIO_PIN_A_H PCA95XX_P15
|
||||
#define SWITCHES_GPIO_REG_A_L
|
||||
#define SWITCHES_GPIO_PIN_A_L PCA95XX_P14
|
||||
|
||||
#define SWITCHES_B_3POS
|
||||
#define SWITCHES_GPIO_REG_B_H
|
||||
#define SWITCHES_GPIO_PIN_B_H PCA95XX_P13
|
||||
#define SWITCHES_GPIO_REG_B_L
|
||||
#define SWITCHES_GPIO_PIN_B_L PCA95XX_P12
|
||||
|
||||
#define SWITCHES_C_3POS
|
||||
#define SWITCHES_GPIO_REG_C_H
|
||||
#define SWITCHES_GPIO_PIN_C_H PCA95XX_P11
|
||||
#define SWITCHES_GPIO_REG_C_L
|
||||
#define SWITCHES_GPIO_PIN_C_L PCA95XX_P10
|
||||
|
||||
#define SWITCHES_D_3POS
|
||||
#define SWITCHES_GPIO_REG_D_H
|
||||
#define SWITCHES_GPIO_PIN_D_H PCA95XX_P7
|
||||
#define SWITCHES_GPIO_REG_D_L
|
||||
#define SWITCHES_GPIO_PIN_D_L PCA95XX_P6
|
||||
|
||||
#define SWITCHES_E_3POS
|
||||
#define SWITCHES_GPIO_REG_E_H
|
||||
#define SWITCHES_GPIO_PIN_E_H PCA95XX_P16
|
||||
#define SWITCHES_GPIO_REG_E_L
|
||||
#define SWITCHES_GPIO_PIN_E_L PCA95XX_P17
|
||||
|
||||
#define SWITCHES_F_2POS
|
||||
#define SWITCHES_GPIO_REG_F
|
||||
#define SWITCHES_GPIO_PIN_F PCA95XX_P1
|
||||
|
||||
#define SWITCHES_G_3POS
|
||||
#define SWITCHES_GPIO_REG_G_H
|
||||
#define SWITCHES_GPIO_PIN_G_H PCA95XX_P4
|
||||
#define SWITCHES_GPIO_REG_G_L
|
||||
#define SWITCHES_GPIO_PIN_G_L PCA95XX_P5
|
||||
|
||||
#define SWITCHES_H_2POS
|
||||
#define SWITCHES_GPIO_REG_H
|
||||
#define SWITCHES_GPIO_PIN_H PCA95XX_P0
|
||||
|
||||
#define SWITCHES_I_2POS
|
||||
#define SWITCHES_GPIO_REG_I
|
||||
#define SWITCHES_GPIO_PIN_I PCA95XX_P2
|
||||
|
||||
#define SWITCHES_J_2POS
|
||||
#define SWITCHES_GPIO_REG_J
|
||||
#define SWITCHES_GPIO_PIN_J PCA95XX_P3
|
||||
|
||||
// function switches
|
||||
//SW1
|
||||
#define SWITCHES_GPIO_REG_K
|
||||
#define SWITCHES_GPIO_PIN_K PCA95XX_P0
|
||||
#define SWITCHES_K_CFS_IDX 0
|
||||
#define FUNCTION_SWITCH_1 SK
|
||||
//SW2
|
||||
#define SWITCHES_GPIO_REG_L
|
||||
#define SWITCHES_GPIO_PIN_L PCA95XX_P1
|
||||
#define SWITCHES_L_CFS_IDX 1
|
||||
#define FUNCTION_SWITCH_2 SL
|
||||
//SW3
|
||||
#define SWITCHES_GPIO_REG_M
|
||||
#define SWITCHES_GPIO_PIN_M PCA95XX_P2
|
||||
#define SWITCHES_M_CFS_IDX 2
|
||||
#define FUNCTION_SWITCH_3 SM
|
||||
//SW4
|
||||
#define SWITCHES_GPIO_REG_N
|
||||
#define SWITCHES_GPIO_PIN_N PCA95XX_P3
|
||||
#define SWITCHES_N_CFS_IDX 3
|
||||
#define FUNCTION_SWITCH_4 SN
|
||||
//SW5
|
||||
#define SWITCHES_GPIO_REG_O
|
||||
#define SWITCHES_GPIO_PIN_O PCA95XX_P4
|
||||
#define SWITCHES_O_CFS_IDX 4
|
||||
#define FUNCTION_SWITCH_5 SO
|
||||
//SW6
|
||||
#define SWITCHES_GPIO_REG_P
|
||||
#define SWITCHES_GPIO_PIN_P PCA95XX_P5
|
||||
#define SWITCHES_P_CFS_IDX 5
|
||||
#define FUNCTION_SWITCH_6 SP
|
||||
|
||||
// Expanders
|
||||
#define IO_INT_GPIO GPIO_PIN(GPIOD, 3)
|
||||
#define IO_RESET_GPIO GPIO_PIN(GPIOG, 10)
|
||||
@@ -343,19 +253,9 @@ USART6: INTMODULE_USART
|
||||
|
||||
// LCD
|
||||
|
||||
#define LTDC_IRQ_PRIO 4
|
||||
#define DMA_SCREEN_IRQ_PRIO 6
|
||||
|
||||
#define LCD_RESET_GPIO GPIOJ
|
||||
#define LCD_RESET_GPIO_PIN LL_GPIO_PIN_12
|
||||
|
||||
// Backlight
|
||||
#define BACKLIGHT_GPIO GPIO_PIN(GPIOA, 10) // TIM1_CH3
|
||||
#define BACKLIGHT_TIMER TIM1
|
||||
#define BACKLIGHT_TIMER_CHANNEL LL_TIM_CHANNEL_CH3
|
||||
#define BACKLIGHT_GPIO_AF GPIO_AF1
|
||||
#define BACKLIGHT_TIMER_FREQ (PERI1_FREQUENCY * TIMER_MULT_APB1)
|
||||
|
||||
// QSPI Flash
|
||||
#define QSPI_CLK_GPIO GPIO_PIN(GPIOF, 10)
|
||||
#define QSPI_CLK_GPIO_AF GPIO_AF9
|
||||
@@ -443,41 +343,6 @@ USART6: INTMODULE_USART
|
||||
#define I2C_B2_GPIO_AF LL_GPIO_AF_4
|
||||
#define I2C_B2_CLK_RATE 400000
|
||||
|
||||
// Haptic: TIM3_CH2
|
||||
#define HAPTIC_PWM
|
||||
#define HAPTIC_GPIO GPIO_PIN(GPIOC, 7)
|
||||
#define HAPTIC_GPIO_TIMER TIM3
|
||||
#define HAPTIC_GPIO_AF GPIO_AF2
|
||||
#define HAPTIC_TIMER_OUTPUT_ENABLE TIM_CCER_CC2E | TIM_CCER_CC2NE;
|
||||
#define HAPTIC_TIMER_MODE TIM_CCMR1_OC2M_1 | TIM_CCMR1_OC2M_2 | TIM_CCMR1_OC2PE
|
||||
#define HAPTIC_TIMER_COMPARE_VALUE HAPTIC_GPIO_TIMER->CCR2
|
||||
|
||||
// LED Strip
|
||||
#define LED_STRIP_LENGTH 26 // 6POS + 2 rings of 10
|
||||
#define BLING_LED_STRIP_START 6
|
||||
#define BLING_LED_STRIP_LENGTH 20
|
||||
#define CFS_LED_STRIP_START 0
|
||||
#define CFS_LED_STRIP_LENGTH 6
|
||||
#define CFS_LEDS_PER_SWITCH 1
|
||||
#define LED_STRIP_GPIO GPIO_PIN(GPIOA, 0) // PA.00 / TIM2_CH1
|
||||
#define LED_STRIP_GPIO_AF LL_GPIO_AF_1 // TIM1/2/16/17
|
||||
#define LED_STRIP_TIMER TIM2
|
||||
#define LED_STRIP_TIMER_FREQ (PERI1_FREQUENCY * TIMER_MULT_APB1)
|
||||
#define LED_STRIP_TIMER_CHANNEL LL_TIM_CHANNEL_CH1
|
||||
#define LED_STRIP_TIMER_DMA DMA1
|
||||
#define LED_STRIP_TIMER_DMA_CHANNEL LL_DMAMUX1_REQ_TIM2_UP
|
||||
#define LED_STRIP_TIMER_DMA_STREAM LL_DMA_STREAM_0
|
||||
#define LED_STRIP_TIMER_DMA_IRQn DMA1_Stream0_IRQn
|
||||
#define LED_STRIP_TIMER_DMA_IRQHandler DMA1_Stream0_IRQHandler
|
||||
#define LED_STRIP_REFRESH_PERIOD 50 //ms
|
||||
|
||||
#define STATUS_LEDS
|
||||
#define GPIO_LED_GPIO_ON gpio_set
|
||||
#define GPIO_LED_GPIO_OFF gpio_clear
|
||||
#define LED_RED_GPIO GPIO_PIN(GPIOI, 8) // PI.08
|
||||
#define LED_GREEN_GPIO GPIO_PIN(GPIOI, 11) // PI.11
|
||||
#define LED_BLUE_GPIO GPIO_PIN(GPIOI, 10) // PI.10
|
||||
|
||||
// Internal Module
|
||||
#define INTMODULE_PWR_GPIO GPIO_PIN(GPIOB, 13) // PB.13
|
||||
#define INTMODULE_BOOTCMD_GPIO GPIO_PIN(GPIOH, 9) // PH.09
|
||||
@@ -599,61 +464,6 @@ USART6: INTMODULE_USART
|
||||
#define EXTI2_IRQ_Priority 9
|
||||
#endif
|
||||
|
||||
#define IMU_I2C_BUS I2C_Bus_2
|
||||
#define IMU_INT_GPIO GPIO_PIN(GPIOG, 13) // PG.13
|
||||
#define IMU_INVERT_X // X axis mounted reversed (default, user-overridable)
|
||||
#define IMU_INVERT_Y // Y axis mounted reversed (default, user-overridable)
|
||||
#if !defined(USE_EXTI15_10_IRQ)
|
||||
#define USE_EXTI15_10_IRQ
|
||||
#define EXTI15_10_IRQ_Priority 6
|
||||
#endif
|
||||
|
||||
//ROTARY emulation for trims as buttons
|
||||
#define ROTARY_ENCODER_NAVIGATION
|
||||
// Rotary Encoder
|
||||
#define ROTARY_ENCODER_INVERTED
|
||||
#define ROTARY_ENCODER_GPIO_A GPIOI
|
||||
#define ROTARY_ENCODER_GPIO_PIN_A LL_GPIO_PIN_7
|
||||
#define ROTARY_ENCODER_GPIO_B GPIOJ
|
||||
#define ROTARY_ENCODER_GPIO_PIN_B LL_GPIO_PIN_8
|
||||
#define ROTARY_ENCODER_POSITION() (((ROTARY_ENCODER_GPIO_A->IDR >> 7) & 0x01)|((ROTARY_ENCODER_GPIO_B->IDR >> 7) & 0x02))
|
||||
#define ROTARY_ENCODER_EXTI_LINE1 LL_EXTI_LINE_7
|
||||
#define ROTARY_ENCODER_EXTI_LINE2 LL_EXTI_LINE_8
|
||||
#if !defined(USE_EXTI7_IRQ)
|
||||
#define USE_EXTI7_IRQ
|
||||
#define EXTI7_IRQ_Priority 5
|
||||
#endif
|
||||
#if !defined(USE_EXTI8_IRQ)
|
||||
#define USE_EXTI8_IRQ
|
||||
#define EXTI8_IRQ_Priority 5
|
||||
#endif
|
||||
#define ROTARY_ENCODER_EXTI_PORT_A LL_SYSCFG_EXTI_PORTI
|
||||
#define ROTARY_ENCODER_EXTI_PORT_B LL_SYSCFG_EXTI_PORTJ
|
||||
#define ROTARY_ENCODER_EXTI_SYS_LINE1 LL_SYSCFG_EXTI_LINE7
|
||||
#define ROTARY_ENCODER_EXTI_SYS_LINE2 LL_SYSCFG_EXTI_LINE8
|
||||
#define ROTARY_ENCODER_TIMER TIM17
|
||||
#define ROTARY_ENCODER_TIMER_IRQn TIM17_IRQn
|
||||
#define ROTARY_ENCODER_TIMER_IRQHandler TIM17_IRQHandler
|
||||
|
||||
// Millisecond timer
|
||||
#define MS_TIMER TIM14
|
||||
#define MS_TIMER_IRQn TIM8_TRG_COM_TIM14_IRQn
|
||||
#define MS_TIMER_IRQHandler TIM8_TRG_COM_TIM14_IRQHandler
|
||||
|
||||
// Mixer scheduler timer
|
||||
#define MIXER_SCHEDULER_TIMER TIM12
|
||||
#define MIXER_SCHEDULER_TIMER_FREQ (PERI1_FREQUENCY * TIMER_MULT_APB1)
|
||||
#define MIXER_SCHEDULER_TIMER_IRQn TIM8_BRK_TIM12_IRQn
|
||||
#define MIXER_SCHEDULER_TIMER_IRQHandler TIM8_BRK_TIM12_IRQHandler
|
||||
|
||||
#define LCD_W 800
|
||||
#define LCD_H 480
|
||||
|
||||
#define LCD_PHYS_W LCD_W
|
||||
#define LCD_PHYS_H LCD_H
|
||||
|
||||
#define LCD_DEPTH 16
|
||||
|
||||
#define LSE_DRIVE_STRENGTH RCC_LSEDRIVE_HIGH
|
||||
|
||||
#endif // _HAL_H_
|
||||
|
||||
Reference in New Issue
Block a user