robot

Dependencies:   FastPWM3 mbed

Revision:
154:0a22dcf91577
Parent:
152:6877dceec871
Child:
157:a9b2002994d5
--- a/main.cpp	Thu May 04 15:16:56 2017 +0000
+++ b/main.cpp	Thu May 04 16:52:04 2017 +0000
@@ -30,7 +30,6 @@
 
 DQMapper *dq;
 ThrottleMapper *th;
-MedianFilter *throttle_filter, *velocity_filter;
 
 int loop_counter = 0;
 bool control_enabled = false;
@@ -45,7 +44,7 @@
     
     float w_raw = dp_mech * F_SW; //rad/s
     
-    read.w = velocity_filter->update(w_raw);
+    read.w = control.velocity_filter->update(w_raw);
 }
 
 void commutate() {  
@@ -134,7 +133,7 @@
 
 void slow_loop() {
     float x = io.throttle_in->get_throttle();
-    x = throttle_filter->update(x);
+    x = control.throttle_filter->update(x);
     control.torque_percent = th->map(x, read.w);
     dq->map(control.torque_percent, read.w, &control.d_ref, &control.q_ref);
 }
@@ -152,7 +151,7 @@
 }
 
 bool is_driving() {
-    return io.throttle_in->get_throttle() > 0.01f || fabsf(read.w) > W_SAFE;
+    return control.torque_percent > 0.01f || fabsf(read.w) > W_SAFE;
 }
 
 float update_filter(float old, float x, float str) {
@@ -160,8 +159,8 @@
 }
 
 void log() {
-    //io.pc->printf("%d,%d,%d,%d,%d,%d,%d,%d\n", (int) read.w, (int) control.d_ref, (int) control.d_filtered, (int) control.q_ref, (int) control.q_filtered, (int) (255 * control.torque_percent), 
-    //                    (int) (255 * foc.vd), (int) (255 * foc.vq));
+    io.pc->printf("%d,%d,%d,%d,%d,%d,%d,%d\n", (int) read.w, (int) control.d_ref, (int) control.d_filtered, (int) control.q_ref, (int) control.q_filtered, (int) (255 * control.torque_percent), 
+                        (int) (255 * foc.vd), (int) (255 * foc.vq));
     //io.pc->printf("%d,%d,%d,%d,%d\n", (int) read.w, (int) control.d_filtered, (int) control.q_filtered, (int) (255 * foc.vd), (int) (255 * foc.vq));
     wait(1.0f / LOG_FREQUENCY);
 }
@@ -187,8 +186,6 @@
 int main() {
     dq = new LutMapper();
     th = new NullThrottleMapper();
-    throttle_filter = new MedianFilter(THROTTLE_FILTER_WINDOW);
-    velocity_filter = new MedianFilter(W_FILTER_WINDOW);
     
     BREMSInit(&io, &read, &foc, &control, false);