From e59a2d1dc798ab4929a04bd01ba1dca307bc7287 Mon Sep 17 00:00:00 2001 From: heck Date: Sat, 21 Sep 2024 17:44:22 +0200 Subject: [PATCH] DOC: README.md --- README.md | 124 +++++------------------------------------------------- 1 file changed, 10 insertions(+), 114 deletions(-) diff --git a/README.md b/README.md index 9eb7912..83a9831 100644 --- a/README.md +++ b/README.md @@ -1,23 +1,13 @@ -# Heck Daisy Template +# Heck Machines - OSP -Daisy project template featuring: -* toolchain setup -* dependencies setup -* -* build scripts -* upload (DFU and JTAG) -* debug -* clang-format -* clang-tidy +The OSP is a hackable, open source drum machine that accidentally got very, very close to the erica perkons hd-01, +which is real beauty of instrument design that i truly love, except for its unhackable closed source nature. +So, we new need gnu one. -## git started - -to use git, either die or use hecks git-ui. -heck-git-ui: https://gitea.heck.live/heck/HeckBashSetup/src/branch/master/bash_profile.d/git.sh - -Alternatively, you can avoid using git... TODO - +. +. +. ## Toolchain Setup @@ -39,112 +29,18 @@ BUT the daisy build scripts specify the use of libc-nano. on macos: `port install dfu-util openocd` - `dfu-util` is the program that is invoked by the Makefiles to program the thing via DFU. `openocd` is the program that is invoked by the Makefiles to program the thing via JTAG. `openocd` also is the debugger we use. - - -## Flashing - -Can be flashed via: -* DFU: all you need is a micro-usb-cable -* JTAG: any JTAG programmer will work, but the STLink v3 is the fastest. - -### DFU -No magic, you just need a program called `dfu-util`. +## Dependencies TODO... -### JTAG -no magic, you just need a programm called `openocd` - -TODO: -The JTAG method is heavily recommended since JTAG is faster than DFU, and if you use the (product ad ahead warning, sorry) -STLink v3 its even faster. Its the fastest method i know of. - -### Benchmark DFU vs. JTAG - -**DFU: 15.725s** -**JTAG: 1.850s** - -JTAG is at least **8.5 times** faster (since there is constant time overhead) - -``` shell -[heck@YOOROOX::~/src/DaisyExamples/seed/Blink] (master ?M) $ time m program-dfu; -dfu-util -a 0 -s 0x08000000:leave -D build/Blink.bin -d ,0483:df11 -blabla... -... -real 0m15.725s -``` - -``` shell -[heck@YOOROOX::~/src/DaisyExamples/seed/Blink] (master ?M) $ time m program; -openocd -s /opt/local/bin/openocd/ -f interface/stlink.cfg -f target/stm32h7x.cfg -c "program ./build/Blink.elf verify reset exit" -blabla... -... -real 0m1.850s -``` - - -## Debugging -TODO: - - - - - -## Daisy Coding -* C++ bare metal like any STM32 - needlessly brutal -* C++ and libDaisy - libDaisy is the electro-smith hardware abstraction -* Pure-Data patch compiler -* JUCE -* FAUST for DSP algo -* Max-msp gen~ (proprietary $hit) - - -### C++ Bare Metal -Just code like for any STM32 - needlessly brutal -TODO: add hecks STM32 project - -### C++ and libDaisy -libDaisy is the electro-smith hardware abstraction and is basically what makes the daisy be the daisy. -TODO: - - -### Pure-Data Patch Compiler -this here: https://github.com/electro-smith/pd2dsy -TODO: Marc? anyone? - - -### JUCE -TODO: anyone? -e.g. https://github.com/electro-smith/Daisy-Juce-Example - -### FAUST -This here: https://faust.grame.fr/ -stahl has workflow/project - -### Max-Msp gen~ -max is the proprietary version of pure-data, but dont want to exclude them just for that. -gen~ alone will cost you extra $$$ after even you paid for max. just so you know, hu? - - - - - -## Daisy-Hardware - -TODO: PLEASE everyone share their hardware HERE! - - - -## Various - -Stahl and Marcs fire synthesizer. Now with sausage mode: https://wiki.sgmk-ssam.ch/wiki/F%C3%BC%C3%BCr_Synthie_mit_Daisy_Seed +## Hardware +TODO...