-
Tutorial
-
Code Documentation
-
Reports
- Install tools
- git
- VirtualBox
- VirtualBox Extension Pack. (Video)
- Vagrant
- MobaXterm for windows, XQuartz for macOS
- Add to
PATH
with following folders: (Video).- git:
{your-git-installation-path}/Git/bin
and{your-git-installation-path}/Git/usr/bin
- VirtualBox:
{your-VirtualBox-installation-path}/Oracle/VirtualBox
- git:
- Fork this repo and clone it
- Run
$ vagrant up
to install VM. (Video)- This is a virtual machine installation command. Requires around 8GB.
- This will take at least 20 minutes. Have a cup of coffee :)
- After successful install, connect to the machine via SSH using MobaXterm. (Video)
$ cd ~/wolfiemouse
. This is our project root directory.
To be added.
Vagrant is a tool for Virtual Machine. Vagrant abstract virtual machine interfaces and will automate system configuration of a VM, so we will have a unified working environment.
See Install tools
section in Get Started Document. Don't
forget to add Git
directories in PATH
.
The following command will boot up the VM in background:
$ vagrant up
If you run the above code for the first time, it will install the operating system and the software we use in the project. This initial process will take around 20 minuetes so have a cup of coffee.
We can connect the virtual machine through SSH(remote terminal). The defualt configuration to connect is:
- Address: 127.0.0.1
- Port: 2222
- User: vagrant
Simple, just commend:
$ vagrant halt
This is also simple. Run:
$ vagrant destroy
You can re-install the VM using $ vagrant up
any time.
- It says we need to install
SSH
: Don't forget addGit
directories ({your-git-installation-path}/Git/bin
and{your-git-installation-path}/Git/usr/bin
) inPATH
environment variable. Git has SSH tools for you. - Timeout error : Firstly, check if your CPU supports virtualization (VT-x). If it doesn't you cannot use the VM and Vagrant. Consider installing Ubuntu in a separated partition. If your CPU supports VT-x but you still have that problem, the BIOS might disabled the CPU virtualization feature. Go to BIOS and enable it.
Reference: https://help.github.com/articles/syncing-a-fork/
- Fork our github repo https://github.com/kbumsik/WolfieMouse
- Clone your forked repo. e.g:
$ git clone --recursive https://github.com/{your-id}/WolfieMouse
- Add our repo as a new remote
upstream
$ git remote add upstream https://github.com/kbumsik/WolfieMouse
Check what you changed
$ git status
Add your changes into staged mode
$ git add {files-you-changed} or $ git add --all
Double check change
$ git status
Commit change
$ git commit -m "some message. e.g. what you changed"
Push it to your repository
$ git push origin master
Then you can make a pull request later
- Update your local repo with
upstream
First get information of upstream
$ git fetch upstream
next,
$ git pull upstream master
or
$ git rebase upstream/master
Then
$ git submodule update --recursive
- push it to
origin
repo, your forked repository
$ git push origin master
git log --decorate --all --graph
git fetch upstream master
git stash
andgit stash pop
git diff <commit>
KiCad is one of the most famous EDA (Electronic Design Automation) software. This is mainly developed and supported my CERN. It provides a full set of PCB design tools, including shcematic, PCB footprint, and 3D model generation. The best thing about KiCad is absolutly free.
However, it comes at a price. I mean it is not easy to get used to it. Especially, there are a lot of very tricky thing you would hardly figure out (seriously.) So I highly recommend going there some tutorials. By the way, do not try to read manuals. It is not worth time :P