MSXVI Project Ideas
Please add project ideas
MSXVI CONFLUENCE DOCUMENTATION ERA
Enforce tests for ALL projects/files made
General FW Architecture Changes
Standard Peripheral -> Cube MX HAL
Attempt Docker again
Explore CAN messaging at multiple cycle speeds (Aryan might do this at the end of August)
ie: Run only pedal messages and drive_info in the fast cycle, while the remaining centre console messages are medium cycle
Will be a new auto-generated flag for each message specifying which cycle (default = medium)
Alternative 1: CAN_TX/RX always runs in a fast cycle and uses a counter to determine if it is in a medium/slow cycle, then TX respective messages
Alternative 2: Update the notifications used to signal CAN_TX/RX. There will be 1 notification for fast cycle messages,1 for medium cycle and 1 for slow cycle. TX respective messages
New Member Tasks
Adding peripherals to CLI
Creating MCU test board (Involves Hardware) as well as for other boards, write test firmware
Flashing tools
Flashover CAN (Bootloader)
OTA flashing (OTA-> RPI/XBEE → Flashover CAN)
Telemetry/Strategy
XBee system (If not started by October Aryan will do this, Telemetry is a high priority for FSGP '25)
Wire up on a breadboard, and validate working communication. Use XCTU for config
Design board (Straightforward board, I think a FW member could do this)
Can Explorer Part 2? CAN Bus Visualization (Graphing throttle position/RPM/SOC etc)
SD Card logging and parsing tools
Simulations/Testing Rigs
Hardware-in-the-loop (HIL)
Controller board test rig (Controller board breakout into Arduino)
Suspension testing rig (IMU data that is ideally logged to telemetry and graphed)
Explore battery/cell characterization [R&D]
Small test rig that uses our modules + Current sense/AFEs + E-load to map discharge curves
Talk to Battery about what data is needed
New Systems
Solar data collection (Temperature, Current, Voltage)
Improvements in HV/LV
State of charge algorithm (Aryan might do this)
Current sensing on PD (exists already but hasn’t been validated)
Speed calculation using RPM (Needs validation)