-
Notifications
You must be signed in to change notification settings - Fork 1
/
CompText.ino
137 lines (109 loc) · 3.42 KB
/
CompText.ino
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
/**
* @example CompText.ino
*
* @par How to Use
* This example shows that ,when the "+" component on the Nextion screen is released,
* the value of text component will plus 1,when the "-" component released ,the value of
* text component will minus 1 every time.
*
* @author Wu Pengfei (email:<pengfei.wu@itead.cc>)
* @date 2015/7/10
* @updated 2016/12/25 bring HMI up to v0.32 to avoid too old issues
* @convert by Patrick Martin, no other changes made
* @copyright
* Copyright (C) 2014-2015 ITEAD Intelligent Systems Co., Ltd. \n
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
* the License, or (at your option) any later version.
*/
#include "Nextion.h"
void t0PopCallback(void *ptr);
void b0PopCallback(void *ptr);
void b1PopCallback(void *ptr);
/*
* Declare a text object [page id:0,component id:1, component name: "t0"].
*/
NexText t0 = NexText(0, 1, "t0");
/*
* Declare a button object [page id:0,component id:2, component name: "b0"].
*/
NexButton b0 = NexButton(0, 2, "b0");
/*
* Declare a button object [page id:0,component id:3, component name: "b1"].
*/
NexButton b1 = NexButton(0, 3, "b1");
char buffer[100] = {0};
/*
* Register object t0, b0, b1, to the touch event list.
*/
NexTouch *nex_listen_list[] =
{
&t0,
&b0,
&b1,
NULL
};
/*
* Text component pop callback function.
*/
void t0PopCallback(void *ptr)
{
dbSerialPrintln("t0PopCallback");
t0.setText("50");
}
/*
* Button0 component pop callback function.
* In this example,the value of the text component will plus one every time when button0 is released.
*/
void b0PopCallback(void *ptr)
{
uint16_t len;
uint16_t number;
dbSerialPrintln("b0PopCallback");
memset(buffer, 0, sizeof(buffer));
t0.getText(buffer, sizeof(buffer));
number = atoi(buffer);
number += 1;
memset(buffer, 0, sizeof(buffer));
itoa(number, buffer, 10);
t0.setText(buffer);
}
/*
* Button1 component pop callback function.
* In this example,the value of the text component will minus one every time when button1 is released.
*/
void b1PopCallback(void *ptr)
{
uint16_t len;
uint16_t number;
dbSerialPrintln("b1PopCallback");
memset(buffer, 0, sizeof(buffer));
t0.getText(buffer, sizeof(buffer));
number = atoi(buffer);
number -= 1;
memset(buffer, 0, sizeof(buffer));
itoa(number, buffer, 10);
t0.setText(buffer);
}
HardwareSerial Serial1(PA10,PA9);
void setup(void)
{
/* Set the baudrate which is for debug and communicate with Nextion screen. */
nexInit();
/* Register the pop event callback function of the current text component. */
t0.attachPop(t0PopCallback);
/* Register the pop event callback function of the current button0 component. */
b0.attachPop(b0PopCallback);
/* Register the pop event callback function of the current button1 component. */
b1.attachPop(b1PopCallback);
dbSerialPrintln("setup done");
}
void loop(void)
{
/*
* When a pop or push event occured every time,
* the corresponding component[right page id and component id] in touch event list will be asked.
*/
nexLoop(nex_listen_list);
}