Accomplishments
- Continued update firmware, the updated firmware with HAL library is compilable right now:
IR Module Updates — checked the IR library for efficiency, and deleted redundant functions
Wand Module Adjustments — removed all modules except IR to discard the struct types that we no longer need. Noted that TIM2 configuration may be misaligned with the system frequency, potentially causing timing issues.
Deleted ADC & USART — Removed the ADC and USART modules entirelyand merged them into main.c.
Update memory allocation for CNN — Implemented a new weight_update mode to store constants in external flash rather than the microcontroller’s limited internal flash. Also wrote the corresponding script that updates weight.h. The static buffer in main.c was reduced from 1024 * 8 to 1024 * 7 to avoid a runtime overflow. Note that this change still needs verification through stress testing to confirm that the RAM usage is stabilized and no new overflow condition arises.
- Updated PCB, connected with Professor Bain, and confirmed to use JLC for manufacturing. Still trying to connect with Quinn to get informed about the purchase procedure.
Please check the project GitHub for updated details.
Schedule Update
The firmware schedule remains on track. For the PCB manufacturing, I am slightly behind schedule. I’ll start going through the purchasing process as soon as I connect with Quinn next week.
Plans for Next Week
- Confirm the RAM usage fix (reduced static buffer) is stable.
- Test updated firmware on board and debug.
- Get the first PCB version manufactured ASAP.