nt9856x/rtos/code/driver/na51089/include/sf_led.h

118 lines
3.2 KiB
C
Executable File

/**************************************************************************
*
* Copyright (c) 2009-2023 by SiFar Technology, Inc.
*
* This software is copyrighted by and is the property of SiFar
* Technology, Inc.. All rights are reserved by SiFar Technology, Inc..
* This software may only be used in accordance with the corresponding
* license agreement. Any unauthorized use, duplication, distribution,
* or disclosure of this software is expressly forbidden.
*
* This Copyright notice MUST not be removed or modified without prior
* written consent of SiFar Technology, Inc..
*
* SiFar Technology, Inc. reserves the right to modify this software without notice.
*
* Author: Payton
* Ver: 1.0.0 2023.01.29
* Description:
*
**************************************************************************/
#include "UIInfo/UIInfo.h"
void sf_trigger_time_led_cb(UINT32 cnt);
void sf_trigger_time_led_cb_init(void);
typedef enum LedId_e
{
#if HW_S530
SF_LED_STATUS_R,
SF_LED_STATUS_G,
SF_LED_SD_G,
SF_LED_SD_R,
SF_LED_WIFI,
SF_LED_BAT1,
SF_LED_BAT2,
SF_LED_BAT3,
SF_LED_BAT4,
SF_LED_SIG1_R,
SF_LED_SIG1_G,
SF_LED_SIG2,
SF_LED_SIG3,
SF_LED_SIG4,
#endif
SF_LED_BUSY,
SF_LED_ALL,
}LedId_t;
typedef enum Ledstate_e
{
SF_LED_STATE_OFF,
SF_LED_STATE_ON,
SF_LED_STATE_SLOW_FLASHING,/*0.5s*/
SF_LED_STATE_FLASHING, /*1s*/
}Ledstate_t;
typedef enum LedSysState_e
{
SF_LED_SYS_STATE_ERROR,
SF_LED_SYS_STATE_NORMAL,
SF_LED_SYS_STATE_UPDATE,
SF_LED_SYS_STATE_SENDING,
SF_LED_SYS_STATE_SEND_FAIL,
SF_LED_SYS_STATE_SEND_SUCCESS,
SF_LED_SYS_STATE_SD_NORMAL,/*6*/
SF_LED_SYS_STATE_SD_ERROR,
SF_LED_SYS_STATE_SD_FULL,
SF_LED_SYS_STATE_SD_FORMAT_START,
SF_LED_SYS_STATE_SD_FORMAT_SUCCESS,
SF_LED_SYS_STATE_SD_FORMAT_FAIL,
SF_LED_SYS_STATE_SD_FORMAT_EXIT,
SF_LED_SYS_STATE_WIFI_DISCONNECT,/*13*/
SF_LED_SYS_STATE_WIFI_CONNECTED,
SF_LED_SYS_STATE_BAT_0,/*15*/
SF_LED_SYS_STATE_BAT_1,
SF_LED_SYS_STATE_BAT_2,
SF_LED_SYS_STATE_BAT_3,
SF_LED_SYS_STATE_BAT_4,
/*SF_LED_SYS_STATE_BAT_LOW,*/
SF_LED_SYS_STATE_GPRS_NO_SIGNAL,/*20*/
SF_LED_SYS_STATE_GPRS_SIGNAL_0,
SF_LED_SYS_STATE_GPRS_SIGNAL_1,
SF_LED_SYS_STATE_GPRS_SIGNAL_2,
SF_LED_SYS_STATE_GPRS_SIGNAL_3,
SF_LED_SYS_STATE_GPRS_SIGNAL_4,
SF_LED_SYS_STATE_GPRS_SEARCH,/*26*/
SF_LED_SYS_STATE_SIM_ERROR,
SF_LED_SYS_STATE_SERVER_FAIL,
SF_LED_SYS_STATE_DEBUG_ON,
SF_LED_SYS_STATE_DEBUG_OFF,
SF_LED_SYS_STATE_RESET,
SF_LED_SYS_STATE_USB_IN,
SF_LED_SYS_STATE_GOING_TO_PIR,
SF_LED_SYS_STATE_EXIT_GO_TO_PIR,
SF_LED_SYS_STATE_POWER_OFF,
SF_LED_SYS_STATE_PIR_DETECT,/*36*/
SF_LED_SYS_STATE_PIR_NOT_DETECT,
SF_LED_SYS_STATE_BAT_0_SLOW,
}LedSysState_t;
typedef struct LedInfo_s
{
LedId_t ledId;
Ledstate_t ledstate;
UINT16 times;
UINT32 gpioNum;
}LedInfo_t;
void sf_led_init(void);
void sf_led_go_to_pir(BOOL mode);
UINT8 sf_led_set(LedId_t ledId, Ledstate_t ledstate);
Ledstate_t sf_led_get(LedId_t ledId);
void sf_sys_status_led_set(LedSysState_t ledSysStateId);
void sf_trigger_time_led_cb(UINT32 cnt);
void sf_led_stop(void);