Occasionally, the base IMU acceleration data in Z and Y will be -0.15 instead of their measured values.
Originally I thought this might have been an I2C issue, but upon some investigation this evening I now suspect that the data table is the issue (i.e. we might be overwriting some of the base data when we write in the lamp data). I tested this by modifying the write_table method so that if we are trying to write lamp data, we return instead. There are no issues with the base IMU data when I do this, so the issue cannot possibly be related to the I2C modules.
I suspect this issue will go away when the data table is refactored for #24 to store generic bytes instead of imu_data_t, but nevertheless it needs to be solved.
Occasionally, the base IMU acceleration data in Z and Y will be -0.15 instead of their measured values.
Originally I thought this might have been an I2C issue, but upon some investigation this evening I now suspect that the data table is the issue (i.e. we might be overwriting some of the base data when we write in the lamp data). I tested this by modifying the
write_table
method so that if we are trying to write lamp data, we return instead. There are no issues with the base IMU data when I do this, so the issue cannot possibly be related to the I2C modules.I suspect this issue will go away when the data table is refactored for #24 to store generic bytes instead of
imu_data_t
, but nevertheless it needs to be solved.