Skip to content
Snippets Groups Projects
Commit 3e57067b authored by David Sidrane's avatar David Sidrane Committed by Lorenz Meier
Browse files

fmu-v5:timer_config Move UI LED to 0 and condition status LEDS

   If the BOARD_HAS_CONTROL_STATUS_LEDS is set the status LED will
   not be PWM controlled.

   UI LED will always be PWM controlled.
parent 73508087
No related branches found
No related tags found
No related merge requests found
......@@ -172,25 +172,35 @@ __EXPORT const timer_io_channels_t timer_io_channels[MAX_TIMER_IO_CHANNELS] = {
}
};
#if defined(BOARD_HAS_LED_PWM) || defined(BOARD_HAS_UI_LED_PWM)
__EXPORT const struct io_timers_t led_pwm_timers[MAX_LED_TIMERS] = {
{
.base = STM32_TIM3_BASE,
.clock_register = STM32_RCC_APB1ENR,
.clock_bit = RCC_APB1ENR_TIM3EN,
.clock_freq = STM32_APB1_TIM3_CLKIN,
.vectorno = 0,
.first_channel_index = 0,
.last_channel_index = 2,
},
# if defined(BOARD_HAS_UI_LED_PWM)
{
.base = STM32_TIM5_BASE,
.clock_register = STM32_RCC_APB1ENR,
.clock_bit = RCC_APB1ENR_TIM5EN,
.clock_freq = STM32_APB1_TIM5_CLKIN,
.vectorno = 0,
.first_channel_index = 3,
.last_channel_index = 5,
}
.first_channel_index = 0,
.last_channel_index = 2,
},
# endif
# if defined(BOARD_HAS_LED_PWM) && !defined(BOARD_HAS_CONTROL_STATUS_LEDS)
{
.base = STM32_TIM3_BASE,
.clock_register = STM32_RCC_APB1ENR,
.clock_bit = RCC_APB1ENR_TIM3EN,
.clock_freq = STM32_APB1_TIM3_CLKIN,
.vectorno = 0,
# if defined(BOARD_HAS_UI_LED_PWM)
.first_channel_index = 3,
.last_channel_index = 5,
# else
.first_channel_index = 0,
.last_channel_index = 2,
# endif
},
# endif
};
/* Support driving active low (preferred) or active high LED
......@@ -221,70 +231,87 @@ __EXPORT const struct io_timers_t led_pwm_timers[MAX_LED_TIMERS] = {
#endif
__EXPORT const struct timer_io_channels_t led_pwm_channels[MAX_TIMER_LED_CHANNELS] = {
{
.gpio_out = DRIVE_TYPE(LED_TIM3_CH4OUT),
.gpio_in = 0,
.timer_index = 0,
.timer_channel = 4,
.masks = POLARITY(4),
},
{
.gpio_out = DRIVE_TYPE(LED_TIM3_CH1OUT),
.gpio_in = 0,
.timer_index = 0,
.timer_channel = 1,
.masks = POLARITY(1),
},
{
.gpio_out = DRIVE_TYPE(LED_TIM3_CH2OUT),
.gpio_in = 0,
.timer_index = 0,
.timer_channel = 2,
.masks = POLARITY(2),
},
#if defined(BOARD_UI_LED_SWAP_RG)
# if defined(BOARD_HAS_UI_LED_PWM)
# if defined(BOARD_UI_LED_SWAP_RG)
{
.gpio_out = UI_DRIVE_TYPE(UI_LED_TIM5_CH2OUT),
.gpio_in = 0,
.timer_index = 1,
.timer_index = 0,
.timer_channel = 2,
.masks = UI_POLARITY(2),
},
{
.gpio_out = UI_DRIVE_TYPE(UI_LED_TIM5_CH1OUT),
.gpio_in = 0,
.timer_index = 1,
.timer_index = 0,
.timer_channel = 1,
.masks = UI_POLARITY(1),
},
{
.gpio_out = UI_DRIVE_TYPE(UI_LED_TIM5_CH3OUT),
.gpio_in = 0,
.timer_index = 1,
.timer_index = 0,
.timer_channel = 3,
.masks = UI_POLARITY(3),
},
#else
# else
{
.gpio_out = UI_DRIVE_TYPE(UI_LED_TIM5_CH1OUT),
.gpio_in = 0,
.timer_index = 1,
.timer_index = 0,
.timer_channel = 1,
.masks = UI_POLARITY(1),
},
{
.gpio_out = UI_DRIVE_TYPE(UI_LED_TIM5_CH2OUT),
.gpio_in = 0,
.timer_index = 1,
.timer_index = 0,
.timer_channel = 2,
.masks = UI_POLARITY(2),
},
{
.gpio_out = UI_DRIVE_TYPE(UI_LED_TIM5_CH3OUT),
.gpio_in = 0,
.timer_index = 1,
.timer_index = 0,
.timer_channel = 3,
.masks = UI_POLARITY(3),
}
#endif
},
# endif
# endif
# if defined(BOARD_HAS_LED_PWM) && !defined(BOARD_HAS_CONTROL_STATUS_LEDS)
{
.gpio_out = DRIVE_TYPE(LED_TIM3_CH4OUT),
.gpio_in = 0,
# if defined(BOARD_HAS_UI_LED_PWM)
.timer_index = 1,
# else
.timer_index = 0,
# endif
.timer_channel = 4,
.masks = POLARITY(4),
},
{
.gpio_out = DRIVE_TYPE(LED_TIM3_CH1OUT),
.gpio_in = 0,
# if defined(BOARD_HAS_UI_LED_PWM)
.timer_index = 1,
# else
.timer_index = 0,
# endif
.timer_channel = 1,
.masks = POLARITY(1),
},
{
.gpio_out = DRIVE_TYPE(LED_TIM3_CH2OUT),
.gpio_in = 0,
# if defined(BOARD_HAS_UI_LED_PWM)
.timer_index = 1,
# else
.timer_index = 0,
# endif
.timer_channel = 2,
.masks = POLARITY(2),
},
# endif
};
#endif // BOARD_HAS_LED_PWM || BOARD_HAS_UI_LED_PWM
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment