#ifndef __DRV_LIGHT_PWM_H__
#define __DRV_LIGHT_PWM_H__

#include "rtthread.h"

#ifdef __cplusplus
extern "C" {
#endif

#ifdef LIGHT_ENABLE

#define LIGHT_DRV_PWM_PERIOD    (40000) /**< PWM周期，单位：纳秒 */
#define LIGHT_DRV_PERCENTAGE    (100)   /**< 最大占空比百分比 */

/*
 * @brief 灯光PWM驱动结构体
 */
struct light_pwm_drv {
    struct rt_device dev;               /**< 灯光PWM驱动设备基类 */
    char *name;                         /**< 灯光PWM驱动设备名称 */    
    struct rt_device_pwm *pwm_dev;      /**< PWM设备句柄 */
    uint8_t channel;                    /**< PWM通道 */
};

/**
 * @brief 灯光PWM驱动配置结构体
 */
struct light_pwm_config {
    uint16_t percentage;                /**< PWM占空比百分比 */
};

#endif  /* LIGHT_ENABLE */

#ifdef __cplusplus
}
#endif

#endif  /* __DRV_LIGHT_PWM_H__ */


