- Added watchdog initialization and periodic refresh in application code.
- Implemented software reset trigger when code enters Default_Handler (catch-all for unhandled interrupts).
- Improved FOTA robustness: added logic to restore code execution and CAN communication when the IOT module resets unexpectedly during firmware update.
- Verified recovery flow and communication reinitialization after system reset scenarios.
- Corrected naming conventions across modules for consistency.
- Fixed the issue where the MATLAB code was defaulting to the handler by initializing struct variables to zero.
- Improved CAN TX function for more reliable data transmission.
- Updated naming conventions in MCAL, ECU layers for UART and CAN, RTE, utils, and main modules.
- Applied CAN filters directly in the initialization function for better reliability.
- Restricted CAN reinitialization to bus-off errors only.
- Enhanced RX interrupt handling for CAN to improve performance and stability.
- Made updates to the CAN TX function for better data transmission.
- Updated TX functionality to replace buffer usage with queue-based implementation.
- Fixed the MCAL and ECU layers to handle multiple UART configurations.
- Updated the RTE layer to align with changes in UART layers for improved compatibility and functionality.
- Added functionality to retain and reapply runtime filters automatically when CAN is reinitialized.
(Addressed an issue where excessive packets caused CAN errors when charger and daughter board were connected. )
- Added macros for different PCBs: Basil, Battery Smart Basil, and Battery Swapping Station.
- Increased CPU clock frequency from 48 MHz to 72 MHz.
- Increased UART clock frequency from 24 MHz to 36 MHz.
- Update the systick period enum
- Add bootloader jump and check
- Increased the destination buffer size during rx drain
- Increased uart buffer size from 8 to 64
- Fixed the MCAL layer of CAN where RX interrupts were discarding extended IDs and only processing standard IDs.
- Removed CAN filters from the CAN configuration to allow better reception of all messages.
-Replaced timer-based UART data reception with SysTick timer implementation.
- Modified the UART interrupt handler to manage interrupts effectively.
- Updated MCAL layer for CAN to ensure proper handling of FIFO in RX interrupts.
- Corrected the deinitialization function in the MCAL layer of CAN.
- Implemented a handler for managing lastErrCode in CAN interrupts.
- Removed all debug print statements and unnecessary CAN filters to clean up the code.