mp_flipper_modflipperzero_light.c 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #include <furi_hal.h>
  2. #include <mp_flipper_modflipperzero.h>
  3. static Light decode_light(uint8_t value) {
  4. Light light = 0;
  5. light += value & MP_FLIPPER_LED_RED ? LightRed : 0;
  6. light += value & MP_FLIPPER_LED_GREEN ? LightGreen : 0;
  7. light += value & MP_FLIPPER_LED_BLUE ? LightBlue : 0;
  8. light += value & MP_FLIPPER_LED_BACKLIGHT ? LightBacklight : 0;
  9. return light;
  10. }
  11. inline void mp_flipper_light_set(uint8_t raw_light, uint8_t brightness) {
  12. Light light = decode_light(raw_light);
  13. furi_hal_light_set(light, brightness);
  14. }
  15. inline void mp_flipper_light_blink_start(
  16. uint8_t raw_light,
  17. uint8_t brightness,
  18. uint16_t on_time,
  19. uint16_t period) {
  20. Light light = decode_light(raw_light);
  21. furi_hal_light_blink_start(light, brightness, on_time, period);
  22. }
  23. inline void mp_flipper_light_blink_set_color(uint8_t raw_light) {
  24. Light light = decode_light(raw_light);
  25. furi_hal_light_blink_set_color(light);
  26. }
  27. inline void mp_flipper_light_blink_stop() {
  28. furi_hal_light_blink_stop();
  29. }