@@ -23,15 +23,18 @@ SensorTofMatrix tof(alvik.wire, EXT_GPIO3, EXT_GPIO2);
23
23
ucPack packeter (200 );
24
24
25
25
uint8_t code;
26
+ uint8_t label;
27
+ uint8_t control_type;
26
28
uint8_t msg_size;
27
29
30
+
28
31
unsigned long tmotor=0 ;
29
32
unsigned long tsend=0 ;
30
33
unsigned long tsensor=0 ;
31
34
unsigned long timu=0 ;
32
35
33
36
34
- float left, right;
37
+ float left, right, value ;
35
38
uint8_t leds;
36
39
37
40
uint8_t sensor_id = 0 ;
@@ -40,6 +43,7 @@ uint8_t sensor_id = 0;
40
43
uint8_t pid;
41
44
float kp, ki, kd;
42
45
46
+ uint8_t servo_A, servo_B;
43
47
44
48
45
49
void setup (){
@@ -75,11 +79,24 @@ void loop(){
75
79
packeter.unpacketC2F (code,left,right);
76
80
alvik.setRpm (left, right);
77
81
break ;
78
- /*
82
+ case ' W' :
83
+ packeter.unpacketC2B1F (code,label,control_type,value);
84
+ if ((label == ' L' ) && (control_type == ' V' )) {
85
+ alvik.motor_control_left ->setRPM (value);
86
+ }
87
+ else if ((label == ' R' ) && (control_type == ' V' ))
88
+ {
89
+ alvik.motor_control_right ->setRPM (value);
90
+ }
91
+
92
+ break ;
93
+
79
94
case ' S' :
80
- alvik.setRpm(0,0);
95
+ packeter.unpacketC2B (code,servo_A,servo_B);
96
+ alvik.setServoA (servo_A);
97
+ alvik.setServoB (servo_B);
81
98
break ;
82
- */
99
+
83
100
case ' L' :
84
101
packeter.unpacketC1B (code,leds);
85
102
alvik.setAllLeds (leds);
@@ -135,7 +152,6 @@ void loop(){
135
152
if (millis ()-tmotor>20 ){
136
153
tmotor=millis ();
137
154
alvik.updateMotors ();
138
- alvik.updateImu ();
139
155
msg_size = packeter.packetC2F (' j' , alvik.getRpmLeft (),alvik.getRpmRight ());
140
156
alvik.serial ->write (packeter.msg ,msg_size);
141
157
0 commit comments