📄 evboard.h
字号:
/*
*2006/08/16 WXL 2.0
*
*/
/*
V0.2 added PC-based binding 21/July/2006
V0.1 Initial Release 10/July/2006
*/
#ifndef EVBOARD_H
#define EVBOARD_H
typedef enum {CENTRED, LEFT, RIGHT, UP, DOWN, CANCEL, OK} JOYSTICK_DIRECTION;
typedef union _EVB_SW_STATE {
BYTE val;
struct _SW_STATE_bits {
unsigned s1_val:1;
unsigned s1_last_val:1;
unsigned s1_tgl:1;
unsigned s2_val:1;
unsigned s2_last_val:1;
unsigned s2_tgl:1;
}bits;
}EVB_SW_STATE;
extern EVB_SW_STATE sw_state;
#define EVB_LED1_ON() evbLedSet(1,TRUE)
#define EVB_LED1_OFF() evbLedSet(1,FALSE)
#define EVB_LED2_ON() evbLedSet(2,TRUE)
#define EVB_LED2_OFF() evbLedSet(2,FALSE)
#define EVB_LED1_STATE() evbLedGet(1)
#define EVB_LED2_STATE() evbLedGet(2)
#define EVB_SW1_PRESSED() (sw_state.bits.s1_val)
#define EVB_SW1_RELEASED() (!sw_state.bits.s1_val)
#define EVB_SW2_PRESSED() (sw_state.bits.s2_val)
#define EVB_SW2_RELEASED() (!sw_state.bits.s2_val)
#define EVB_SW1_TOGGLED() (sw_state.bits.s1_tgl)
#define EVB_SW1_CLRTGL() sw_state.bits.s1_tgl=0
#define EVB_SW2_TOGGLED() (sw_state.bits.s2_tgl)
#define EVB_SW2_CLRTGL() sw_state.bits.s2_tgl=0
void evbPoll(void); // if using interrupts, this is an empty function
void evbInit(void);
void evbLedSet(BYTE lednum, BOOL state);
BOOL evbLedGet(BYTE lednum);
//prototypes for bind resolution, bind table support
//need to add some functions for adding bindings
BOOL evbBindTableIterInit(BYTE srcEP, SADDR srcSADDR, BYTE cluster);
BOOL evbResolveBind(BYTE *dstEP, SADDR *dstSADDR);
JOYSTICK_DIRECTION getJoystickDirection( void );
#ifdef LRWPAN_RFD
void keyinit(void);
UINT8 ScanKey(void);
#endif //LRWPAN_RFD
#ifdef LRWPAN_COORDINATOR
void Bk1KeyInit(void);
JOYSTICK_DIRECTION Bk1ScanKey(void);
#endif
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -