Dependencies:   mbed Servo mbed-rtos Motor

Revision:
1:3f064275f04d
Parent:
0:b52adb14e1a9
Child:
2:3d1a5025c32a
Child:
3:80579b8865db
--- a/main.cpp	Sat Apr 25 18:35:31 2020 +0000
+++ b/main.cpp	Sat Apr 25 19:28:22 2020 +0000
@@ -14,8 +14,8 @@
 
 volatile float topServoPos = 0.0;
 volatile float bottomServoPos = 0.0;
-volatile int xpadState = 0;
-volatile int ypadState = 0;
+volatile int xpadState = 0; //left-right Dpad
+volatile int ypadState = 0; //up-down Dpad
 volatile float leftJoystickState = 0.0;
 volatile float rightJoystickState = 0.0;
 
@@ -55,7 +55,7 @@
 {
     leftMotor.speed(leftJoystickState);
     rightMotor.speed(rightJoystickState);
-    if(leftJoystickState != 0 && rightJoystickState != 0 && leftJoystickState == rightJoystickState) //only need to match speeds if they're moving in same direction
+    if(leftJoystickState != 0.0 && rightJoystickState != 0.0 && leftJoystickState == rightJoystickState) //only need to match speeds if they're moving in same direction
     {
         
     }
@@ -77,16 +77,20 @@
         {
             if (pi.getc() == '!' ) {
                 servoNum = pi.getc();
-                if (servoNum == '1') {
+                if (servoNum == '0') {
+                    xpadState = 0;
+                    ypadState = 0;
+                }
+                else if (servoNum == '1') {
                     xpadState = -1;
                 }
-                if (servoNum == '2') {
+                else if (servoNum == '2') {
                     xpadState = 1;
                 }
-                if (servoNum == '3') {
+                else if (servoNum == '3') {
                     ypadState = 1;
                 }
-                if (servoNum == '4') {
+                else if (servoNum == '4') {
                     ypadState = -1;
                 }
             }
@@ -95,25 +99,26 @@
                 if (leftMotNum == '0') {
                     leftJoystickState = 0;
                 }
-                if (leftMotNum == '1') {
+                else if (leftMotNum == '1') {
                     leftJoystickState = 1;
                 }
-                if (leftMotNum == '2') {
+                else if (leftMotNum == '2') {
                     leftJoystickState = -1;
                 }
             }
             else if (pi.getc() == ')' ) {
                 rightMotNum = pi.getc();
                 if (rightMotNum == '0') {
-                    rightJoystickState = 0;
+                    rightJoystickState = 0.0;
                 }
-                if (rightMotNum == '1') {
-                    rightJoystickState = 1;
+                else if (rightMotNum == '1') {
+                    rightJoystickState = 1.0;
                 }
-                if (rightMotNum == '2') {
-                    rightJoystickState = -1;
+                else if (rightMotNum == '2') {
+                    rightJoystickState = -1.0;
                 }
             }
         }
+        Thread::yield();
     }
 }