Utility library for multiple control sources (e.g. PC).
Diff: PcControls.cpp
- Revision:
- 0:62cd782bbb11
- Child:
- 1:39cb90d4bbed
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/PcControls.cpp Tue Jan 05 14:42:20 2016 +0000 @@ -0,0 +1,55 @@ +#include "PcControls.h" + +MotorControlsPc::MotorControlsPc(Serial &pc, MotorController &motorController) : + pc ( pc ), motorController ( motorController ) { +} + +void MotorControlsPc::ProcessPcInput() { + switch (this->pc.getc()) { + case MOTOR_FORWARD: + this->motorController.turnRight(); + break; + case MOTOR_BACKWARD: + this->motorController.turnLeft(); + break; + case MOTOR_POSITION: + pc.printf("Motor position: %3.3f%% \r\n", this->motorController.getPosition()); + break; + case MOTOR_START: + this->motorController.start(); + break; + case MOTOR_POSITION_0: + this->motorController.setPosition(MotorController::POSITION_0); + break; + case MOTOR_POSITION_1: + this->motorController.setPosition(MotorController::POSITION_1); + break; + case MOTOR_POSITION_2: + this->motorController.setPosition(MotorController::POSITION_2); + break; + case MOTOR_POSITION_3: + this->motorController.setPosition(MotorController::POSITION_3); + break; + case MOTOR_POSITION_4: + this->motorController.setPosition(MotorController::POSITION_4); + break; + case MOTOR_POSITION_5: + this->motorController.setPosition(MotorController::POSITION_5); + break; + case MOTOR_POSITION_6: + this->motorController.setPosition(MotorController::POSITION_6); + break; + case MOTOR_POSITION_7: + this->motorController.setPosition(MotorController::POSITION_7); + break; + case MOTOR_POSITION_8: + this->motorController.setPosition(MotorController::POSITION_8); + break; + case MOTOR_POSITION_9: + this->motorController.setPosition(MotorController::POSITION_9); + break; + case MOTOR_POSITION_10: + this->motorController.setPosition(MotorController::POSITION_10); + break; + } +}