Skip to content

Commit 324d7d3

Browse files
committed
RC 0.0m
1 parent 0a6912c commit 324d7d3

38 files changed

+4030
-318
lines changed

.github/workflows/build.yml

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,21 @@ jobs:
1313
run: |
1414
python -m pip install --upgrade pip
1515
pip install --upgrade platformio
16-
- name: build OC_teensy40
16+
- name: build
1717
run: |
1818
git submodule update --init
19-
pio run -e OC_teensy40
19+
pio run
2020
export hash=$(git rev-parse --short HEAD)
21-
mv .pio/build/*/firmware.hex ./firmware_OC_T40_$hash.hex
2221
mv .github/workflows/LICENSE.txt ./LICENSE.txt
23-
zip -j ./firmware_OC_T40_$hash.zip ./firmware_OC_T40_$hash.hex ./LICENSE.txt
24-
curl -f -X PUT -u ${{ secrets.UPLOAD_KEY }} ${{ secrets.LATEST_DROP_FOLDER }}/firmware_OC_T40_latest.zip --upload-file ./firmware_OC_T40_$hash.zip
25-
curl -f -X PUT -u ${{ secrets.UPLOAD_KEY }} ${{ secrets.LATEST_DROP_FOLDER }}/firmware_latest.sha -d "$hash"
22+
for f in .pio/build/*/*.hex; do
23+
FIRMWARE=$(basename $(dirname ${f%.*}))
24+
HEX_FILE=./firmware_${FIRMWARE}_$hash.hex
25+
ZIP_FILE=./firmware_${FIRMWARE}_$hash.zip
26+
mv -v "$f" $HEX_FILE
27+
zip -j $ZIP_FILE $HEX_FILE ./LICENSE.txt
28+
curl -X PUT -u ${{ secrets.UPLOAD_KEY }} ${{ secrets.LATEST_DROP_FOLDER }}/firmware_${FIRMWARE}_latest.zip --upload-file $ZIP_FILE || true
29+
curl -X PUT -u ${{ secrets.UPLOAD_KEY }} ${{ secrets.LATEST_DROP_FOLDER }}/firmware_${FIRMWARE}_latest.sha -d "$hash"
30+
done
2631
- name: firmware_artifacts
2732
uses: actions/upload-artifact@v2
2833
with:

.vscode/launch.json

Lines changed: 0 additions & 68 deletions
This file was deleted.

README.md

Lines changed: 8 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@
1414

1515
When I am asked why I do such projects - my general reply is: I don't know, it makes fun and I like to get deeper understanding of technical things.
1616
Maybe the reason was the chip shortage that makes Eurorack DIY projects tricky at the moment, and I used that to get more involved with coding in the eurorack land.
17-
At this point, a big thanks to the people behind ornament & crime (o_C), Teensy and specially Mutable Instruments for the inspiring playground and the basis regarding hardware and software for this project.
17+
At this point, a big thanks to the people behind ornament & crime (o_C) for the inspiring playground and the basis regarding hardware for this project.
18+
Many thanks also to all those who have worked on the code and algorithms partly reused here and make this treasure trove freely available, especially Mutable Instruments.
1819

1920
## Challenge
2021

@@ -36,7 +37,8 @@ E.g you can chain the mono audio signal from an oscillator machine to the neighb
3637
* [Long press [RIGHT]] enters the I/O-configuration-page.
3738
* [Long press [LEFT] + [RIGHT]] enters the MIDI-settings-page.
3839
* [Long press left or right [ENCODER]] shows the modulation popup
39-
* [Long press [L-ENCODER] + [R-ENCODER]] saves the patch - will be restored at startup.
40+
* [Long press [L-ENCODER] + [R-ENCODER]] saves the patch - will be restored at startup
41+
- DEBUG: skip restore - press [RIGHT] button while startup ).
4042

