#ifndef __MW_LED_H__
#define __MW_LED_H__

#include "bsp_led.h"
#include "bsp_timer.h"

typedef struct
{
    // 灯的种类
    led_type_enum led_drv;
    // 灯的初始化函数
    void (*init)(void);
    // 开灯
    void (*on)(void);
    // 关灯
    void (*off)(void);
    // 获取当前的电平状态
    uint8_t (*state)(void);
    // 改变当前灯的PWM,来调节亮暗
    void (*changeBrightness)(uint8_t);
}mw_led_t;

typedef struct
{
    // 开始定时器
    void (*start_timer)(uint32_t);
    // 获取是否超时 自动清flag
    uint8_t (*get_over_time_flag)(void);
}mw_led_timer_t;

mw_led_t mw_get_led_obj(led_type_enum e_led_type);

mw_led_timer_t mw_get_led1_timer_obj(void);
mw_led_timer_t mw_get_rgb_timer_obj(void);
// mw_led_timer_t mw_get_led_timer_obj(led_type_enum e_led_type);

void mw_led_init(void);

// void mw_RGB_LED_Init(void);

// void mw_setRGB_RedBrightness(uint16_t val);
// void mw_setRGB_GreenBrightness(uint16_t val);
// void mw_setRGB_BlueBrightness(uint16_t val);

#endif
