roneos
Operating System for the r-one robot
 All Data Structures Files Functions Variables Typedefs Groups
leds.h
Go to the documentation of this file.
1 
9 #ifndef LEDS_H_
10 #define LEDS_H_
11 
12 /******** Defines ********/
13 
14 #define LED_NUM_ELEMENTS 16
15 #define LED_NUM_ELEMENTS_PER_COLOR 5
16 
17 #define LED_RED_START_IDX 10
18 #define LED_GREEN_START_IDX 5
19 #define LED_BLUE_START_IDX 0
20 
21 #define LED_RED 0
22 #define LED_GREEN 1
23 #define LED_BLUE 2
24 #define LED_ALL 3
25 
26 #define LED_PATTERN_ON 0
27 #define LED_PATTERN_BLINK 1
28 #define LED_PATTERN_PULSE 2
29 #define LED_PATTERN_CIRCLE 3
30 #define LED_PATTERN_COUNT 4
31 #define LED_PATTERN_MANUAL 5
32 #define LED_PATTERN_CLAW 6
33 
34 #define LED_BRIGHTNESS_LOWEST 2
35 #define LED_BRIGHTNESS_LOW 5
36 #define LED_BRIGHTNESS_MED 10
37 #define LED_BRIGHTNESS_HIGH 15
38 #define LED_BRIGHTNESS_HIGHER 40
39 
40 #define LED_RATE_SNAIL 64
41 #define LED_RATE_TURTLE 32
42 #define LED_RATE_SLOW 16
43 #define LED_RATE_MED 8
44 #define LED_RATE_FAST 4
45 #define LED_RATE_TURBO 2
46 
47 /******** Functions ********/
48 
59 void ledsInit(void);
60 
61 
71 void ledsSetSingle(uint32 led_idx, uint32 dimmer); // python rone
72 
73 
82 void ledSetGroup(uint32 led_color, uint32 dimmer);
83 
84 
96 void ledsSetBinary(uint8 r, uint8 g, uint8 b);
97 
98 
105 void ledsSetAll(uint32 dimmer);
106 
107 
118 void ledsSetPattern(uint8 color, uint8 pattern, uint8 brightness, uint8 rate);
119 
120 
121 
122 void ledsSetPattern_rc(uint8 color, uint8 pattern, uint8 brightness, uint8 rate);
123 
124 
132 uint8 ledStartIdx(uint8 color);
133 
134 
142 void ledsUpdate(void);
143 
144 
152 void ledsBuildMessage(uint8* msg);
153 
154 
155 //TODO: implement or move to ir_beacon
156 void ledFlash(uint8 color, uint32 delay);
157 
158 #endif /* LEDS_H_ */