Skip to content

Commit 1d5a33a

Browse files
committed
position control is now in AlvikCarrier class
1 parent 276df74 commit 1d5a33a

File tree

2 files changed

+60
-1
lines changed

2 files changed

+60
-1
lines changed

src/Arduino_AlvikCarrier.cpp

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -323,6 +323,53 @@ void Arduino_AlvikCarrier::setKPidLeft(const float kp, const float ki, const flo
323323
motor_control_left->setKD(kd);
324324
}
325325

326+
void Arduino_AlvikCarrier::setPositionLeft(const float degrees){
327+
motor_control_left->setPosition(degrees);
328+
}
329+
330+
float Arduino_AlvikCarrier::getPositionLeft(){
331+
return motor_control_left->getPosition();
332+
}
333+
334+
void Arduino_AlvikCarrier::setPositionRight(const float degrees){
335+
motor_control_right->setPosition(degrees);
336+
}
337+
338+
float Arduino_AlvikCarrier::getPositionRight(){
339+
return motor_control_right->getPosition();
340+
}
341+
342+
void Arduino_AlvikCarrier::setPosition(const float left_deg, const float right_deg){
343+
setPositionLeft(left_deg);
344+
setPositionRight(right_deg);
345+
}
346+
347+
void Arduino_AlvikCarrier::getPosition(float & left_deg, float & right_deg){
348+
left_deg = getPositionLeft();
349+
right_deg = getPositionRight();
350+
}
351+
352+
void Arduino_AlvikCarrier::resetPositionLeft(const float initial_position){
353+
motor_control_left->resetPosition(initial_position);
354+
}
355+
356+
void Arduino_AlvikCarrier::resetPositionRight(const float initial_position){
357+
motor_control_right->resetPosition(initial_position);
358+
}
359+
360+
void Arduino_AlvikCarrier::disablePositionControlLeft(){
361+
motor_control_left->disablePositionControl();
362+
}
363+
364+
void Arduino_AlvikCarrier::disablePositionControlRight(){
365+
motor_control_right->disablePositionControl();
366+
}
367+
368+
void Arduino_AlvikCarrier::disablePositionControl(){
369+
disablePositionControlLeft();
370+
disablePositionControlRight();
371+
}
372+
326373

327374

328375
/******************************************************************************************************/

src/Arduino_AlvikCarrier.h

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,8 +142,20 @@ class Arduino_AlvikCarrier{
142142
float getRpmRight(); // get RPM of right motor
143143
bool setRpm(const float left, const float right); // sets RPMs on left and right wheels
144144
void getRpm(float & left, float & right); // get RPMs on left and right wheels
145-
void setKPidRight(const float kp, const float ki, const float kd); // set PID parameters for right wheel
146145
void setKPidLeft(const float kp, const float ki, const float kd); // set PID parameters for left wheel
146+
void setKPidRight(const float kp, const float ki, const float kd); // set PID parameters for right wheel
147+
void setPositionLeft(const float degrees); // set position in degrees on left wheel
148+
float getPositionLeft(); // get left wheel position in degrees
149+
void setPositionRight(const float degrees); // set position in degrees on right wheel
150+
float getPositionRight(); // get right wheel position in degrees
151+
void setPosition(const float left_deg, const float right_deg); // set positions on both wheels
152+
void getPosition(float & left_deg, float & right_deg); // get both wheels position
153+
void resetPositionLeft(const float initial_position=0.0); // reset/set value of position for left wheel
154+
void resetPositionRight(const float initial_position=0.0); // reset/set value of position for right wheel
155+
void disablePositionControlLeft(); // disable the position control on left wheel
156+
void disablePositionControlRight(); // disable the position control on right wheel
157+
void disablePositionControl(); // disable the position control on both wheels
158+
147159

148160

149161

0 commit comments

Comments
 (0)