Documentation
Includes
stdint.h
#include <stdint.h>
tuya_cloud_types.h
#include "tuya_cloud_types.h"
tuya_pin.h
#include "tuya_pin.h"
Macros
Marco __TUYA_KEY_H
#define __TUYA_KEY_H
Functions
Func reg_proc_key
OPERATE_RET reg_proc_key(IN CONST KEY_USER_DEF_S *key_ud);
Func key_init
OPERATE_RET key_init(IN CONST KEY_USER_DEF_S *p_tbl,IN CONST INT_T cnt,\
IN CONST INT_T timer_space);
Vars
Consts
Types
Typedefs
Typedef PUSH_KEY_TYPE_E;
typedef enum {
/** one shot */
NORMAL_KEY = 0,
/** continual shot */
SEQ_KEY,
/** long press */
LONG_KEY,
}PUSH_KEY_TYPE_E;
Typedef KEY_LONG_PRESS_TP_E;
typedef enum {
/** long press invalid */
LP_INVALID = 0,
/** long press once trigger */
LP_ONCE_TRIG,
/** long press more normal trigger */
LP_MORE_NORMAL_TRIG,
/** press key immedialtely trigger */
FALLING_EDGE_TRIG,
/** press key immedialtely trigger & LONG */
FALLING_LONG_TRIG,
}KEY_LONG_PRESS_TP_E;
Typedef VOID
typedef VOID(* KEY_CALLBACK)(tuya_pin_name_t port,PUSH_KEY_TYPE_E type,INT_T cnt);
Typedef KEY_USER_DEF_S;
typedef struct {
/** PIN ID */
tuya_pin_name_t port;
/** whether low level trigger */
BOOL_T low_level_detect;
/** long press type, see KEY_LONG_PRESS_TP_E */
KEY_LONG_PRESS_TP_E lp_tp;
/** unit: ms, lp_tp == LP_ONCE_TRIG then valid and must >= 1000ms */
USHORT_T long_key_time;
/** unit:ms , 0:disable default:400ms */
USHORT_T seq_key_detect_time;
/** handler of KEY event */
KEY_CALLBACK call_back;
}KEY_USER_DEF_S;