1
1
/*
2
- This file is part of the Arduino Alvik library.
3
- Copyright (c) 2023 Arduino SA. All rights reserved.
4
-
5
- This library is free software; you can redistribute it and/or
6
- modify it under the terms of the GNU Lesser General Public
7
- License as published by the Free Software Foundation; either
8
- version 2.1 of the License, or (at your option) any later version.
9
-
10
- This library is distributed in the hope that it will be useful,
11
- but WITHOUT ANY WARRANTY; without even the implied warranty of
12
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
- Lesser General Public License for more details.
14
-
15
- You should have received a copy of the GNU Lesser General Public
16
- License along with this library; if not, write to the Free Software
17
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
2
+ This file is part of the Arduino_AlvikCarrier library.
3
+
4
+ Copyright (c) 2023 Arduino SA
5
+
6
+ This Source Code Form is subject to the terms of the Mozilla Public
7
+ License, v. 2.0. If a copy of the MPL was not distributed with this
8
+ file, You can obtain one at http://mozilla.org/MPL/2.0/.
9
+
18
10
*/
19
11
20
- #include " Arduino_Alvik_Firmware.h"
12
+
13
+ #include " Arduino_AlvikCarrier.h"
21
14
#include " sensor_line.h"
22
15
#include " sensor_tof_matrix.h"
23
16
#include " ucPack.h"
24
17
25
- Arduino_Alvik_Firmware robot ;
18
+ Arduino_AlvikCarrier alvik ;
26
19
SensorLine line (EXT_A2,EXT_A1,EXT_A0);
27
- SensorTofMatrix tof (robot .wire, EXT_GPIO3, EXT_GPIO2);
20
+ SensorTofMatrix tof (alvik .wire, EXT_GPIO3, EXT_GPIO2);
28
21
29
22
30
23
ucPack packeter (200 );
@@ -51,17 +44,17 @@ float kp, ki, kd;
51
44
52
45
void setup (){
53
46
Serial.begin (115200 );
54
- robot .begin ();
55
- robot .setLedBuiltin (HIGH);
47
+ alvik .begin ();
48
+ alvik .setLedBuiltin (HIGH);
56
49
line.begin ();
57
50
tof.begin ();
58
51
59
52
uint8_t version[3 ];
60
- robot .getVersion (version[0 ], version[1 ], version[2 ]);
53
+ alvik .getVersion (version[0 ], version[1 ], version[2 ]);
61
54
msg_size = packeter.packetC3B (0x7E , version[0 ], version[1 ], version[2 ]);
62
- robot .serial ->write (packeter.msg ,msg_size);
55
+ alvik .serial ->write (packeter.msg ,msg_size);
63
56
64
- robot .setLedBuiltin (LOW);
57
+ alvik .setLedBuiltin (LOW);
65
58
66
59
67
60
code=0 ;
@@ -72,33 +65,33 @@ void setup(){
72
65
}
73
66
74
67
void loop (){
75
- while (robot .serial ->available () > 0 ) {
76
- packeter.buffer .push (robot .serial ->read ());
68
+ while (alvik .serial ->available () > 0 ) {
69
+ packeter.buffer .push (alvik .serial ->read ());
77
70
}
78
71
if (packeter.checkPayload ()) {
79
72
code = packeter.payloadTop ();
80
73
switch (code){
81
74
case ' J' :
82
75
packeter.unpacketC2F (code,left,right);
83
- robot .setRpm (left, right);
76
+ alvik .setRpm (left, right);
84
77
break ;
85
78
/*
86
79
case 'S':
87
- robot .setRpm(0,0);
80
+ alvik .setRpm(0,0);
88
81
break;
89
82
*/
90
83
case ' L' :
91
84
packeter.unpacketC1B (code,leds);
92
- robot .setAllLeds (leds);
85
+ alvik .setAllLeds (leds);
93
86
break ;
94
87
95
88
case ' P' :
96
89
packeter.unpacketC1B3F (code,pid,kp,ki,kd);
97
90
if (pid==' L' ){
98
- robot .setKPidLeft (kp,ki,kd);
91
+ alvik .setKPidLeft (kp,ki,kd);
99
92
}
100
93
if (pid==' R' ){
101
- robot .setKPidRight (kp,ki,kd);
94
+ alvik .setKPidRight (kp,ki,kd);
102
95
}
103
96
break ;
104
97
}
@@ -110,27 +103,27 @@ void loop(){
110
103
case 0 :
111
104
line.update ();
112
105
msg_size = packeter.packetC3I (' l' , line.getLeft (), line.getCenter (), line.getRight ());
113
- robot .serial ->write (packeter.msg ,msg_size);
106
+ alvik .serial ->write (packeter.msg ,msg_size);
114
107
break ;
115
108
case 1 :
116
- robot .updateTouch ();
117
- msg_size = packeter.packetC1B (' t' , robot .getTouchKeys ());
118
- robot .serial ->write (packeter.msg ,msg_size);
109
+ alvik .updateTouch ();
110
+ msg_size = packeter.packetC1B (' t' , alvik .getTouchKeys ());
111
+ alvik .serial ->write (packeter.msg ,msg_size);
119
112
break ;
120
113
case 2 :
121
- robot .updateAPDS ();
122
- msg_size = packeter.packetC3I (' c' , robot .getRed (), robot .getGreen (), robot .getBlue ());
123
- robot .serial ->write (packeter.msg ,msg_size);
114
+ alvik .updateAPDS ();
115
+ msg_size = packeter.packetC3I (' c' , alvik .getRed (), alvik .getGreen (), alvik .getBlue ());
116
+ alvik .serial ->write (packeter.msg ,msg_size);
124
117
break ;
125
118
case 3 :
126
119
if (tof.update_rois ()){
127
120
msg_size = packeter.packetC7I (' f' , tof.getLeft (), tof.getCenterLeft (), tof.getCenter (), tof.getCenterRight (), tof.getRight (), tof.get_min_range_top_mm (), tof.get_max_range_bottom_mm ());
128
- robot .serial ->write (packeter.msg ,msg_size);
121
+ alvik .serial ->write (packeter.msg ,msg_size);
129
122
}
130
123
break ;
131
124
case 4 :
132
- msg_size = packeter.packetC3F (' q' , robot .getRoll (), robot .getPitch (), robot .getYaw ());
133
- robot .serial ->write (packeter.msg ,msg_size);
125
+ msg_size = packeter.packetC3F (' q' , alvik .getRoll (), alvik .getPitch (), alvik .getYaw ());
126
+ alvik .serial ->write (packeter.msg ,msg_size);
134
127
break ;
135
128
}
136
129
sensor_id++;
@@ -141,17 +134,17 @@ void loop(){
141
134
142
135
if (millis ()-tmotor>20 ){
143
136
tmotor=millis ();
144
- robot .updateMotors ();
145
- robot .updateImu ();
146
- msg_size = packeter.packetC2F (' j' , robot .getRpmLeft (),robot .getRpmRight ());
147
- robot .serial ->write (packeter.msg ,msg_size);
137
+ alvik .updateMotors ();
138
+ alvik .updateImu ();
139
+ msg_size = packeter.packetC2F (' j' , alvik .getRpmLeft (),alvik .getRpmRight ());
140
+ alvik .serial ->write (packeter.msg ,msg_size);
148
141
149
142
}
150
143
151
144
if (millis ()-timu>10 ){
152
145
timu=millis ();
153
- robot .updateImu ();
154
- msg_size = packeter.packetC6F (' i' , robot .getAccelerationX (), robot .getAccelerationY (), robot .getAccelerationZ (), robot .getAngularVelocityX (), robot .getAngularVelocityY (), robot .getAngularVelocityZ ());
155
- robot .serial ->write (packeter.msg ,msg_size);
146
+ alvik .updateImu ();
147
+ msg_size = packeter.packetC6F (' i' , alvik .getAccelerationX (), alvik .getAccelerationY (), alvik .getAccelerationZ (), alvik .getAngularVelocityX (), alvik .getAngularVelocityY (), alvik .getAngularVelocityZ ());
148
+ alvik .serial ->write (packeter.msg ,msg_size);
156
149
}
157
150
}
0 commit comments