robot

Dependencies:   FastPWM3 mbed

Revision:
232:47f6cf4f9126
Parent:
231:753ec371b153
Child:
233:2ca26ab47b4f
--- a/main.cpp	Sat Nov 10 06:50:53 2018 +0000
+++ b/main.cpp	Sat Nov 10 08:37:08 2018 +0000
@@ -20,6 +20,8 @@
 #include "derived.h"
 #include "main.h"
 
+#include "errors.h"
+
 IOStruct io;
 ReadDataStruct read;
 FOCStruct foc;
@@ -109,11 +111,7 @@
     case MODE_RUN:
         break;
     case MODE_ZERO:
-        if (control.user_cmd > 0.5f) {
-            va = 0.9f; vb = -0.9f; vc = -0.9f;
-        } else {
-            va = 0.0f; vb = 0.0f; vc = 0.0f;
-        }
+        //duty cycles set by calibrate_position()
         break;
     case MODE_CHR:
         //i have no idea lol;
@@ -133,10 +131,12 @@
         va = 0.0f; vb = 0.0f; vc = 0.0f;
     }
     
-    //output to timers
-    set_dtc(io.a, 0.5f + 0.5f * va * LINEAR_MODULATION_MAX);
-    set_dtc(io.b, 0.5f + 0.5f * vb * LINEAR_MODULATION_MAX);
-    set_dtc(io.c, 0.5f + 0.5f * vc * LINEAR_MODULATION_MAX);
+    //output to timers (some of the calibration modes may want to override this)
+    if (!mode_overrides_timers()) {
+        set_dtc(io.a, 0.5f + 0.5f * va * LINEAR_MODULATION_MAX);
+        set_dtc(io.b, 0.5f + 0.5f * vb * LINEAR_MODULATION_MAX);
+        set_dtc(io.c, 0.5f + 0.5f * vc * LINEAR_MODULATION_MAX);
+    }
 }
 
 void slow_loop() {