16 #ifndef __NEXTOUCH_H__
17 #define __NEXTOUCH_H__
22 typedef uint8_t NexPid;
23 typedef uint8_t NexCid;
27 NEX_EVENT_PUSH = 0x01,
32 #define NEX_RET_CMD_FINISHED (0x01)
33 #define NEX_RET_EVENT_LAUNCHED (0x88)
34 #define NEX_RET_EVENT_UPGRADED (0x89)
35 #define NEX_RET_EVENT_TOUCH_HEAD (0x65)
36 #define NEX_RET_EVENT_POSITION_HEAD (0x67)
37 #define NEX_RET_EVENT_SLEEP_POSITION_HEAD (0x68)
38 #define NEX_RET_CURRENT_PAGE_ID_HEAD (0x66)
39 #define NEX_RET_STRING_HEAD (0x70)
40 #define NEX_RET_NUMBER_HEAD (0x71)
41 #define NEX_RET_INVALID_CMD (0x00)
42 #define NEX_RET_INVALID_COMPONENT_ID (0x02)
43 #define NEX_RET_INVALID_PAGE_ID (0x03)
44 #define NEX_RET_INVALID_PICTURE_ID (0x04)
45 #define NEX_RET_INVALID_FONT_ID (0x05)
46 #define NEX_RET_INVALID_BAUD (0x11)
47 #define NEX_RET_INVALID_VARIABLE (0x1A)
48 #define NEX_RET_INVALID_OPERATION (0x1B)
51 typedef void (*NexTouchEventCb)(
void *ptr);
63 static uint16_t
recvRetString(
char *buffer, uint16_t len, uint32_t timeout = 500);
64 static bool recvRetNumber(uint32_t *number, uint32_t timeout = 500);
67 NexTouch(NexPid pid, NexCid cid,
char *name,
68 NexTouchEventCb pop = NULL,
void *pop_ptr = NULL,
69 NexTouchEventCb push = NULL,
void *push_ptr = NULL);
77 static bool setBrightness(uint32_t brightness);
78 static bool getBrightness(uint32_t *brightness);
81 void attachPush(NexTouchEventCb push,
void *ptr = NULL);
82 void detachPush(
void);
83 void attachPop(NexTouchEventCb pop,
void *ptr = NULL);
87 static void iterate(
NexTouch **list, NexPid pid, NexCid cid, NexEventType event);
94 static uint8_t __buffer[256];
100 NexTouchEventCb cbPush;
102 NexTouchEventCb cbPop;
113 bool clearSerialSurplusCommand(
void);
bool setDefaultBaudrate(uint32_t baudrate)
Set default baudrate.
NexPid getPid(void)
Get page id.
bool sleepMode(uint8_t mode)
Set device in sleep mode.
NexTouch(NexPid pid, NexCid cid, char *name, NexTouchEventCb pop=NULL, void *pop_ptr=NULL, NexTouchEventCb push=NULL, void *push_ptr=NULL)
Constructor of Nextouch.
bool setCurrentBaudrate(uint32_t baudrate)
Set current baudrate.
bool setDefaultBrightness(uint8_t dimDefaultValue)
Set default backlight brightness value.
bool nexInit(void)
Init Nextion's baudrate,page id.
static void sendCommand(const char *cmd)
Send command to Nextion.
const char * getObjName(void)
Get component name.
bool disableTouchFocus(void)
Disable all touch hot.
bool pauseSerialCommand(void)
Pause serial instruction execution.
void print(void)
Print current object address,page id,component id, component name,pop event function address...
static uint8_t mainEventLoop(NexTouch **list)
Watting for Nextion's touch event.
bool touchCalibration(void)
Touch screen calibration.
NexCid getCid(void)
Get component id.
bool setCurrentBrightness(uint8_t dimValue)
Set current backlight brightness value.
static bool recvRetNumber(uint32_t *number, uint32_t timeout=500)
Receive uint32_t data.
static uint16_t recvRetString(char *buffer, uint16_t len, uint32_t timeout=500)
Receive string data.
bool recoverySerialCommand(void)
Recovery serial instruction execution.
bool sendCurrentPageId(uint8_t *pageId)
Return current page id.
static bool recvRetCommandFinished(uint32_t timeout=100)
Command is executed successfully.
bool nexLoop(NexTouch **nex_listen_list)
Call mainEventLoop,watting for Nextion's touch event.
Root Class of Nextion Components.