Documentation update, links to sources

main
Jurij Podgoršek 2024-09-16 00:18:44 +02:00
parent 93cf9f9e72
commit 0e5e4d0a69
1 changed files with 21 additions and 5 deletions

View File

@ -3,17 +3,33 @@
Musical/visual/dance performance of Borut Kržišnik's new album, Utopia, with Musical/visual/dance performance of Borut Kržišnik's new album, Utopia, with
Ryuzo Fukohara dancing and triggering / modulating sounds and projections by Simon Svetlik. Ryuzo Fukohara dancing and triggering / modulating sounds and projections by Simon Svetlik.
We plan to plant 5-6 sensors on Ryuzota, the IMU signals will be converted We plan to plant 5-6 sensors on Ryuzo, the IMU signals will be converted
into midi for Borut in Simon. into MIDI for Borut in Simon.
** Code ** Code
*** Arduino sensor *** Arduino sensor
[[file:src/ada.cpp][Arduino source (adafruit on ESP32S2)]] Arduino code that reads linear acceleration, sensor fused quaternion orientation data and the battery voltage on an ESP32S3 connected to an Adafruit BNO055 orientation sensor.
NOTE: you have to set the sensor ID via source! And the receiver's mac address. Linux monitor mode can receive packages pointed to other mac addresses though.
[[file:src/main.cpp][Arduino source (adafruit BNO055 on ESP32S3)]]
[[file:src/main.cpp][Arduino source (adafruit BNO055 on an OlimexESP32S3)]]
*** Arduino receiver *** Arduino receiver
[[file:src/sprejemnik.cpp][Arduino source (ESP32S3 receiver)]] [[file:src/sprejemnik.cpp][Arduino source (ESP32S3 receiver)]]
This may be simpler since it doesn't depend on the wifi card used, but the max rate seems to be about 160 packets per second.
*** Linux receiver
You need a wifi card that supports monitor mode for this.
Two scripts are provided to turn monitor mode on/off; [[file:linux-receiver/monitor_on.sh][monitor_on.sh]] and [[file:linux-receiver/monitor_off.sh][monitor_off.sh]]. Run the receiver with [[file:linux-receiver/pozeni.sh][pozeni.sh]], the receiver's code in C can be found in [[file:linux-receiver/main.c][main.c]].
This way, around 700-800 packets can be received in a second. Also OSC packages are sent directly to supercollider, bypassing the SLIP decoder.
*** Supercollider receiver code *** Supercollider receiver code
[[file:utopia.scd][Utopia receiver]] [[file:utopia.scd][Utopia receiver]]
*** SLIPDecoder source *** SLIPDecoder source
Library for decoding SLIP encoded OSC data via serial USB directly into supercollider.
[[file:~/.local/share/SuperCollider/downloaded-quarks/SLIPDecoder/SLIPDecoder.sc][SLIPDecoder source]] [[file:~/.local/share/SuperCollider/downloaded-quarks/SLIPDecoder/SLIPDecoder.sc][SLIPDecoder source]]
** Microcontrollers ** Microcontrollers
@ -58,7 +74,7 @@ into midi for Borut in Simon.
https://www.lilygo.cc/products/t7-s3 https://www.lilygo.cc/products/t7-s3
[[file:doc/t7-s3_v1.1_pinmap.jpg][Pinout]] [[file:doc/t7-s3_v1.1_pinmap.jpg][Pinout]]
We also need some velcro tape to make sensors easily mountable and We also need some velcro and elastic tape to make sensors easily mountable and
protoboards to hold it all together. +protoboards to hold it all together+ compactly designed 3d printed cases.
And a charging station for batteries (TODO). And a charging station for batteries (TODO).