1
0
This repo is archived. You can view files and clone it, but cannot push or open issues or pull requests.
tmk_keyboard_custom/common/softpwm_led.h

106 lines
2.9 KiB
C

#ifndef SOFTPWM_LED_H
#define SOFTPWM_LED_H
#include "stdint.h"
#include "led.h"
#ifdef SOFTPWM_LED_ENABLE
void softpwm_init(void);
void softpwm_led_init(void);
void softpwm_led_enable(void);
void softpwm_led_disable(void);
void softpwm_led_toggle(void);
void softpwm_led_set(uint8_t index, uint8_t val);
void softpwm_led_set_all(uint8_t val);
void softpwm_led_increase(uint8_t index, uint8_t offset);
void softpwm_led_increase_all(uint8_t offset);
void softpwm_led_decrease(uint8_t index, uint8_t offset);
void softpwm_led_decrease_all(uint8_t offset);
void softpwm_led_on(uint8_t index);
void softpwm_led_off(uint8_t index);
uint8_t softpwm_led_get_state(void);
void softpwm_led_state_change(uint8_t state);
enum {
FADING_LED_FADE_IN = 0,
FADING_LED_FADE_OUT
};
#ifdef FADING_LED_ENABLE
void fading_led_enable(uint8_t index);
void fading_led_enable_all(void);
void fading_led_disable(uint8_t index);
void fading_led_disable_all(void);
void fading_led_toggle(uint8_t index);
void fading_led_toggle_all(void);
void fading_led_set_direction(uint8_t index, uint8_t dir);
void fading_led_set_direction_all(uint8_t dir);
void fading_led_set_duration(uint8_t dur);
void fading_led_set_delay(uint8_t index, uint8_t delay);
void fading_led_set_delay_all(uint8_t delay);
#else
#define fading_led_enable()
#define fading_led_enable_all()
#define fading_led_disable()
#define fading_led_disable_all()
#define fading_led_toggle()
#define fading_led_toggle_all()
#define fading_led_set_direction()
#define fading_led_set_direction_all()
#define fading_led_set_duration()
#define fading_led_set_delay()
#define fading_led_set_delay_all()
#endif
#ifdef BREATHING_LED_ENABLE
#define breathing_led_init()
void breathing_led_enable(uint8_t index);
void breathing_led_enable_all(void);
void breathing_led_disable(uint8_t index);
void breathing_led_disable_all(void);
void breathing_led_toggle(uint8_t index);
void breathing_led_toggle_all(void);
void breathing_led_set_duration(uint8_t dur);
#else
#define breathing_led_init()
#define breathing_led_enable()
#define breathing_led_enable_all()
#define breathing_led_disable()
#define breathing_led_disable_all()
#define breathing_led_toggle()
#define breathing_led_toggle_all()
#define breathing_led_set_duration()
#define breathing_led_set_duration_all()
#endif
#ifdef CUSTOM_LED_ENABLE
void softpwm_led_custom(void);
void fading_led_custom(uint8_t *value);
void breathing_led_custom(uint8_t *value);
#else
#define custom_led_proc()
#endif
#else
#define softpwm_init()
#define softpwm_led_init()
#define softpwm_led_enable()
#define softpwm_led_disable()
#define softpwm_led_toggle()
#define softpwm_led_set()
#define softpwm_led_set_all()
#define softpwm_led_increase()
#define softpwm_led_increase_all()
#define softpwm_led_decrease()
#define softpwm_led_decrease_all()
#define softpwm_led_on()
#define softpwm_led_off()
#define softpwm_led_get_state()
#define softpwm_led_state_change()
#endif
#endif