Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Tutorial

Date + Presenter

Topics

Purpose

Homework

Links

Firmware 101:

Welcome to Midnight Sun Firmware!

Saturday

May 15th

Sept 11th, 2021

Ryan

Mitchell

  • Introduction to Firmware

  • Systems Overview

  • How we are working remotely?

High-level and general introduction for new and interested members.

Firmware 102:

Firmware 101 Continued!

Saturday

May 22nd

Sept 18th, 2021

Mitchell

  • Project Overview

  • Controller Boards

  • Project Structure: Writing code, data structures, etc.

  • Testing and Validation

  • Collaboration: GitHub

To familiarize new members with the tools we use as well as the GPIO and Software required for development.

  • 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

Make sure to watch Part 1 and Part 2

Firmware 103:

Introduction to Hardware Libraries

Saturday

May 29th

Sept 25th, 2021

Avery

  • Datasheets

  • GPIO

  • Interrupts

  • ADCs

To familiarize members with the integration between Firmware and Software, required hardware libraries, and embedded ports basics.

  • Datasheets & Hardware Schematics Worksheet

  • Tutorial Project 1: Buttons and ADCs

  • (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

Oct 2nd, 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

Oct 9th, 2021

Ryan

Avery

  • FSMs

  • Event Queues

  • Architecture

Understanding the architecture of a firmware project.

(Optional) Review tutorial videos.

Firmware 106:

MSXIV’s Firmware

(New this term!)

Saturday Oct 16th, 2021

Ryan

  • General overview of each project

  • How the car turns on, turns off, drives, charges, etc.

A high-level understanding of how the MSXIV firmware system works.

TBD

TBD

Additional tutorials on particular projects

These are open to all firmware members, not just new members!

Tutorial

Date

Presenter

Links

Babydriver: validating hardware from Python

TBD

Ryan

https://uwmidsun.atlassian.net/l/c/SLM1VM12

Past project-specific tutorials

These were held in previous terms and recordings are available on YouTube.

Tutorial

Recording

Presenter

Links

MU: our firmware system eMUlator + integration test platform

Saturday May 29th, 2021, 3:00pm

https://www.youtube.com/watch?v=A_Pm5OzctSM

Mitchell

Design doc: https://uwmidsun.atlassian.net/wiki/spaces/ELEC/pages/1285554309/Multi%2BProject%2Bx86%2BEmulation%2BMPXE?atlOrigin=eyJpIjoiYWVlOWE2MTNjOWQ1NGUzYzhjMThiNjJlZTQ2NTBiZjAiLCJwIjoiYyJ9

(Note: original name was MPXE)

Bootloader: flashing code remotely over CAN

Saturday June 5th, 2021, 3:00pm

https://www.youtube.com/watch?v=oULdqpvibnU

Ryan

https://uwmidsun.atlassian.net/l/c/bBb1ZJNH

Telemetry: getting data off the car and into the cloud

Saturday June 12th, 2021, 3:00pm

Avery

https://

uwmidsun

www.

atlassian

youtube.

net/l/c/XU9rk3fJ

Babydriver: validating hardware from Python

Saturday July 17th, 2021, 2:00pm

Ryan

com/watch?v=uM0GQxqcTdo

Avery

https://uwmidsun.atlassian.net/l/c/

SLM1VM12

XU9rk3fJ