diff --git a/src/system/interrupts.c b/src/system/interrupts.c --- a/src/system/interrupts.c +++ b/src/system/interrupts.c @@ -7,6 +7,7 @@ #include "interrupts.h" #include "gpio.h" +#include "pwmout.h" // Systick interrupt @@ -46,7 +47,34 @@ void HAL_GPIO_EXTI_Callback(uint16_t GPI } } +void TIM1_TRG_COM_TIM17_IRQHandler(void) +{ + /* USER CODE BEGIN TIM1_TRG_COM_TIM17_IRQn 0 */ + + /* USER CODE END TIM1_TRG_COM_TIM17_IRQn 0 */ + + HAL_TIM_IRQHandler(pwmout_get_tim()); + /* USER CODE BEGIN TIM1_TRG_COM_TIM17_IRQn 1 */ + + /* USER CODE END TIM1_TRG_COM_TIM17_IRQn 1 */ +} +void HAL_TIM_PWM_PulseFinishedCallback(TIM_HandleTypeDef *htim) +{ + if(htim == pwmout_get_tim()) + { + HAL_GPIO_WritePin(SSR, 0); + HAL_GPIO_WritePin(LED, 0); + } +} +void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) +{ + if(htim == pwmout_get_tim()) + { + HAL_GPIO_WritePin(LED, 1); + HAL_GPIO_WritePin(SSR, 1); + } +}