PicoWAN SDK Documentation
led.h
Go to the documentation of this file.
1 
31 #ifndef _LED_H_
32 #define _LED_H_
33 
34 #include <stdint.h>
35 
36 #define MAX_LEDS 4
37 
38 #define MAX_SLOTS 16
39 
40 #define SLOT_0 (1 << 0)
41 #define SLOT_1 (1 << 1)
42 #define SLOT_2 (1 << 2)
43 #define SLOT_3 (1 << 3)
44 #define SLOT_4 (1 << 4)
45 #define SLOT_5 (1 << 5)
46 #define SLOT_6 (1 << 6)
47 #define SLOT_7 (1 << 7)
48 #define SLOT_8 (1 << 8)
49 #define SLOT_9 (1 << 9)
50 #define SLOT_10 (1 << 10)
51 #define SLOT_11 (1 << 11)
52 #define SLOT_12 (1 << 12)
53 #define SLOT_13 (1 << 13)
54 #define SLOT_14 (1 << 14)
55 #define SLOT_15 (1 << 15)
56 
57 #define ON_OFF_SLOTS_PERIOD_2_DUTY_50 (SLOT_0 | SLOT_2 | SLOT_4 | SLOT_6 | SLOT_8 | SLOT_10 | SLOT_12 | SLOT_14)
58 #define ON_OFF_SLOTS_PERIOD_4_DUTY_50 (SLOT_0 | SLOT_1 | SLOT_4 | SLOT_5 | SLOT_8 | SLOT_9 | SLOT_12 | SLOT_13)
59 #define ON_OFF_SLOTS_PERIOD_8_DUTY_50 (SLOT_0 | SLOT_1 | SLOT_2 | SLOT_3 | SLOT_8 | SLOT_9 | SLOT_10 | SLOT_11)
60 #define ON_OFF_SLOTS_PERIOD_16_DUTY_50 (SLOT_0 | SLOT_1 | SLOT_2 | SLOT_3 | SLOT_4 | SLOT_5 | SLOT_6 | SLOT_7)
61 
62 enum led_state {
63  LED_OFF = 0,
64  LED_ON = 1,
65  LED_BLINK = 2
66 };
67 
68 enum led_mode {
69  LED_ACTIVE_LOW = 0,
70  LED_ACTIVE_HIGH = 1
71 };
72 
73 
77 void led_init(void);
78 
85 void led_set(uint8_t num, enum led_state state);
86 
97 void led_blink(uint8_t num, uint16_t led_on_mask, uint8_t repeat);
98 
106 enum led_state led_get(uint8_t num);
107 
115 void led_toggle(uint8_t num);
116 
117 #endif /* _LED_H_ */
void led_toggle(uint8_t num)
Toggles an LED.
Definition: led.c:214
enum led_state led_get(uint8_t num)
Gets the current state of an LED.
Definition: led.c:205
void led_set(uint8_t num, enum led_state state)
Enables or disable an LED.
Definition: led.c:186
void led_init(void)
Initializes the LED driver.
Definition: led.c:76
void led_blink(uint8_t num, uint16_t led_on_mask, uint8_t repeat)
Makes an LED blink.
Definition: led.c:195