Thijs Riezebeek / Controls

Dependents:   uva_nc

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers PcControls.cpp Source File

PcControls.cpp

00001 #include "PcControls.h"
00002 
00003 MotorControlsPc::MotorControlsPc(MotorController &motorController) : 
00004     motorController ( motorController ) {
00005 }
00006 
00007 MotorController MotorControlsPc::getMotorController () {
00008     return this->motorController;
00009 }
00010 
00011 void MotorControlsPc::ProcessPcInput(char c) {
00012     switch (c) {
00013         case MOTOR_FORWARD:
00014             this->motorController.turnRight();
00015             break;
00016         case MOTOR_BACKWARD:
00017             this->motorController.turnLeft();
00018             break;
00019         case MOTOR_POSITION:
00020             printf("Motor position: %3.3f%% \r\n", this->motorController.getPosition());
00021             // Return immediately to prevent the servo regulating system from
00022             // seeing MOTOR_POSITION as the command that is has to keep regulating.
00023             return;
00024         case MOTOR_START:
00025             this->motorController.start();
00026             break;
00027         case MOTOR_POSITION_0:
00028             this->motorController.setPosition(MotorController::POSITION_0);
00029             break;
00030         case MOTOR_POSITION_1:
00031             this->motorController.setPosition(MotorController::POSITION_1);
00032             break;
00033         case MOTOR_POSITION_2:
00034             this->motorController.setPosition(MotorController::POSITION_2);
00035             break;
00036         case MOTOR_POSITION_3:
00037             this->motorController.setPosition(MotorController::POSITION_3);
00038             break;
00039         case MOTOR_POSITION_4:
00040             this->motorController.setPosition(MotorController::POSITION_4);
00041             break;
00042         case MOTOR_POSITION_5:
00043             this->motorController.setPosition(MotorController::POSITION_5);
00044             break;
00045         case MOTOR_POSITION_6:
00046             this->motorController.setPosition(MotorController::POSITION_6);
00047             break;
00048         case MOTOR_POSITION_7:
00049             this->motorController.setPosition(MotorController::POSITION_7);
00050             break;
00051         case MOTOR_POSITION_8:
00052             this->motorController.setPosition(MotorController::POSITION_8);
00053             break;
00054         case MOTOR_POSITION_9:
00055             this->motorController.setPosition(MotorController::POSITION_9);
00056             break;
00057         case MOTOR_POSITION_10:
00058             this->motorController.setPosition(MotorController::POSITION_10);
00059             break;
00060         case MOTOR_HALT:
00061             this->motorController.stop();
00062             break;          
00063     }
00064     
00065     this->motorController.setCurrentAction(c);
00066 }