This document is in development and in need of a lot of inputs from other contributors as well. When making contributions to the ProtoZOA project, please consider how the Developer Guide can benefit with more details regarding contribution.
There are several resources in regards to developing on the Raspberry Pi Pico. To setup your development environment, see the documentation supplied by Raspberry for the Pico here.
A really good resource is a series of documents and videos through Digikey.
There is also a good video from Gary Explains
Please use these resources to become familiar with development on Raspberry Pico plus also in configuring your development environment.
The ProtoZOA code is currently available in a private MIDI Association repository. Eventually the code will be made public as indicated in the license and contribution agreement.
The repository is located at: https://github.com/midi2-dev/Amenote_Protozoa.
To get the ProtoZOA code including all documentation, you need to clone the Amenote_Protozoa to your development machine. It is assumed that you have already installed and configured your Raspberry Pi Pico development environment and SDK. If not, please refer to the documentation provided by Raspberry Pi for the Pico here. In particular, check out the Getting Started Guide.
The ProtoZOA code base is C / C++. There are many resources available online if your are not familiar with the C / C++ syntax. The Pico SDK is the C/C++ SDK which you can read more about here.
The best way to get the code is to clone the repository to your local development machine. With git installed, you can go to your Pico directory (same place as pico-sdk directory) and exeucte the following command:
git clone https://github.com/midi2-dev/Amenote_Protozoa.git --recursive
The --recursive command will ensure all submodules are also fetched into your local repository. If you did not fetch repository with the recursive command, you can change directory into your local repository and execute the following commands:
git submodule init
git submodule update --recursive
Please refer to the contribution guidelines published by MIDI2.dev.
For contributions to the ProtoZOA code base, please create yourself a branch or switch to an existing branch (please check with branch owner). Do not attempt to check any work into the main branch, these will not be accepted in pull requests.
Work on your contribution, making sure to check regularly with the main branch to sync to your branch to avoid issues in future. After completing your effort and testing, submit a pull request. Be sure to add AmeNote-Michael (Michael Loh) as a reviewer plus anyone else you feel can add comment to review your pull request. Michael Loh may add additional reviewers.
The pull request may be approved, commented for further suggested development or recommended changes indicated. If approved, the code will be merged into main creating the next release.
If you discover an issue with existing code bases, be sure to review current Issues. Please add more details to any existing Issue if you discover any. If a new Issue, please be sure to create new Issue with enough detail to aid all in recreation to help solve the issue.
Note that Issue reporting is not to request feature or capability. For this, please see below.
Please use the Issues feature of Git to submit any suggested improvements or additions. Please review any current open issues to see if there is a similar or same issue already posted and either add or agree to that thread.