Files
@ 7fc667dd7f38
Branch filter:
Location: therm-ng/src/system/interrupts.c - annotation
7fc667dd7f38
1.6 KiB
text/plain
Decent working pid
667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f a2c96432427b 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f 667b32311f8f a2c96432427b a2c96432427b a2c96432427b a2c96432427b a2c96432427b a2c96432427b a2c96432427b a2c96432427b a2c96432427b a2c96432427b a2c96432427b 667b32311f8f 667b32311f8f a2c96432427b a2c96432427b a2c96432427b a2c96432427b a2c96432427b a2c96432427b a2c96432427b a2c96432427b 667b32311f8f a2c96432427b a2c96432427b a2c96432427b a2c96432427b 7fc667dd7f38 7fc667dd7f38 7fc667dd7f38 7fc667dd7f38 7fc667dd7f38 7fc667dd7f38 7fc667dd7f38 7fc667dd7f38 7fc667dd7f38 7fc667dd7f38 a2c96432427b a2c96432427b 667b32311f8f | //
// Interrupts: handlers for any needed global interrupts
//
#include "stm32f3xx_hal.h"
#include "stm32f3xx.h"
#include "interrupts.h"
#include "gpio.h"
#include "pwmout.h"
// Systick interrupt
void SysTick_Handler(void)
{
HAL_IncTick();
HAL_SYSTICK_IRQHandler();
}
void EXTI9_5_IRQHandler(void)
{
HAL_GPIO_EXTI_IRQHandler(SW_B_Pin);
HAL_GPIO_EXTI_IRQHandler(SW_A_Pin);
HAL_GPIO_EXTI_IRQHandler(SW_C_Pin);
}
void EXTI15_10_IRQHandler(void)
{
HAL_GPIO_EXTI_IRQHandler(SW_BTN_Pin);
}
uint32_t last_button_press = 0;
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
{
switch(GPIO_Pin)
{
case SW_BTN_Pin:
{
// if(HAL_GetTick() > last_button_press + 100)
// {
// HAL_GPIO_TogglePin(LED_RED);
// HAL_GPIO_TogglePin(GATE_DRIVE);
// last_button_press = HAL_GetTick();
// }
} break;
}
}
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())
{
if(htim->Instance->CCR1 == 0)
{
HAL_GPIO_WritePin(LED, 0);
HAL_GPIO_WritePin(SSR, 0);
}
else
{
HAL_GPIO_WritePin(LED, 1);
HAL_GPIO_WritePin(SSR, 1);
}
}
}
|