From 9d5fcefa0b79cf0c3f0f2880f763bb03d7b425d3 Mon Sep 17 00:00:00 2001 From: David Wehr <dawehr@iastate.edu> Date: Wed, 26 Apr 2017 01:05:20 -0500 Subject: [PATCH] Removed "packed" from optical flow integral frame --- quad/xsdk_workspace/real_quad/src/hw_impl_zybo_optical_flow.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/quad/xsdk_workspace/real_quad/src/hw_impl_zybo_optical_flow.c b/quad/xsdk_workspace/real_quad/src/hw_impl_zybo_optical_flow.c index d5e94484d..30d7a3381 100644 --- a/quad/xsdk_workspace/real_quad/src/hw_impl_zybo_optical_flow.c +++ b/quad/xsdk_workspace/real_quad/src/hw_impl_zybo_optical_flow.c @@ -17,6 +17,7 @@ int zybo_optical_flow_read(struct OpticalFlowDriver *self, px4flow_t *of) { struct I2CDriver *i2c = self->i2c; int error = 0; + // Note: Despite documentation, do not mark this as a "packed" struct. The actual code does not pack it. struct i2c_integral_frame { uint16_t frame_count_since_last_readout;//number of flow measurements since last I2C readout [#frames] @@ -30,7 +31,7 @@ int zybo_optical_flow_read(struct OpticalFlowDriver *self, px4flow_t *of) { int16_t ground_distance;// Ground distance in meters*1000 [meters*1000] int16_t gyro_temperature;// Temperature * 100 in centi-degrees Celsius [degcelsius*100] uint8_t quality;// averaged quality of accumulated flow values [0:bad quality;255: max quality] - } __attribute__((packed)) i2c_integral_frame; + } i2c_integral_frame; u8 buf[sizeof(i2c_integral_frame)]; -- GitLab