4143
<br/>
4244
<div style="page-break-after: always;"></div>
@@ -50,7 +52,7 @@ E.g you can chain the mono audio signal from an oscillator machine to the neighb
5052
* **GND**
5153
* `---`
5254
* **CV**
53-
* V/OCT, Envelope, LFO
55+
* V/OCT, Envelope, LFO, Noise
5456
* **Drums** <img align="right" src="doc/engine.bmp" width=196px />
5557
* Analog-BD, Analog SD, Analog HH, Analog HH2
5658
* 909ish-BD, 909ish-SD, TR909-HiHat, TR909-Ride
@@ -64,7 +66,7 @@ E.g you can chain the mono audio signal from an oscillator machine to the neighb
6466
* Virt.Analog, Waveshaping, FM, Grain, Additive, Wavetable, Chord
6567
* Resonator
6668
* **Stereo-FX**
67-
* Reverb, Rev-Dattorro, Delay, Gated-Reverb, Reverb-HP-LP
69+
* Reverb, ReverbSC, Rev-Dattorro, Delay, Gated-Reverb, Reverb-HP-LP
6870
* **SPEECH**
6971
* LPC, SAM
7072
* **MIDI**
@@ -89,6 +91,7 @@ Machines/Engines are controlled by individual parameters.
8991
For each parameter a modulation can be assigned:
9092
* **CV**:
9193
* SRC: `C1`, `C2`, `C3`, `C4`
94+
* OP: `THRU`, `S&H-T1`, `S&H-T1`, `S&H-T1`, `S&H-T1`, `T&H-T1`, `T&H-T1`, `T&H-T1`, `T&H-T1`
9295
* Hints:
9396
* Parameter 0 (top-left) is mainly used for V/OCT control. Thus, one single V/OCT signal / CV-Input can be shared by using modulation on parameter-0 with attenuverter = +1 (-3V..+6V) range. It is also possible to select the V/OCT input in the io-configuration page.
9497
* All other parameters can be modulated via CV-input with a assumed voltage-range of -4V..4V at 2kHz sample rate.
@@ -265,21 +268,11 @@ To callibrate the ADC `0V` reference, remove all patch cables from the module. U
265268
The project was originally a kind of research that I did over half a year. The current O_C hardware could certainly be optimized. As you know, the DAC and the display share the SPI port - this is not ideal for simultaneous operation (display updates are sometimes audible). Furthermore, the Teensy 4.0 does not have "high-end" ADCs - my focus here was to achieve operation at audio rate (aux input) - the issue of noise has not been the focus so far.
266269
267270
At the moment I like to make the project partially available to the community as open-source, so that everyone has the possibility to adapt and experiment with it.
268-
In principle, this project is a suite of apps so-called machines/engines interfacing with a system library ("libmachine").
269-
270-
You are welcome for any suggestions and feedback or collaboration.
271-
272-
#### <u>Build & Flash firmware</u>
273-
* Install VSCode + platformio extension (https://platformio.org/platformio-ide)
274-
- On linux: curl https://www.pjrc.com/teensy/00-teensy.rules > /etc/udev/rules.d/49-teensy.rules
275-
- Open Folder or `code .` inside project directory
276-
- In VSCode - choose environment e.g "OC_teensy40", press "build" or "upload" (ensure teensy connected via usb)
277-
* Alternatively: use Teensy Loader to flash compiled hex: https://www.pjrc.com/teensy/loader.html
278271
279272
## License
280273
281274
The application code respectively the suite of machines/engines is released under the MIT license.
282-
For details e.g. the copyright holders - see the header of individual source code files or readme/license file in the sub folder.
275+
For licenses e.g. the copyright holders of 3rd-party libraries - see the header of individual source code files or readme/license file in the sub folder.
283276
284277
The previously mentioned "libmachine", a hardware abstraction layer, will remain "closed software" until I follow some not yet discarded ideas. This is to prevent the firmware from being forked/ported to similar digital Eurorack modules and some theoretical licensing questions. So if you consider commercially distributing hardware with this firmware, please contact me (eh2k◯gmx.de).
285278

lib/SAM/debug.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
#include<stdio.h>
22

3+
int debug = 0;
4+
35
extern const unsigned char signInputTable1[];
46
extern const unsigned char signInputTable2[];
57

0 commit comments

Comments
 (0)