Hardware/Firmware Integration notes given current situation around the virus.
Important Actions Items
Schedule Integration meetings (weekly) where members can find leads and talk
GPIO expansion board for controller board
Off-campus hardware task
Check with what we already have (breakout boards, controller boards)
Aashmika Mali or Micah Black to further define project and assign member
Add isoSPI to it
Josh Rong or Aashmika Mali to choose standardized connector for communication test points
Assign project managers for each subteam
Every ‘Module’ is a .c, .h, and .test file
A Library is a reusable Module.
Resources Available for Spring 2020
Arshan (going onto FYDP) - 'Firmware Supervisor' next term
To provide suggestions for unblocking, etc.
A couple of hours a week willing to dedicate
Code reviews
Meetings
Jess (2A SYDE) (unsure of coop location yet)
Depending on location, leading a team
Possibly Arshan will mentor him to
Gerald (has FYDP, but will be around to help)
Ryan (1B SE) (not around - Toronto)
Larger technical portion?
Jarvis
Avery
Mitchell Ostler
A lot of people, but not core members.
Arshan → Micah Bai Firmware Progress Meeting
Firmware will be coded, but low probability that integration testing will happen.
Arshan underestimated the work
Hit a lot of brick walls when interfacing with hardware
How will we go about this?
Assign one task to integrate with hardware
Will be a term-long project
Requires constant checking in, etc.
Arshan Khanifar can provide guidance (what to research, etc)
They will learn if they debug themselves, but will be a little slower
Integration Validation Tasks
All tasks could be assigned individually
Battery (Critical most complicated tasks)
Getting AFEs to talk
SPI on LTC6811
Voltage Measurements
Talking with the MUX
Bit-banging
Liam Hawkins or Micah Black to look in to communications and help firmware understand it - create a confluence page
Isolate the test pins for this part
Getting current sense to talk
Were having issues with the ADC communication
were using the SPI headers, must remove isoSPI IC as it drives the lines
We need 2 isoSPI boards that work in order to test this
Relays
Killswitch
Fan Control, Fan Sense
State Machine Achitecture (just for Voltage/Temperature)
Storage for AFEs
Storage for Current Sense
Fault Monitor (check predefined limits)
Interface with BPS Heartbeat Module
Data Broadcast
Goes through Fault Monitor
Charger Jarvis Weng
CAN connection to charger
Testing Script to test the CAN messages with Charger Interface board to controller boards
J1772 Module Jess Douglas Muir (Deactivated)
Control Pilot
Set FET to activate Charger
Measure PWM (accomplished)
Proximity Detect
Should work now (hardware issue)
MCI
Firmware has been tested with MSXII’s MCI board.
Except for cruise control
New motor controller changes required(WS22) Gerald Aryeetey (Deactivated)
Working on changes
Hardware to look into better chip for CAN translation for future plans, but no a priority
Fans, Relay module similar to BMS Carrier (make this a library)
Precharge test script to activate precharge, wait X seconds, then discharge
Test Project to talk with motors
Front/Rear Power Distribution Ryan Dancy
I/O Expanders
Muxes
Load Switches
Enable
Diagnostic Enable
Diagnostic Select
Diagnostic Readback
Current Readback
Power Selection Kyle Dyck (Deactivated) and we will give to someone else
GPIO for Valid Inputs, etc.
ADC Measurements for Current, Voltage
Monitor Module
Aux Battery Voltage, etc
Pedal Andrew Guo (Unlicensed) Jarvis Weng
Same board as MSXII
Has already worked well
Test projects
Throttle
Brake
Calibration (Written already, interactive - saves to persistant flash storage)
Mock pedal and mock throttle on the electrical mock-up
First Year Task for hardware
Center Console
Main Car State Machine
Buttons - PWR, D, R, N, Hazard, DRL button, P, Fault LED, RPI power control, RPI fan control
GPIO Inputs/Outputs
Software script to make sure that it is sending out the correct CAN messages.
Test script to show which buttons are pushed
Test script for power outputs to the Pi, etc
Steering
Digital Inputs for button pushes
Test script to show which buttons are pushed
Solar
MPPTs
SPI communication testing
Chip Select MUX for 6 MPPTs
I2C ADCs for voltage sense
ADCs on STM for temperature Sense
GPIO Relay Control
Telemetry
We need to test hardware
Application to show data
Backend
GPS
Using out of the box part Daniel Lin
RPi drivers
How can hardware help firmware?
Being there as the firmware is being tested
As a generalizations (that I know is not always true) there are many beginner mistakes that happen when firmware tries
Hardware assignees should be active and helping
How to make hardware validation faster?
GPIO Expansion board for controller
Hardware people learning basic firmware
Basic I/O validation
Maybe eventually incorporate this into the tutorial
Hardware Items
It is hard to get people to do stuff
Project manager role is a huge one we should start to try and find one now