From c377f00e19123deda71cc8a630750d2b44b7a4f4 Mon Sep 17 00:00:00 2001
From: Brendan Bartels <bbartels@iastate.edu>
Date: Tue, 14 Mar 2017 17:06:13 -0500
Subject: [PATCH] wip: fix pwm_output test

---
 .../src/hw_impl_zybo_pwm_output.c              |  2 +-
 .../modular_quad_pid/src/hw_impl_zybo_tests.c  | 18 +++++++++++-------
 2 files changed, 12 insertions(+), 8 deletions(-)

diff --git a/quad/xsdk_workspace/modular_quad_pid/src/hw_impl_zybo_pwm_output.c b/quad/xsdk_workspace/modular_quad_pid/src/hw_impl_zybo_pwm_output.c
index b5595e418..3d1b6e19c 100644
--- a/quad/xsdk_workspace/modular_quad_pid/src/hw_impl_zybo_pwm_output.c
+++ b/quad/xsdk_workspace/modular_quad_pid/src/hw_impl_zybo_pwm_output.c
@@ -3,7 +3,7 @@
 #define THROTTLE_PULSE_WIDTH_LOW 100000 // 1us
 #define THROTTLE_PULSE_WIDTH_HIGH 200000 // 2us
 #define PERIOD_WIDTH 222222 // 100000000 ns / 450
-#define PULSE_WIDTH_ADDR_OFFSET 4
+#define PULSE_WIDTH_ADDR_OFFSET 1
 
 struct PWMOutputDriverState {
   int *outputs[4];
diff --git a/quad/xsdk_workspace/modular_quad_pid/src/hw_impl_zybo_tests.c b/quad/xsdk_workspace/modular_quad_pid/src/hw_impl_zybo_tests.c
index ca3583935..0bff80a1f 100644
--- a/quad/xsdk_workspace/modular_quad_pid/src/hw_impl_zybo_tests.c
+++ b/quad/xsdk_workspace/modular_quad_pid/src/hw_impl_zybo_tests.c
@@ -95,7 +95,7 @@ int test_zybo_pwm_inputs() {
     for (i = 0; i < 6; i += 1) {
       pwm_inputs.read(&pwm_inputs, i, &pwms[i]);
     }
-    int temp = 0;
+    continue;
   }
 }
 
@@ -117,18 +117,22 @@ int test_zybo_pwm_inputs() {
 int test_zybo_pwm_outputs() {
   struct PWMOutputDriver pwm_outputs = create_zybo_pwm_outputs();
   pwm_outputs.reset(&pwm_outputs);
+  struct SystemDriver sys = create_zybo_system();
+  sys.reset(&sys);
 
   unsigned long pwms[4];
-  pwms[0] = 1000;
-  pwms[1] = 1000;
-  pwms[2] = 1000;
-  pwms[3] = 1000;
+  pwms[0] = 100000;
+  pwms[1] = 100000;
+  pwms[2] = 100000;
+  pwms[3] = 100000;
+  int n = 0;
   while (1) {
     int i;
     for (i = 0; i < 4; i += 1) {
-      pwm_outputs.write(&pwm_outputs, i, pwms[i]);
+      pwm_outputs.write(&pwm_outputs, i, pwms[i] + n++);
+      sys.sleep(&sys, 50);
     }
-    int temp = 0;
+    continue;
   }
 }
 
-- 
GitLab