REDAC HybridController
Firmware for LUCIDAC/REDAC Teensy
Loading...
Searching...
No Matches
front_panel_signaling.cpp
Go to the documentation of this file.
1#include <Arduino.h>
2
3#include "lucidac/front_panel_signaling.h"
4
5void leds::set(uint8_t val) {
6 platform::LUCIDAC *lucidac = carrier::Carrier::get().as_entity_type<platform::LUCIDAC>();
7 if(lucidac && lucidac->front_panel) {
8 lucidac->front_panel->set_leds(val);
9 lucidac->front_panel->write_to_hardware();
10 }
11}
12
13void leds::indicate_error() {
14 size_t num_blinks = 6;
15 for (size_t i = 0; i < num_blinks; i++) {
16 leds::set(0x55);
17 delay(100);
18 leds::set(0xaa);
19 delay(100);
20 }
21 leds::set(0);
22}
23
24void leds::ease_out() {
25 int val = 0xFF;
26 for (uint8_t i = 0; i < 8; i++) {
27 val /= 2;
28 leds::set(val);
29 delay(100);
30 }
31}