#ifndef _SR_APP_LED_H_
#define _SR_APP_LED_H_

#include "sr_led.h"


//LED ID枚举
typedef enum
{
	LED_GREEN = LED0,
	LED_RED = LED1,    

}LED_E;

//LED工作模式标识枚举值
typedef enum{
    LED_NO=0x0000,
	LED_POWER_ON=0x0001,		
	LED_IR_START=0x0010, 	// 
	LED_IR_OPEN=0x0020,				
	LED_NB_START=0x0100, 	// 
	LED_NB_NET_INIT	=	0x0200,		 
	LED_NB_NET_RUN	=	0x0400,	
	LED_NB_NET_ERR	=	0x0800,
	LED_KEY_SHORT = 0x1000,
}LED_FLAG_E;

//内部管理变量
typedef struct{
    uint16_t work_mode;
    //uint16_t led_cnt;
	//uint16_t led_nborir_cnt;
}SR_LED_T;




/**
 * @brief LED亮灭控制
 *
 * @param[in] id     LED灯的编号,SR_LED_ID_E类型
 * @param[in] level  LED电平，SR_LED_LVL_E类型
 *
 * @return 成功返回0，失败返回错误码
 */
#define SR_AppLedSwitch(id,level) SR_LedSwitch(id,level)


/**
 * @brief LED闪烁控制
 *
 * @param[in] id       LED灯的编号,SR_LED_ID_E类型
 * @param[in] blinkCnt 闪烁次数 0xFF：一直闪烁  其它：指定次数
 * @param[in] onTime   每周期亮的时长, 单位ms
 * @param[in] offTime  每周期灭的时长, 单位ms
 *
 * @return 成功返回0，失败返回错误码
 */
#define SR_AppLedBlink(id,blinkCnt,onTime,offTime)   SR_LedBlink(id,blinkCnt,onTime,offTime,0)


/**
 * @brief 设置LED工作模式标识
 *
 * @param[in] flag     工作模式标的识枚举值
 *
 * @return 无
 */
void SR_AppLedSetFlag(LED_FLAG_E flag);

/**
 * @brief 清除LED工作模式标识
 *
 * @param[in] flag     工作模式标的识枚举值
 *
 * @return 无
 */
void SR_AppLedClearFlag(LED_FLAG_E flag);

/**
 * @brief 获取LED工作模式标识
 *  
 * @return 工作模式标的识枚举值，LED_FLAG_E多个bit按位或的组合
 */
uint16_t SR_AppLedGetFlag(void);



#endif
