GithubHelp home page GithubHelp logo

oem_preferred_parts's Introduction

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.

oem_preferred_parts's People

Contributors

aditya-sudhakar avatar aehoppe avatar antoinettetan avatar aramachandran7 avatar awenstrup avatar benjipugh avatar brycemann33 avatar brycemann8334 avatar bubbleebubbles avatar byronwasti avatar coreyacl avatar iserrato avatar izziabby avatar jack-greenberg avatar jackiezeng01 avatar jonahspicher avatar lanfenson avatar ljordan51 avatar lsanten avatar mpatil99 avatar nonas-hunter avatar nrivkin avatar qingmudeng avatar schalimadugu avatar thomasjagielski avatar utsav22g avatar vscheyer avatar wfairmanolin avatar wsh32 avatar xieruishen avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

oem_preferred_parts's Issues

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.