2020-05-04 Firmware Meeting notes
Overview
Date
May 4th, 2020
Meeting Goals
Go through every project going on in firmware and break them down into modules/tasks
Come up with a list of tasks assignable to new members (post software 101)
Be able to clean up the JIRA
Participants
@Jess Douglas Muir (Deactivated) , @Andrew Guo (Unlicensed) , @Micah Bai (Unlicensed) , @Brian Nguyen (Deactivated) , @Hewitt McGaughey , @Jarvis Weng , @Mitchell Langdon Ostler , @Ryan Dancy , @Gerald Aryeetey (Deactivated) , @Avery Chiu
Notes
Intro
Being on Midnight Sun is first and foremost about learning
Coming up with new member tasks and going through the projects will help everyone understand the car better
Workflow overview for MS14 firmware
High level design: What does it do? What components help it do that?
Detail design: What specifically does each component need to do?
Implementation: What code implements the required behaviour?
Unit testing: How can you prove the code does what you say it will?
IO testing: How can you demonstrate the firmware behaves correctly on hardware?
Integration testing: How can you demonstrate the firmware interacts with other components correctly?
Hardware mini status update (From @Micah Bai (Unlicensed) )
No integration testing because the school is closed for the spring term.
IO testing can be done in limited capacity by hardware members bringing up the boards at home.
For new members, we need to determine how to do remote tutorials. We could ask people to buy dev boards? Need to look into simulating.
Ongoing projects
Table: list of projects and their breakdowns. Modules in bold have not been implemented yet.
Project | Owner | Details | Status / Dates |
Front Power | Ryan | Purpose
Modules
| Implementation is nearly complete, unit tested almost complete To finish integration testing this term |
Rear Power | Ryan | Same as front power | To finish integration testing this term |
Power Selection | Jarvis | Purpose
Modules
| Implementation in progress, design is done To finish integration testing this term |
Center Console | Arshan | Purpose
Modules
| To finish integration testing this term |
Steering | Avery | Purpose
Modules
| Implementation done, unit testing in progress To finish integration testing this term |
Pedal | Jarvis | Purpose
Modules
| Integration testing complete |
MCI | Gerald | Purpose
Modules
| Integration testing complete |
AFEs | Avery/Gerald | Purpose
| To finish implementation this term |
Current Sense | Jess | Purpose
| To finish implementation this term |
BMS carrier | Avery/Gerald | Purpose
| Some implementation can be taken from MS12 To finish implementation this term |
Charging | Jess/Jarvis | Purpose
Modules
| Implementation complete |
Lights | Ryan | Implemented in power distro | To finish implementation next term |
Solar | TODO | To finish implementation next term |
New member tasks
Implement the communication to aux/DCDC through ADC (power selection)
Reading error values from the motor controller (maybe for an extra enthusiastic member)
Charging_manager: maintains charger state and handles permissions
Firmware tutorial idea (creds to @Jarvis Weng ): Create specific git branch and implement
Blinking led project
Read adc project
Etc
Then tell a hardware member with tutorial board access to flash the tutorial projects on that branch and let the new firmware member know if they worked / what the behaviour was
Questions that came up
What is a firmware project manager?
Where do telemetry, driver interface, strategy fit into the overall timeline?