Utility library for multiple control sources (e.g. PC).

Dependents:   uva_nc

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;
+    }
+}