Skip to content

Commit

Permalink
A bit more documentation !
Browse files Browse the repository at this point in the history
  • Loading branch information
BenjaminPoilve committed Oct 26, 2024
1 parent d43bdb5 commit 0bea2d6
Show file tree
Hide file tree
Showing 4 changed files with 36 additions and 8 deletions.
8 changes: 5 additions & 3 deletions Readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ This repository contains the source file both for the minichord itself and its d

The best way to get to know this project is to visit the [minichord website](https://minichord.com/) which contains the documentation of the project.

In particular:
In particular it contains:

- the [user manual of the minichord](https://minichord.com/user_manual/)
- the [assembly guide of the minichord](https://minichord.com/assembly/)
Expand All @@ -20,7 +20,7 @@ The hardware folder contains the necessary ressources to build a minichord.
All hardware is provided under a Creative Commons Attribution-NonCommercial 4.0 International Public
License (CC BY-NC 4.0).

In particular:
In particular it contains:

- the [files necessary to manufacture the PCB](https://github.com/BenjaminPoilve/MiniChord/tree/main/hardware/PCB)
- the [full BOM of the project](https://github.com/BenjaminPoilve/MiniChord/tree/main/hardware/BOM)
Expand All @@ -31,7 +31,9 @@ In particular:

The firmware folder contains the project firmware and necessary programming ressources.

In particular:
All software is provided under a 3-clause BSD License.

In particular it contains:
- the [Hex firmware](https://github.com/BenjaminPoilve/MiniChord/blob/main/firmware/firmware.hex)
- the full [PlatformIO project](https://github.com/BenjaminPoilve/MiniChord/tree/main/firmware)
- the [minicontrol software](https://github.com/BenjaminPoilve/MiniChord/tree/main/firmware/mini_control)
Expand Down
4 changes: 2 additions & 2 deletions documentation/Readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@

This folder contains all the necessary files to build the documentation

## Installation of mkdocs
### Installation of mkdocs
To install using python3, follow those steps:

* `pip3 install mkdocs`
* `pip3 install mkdocs-terminal`
* add `/Users/{user_name}/Library/Python/3.8/binv` to `/etc/paths` (on OSX)

## Usage
### Usage

Modifications should be made in the [docs folder](https://github.com/BenjaminPoilve/MiniChord/tree/main/documentation/docs).

Expand Down
31 changes: 28 additions & 3 deletions firmware/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,29 @@
Note:
# Firmware

* this folder contains the folder per say, but also the "generator" that uses a JSON to generate both C code for the firmware and the corresponding control tool from the browser.
* That part is in the generator folder, and build files that will go both into the include and mini_control folder
Note to reader: a lot of this firmware has been developed in 45-minute time increment after a day's work, which in part explains that the code quality is not great. Refactoring and making the code cleaner will be a future focus.

### Structure

This folder contains a PlatformIO project for Teensy 4.0.

In particular the it contains :

- the `src`folder containing the `main.cpp` file, as well as the file defining the USB name of the device, `name.c`
- the `lib` folder containing the librairies for the chips used, the debouncing and the potentiometer logic
- the `include` folder containing all the Teensy audio architecture definition, as well as the hardware definitions and the `sysex_handler.h`file.

This last file is related to the "generator". To be able to simply modify parameters related to sound synthesis and have a coherent firmware and control software, those parameters are defined in a [parameters.json file](https://github.com/BenjaminPoilve/MiniChord/blob/main/firmware/generator/parameters.json). By using the generation script, both the interface and necessary firmware file are generated. Note that the interface will be included in the minichord website by using the `build_site.sh` script in the documentation folder.

The resulting fimware itself is present at the root of the project : [firmware.hex](https://github.com/BenjaminPoilve/MiniChord/blob/main/firmware/firmware.hex).

### Usage

If you want to set-up a PlatformIO environnement for Teensy, please follow the tutorial for PlatformIO Teensy usage [available here](https://forum.pjrc.com/index.php?threads/tutorial-how-to-use-platformio-visual-code-studio-for-teensy.66674/)

Once the project is set-up, you can modify, compile and upload the code directly from VSCode.

To use the generator, set-up a venv in the generator directory using `python3 -m venv .venv`. Then enter the venv by using `source venv/bin/activate`.

Once in the venv, install the necessary packages by using `pip3 install -r requirements.txt`.

Generation can then simply be done by running the `generate.py`script: `python3 generate.py`.
1 change: 1 addition & 0 deletions hardware/Readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ This folder contains the necessary ressources to build a minichord.
* [Main PCB Gerber file](https://github.com/BenjaminPoilve/MiniChord/tree/main/hardware/PCB/miniChord_main_PCB/gerber)
* [Touch zone PCB schematics](https://github.com/BenjaminPoilve/MiniChord/blob/main/hardware/PCB/additional%20PCB/touch_zone.pdf)
* [Touch zone PCB Gerber file](https://github.com/BenjaminPoilve/MiniChord/tree/main/hardware/PCB/additional%20PCB/gerber)

### BOM

* [Full BOM](https://github.com/BenjaminPoilve/MiniChord/blob/main/hardware/BOM/full_BOM.pdf)
Expand Down

0 comments on commit 0bea2d6

Please sign in to comment.