@@ -28,6 +28,7 @@ uint8_t code;
2828uint8_t label;
2929uint8_t control_type;
3030uint8_t msg_size;
31+ uint8_t ack_required=0 ;
3132
3233
3334unsigned long tmotor=0 ;
@@ -154,12 +155,14 @@ void loop(){
154155 packeter.unpacketC1F (code, value);
155156 alvik.disablePositionControl ();
156157 alvik.rotate (value);
158+ ack_required=MOVEMENT_ROTATE;
157159 break ;
158160
159161 case ' G' :
160162 packeter.unpacketC1F (code, value);
161163 alvik.disablePositionControl ();
162164 alvik.move (value);
165+ ack_required=MOVEMENT_MOVE;
163166 break ;
164167
165168 case ' Z' :
@@ -221,16 +224,21 @@ void loop(){
221224 msg_size = packeter.packetC3F (' z' , alvik.getX (), alvik.getY (), alvik.getTheta ());
222225 alvik.serial ->write (packeter.msg , msg_size);
223226
224- if (alvik. getKinematicsMovement ()!=MOVEMENT_DISABLED ){
227+ if (ack_required!= 0 ){
225228 if (alvik.isTargetReached ()){
226- if (alvik.getKinematicsMovement ()==MOVEMENT_ROTATE){
229+ Serial.print (alvik.isTargetReached ());
230+ Serial.print (" \t " );
231+ Serial.println (alvik.getKinematicsMovement ());
232+
233+ if (ack_required==MOVEMENT_ROTATE){
227234 msg_size = packeter.packetC1B (' x' , ' R' );
228235 }
229- if (alvik. getKinematicsMovement () ==MOVEMENT_MOVE){
236+ if (ack_required ==MOVEMENT_MOVE){
230237 msg_size = packeter.packetC1B (' x' , ' M' );
231238 }
232239 alvik.serial ->write (packeter.msg , msg_size);
233240 // alvik.disableKinematicsMovement();
241+ ack_required=0 ;
234242 }
235243
236244 }
0 commit comments