Loading...
Searching...
No Matches
fancy_leds.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2014 Freie Universität Berlin
3 * SPDX-FileCopyrightText: 2015 Zolertia SL
4 * SPDX-License-Identifier: LGPL-2.1-only
5 */
6
7#pragma once
8
18
19#include "board_common.h"
20
21#ifdef __cplusplus
22 extern "C" {
23#endif
24
29/* Take LED_COLOR as argument, i.e LED0 */
30#define LED_FADE(led) \
31 volatile int i; \
32 int k, j; \
33 LED_FADE_EXPAND(led)
34
35#define LED_FADE_EXPAND(led) \
36 for(k = 0; k < 800; ++k) { \
37 j = k > 400 ? 800 - k : k; \
38 led##_ON; \
39 for(i = 0; i < j; ++i) { \
40 __asm__("nop"); \
41 } \
42 led##_OFF; \
43 for(i = 0; i < 400 - j; ++i) { \
44 __asm__("nop"); \
45 } \
46 }
47
48#define LED_RAINBOW() \
49 volatile int i; \
50 int k,j; \
51 LED_FADE_EXPAND(LED3); \
52 LED_FADE_EXPAND(LED0); \
53 LED_FADE_EXPAND(LED4); \
54 LED_FADE_EXPAND(LED2); \
55 LED_FADE_EXPAND(LED1);
57
58#ifdef __cplusplus
59} /* end extern "C" */
60#endif
Board specific definitions for the RE-Mote boards.