#ifndef __DRV_LIGHT_H__
#define __DRV_LIGHT_H__

#include <rtthread.h>
#include "drivers/rt_drv_pwm.h"
#include "drv_light_pwm.h"
#include "stdbool.h"
#include "bf0_hal.h"
#include "stdio.h"

#ifdef __cplusplus
extern "C" {
#endif

/*
 * @brief LIGHT驱动配置参数       
*/
struct light_drv_cfg{
    bool is_initlized;                      /**< 是否初始化 */
    struct rt_device *dev;                  /**< 设备句柄 */
    struct light_pwm_config cfg;            /**< PWM配置参数 */
};

/**
 * @brief 初始化LIGHT驱动
 * 
 * @return rt_err_t 错误码，RT_EOK表示成功，-RT_ERROR表示失败
 */
rt_err_t light_drv_init(void);

/**
 * @brief 设置LIGHT驱动占空比百分比
 * 
 * @param[in] percentage PWM占空比百分比，范围0-100
 * @return rt_err_t 错误码，RT_EOK表示成功，-RT_ERROR表示失败
 */
rt_err_t light_drv_set_percentage(uint8_t percentage);

#ifdef __cplusplus
}
#endif

#endif  /* __DRV_LIGHT_H__ */


