forked from Archive/PX4-Autopilot
Merge branch 'lights'
This commit is contained in:
commit
4f898b27eb
|
@ -85,6 +85,9 @@ static volatile uint8_t msg_next_out, msg_next_in;
|
|||
#define NUM_MSG 2
|
||||
static char msg[NUM_MSG][40];
|
||||
|
||||
static void heartbeat_blink(void);
|
||||
static void ring_blink(void);
|
||||
|
||||
/*
|
||||
* add a debug message to be printed on the console
|
||||
*/
|
||||
|
@ -124,8 +127,54 @@ heartbeat_blink(void)
|
|||
{
|
||||
static bool heartbeat = false;
|
||||
LED_BLUE(heartbeat = !heartbeat);
|
||||
}
|
||||
|
||||
static void
|
||||
ring_blink(void)
|
||||
{
|
||||
#ifdef GPIO_LED4
|
||||
LED_RING(heartbeat);
|
||||
|
||||
// XXX this led code does have
|
||||
// intentionally a few magic numbers.
|
||||
const unsigned max_brightness = 118;
|
||||
|
||||
static unsigned counter = 0;
|
||||
static unsigned brightness = max_brightness;
|
||||
static unsigned brightness_counter = 0;
|
||||
static unsigned on_counter = 0;
|
||||
|
||||
if (brightness_counter < max_brightness) {
|
||||
|
||||
bool on = ((on_counter * 100) / brightness_counter+1) <= ((brightness * 100) / max_brightness+1);
|
||||
|
||||
LED_RING(on);
|
||||
brightness_counter++;
|
||||
|
||||
if (on) {
|
||||
on_counter++;
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
if (counter >= 62) {
|
||||
counter = 0;
|
||||
}
|
||||
|
||||
int n;
|
||||
|
||||
if (counter < 32) {
|
||||
n = counter;
|
||||
|
||||
} else {
|
||||
n = 62 - counter;
|
||||
}
|
||||
|
||||
brightness = (n * n) / 9;
|
||||
brightness_counter = 0;
|
||||
on_counter = 0;
|
||||
counter++;
|
||||
}
|
||||
|
||||
#endif
|
||||
}
|
||||
|
||||
|
@ -300,6 +349,8 @@ user_start(int argc, char *argv[])
|
|||
heartbeat_blink();
|
||||
}
|
||||
|
||||
ring_blink();
|
||||
|
||||
check_reboot();
|
||||
|
||||
/* check for debug activity (default: none) */
|
||||
|
|
Loading…
Reference in New Issue