- Added functionality to transmit SMD (Significant Motion Detection) status via CAN and UART
- Included false touch status in the same packet
- Status data is sent every 5 seconds
- Added functionality to send an acknowledgment (ACK) before executing the bootloader jump.
- Ensures the sender receives confirmation before transitioning to the bootloader.
- 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.
- Fixed UART speed inside handle and CAN speed inside handle for runtime configuration.
- Moved CAN filter setup inside the handle for more centralized control.
- Added documentation above functions for better readability.
- Included argument checks at function entry to ensure valid parameters.
- Added runtime checks to prevent memory corruption where values can change dynamically.
- Removed unnecessary `extern` declarations to improve code clarity.
- Fixed `vMCAL_MCAN_Tx()` to return success even if `if (sMcalTxFifoStatus_x.freeLvl)` fails.
- Removed unused functions to clean up the codebase.
- Fixed `xMCAL_VrefInit()` by calling vMCAL_SoftReset.
- 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. )
- Corrected the `CAN_DeInit` function to address cleanup problems during deinitialization.
- Restricted TX operations to buffer 0 only, as buffer 1 was causing transmission errors.
- Introduced two new relays for controlling Fan 1 and Fan 2.
- Updated the 9-bit status word to accommodate the new relays, expanding to 11 bits.
- Adjusted GPIO pin mapping to include the new relays in the control logic.
- Added functionality to control 9 relays based on a 9-bit status word.
- Each bit in the 9-bit word corresponds to a relay, controlling GPIO pins to turn relays ON/OFF.
- When CAN ID 0x6FF69 is received, the relay control task is triggered.
- 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.
- Changed buffer number calculation from static `0` to dynamic cycling using `(__gprv_u8Buf + 1) % 3`.
- Investigating unexpected behavior affecting CAN filtering process.
- 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