Skip to content
This repository has been archived by the owner on Dec 12, 2020. It is now read-only.

barkermrl/IDP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IDP

This is the repository for the Independent Design Project 2020, developed by @barkermrl, @moonear2000. This repository has now been archived after the final competition.

Guide to Contributing

Please branch off main when implementing a feature. Work on the branch locally, committing as needed. When the feature is complete, rebase off master (ensuring you fetch the latest version from origin) and submit a pull request to merge into main.

Please work in a python virtual environment (creating using anaconda or pip etc.) and install the python packages for this project, run:

pip install -r requirements.txt

If you add any python packages to the project, ensure you add them to the requirements file using pip:

pip freeze > requirements.txt

Platformio can be installed as an extension for most common IDEs such as VS Code and CLion. The supported editors can be found here and the documentation can be found here. Note the CLI tool is installed automatically via pip so can be used to suplement the IDE interface.

Flowchart.png gives the overall architecture of the program and can be edited online here.

Repository Structure

This repository contains the following directories:

.github/workflows/
Contains two workflow files which run PlatformIO and Pytest tests whenever code is pushed or a pull request is submitted.

build/
Contains the compiled code for an Arduino Uno WiFi Rev2 board. This is generated automatically when PlatformIO builds the code.

docs/
Contains markdown files which is used to generate documentation for this software. These can be viewed on the GitHub pages site.

include/
This directory is intended for PlatformIO project header files.

lib/
This directory is intended for project specific (private) libraries. PlatformIO will compile them to static libraries and link into executable file.

python/
Contains the python code used for implementing computer vision in the robot.

src/
Contains the C++ source code which is compiled by PlatformIO and uploaded to the Arduino board.

test/ This directory is intended for PlatformIO Unit Testing and project tests.