61 blink = ~leds_arch_get();
71 return leds_arch_get();
83 leds_arch_set(leds_arch_get() | ledv);
89 leds_arch_set(leds_arch_get() & ~ledv);
95 leds_arch_set(leds_arch_get() ^ ledv);
101 extern const leds_t leds_arch_leds[];
103 static const leds_t *leds_arch_leds = NULL;
106 #if GPIO_HAL_PORT_PIN_NUMBERING 107 #define LED_PORT(led) (led).port 109 #define LED_PORT(led) GPIO_HAL_NULL_PORT 118 gpio_hal_arch_pin_set_output(LED_PORT(leds_arch_leds[led]),
119 leds_arch_leds[led].pin);
131 if(leds_arch_leds[led].negative_logic) {
132 gpio_hal_arch_clear_pin(LED_PORT(leds_arch_leds[led]),
133 leds_arch_leds[led].pin);
135 gpio_hal_arch_set_pin(LED_PORT(leds_arch_leds[led]),
136 leds_arch_leds[led].pin);
147 if(leds_arch_leds[led].negative_logic) {
148 gpio_hal_arch_set_pin(LED_PORT(leds_arch_leds[led]),
149 leds_arch_leds[led].pin);
151 gpio_hal_arch_clear_pin(LED_PORT(leds_arch_leds[led]),
152 leds_arch_leds[led].pin);
163 gpio_hal_arch_toggle_pin(LED_PORT(leds_arch_leds[led]),
164 leds_arch_leds[led].pin);
173 if((1 << led) & leds) {
174 if(leds_arch_leds[led].negative_logic) {
175 gpio_hal_arch_clear_pin(LED_PORT(leds_arch_leds[led]),
176 leds_arch_leds[led].pin);
178 gpio_hal_arch_set_pin(LED_PORT(leds_arch_leds[led]),
179 leds_arch_leds[led].pin);
191 if((1 << led) & leds) {
192 if(leds_arch_leds[led].negative_logic) {
193 gpio_hal_arch_set_pin(LED_PORT(leds_arch_leds[led]),
194 leds_arch_leds[led].pin);
196 gpio_hal_arch_clear_pin(LED_PORT(leds_arch_leds[led]),
197 leds_arch_leds[led].pin);
209 if((1 << led) & leds) {
210 gpio_hal_arch_toggle_pin(LED_PORT(leds_arch_leds[led]),
211 leds_arch_leds[led].pin);
231 pin_state = gpio_hal_arch_read_pin(LED_PORT(leds_arch_leds[led]),
232 leds_arch_leds[led].pin);
234 if((leds_arch_leds[led].negative_logic ==
false && pin_state == 1) ||
235 (leds_arch_leds[led].negative_logic ==
true && pin_state == 0)) {
void leds_single_toggle(leds_num_t led)
Toggle a single LED.
void leds_on(leds_mask_t leds)
Turn on multiple LEDs.
void leds_init()
Initialise the LED HAL.
void leds_single_off(leds_num_t led)
Turn a single LED off.
#define LEDS_ALL
The OR mask representation of all device LEDs.
leds_mask_t leds_get()
Get the status of LEDs.
#define LEDS_COUNT
The number of LEDs present on a device.
void leds_single_on(leds_num_t led)
Turn a single LED on.
void clock_delay(unsigned int i)
Obsolete delay function but we implement it here since some code still uses it.
A LED logical representation.
void leds_off(leds_mask_t leds)
Turn off multiple LEDs.
void leds_toggle(leds_mask_t leds)
Toggle multiple LEDs.
Header file for the GPIO HAL.
Header file for the LED HAL.
uint8_t leds_mask_t
An OR mask datatype to represents multiple LEDs.
void leds_set(leds_mask_t leds)
Set all LEDs to a specific state.
uint8_t leds_num_t
The LED number.