From 09b09098aa43778f6757b67db949bed5508fc670 Mon Sep 17 00:00:00 2001 From: "ucart@co3050-12" <dawehr@iastate.edu> Date: Sat, 22 Apr 2017 14:19:48 -0500 Subject: [PATCH] wip: fix I2C stuff, and pass tests --- quad/xsdk_workspace/real_quad/src/hw_impl_zybo_i2c.c | 6 ++++-- quad/xsdk_workspace/real_quad/src/hw_impl_zybo_tests.c | 2 +- quad/xsdk_workspace/real_quad/src/main.c | 4 ++-- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/quad/xsdk_workspace/real_quad/src/hw_impl_zybo_i2c.c b/quad/xsdk_workspace/real_quad/src/hw_impl_zybo_i2c.c index 34ea395e7..85bf4f0e0 100644 --- a/quad/xsdk_workspace/real_quad/src/hw_impl_zybo_i2c.c +++ b/quad/xsdk_workspace/real_quad/src/hw_impl_zybo_i2c.c @@ -80,7 +80,8 @@ int zybo_i2c_write(struct I2CDriver *self, unsigned short device_addr, unsigned char *data, unsigned int length) { - XIicPs *inst = self->state; + struct ZyboI2CState *state = self->state; + XIicPs *inst = state->inst; if (device_addr == PX4FLOW_DEVICE_ADDR) { // If we are sending a request to optical flow, drop down to 100kHz XIicPs_SetSClk(inst, 100000); @@ -98,7 +99,8 @@ int zybo_i2c_read(struct I2CDriver *self, unsigned short device_addr, unsigned char *buff, unsigned int length) { - XIicPs *inst = self->state; + struct ZyboI2CState *state = self->state; + XIicPs *inst = state->inst; if (device_addr == PX4FLOW_DEVICE_ADDR) { // If we are sending a request to optical flow, drop down to 100kHz XIicPs_SetSClk(inst, 100000); diff --git a/quad/xsdk_workspace/real_quad/src/hw_impl_zybo_tests.c b/quad/xsdk_workspace/real_quad/src/hw_impl_zybo_tests.c index bf7310ea5..a38e87306 100644 --- a/quad/xsdk_workspace/real_quad/src/hw_impl_zybo_tests.c +++ b/quad/xsdk_workspace/real_quad/src/hw_impl_zybo_tests.c @@ -65,9 +65,9 @@ int test_zybo_i2c() { int test_zybo_i2c_imu() { struct I2CDriver i2c = create_zybo_i2c(0); struct IMUDriver imu = create_zybo_imu(&i2c); - i2c.reset(&i2c); gam_t gam; + if (i2c.reset(&i2c)) return 0; if (imu.reset(&imu, &gam)) return 0; int status = 0; diff --git a/quad/xsdk_workspace/real_quad/src/main.c b/quad/xsdk_workspace/real_quad/src/main.c index ee7e493f4..85ab2332a 100644 --- a/quad/xsdk_workspace/real_quad/src/main.c +++ b/quad/xsdk_workspace/real_quad/src/main.c @@ -48,7 +48,7 @@ int main() #ifdef RUN_TESTS //test_zybo_mio7_led_and_system(); //test_zybo_i2c(); - //test_zybo_i2c_imu(); + test_zybo_i2c_imu(); //test_zybo_i2c_px4flow(); //test_zybo_i2c_lidar(); //test_zybo_i2c_all(); @@ -56,7 +56,7 @@ int main() //test_zybo_motors(); //test_zybo_uart(); //test_zybo_axi_timer(); - test_zybo_uart_comm(); + //test_zybo_uart_comm(); return 0; #endif -- GitLab