244 lines
6.3 KiB
C
244 lines
6.3 KiB
C
#ifndef __SF_LEDMNG_H__
|
|
#define __SF_LEDMNG_H__
|
|
#ifdef __cplusplus
|
|
#if __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
#endif
|
|
#include "sf_type.h"
|
|
#include "sf_param_common.h"
|
|
|
|
#define LED_GRPOUP_MAX 100
|
|
|
|
/*LCD GPIO - LGPIO*/
|
|
#define SF_L_GPIO_SHIFT_BASE 96
|
|
#define SF_L_GPIO_0 (0 +SF_L_GPIO_SHIFT_BASE) ///< L_GPIO[0]
|
|
#define SF_L_GPIO_1 (1 +SF_L_GPIO_SHIFT_BASE) ///< L_GPIO[1]
|
|
|
|
/*Peripheral GPIO - PGPIO*/
|
|
#define SF_P_GPIO_SHIFT_BASE 32
|
|
#define SF_P_GPIO_8 (8 +SF_P_GPIO_SHIFT_BASE) ///< P_GPIO[8]
|
|
#define SF_P_GPIO_10 (10+SF_P_GPIO_SHIFT_BASE) ///< P_GPIO[10]
|
|
|
|
/*GPIO DSI Data register*/
|
|
#define SF_DSI_GPIO_SHIFT_BASE 224
|
|
#define SF_DSI_GPIO_0 (0 + SF_DSI_GPIO_SHIFT_BASE) ///< DSI_GPIO[0]
|
|
#define SF_DSI_GPIO_1 (1 + SF_DSI_GPIO_SHIFT_BASE) ///< DSI_GPIO[1]
|
|
#define SF_DSI_GPIO_2 (2 + SF_DSI_GPIO_SHIFT_BASE) ///< DSI_GPIO[2]
|
|
#define SF_DSI_GPIO_3 (3 + SF_DSI_GPIO_SHIFT_BASE) ///< DSI_GPIO[3]
|
|
#define SF_DSI_GPIO_4 (4 + SF_DSI_GPIO_SHIFT_BASE) ///< DSI_GPIO[4]
|
|
#define SF_DSI_GPIO_5 (5 + SF_DSI_GPIO_SHIFT_BASE) ///< DSI_GPIO[5]
|
|
#define SF_DSI_GPIO_6 (6 + SF_DSI_GPIO_SHIFT_BASE) ///< DSI_GPIO[6]
|
|
#define SF_DSI_GPIO_7 (7 + SF_DSI_GPIO_SHIFT_BASE) ///< DSI_GPIO[7]
|
|
#define SF_DSI_GPIO_8 (8 + SF_DSI_GPIO_SHIFT_BASE) ///< DSI_GPIO[8]
|
|
#define SF_DSI_GPIO_9 (9 + SF_DSI_GPIO_SHIFT_BASE) ///< DSI_GPIO[9]
|
|
#define SF_DSI_GPIO_10 (10+ SF_DSI_GPIO_SHIFT_BASE) ///< DSI_GPIO[10]
|
|
|
|
typedef enum sfHAL_LED_GPIO_IDX_E
|
|
{
|
|
SF_HAL_LED_IDX_0 = 0, /**<led index 0*/
|
|
SF_HAL_LED_IDX_1,
|
|
SF_HAL_LED_STATUS_R = SF_DSI_GPIO_8,
|
|
SF_HAL_LED_STATUS_G = SF_DSI_GPIO_9,
|
|
SF_HAL_LED_WIFI = SF_DSI_GPIO_6,
|
|
|
|
SF_HAL_LED_SD_G = SF_DSI_GPIO_7,
|
|
SF_HAL_LED_SD_R = SF_DSI_GPIO_4,
|
|
SF_HAL_LED_BAT1 = SF_DSI_GPIO_5,
|
|
SF_HAL_LED_BAT2 = SF_DSI_GPIO_2,
|
|
SF_HAL_LED_BAT3 = SF_DSI_GPIO_3,
|
|
SF_HAL_LED_BAT4 = SF_DSI_GPIO_0,
|
|
|
|
SF_HAL_LED_BAT_G = 62,
|
|
SF_HAL_LED_BAT_R = 63,
|
|
|
|
SF_HAL_LED_SIG1_R = SF_DSI_GPIO_10,
|
|
SF_HAL_LED_SIG1_G = SF_DSI_GPIO_1,
|
|
SF_HAL_LED_SIG_2 = SF_L_GPIO_1,
|
|
SF_HAL_LED_SIG_3 = SF_L_GPIO_0,
|
|
SF_HAL_LED_SIG_4 = SF_P_GPIO_8,
|
|
SF_HAL_LED_BUSY = SF_P_GPIO_10,
|
|
|
|
SF_HAL_LED_USERBIND_R = 47,
|
|
SF_HAL_LED_USERBIND_G = 46,
|
|
SF_HAL_LED_IDX_BUIT,
|
|
} SF_LED_GPIO_IDX_E;
|
|
|
|
typedef enum _SF_LED_STATUS_E
|
|
{
|
|
LED_STATUS_HOLD_OFF = 0,
|
|
LED_STATUS_HOLD_ON,
|
|
LED_STATUS_SLOWFLASH_ON,
|
|
LED_STATUS_QUICKFLASH_ON,
|
|
LED_STATUS_FLASH_OFF,
|
|
LED_STATUS_BUIT
|
|
} SF_LED_STATUS_E;
|
|
typedef enum _SF_LED_TYPE_E
|
|
{
|
|
LED_TYPE_OFF = 0,
|
|
LED_TYPE_GREEN,
|
|
LED_TYPE_YELLOW,
|
|
LED_TYPE_RED,
|
|
LED_TYPE_ON,
|
|
LED_TYPE_BUIT
|
|
} SF_LED_TYPE_E;
|
|
|
|
typedef enum sf_LED_GROUP_E
|
|
{
|
|
LED_GROUP_SD = 0,
|
|
LED_GROUP_BAT,
|
|
LED_GROUP_SIGNAL,
|
|
LED_GROUP_ACCOUNT,
|
|
LED_GROUP_STATUS,
|
|
LED_GROUP_BUIT
|
|
|
|
} SF_LED_GROUD_E;
|
|
|
|
typedef SINT32 (*SF_LED_EVENT_CALLBACK_FN_PTR)(SF_LED_GROUD_E enGroupType,SINT32 enstatus);
|
|
|
|
typedef struct sf_LED_REG_S {
|
|
SF_BOOL IsUsed;
|
|
SF_BOOL IsRun;
|
|
SINT8 LedGroupID;
|
|
SINT8 enStatusType;
|
|
SINT32 FlashTimeUs;
|
|
pthread_t TskId;
|
|
} SF_LED_REG_S;
|
|
|
|
typedef struct sf_LED_EVENT_S {
|
|
SF_LED_REG_S stLedGroupReg[LED_GRPOUP_MAX];
|
|
SF_LED_EVENT_CALLBACK_FN_PTR pfn_led_event_exe;
|
|
pthread_mutex_t LEDMNGMutex;
|
|
|
|
} SF_LED_EVENT_S;
|
|
const SF_CHAR* sf_led_status_getstatusstring(SF_LED_STATUS_E enType);
|
|
|
|
const SF_CHAR* sf_led_type_getstatusstring(SF_LED_TYPE_E enType);
|
|
|
|
const SF_CHAR* sf_led_group_getstatusstring(SF_LED_GROUD_E enType);
|
|
|
|
SINT32 sf_led_add_exe(SF_LED_EVENT_CALLBACK_FN_PTR pfn_led_event_exe);
|
|
|
|
SINT32 sf_led_remove_exe(SF_LED_EVENT_CALLBACK_FN_PTR pfn_led_event_exe);
|
|
|
|
SINT32 sf_led_event_register(SINT8 enLedEvent);
|
|
|
|
SINT32 sf_led_event_unregister(SINT8 enLedEvent);
|
|
|
|
SINT32 sf_led_flash_start(SF_LED_REG_S *pLedGroupReg);
|
|
|
|
SINT32 sf_led_flash_stop(SF_LED_GROUD_E enLedGroupType);
|
|
|
|
SINT32 sf_led_event_process(SINT32 arg1,SINT32 arg2,SINT32 arg3);
|
|
|
|
|
|
|
|
|
|
|
|
#include "UIInfo/UIInfo.h"
|
|
|
|
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);
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
#if __cplusplus
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|