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

wip: add hardware tests for PWMInputDriver

parent 20296f0e
No related branches found
No related tags found
1 merge request!9Abstract the hardware layer
......@@ -64,5 +64,6 @@ struct SystemDriver create_zybo_system();
int test_zybo_i2c();
int test_zybo_mio7_led_and_system();
int test_zybo_pwm_inputs();
#endif
......@@ -70,4 +70,33 @@ int test_zybo_i2c() {
return 0;
}
/**
* 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_inputs() {
struct PWMInputDriver pwm_inputs = create_zybo_pwm_inputs();
pwm_inputs.reset(&pwm_inputs);
unsigned long pwms[6];
while (1) {
int i;
for (i = 0; i < 6; i += 1) {
pwm_inputs.read(&pwm_inputs, i, &pwms[i]);
}
int temp = 0;
}
}
......@@ -14,6 +14,7 @@ int setup_hardware(hardware_t *hardware) {
hardware->global_timer = create_zybo_global_timer();
hardware->axi_timer = create_zybo_axi_timer();
hardware->mio7_led = create_zybo_mio7_led();
hardware->sys = create_zybo_system();
return 0;
}
......@@ -23,9 +24,9 @@ int main()
init_platform();
#ifdef RUN_TESTS
test_zybo_mio7_led_and_system();
//test_zybo_mio7_led_and_system();
//test_zybo_i2c();
//test_zybo_pwm_inputs();
test_zybo_pwm_inputs();
//test_zybo_pwm_outputs();
//test_zybo_uart();
//test_zybo_axi_timer();
......
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