3
3
* Copyright (c) 2022 by M5Stack
4
4
* Equipped with M5Core sample source code
5
5
* 配套 M5Core 示例源代码
6
- * Visit the website for more
7
- *information:https://docs.m5stack.com/en/module/4relay
8
- * 获取更多资料请访问:https://docs.m5stack.com/zh_CN/module/4relay
6
+ * Visit for more information: https://docs.m5stack.com/en/module/4relay
7
+ * 获取更多资料请访问: https://docs.m5stack.com/zh_CN/module/4relay
9
8
*
10
9
* describe: Module 4Relay.
11
- * date: 2022/04/07
10
+ * date: 2022/04/07
12
11
*******************************************************************************
13
12
*/
14
13
14
+ #include < M5GFX.h>
15
15
#include < M5Stack.h>
16
+
16
17
#include " MODULE_4RELAY.h"
17
- #include < M5GFX.h>
18
18
19
19
M5GFX display;
20
20
M5Canvas canvas (&display);
21
21
22
22
MODULE_4RELAY RELAY;
23
23
24
24
void drwaRect () {
25
- canvas.fillSprite (0 );
26
- canvas.drawString (" Module 4Relay" , 160 , 20 );
27
- canvas.drawString (" A REVERSE" , 220 , 80 );
28
- canvas.drawString (" B STEP" , 220 , 120 );
29
- canvas.drawString (" C RUNING" , 220 , 160 );
25
+ canvas.fillSprite (0 );
26
+ canvas.drawString (" Module 4Relay" , 160 , 20 );
27
+ canvas.drawString (" A REVERSE" , 220 , 80 );
28
+ canvas.drawString (" B STEP" , 220 , 120 );
29
+ canvas.drawString (" C RUNING" , 220 , 160 );
30
30
31
- uint8_t state = RELAY.getAllRelayState ();
32
- Serial.println (state);
33
- for (uint8_t i=0 ; i<4 ; i++){
34
- if (((state>>i) & 0x01 ) == 1 ){
35
- canvas.fillRect (20 , 50 + 50 *i, 100 , 20 );
36
- }else {
37
- canvas.drawRect (20 , 50 + 50 *i, 100 , 20 );
31
+ uint8_t state = RELAY.getAllRelayState ();
32
+ Serial.println (state);
33
+ for (uint8_t i = 0 ; i < 4 ; i++) {
34
+ if (((state >> i) & 0x01 ) == 1 ) {
35
+ canvas.fillRect (20 , 50 + 50 * i, 100 , 20 );
36
+ } else {
37
+ canvas.drawRect (20 , 50 + 50 * i, 100 , 20 );
38
+ }
38
39
}
39
- }
40
- canvas.pushSprite (0 ,0 );
40
+ canvas.pushSprite (0 , 0 );
41
41
}
42
42
43
-
44
43
void setup () {
45
44
M5.begin (); // Init M5Stack. 初始化M5Stack
46
45
// sensor.begin(&Wire, 0x57, 21, 22, 200000L);
@@ -52,80 +51,79 @@ void setup() {
52
51
canvas.setTextDatum (MC_DATUM);
53
52
canvas.createSprite (display.width (), display.height ());
54
53
canvas.setPaletteColor (1 , ORANGE);
55
- canvas.pushSprite (0 ,0 );
54
+ canvas.pushSprite (0 , 0 );
56
55
}
57
56
58
57
uint8_t mode = 0 ;
59
58
60
- bool delayBtn (unsigned long start){
61
- while (1 ) {
59
+ bool delayBtn (unsigned long start) {
60
+ while (1 ) {
62
61
M5.update ();
63
- if (M5.BtnA .wasPressed ()){
62
+ if (M5.BtnA .wasPressed ()) {
64
63
mode = 0 ;
65
64
return true ;
66
65
}
67
- if (M5.BtnB .wasPressed ()){
66
+ if (M5.BtnB .wasPressed ()) {
68
67
mode = 1 ;
69
68
return true ;
70
69
}
71
- if (M5.BtnC .wasPressed ()){
70
+ if (M5.BtnC .wasPressed ()) {
72
71
mode = 2 ;
73
72
return true ;
74
73
}
75
- if ((millis () - start) > 500 ){
74
+ if ((millis () - start) > 500 ) {
76
75
return false ;
77
76
}
78
77
}
79
78
}
80
79
81
80
void loop () {
82
- switch (mode)
83
- {
84
- case 0 :
85
- RELAY.setAllRelay (true );
86
- drwaRect ();
87
- if (delayBtn (millis ())){
88
- RELAY.setAllRelay (false );
89
- break ;
90
- };
91
- RELAY.setAllRelay (false );
92
- drwaRect ();
93
- if (delayBtn (millis ())){
94
- RELAY.setAllRelay (false );
95
- break ;
96
- };
97
- break ;
98
- case 1 :
99
- for (uint8_t i = 0 ; i < 4 ; i++) {
100
- while (!delayBtn (millis ()));
101
- if (mode != 1 ) break ;
102
- RELAY.setRelay (i, true );
81
+ switch (mode) {
82
+ case 0 :
83
+ RELAY.setAllRelay (true );
103
84
drwaRect ();
104
-
105
- }
106
- for (uint8_t i = 0 ; i < 4 ; i++) {
107
- while (!delayBtn (millis ()));
108
- if (mode != 1 ) break ;
109
- RELAY.setRelay (i, false );
110
- drwaRect ();
111
- }
112
- break ;
113
- case 2 :
114
- for (uint8_t i = 0 ; i < 4 ; i++) {
115
- RELAY.setRelay (i, true );
116
- drwaRect ();
117
- if (delayBtn (millis ())){
85
+ if (delayBtn (millis ())) {
86
+ RELAY.setAllRelay (false );
118
87
break ;
119
88
};
120
- }
121
- for (uint8_t i = 0 ; i < 4 ; i++) {
122
- RELAY.setRelay (i, false );
89
+ RELAY.setAllRelay (false );
123
90
drwaRect ();
124
- if (delayBtn (millis ())){
91
+ if (delayBtn (millis ())) {
92
+ RELAY.setAllRelay (false );
125
93
break ;
126
94
};
127
- }
128
- break ;
95
+ break ;
96
+ case 1 :
97
+ for (uint8_t i = 0 ; i < 4 ; i++) {
98
+ while (!delayBtn (millis ()))
99
+ ;
100
+ if (mode != 1 ) break ;
101
+ RELAY.setRelay (i, true );
102
+ drwaRect ();
103
+ }
104
+ for (uint8_t i = 0 ; i < 4 ; i++) {
105
+ while (!delayBtn (millis ()))
106
+ ;
107
+ if (mode != 1 ) break ;
108
+ RELAY.setRelay (i, false );
109
+ drwaRect ();
110
+ }
111
+ break ;
112
+ case 2 :
113
+ for (uint8_t i = 0 ; i < 4 ; i++) {
114
+ RELAY.setRelay (i, true );
115
+ drwaRect ();
116
+ if (delayBtn (millis ())) {
117
+ break ;
118
+ };
119
+ }
120
+ for (uint8_t i = 0 ; i < 4 ; i++) {
121
+ RELAY.setRelay (i, false );
122
+ drwaRect ();
123
+ if (delayBtn (millis ())) {
124
+ break ;
125
+ };
126
+ }
127
+ break ;
129
128
}
130
129
}
131
-
0 commit comments