Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents
Info

This tutorial assumes you know absolutely nothing about software development, Git, or coding

By the end of this list, you should be in a place where you are more than ready to start work on the car. A lot of this stuff you might have already done or don't need to do if you've dabbled in software development before, but if you're fresh out of cornerstone you might need to go step by step. Go through at your own discretion, but each step is pretty important.

General Onboarding

  1. Look through this onboarding doc for all new engineers

  2. You might want to use this glossary to reference while trying to understand things

Git

  1. Set up GitHub per this tutorial

PlatformIO & VSCode

  1. Install Visual Studio Code and install the extension PlatformIO

  2. Might also be useful to install Python (preferably v3.10 per Telemetry Hub)

Coding Basics & Helpful Tips

Info

If you’re ever stuck while programming, Google and Stack Overflow!! Learning to find answers online is literally half of software engineering

...

If you're interested in learning C++ and lower-level embedded code, try to walk through this tutorial. This should lay the groundwork for coding with objects, constructors, pointers, etc, especially if you do the exercises for the stuff you don't know. The code really resembles Arduino code at a base level.

Contribute

...

  1. Clone whatever repository you're going to be working in

i.e. if I want to clone the Embedded_Code repo, I'd go to the green "Code" button above the file structure in the repository and copy the link, so it would be

git clone git@github.com:Northeastern-Electric-Racing/Embedded_Code.git

...

Remember to update the submodules within the repo (For TCU, MPU, and Shepherd BMS)

...

!

For this team, our motto is:

“Ambition drives success”

meaning that you truly get out what you put into the team. The typical ask for weekly contribution is around 5 hours for regular members, but people who go beyond typically get more experience/system knowledge and really get to feel like a part of the team.

For some projects, GitHub Issues is used to track tickets. For others, there might be a different way of tracking tasks/tickets/issues. Talk to your lead/head if you’re looking for things to do!