/ src / app / app_status_led.h
app_status_led.h
 1  #pragma once
 2  
 3  #include "display/led/display_led_rgb_leds.h"
 4  
 5  namespace app
 6  {
 7  	class StatusLed
 8  	{
 9  	public:
10  		StatusLed();
11  		virtual ~StatusLed() = default;
12  		StatusLed(const StatusLed&) = delete;
13  		StatusLed& operator=(const StatusLed&) = delete;
14  
15  		void Update(float delta);
16  
17  		void SetModeBoot();
18  		void SetModeMenu();
19  		void SetModeNfct();
20  		void SetModeFun();
21  		void SetModeShutdown();
22  	private:
23  		display::led::RgbLeds* rgbLed;
24  		display::led::RgbLedColorBufferDescriptor* colors;
25  
26  		void SetEffect(display::led::effect::Effect* eff);
27  
28  		static constexpr uint8_t BRIGHTNESS = 2;
29  		static constexpr uint8_t SOLID_STATUS_VAL = 32;
30  	};
31  } // namespace app