2021-10-03 13:36:05 +03:00
|
|
|
/**
|
2022-01-05 19:10:18 +03:00
|
|
|
* @file furi_hal_light.h
|
2021-10-03 13:36:05 +03:00
|
|
|
* Light control HAL API
|
|
|
|
*/
|
|
|
|
|
2021-02-18 15:49:32 +03:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <stdbool.h>
|
|
|
|
#include <stdint.h>
|
2022-01-05 19:10:18 +03:00
|
|
|
#include <furi_hal_resources.h>
|
2021-02-18 15:49:32 +03:00
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
2021-10-03 13:36:05 +03:00
|
|
|
/** Init light driver
|
|
|
|
*/
|
2024-03-25 13:53:32 +03:00
|
|
|
void furi_hal_light_init(void);
|
2021-02-18 15:49:32 +03:00
|
|
|
|
2021-10-03 13:36:05 +03:00
|
|
|
/** Set light value
|
|
|
|
*
|
|
|
|
* @param light Light
|
|
|
|
* @param value light brightness [0-255]
|
2021-03-24 12:35:33 +03:00
|
|
|
*/
|
2021-08-08 21:03:25 +03:00
|
|
|
void furi_hal_light_set(Light light, uint8_t value);
|
2021-02-18 15:49:32 +03:00
|
|
|
|
2022-06-09 10:33:46 +03:00
|
|
|
/** Start hardware LED blinking mode
|
|
|
|
*
|
|
|
|
* @param light Light
|
|
|
|
* @param brightness light brightness [0-255]
|
|
|
|
* @param on_time LED on time in ms
|
|
|
|
* @param period LED blink period in ms
|
|
|
|
*/
|
|
|
|
void furi_hal_light_blink_start(Light light, uint8_t brightness, uint16_t on_time, uint16_t period);
|
|
|
|
|
|
|
|
/** Stop hardware LED blinking mode
|
|
|
|
*/
|
2024-03-25 13:53:32 +03:00
|
|
|
void furi_hal_light_blink_stop(void);
|
2022-06-09 10:33:46 +03:00
|
|
|
|
|
|
|
/** Set color in hardware LED blinking mode
|
|
|
|
*
|
|
|
|
* @param light Light
|
|
|
|
*/
|
|
|
|
void furi_hal_light_blink_set_color(Light light);
|
|
|
|
|
2022-04-13 23:50:25 +03:00
|
|
|
/** Execute sequence
|
|
|
|
*
|
|
|
|
* @param sequence Sequence to execute
|
|
|
|
*/
|
|
|
|
void furi_hal_light_sequence(const char* sequence);
|
|
|
|
|
2021-02-18 15:49:32 +03:00
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|