Paparazzi UAS  v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
light_scheduler.c
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2019 Xavier Paris
3  *
4  * This file is part of paparazzi.
5  *
6  * paparazzi is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2, or (at your option)
9  * any later version.
10  *
11  * paparazzi is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with paparazzi; see the file COPYING. If not, see
18  * <http://www.gnu.org/licenses/>.
19  *
20  */
21 
32 
33 static uint32_t s = 0;
34 
36 {
38 }
39 
41 {
42  uint32_t n, s0;
43  for (n = 0; n < WS2812_NB_LEDS; n++) {
44  if (WS2812_NB_LEDS == 32) {
45  if (n<=7) light_ws2812_arch_set(n, 0,255,0); // LEFT = GREEN
46  else if (n<=15)
47  light_ws2812_arch_set(n, 0,0,255); // BACK = BLUE
48  else if (n<=23)
49  light_ws2812_arch_set(n, 255,0,0); // RIGHT = RED
50  else
51  light_ws2812_arch_set(n, 255,255,255); // FRONT = WHITE
52  } else {
53  s0 = s + 10 * n;
54  light_ws2812_arch_set(n, s0 % 255, (s0 + 85) % 255, (s0 + 170) % 255);
55  }
56  }
57  s += 10;
58 }
59 
static uint32_t s
void light_scheduler_init(void)
void light_scheduler_periodic(void)
basic LED scheduler based on WS2812 RGB led driver
void light_ws2812_arch_set(uint32_t led_number, uint8_t r, uint8_t g, uint8_t b)
set color RGB color of one led
void light_ws2812_arch_init(void)
ws2812 driver based on ChibiOS
#define WS2812_NB_LEDS
Number of LEDs.
unsigned int uint32_t
Typedef defining 32 bit unsigned int type.
Definition: vl53l1_types.h:78