_modflipperzero.c 1.1 KB

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