In the nRF8001 Product Specification, section 7.1.5 it states:
"The maximum length of an event packet is 31 bytes, including the length byte."
In the headers it's defined as 33 bytes (see here).
To fix that, I needed to make the following changes. In the aci_evt_params_cmd_rsp_t struct:
- uint8_t padding[29];
+ uint8_t padding[27];
-ACI_ASSERT_SIZE(aci_evt_params_cmd_rsp_t, 31);
+ACI_ASSERT_SIZE(aci_evt_params_cmd_rsp_t, 29);
-ACI_ASSERT_SIZE(aci_evt_t, 33);
+ACI_ASSERT_SIZE(aci_evt_t, 31);
...and then in lib_aci.h:
-ACI_ASSERT_SIZE(hal_aci_evt_t, 34);
+ACI_ASSERT_SIZE(hal_aci_evt_t, 32);
Can anyone comment on this? What am I missing?