Tutorial | Date + Presenter | Topics | Purpose |
---|
Homework
Links | |
---|---|
Firmware 101: Welcome to Midnight Sun Firmware! | Saturday May |
7th (1:45-4:45pm) |
| High-level and general introduction for new and interested members. | |
Firmware 102: |
Embedded programs and libraries | Saturday May |
Mitchell
Project Overview
Controller Boards
Project Structure: Writing code, data structures, etc.
Testing and Validation
Collaboration: GitHub
14th (1:45-4:45pm) |
| To familiarize new members with the tools |
Follow the “Software 101” Tutorial [LINK]
(Optional) In preparation for next tutorial or for your own interest, you can watch the following videos:
GPIO
Interrupts
ADCs
and libraries we use | Make sure to watch Part 1 and Part 2 |
Firmware 103: Introduction to |
FreeRTOS | Saturday May |
Avery
Datasheets
GPIO
Interrupts
21th (1:45-4:45pm) |
| To familiarize members with the integration between Firmware and Software, required hardware libraries, and embedded ports basics. |
Datasheets & Hardware Schematics Worksheet
(Optional) In preparation for next tutorial or for your own interest, you can watch the following videos:
CAN
Firmware 104: |
Inter-board Communication
Saturday June 5th, 2021
Mitchell
CAN
Code Generation
I2C & SPI
Understanding communication protocols.
Tutorial Project 2: CAN
Read written tutorial for Code Generation
Validation Task Assignments
Firmware 105:
Architecture
Saturday June 12th, 2021
Ryan
FSMs
Event Queues
Architecture
Understanding the architecture of a firmware project.
(Optional) Review tutorial videos.
Additional tutorials on particular projects
These are open to all firmware members, not just new members!
Tutorial
Date
Presenter
Links
MU: our firmware system eMUlator + integration test platform
Saturday May 29th, 2021, 3:00pm
Mitchell
(Note: original name was MPXE)
Bootloader: flashing code remotely over CAN
Saturday June 5th, 2021, 3:00pm
Ryan
Telemetry: getting data off the car and into the cloud
Saturday June 12th, 2021, 3:00pm
Avery
Babydriver: validating hardware from Python
Saturday July 3rd, 2021, 2:00pm
Ryan
Concurrency, peripherals, and Project Design | Saturday May 28th (1:45-4:45pm) |
| More advanced FreeRTOS concepts, and how they apply to our projects |