2018-09-19 Planning Meeting Notes

The primary focus of this meeting is to come up with a plan for what the firmware team needs to get done in the next 4-8 months.

What we need to work on for MSXII:

  • Driver controls 
    • we need to replace some hardware which means tweaking firmware.
    • regen braking
    • Mech brake sensor is unstable
    • the brake has to be pressed all the way down to stop the car(urgent) - might not be a firmware issue
    • car switches to neutral unexpectedly(urgent)
    • Brake lights going off too much(might be an easy fix)
  • Driver display 
    • The code needs to be finished
    • Light sensor(good project for new comer)
  • Battery Management System
    • we weren’t able to complete the state of charge (Karl knows a lot about it)
      • Things to consider
        • Battery SOC algorithm might not be able to be computed on the board
        • we can make a library that will be imported
    • no cell balancing 
    • AFE’s not behaving correctly
    • We blew the thermistor array
  • AUX battery not monitored under power distribution
  • Motor interface board
    • needs to be checked thoroughly 
    • we weren't getting motor velocity and critical messages
  • Telemetry 
    • currently transmitting through XBee
    • needs new architecture (Calder will spearhead)
    • Upload through 3g or 4g modem (more for MSIV but would be good to implement for MSXII)      
  • Validate new copies of boards
    • update pinouts in config files
  • Solar sense board needs to be programmed
    • Make sure relays for solar array are installed and working
  • Sensor board (IMU)


HIGH PRIORITY PROJECTS (need to be done by the end of the term) :

  1. Charging(Misha) 
  2. Driver Controls(Andy)
  3. BMS(Ash)

What MSIV needs to do in terms of Firmware:

If we complete the projects outlined above, we theoretically have a working electrical system for MSIV.

It’s mainly up to the new generation to figure out some new exciting features to add in terms of firmware, such as :

  • add more ports to existing lights board(not too complicated)
  • Sensor board to detect when doors are open for lights to turn on
  • Have a raspberry pi that has apple/android audio for some music/radio
  • Change to a new MCU?
  • Transition to FreeRTOS
  • Interior lighting for the Car
  • Interior fan system for the driver
  • Possibly redo of BMS and Driver Controls
  • New and improved motors and motor controllers
    • They’re like 10 years old
    • Although it is expensive (around $60 000) we should still consider it
  • Restructure CAN to handle heartbeats by request, rather than waiting for CAN acks to do that

Tasks for First Years( Leads on those projects)  :

  • Driver display board (Andy)
  • Solar sense firmware (Misha)
  • IMU board (Ash)
    • Get them the data sheet
    • Get them to figure out how to read data from the board
  • GPS board(Misha)
  • Figuring out why motor interface messages aren’t sending (Calder)
  • X86 abstraction layer stuff is just an array of data that doesn’t really do much(Calder)
    • -create a UI to validate that things work
  • some of our tests need to be better (Calder)
  • Reduce # of locations where a fault can occur(Calder)
    • Differentiate between soft and hard faults
    • Have a fault LED rather than making noise
    • Power distribution should not cause the car to stop instantly
  • Make a bot that allows codegen to detect commits and updates
  • Calder is going to be doing the re- architecting for telemetry, with the assistance of a new-generation member :
    • Will pull some new comers to do some research (3-4ppl)

MSXIV and FreeRTOS

  • Everyone should start researching early on
  • Lots of refactoring of code

Things we don’t need to bother with for now

  • Lights
  • Power distribution
  • BMS architecture

Does the 2 seater vs 4 seater discussion affect firmware at all ?

  • 4 seater = more space ; Signals might get flaky (unlikely)
  • Noise might increase due to longer distances of travel
  • overall the discussion has no huge impact on firmware