AIOC/stm32/aioc-fw/Src/led.h

37 wiersze
875 B
C
Czysty Zwykły widok Historia

2022-10-20 12:30:14 +00:00
#ifndef LED_H_
#define LED_H_
#include "stm32f3xx_hal.h"
#define LED_TIMER TIM4
2022-10-20 20:51:11 +00:00
#define LED_TIMER_IRQ TIM4_IRQHandler
2022-10-20 12:30:14 +00:00
#define LED_GPIO GPIOB
#define LED_GPIO_PIN1 GPIO_PIN_8
#define LED_GPIO_PIN2 GPIO_PIN_9
2022-10-21 15:03:51 +00:00
#define LED_OFF_LEVEL 0
2022-10-20 20:51:11 +00:00
#define LED_IDLE_LEVEL 25
#define LED_FULL_LEVEL 255
2022-10-20 20:51:11 +00:00
typedef enum {
LED_MODE_SOLID = 0,
LED_MODE_SLOWPULSE = 4,
LED_MODE_SLOWPULSE2X = 5,
LED_MODE_SLOWPULSE3X = 6,
LED_MODE_SLOWPULSE4X = 7,
LED_MODE_FASTPULSE = 8,
LED_MODE_FASTPULSE2X = 9,
LED_MODE_FASTPULSE3X = 10,
LED_MODE_FASTPULSE4X = 11
} Led_Mode;
extern uint8_t LedStates[2];
extern uint8_t LedModes[2];
#define LED_SET(i, onOff) { __disable_irq(); LedStates[i] = !!(onOff); __enable_irq(); }
#define LED_MODE(i, mode) { __disable_irq(); LedModes[i] = (mode); __enable_irq(); }
2022-10-20 12:30:14 +00:00
void LED_Init(void);
#endif /* LED_H_ */