Here's a list of commands to get you up and running, along with some challenges to make you learn the ropes.
If you're new to Unix and/or Git, you may find the following basic commands useful to navigate around. Use Terminal to first clone the repository locally (git clone https://github.com/MITEVT/psychic-guacamole
). Then plug in to you computer the development board you were given. Switch directories to the top-level directory with a Makefile
, and run make
and make writeflash
to compile your program and download it to the microcontroller to run!
The FAQ is also good place to read if you're confused or stuck.
.
- current directory
..
- reference to directory one level up
cd [directory]
- change current directory
ls [folder]
- list files
mkdir [directory name]
- make directory
grep "search term" [directory to search] -rn
- search for a specific term in all the files in a directory (recursively)
Pull a repository down from GitHub:
- Copy clone address link from github.com
git clone <address>
Set github account information:
git config --global user.name <name>
git config --global user.email <email>
Refresh repository, pull changes from upstream:
git pull
Make a commit:
git add <files to commit>
git commit -m "<commit message>"
Make a branch:
git checkout -b <new branch name>
- create a branch
git checkout <branch name>
- switch to a branch
git branch
- list current branches
- Blink Exercise - Make an LED blink on and off by writing a delay function. Debug LEDs are super important!
- UART Echo Exercise - If you run
make com
after youmake writeflash
, a serial I/O connection over UART/USB is set up with the LPC. After you runmake com
, you can't see any of the characters you type, because the chip isn't sending you any characters. Program the LPC to echo input you type back to your terminal input. - CAN Exercise - Make two LPC microcontrollers talk to each other over CAN, a differential pair signaling system. For a brief introduction to CAN, a good start the Wikipedia article. Ask questions as necessary. The later development boards should already have the necessary hardware and pins to facilatate a CAN connection between two boards (e.g. termination resistors, etc.)