Items done:
- Set up and tested BLE communication on the ESP32. This works! Also refined the user calibration flow based on receiving values from the BLE sender. Actual angle calculation is better than last week but still a bit rough (calibrated offsets are not fixing the problem of drifting angles completely – filtering not implemented yet…).
- Started setting up BLE scripts on the Pi as well. Testing it right now, should be more or less good to go by the end of the weekend. Currently the RPi is able to connect to the ESP32 as a client over bluetooth which is nice. At the very least, two-way communication on the RPi should be set up within a couple days even if the interface between the ESP32 and RPi is still buggy.
Progress on the angle calculation code is still a little behind, as more time was spent figuring out the BLE communication. But I believe this should be finished by ~Wednesday since we have Ethics on Monday. Progress on setting up the BLE communication is fine as of now, though not fully done yet. One problem is that I did not yet put in an order for the mesh fabric/visor, as we spent more time discussing the design of the neck system over the past week. This will actually be done by Monday so the parts can be ordered on Tuesday.
Deliverables for next week!
- Finalize the angle calculation code using a filtering algorithm
- Order a hat + mesh fabric for the neck system, finalize design for this as well.
- Finish setting up BLE communication between ESP32/RPi (set up packet sending/receiving protocol now that connections are established).
- If the above are done, start integrating with Kaitlyn’s code on the RPi as well so we can run everything together.
Sample calibration flow, driven by a command over BT: Receive calibration command –> average the gyro/accel data over some number of samples to calibrate the “no movement” level –> start calculating + sending angle data
Connection w/RPi: right now this is just connecting, not sending anything