Files @ b61e1f4d75c5
Branch filter:

Location: therm-ng/src/system/interrupts.c

Ethan Zonca
Fix indentation/formatting
//
// 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);
        }
    }
}