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