Giter VIP home page Giter VIP logo

Olin Electric Motorsports

Welcome to the Olin Electric Motorsports monorepo. This is the home for all of the electrical, firmware, and software work our team does.

This document will help you get started contributing and walk you through important steps for collaborating with teammates.

Getting Started

Begin by cloning this repository into a folder of your choice (many people choose to put it in ~/Documents.

cd ~/Documents
git clone [email protected]:olin-electric-motorsports/olin-electric-motorsports.git

Once you have it, you'll need to install the KiCad Git filters:

./scripts/install_kicad_git_filters.sh

You'll also want to have the KiCad Git Hooks to generate our symbol libraries.

./scripts/install_kicad_git_hooks.sh

Installing AVR and tools

Next, install the AVR toolchain:

sudo apt install gcc-avr avrdude avr-libc binutils-avr gdb-avr

Installing Bazel

Next, install Bazelisk. This link will download for Ubuntu on x86_64 machines. Once downloaded, run the following to install:

cd ~/Downloads
cp bazelisk-linux-amd64 /usr/local/bin/bazel

Next, run the following file to ensure that bazel is executable:

chmod u+x /usr/local/bin/bazel

You should now be able to run the following without error (after changing your directory to be in the olin-electric-motorsports folder):

bazel build --config=16m1 //examples/blinky

If you get an error message stating 'env: python: No such file or directory', ensure that the PATH environment variable is properly established. This can be done by adding the file to your .bashrc file:

export PATH=$PATH:/usr/local/bin

Install Docker

In order to use the KiCad build tools locally, you'll need to install Docker. The instructions can be found here for Ubuntu 20.04 and Ubuntu 18.04.

Be sure to follow all the steps, including adding your current user to the docker group. If all goes well, you should be able to run the following command:

bazel build --config=docker-kicad //vehicle/mkv/hardware/lvbox/bspd:bspd_brakelight

KiCad Setup

To install KiCad on Ubuntu, run the following:

sudo add-apt-repository --yes ppa:kicad/kicad-6.0-releases
sudo apt update
sudo apt install --install-recommends kicad

Next, take note of the path to your monorepo. If you put it in your ~/Documents folder, your path will be ~/Downloads/olin-electric-motorsports.

Open KiCad. From the top bar, open up Preferences > Configure Paths.... Add a new row to the table:

Name Path
OEM_DIR /home/your-username/olin-electric-motorsports

where your-username is the username on your computer.

Visit this page to find instructions for downloading KiCad for other operating systems.

Contributing

If you are working on a new project, the first step is to make sure you have the latest code:

git pull origin main

Next, create your feature branch:

git switch -c your-username/feature-name origin/main

Now, you can start working on code, committing on your branch, and eventually opening up a pull request to main.

New projects should be placed into a folder within the //projects directory (for instance, //projects/hitl/. Hardware and firmware that run on MKV or MKVI should go in the proper subfolder within //vehicle.

Olin Electric Motorsports's Projects

electrical_tutorials icon electrical_tutorials

A collection of tutorials for how electricity works and the basics of how to make electronics.

esf icon esf

ESF for Formula Lincoln and Formula North

libopencm3 icon libopencm3

Open source ARM Cortex-M microcontroller library

mk_iii-code icon mk_iii-code

This is the repository for Olin Electric Motorsports MK III car build during the 2017-2018 season.

mkv-arm icon mkv-arm

Repository for ARM based processor research during the MKV build season

mkv-code icon mkv-code

Repository for all firmware used on OEM MKV

oem-website icon oem-website

The newly created website for Olin Electric Motorsports

oem_box icon oem_box

Olin Electric Motorsports Electrical/Firmware Development Environment built with Vagrant and VirtualBox

software icon software

The official repository for software at Olin Electric Motorsports

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.