Skip to content
Snippets Groups Projects
Commit f613b276 authored by bbartels's avatar bbartels Committed by dawehr
Browse files

wip: trying to get a test working for PWMOutputDriver

parent 3c8f04c8
No related branches found
No related tags found
1 merge request!9Abstract the hardware layer
#include "hw_impl_zybo.h"
#define THROTTLE_PULSE_WIDTH_LOW 1000 // us
#define THROTTLE_PULSE_WIDTH_HIGH 2000 // us
#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
......
......@@ -99,4 +99,37 @@ int test_zybo_pwm_inputs() {
}
}
/**
* Test for the PWMInputDriver.
*
* Instructions:
* 1) Connect the quad Zybo board to computer using USB.
* 2) Move jump on Zybo board to use JTAG instead of SD.
* 3) Turn on Zybo board and turn on Spektrum handheld controller.
* - Verify receiver on quad pairs with controller (orange LED should turn on)
* 3) Place breakpoint somewhere in the while loop of this function.
* 4) Set the RUN_TESTS macro in main.c
* 5) Uncomment only this test in main.c
* 6) Debug main.
* 7) Observe the values of pwm_inputs in debugger chaning as you use the
* Spektrum RC controller.
*/
int test_zybo_pwm_outputs() {
struct PWMOutputDriver pwm_outputs = create_zybo_pwm_outputs();
pwm_outputs.reset(&pwm_outputs);
unsigned long pwms[4];
pwms[0] = 1000;
pwms[1] = 1000;
pwms[2] = 1000;
pwms[3] = 1000;
while (1) {
int i;
for (i = 0; i < 4; i += 1) {
pwm_outputs.write(&pwm_outputs, i, pwms[i]);
}
int temp = 0;
}
}
......@@ -26,8 +26,8 @@ int main()
#ifdef RUN_TESTS
//test_zybo_mio7_led_and_system();
//test_zybo_i2c();
test_zybo_pwm_inputs();
//test_zybo_pwm_outputs();
//test_zybo_pwm_inputs();
test_zybo_pwm_outputs();
//test_zybo_uart();
//test_zybo_axi_timer();
return 0;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment