nt9856x/code/application/source/sf_app/code/include/sf_keymng.h

73 lines
1.5 KiB
C
Executable File

#ifndef __SF_KEYMNG_H__
#define __SF_KEYMNG_H__
#ifdef __cplusplus
#if __cplusplus
extern "C" {
#endif
#endif
#include "sf_type.h"
#include "sf_hal_gpio.h"
#include "sf_param_common.h"
typedef enum sf_KEY_PIN_E
{
SF_KEY_PIN_RESET = 69,
SF_KEY_PIN_SYNC = 4,
SF_KEY_PIN_FORMAT = 66,
SF_KEY_PIN_DATAREADY = 6,
SF_KEY_PIN_FILESTATUS = 128,/*virtual key*/
} SF_KEY_PIN_E;
typedef enum sf_KEY_TYPE_E
{
SF_KEY_TYPE_CLICK = 0,
SF_KEY_TYPE_HOLD,
} SF_KEY_TYPE_E;
typedef enum sf_KEY_STATE_E
{
SF_KEY_STATE_DOWN = 0,
SF_KEY_STATE_UP,
SF_KEY_STATE_BUIT
} SF_KEY_STATE_E;
typedef enum sf_MESSAGE_CMD_KEY_e
{
SF_EVENT_KEY_SHORT_CLICK = 0x01,
SF_EVENT_KEY_LONG_CLICK,
SF_EVENT_KEY_HOLD_DOWN,
SF_EVENT_KEY_HOLD_UP,
SF_EVENT_KEY_GROUP,
SF_EVENT_KEY_BUTT
}SF_MESSAGE_CMD_KEY_E;
typedef struct tagKEYMNG_INFO_S
{
SF_KEY_PIN_E u8keyIdx; /* serial number*/
SF_BOOL u32status; /* PIN state*/
SINT16 u32keycount; /* Count value*/
SINT16 ShortLongMaxCount; /* Pin number*/
SF_KEY_STATE_E enState; /* Initial state*/
} SF_KEYMNG_INFO_S;
const SF_CHAR* sf_keyctrl_getstatusstring(SF_MESSAGE_CMD_KEY_E enType);
const SF_CHAR* sf_keypin_getstatusstring(SF_KEY_PIN_E enType);
SINT32 sf_Key_ctrl_init(void);
SINT32 sf_Key_ctrl_deinit(void);
SINT32 sf_Key_ctrl_Start(void);
SINT32 sf_Key_ctrl_Stop(void);
#ifdef __cplusplus
#if __cplusplus
}
#endif
#endif
#endif