diff options
| author | s-ol <s-ol@users.noreply.github.com> | 2019-09-21 13:34:39 +0000 |
|---|---|---|
| committer | s-ol <s-ol@users.noreply.github.com> | 2019-09-21 13:34:39 +0000 |
| commit | fcff21bb78214790041cfc189c5c0c18a88b6d9e (patch) | |
| tree | c63304302792b3a290b034ce3a0ca3b4902efeb0 /root | |
| parent | fix code font (diff) | |
| download | mmm-fcff21bb78214790041cfc189c5c0c18a88b6d9e.tar.gz mmm-fcff21bb78214790041cfc189c5c0c18a88b6d9e.zip | |
add btrktrl, parallax_panels
Diffstat (limited to 'root')
29 files changed, 103 insertions, 0 deletions
diff --git a/root/experiments/parallax_panels/description: text$plain b/root/experiments/parallax_panels/description: text$plain new file mode 100644 index 0000000..0eed9db --- /dev/null +++ b/root/experiments/parallax_panels/description: text$plain @@ -0,0 +1 @@ +A Parallax SVG Viewer, for Prototyping (Eurorack) Panels diff --git a/root/experiments/parallax_panels/picture/URL -> twitter$tweet b/root/experiments/parallax_panels/picture/URL -> twitter$tweet new file mode 100644 index 0000000..8d5bce2 --- /dev/null +++ b/root/experiments/parallax_panels/picture/URL -> twitter$tweet @@ -0,0 +1 @@ +https://twitter.com/S0lll0s/status/1141006444793405440 diff --git a/root/experiments/parallax_panels/text$markdown.md b/root/experiments/parallax_panels/text$markdown.md new file mode 100644 index 0000000..7453762 --- /dev/null +++ b/root/experiments/parallax_panels/text$markdown.md @@ -0,0 +1,16 @@ +parallax-panels +=============== + +I'm prototyping an aesthetic for (eurorack) panels that relies on multiple layers of parallax visuals for dramatic effect. + +<mmm-embed path="picture" nolink></mmm-embed> + +parallax-viewer +=============== + +I built a little SVG viewer that stacks the layers and lets you view them in parallax. +You can find it <mmm-link path="viewer">here</mmm-link>. + +And here's a little demonstration: + +<mmm-embed path="viewer/demo" nolink></mmm-embed> diff --git a/root/experiments/parallax_panels/viewer/demo/video$mp4.mp4 b/root/experiments/parallax_panels/viewer/demo/video$mp4.mp4 Binary files differnew file mode 100755 index 0000000..f3600cc --- /dev/null +++ b/root/experiments/parallax_panels/viewer/demo/video$mp4.mp4 diff --git a/root/experiments/parallax_panels/viewer/link: URL b/root/experiments/parallax_panels/viewer/link: URL new file mode 100644 index 0000000..f1bc92e --- /dev/null +++ b/root/experiments/parallax_panels/viewer/link: URL @@ -0,0 +1 @@ +https://codepen.io/s-ol/full/rExrey diff --git a/root/projects/btrktrl/$order b/root/projects/btrktrl/$order new file mode 100644 index 0000000..0520d1b --- /dev/null +++ b/root/projects/btrktrl/$order @@ -0,0 +1,13 @@ +proto_rgb +proto_encoder +proto_spi +knobs_all +knobs_testing +pcb_glamour_close +pcb_glamour_far +pcb_glamour_top +pcb_glamour +pcb_glamour_connector +pcb_dev_configuration +pcb_dev_encoder +pcb_osc diff --git a/root/projects/btrktrl/description: text$plain b/root/projects/btrktrl/description: text$plain new file mode 100644 index 0000000..d7e3402 --- /dev/null +++ b/root/projects/btrktrl/description: text$plain @@ -0,0 +1 @@ +a FPGA-based modular MIDI/OSC control surface diff --git a/root/projects/btrktrl/knobs_all/description: text$plain b/root/projects/btrktrl/knobs_all/description: text$plain new file mode 100644 index 0000000..1a43de0 --- /dev/null +++ b/root/projects/btrktrl/knobs_all/description: text$plain @@ -0,0 +1 @@ +sampling machined aluminum knobs from chinese supplier diff --git a/root/projects/btrktrl/knobs_all/image$jpeg.jpg b/root/projects/btrktrl/knobs_all/image$jpeg.jpg Binary files differnew file mode 100644 index 0000000..c523f8f --- /dev/null +++ b/root/projects/btrktrl/knobs_all/image$jpeg.jpg diff --git a/root/projects/btrktrl/knobs_testing/description: text$plain b/root/projects/btrktrl/knobs_testing/description: text$plain new file mode 100644 index 0000000..9588122 --- /dev/null +++ b/root/projects/btrktrl/knobs_testing/description: text$plain @@ -0,0 +1 @@ +testing different knob spacings diff --git a/root/projects/btrktrl/knobs_testing/image$jpeg.jpg b/root/projects/btrktrl/knobs_testing/image$jpeg.jpg Binary files differnew file mode 100644 index 0000000..09ea47d --- /dev/null +++ b/root/projects/btrktrl/knobs_testing/image$jpeg.jpg diff --git a/root/projects/btrktrl/pcb_dev_configuration/description: text$plain b/root/projects/btrktrl/pcb_dev_configuration/description: text$plain new file mode 100644 index 0000000..b15f4f0 --- /dev/null +++ b/root/projects/btrktrl/pcb_dev_configuration/description: text$plain @@ -0,0 +1 @@ +configuring the FPGA on the custom PCB via an arduino for the first time diff --git a/root/projects/btrktrl/pcb_dev_configuration/video$mp4.mp4 b/root/projects/btrktrl/pcb_dev_configuration/video$mp4.mp4 Binary files differnew file mode 100644 index 0000000..c8113cd --- /dev/null +++ b/root/projects/btrktrl/pcb_dev_configuration/video$mp4.mp4 diff --git a/root/projects/btrktrl/pcb_dev_encoder/description: text$plain b/root/projects/btrktrl/pcb_dev_encoder/description: text$plain new file mode 100644 index 0000000..530be5a --- /dev/null +++ b/root/projects/btrktrl/pcb_dev_encoder/description: text$plain @@ -0,0 +1 @@ +encoder & capacitive sensing working on the custom PCB diff --git a/root/projects/btrktrl/pcb_dev_encoder/video$mp4.mp4 b/root/projects/btrktrl/pcb_dev_encoder/video$mp4.mp4 Binary files differnew file mode 100644 index 0000000..fa41799 --- /dev/null +++ b/root/projects/btrktrl/pcb_dev_encoder/video$mp4.mp4 diff --git a/root/projects/btrktrl/pcb_glamour/image$jpeg.jpg b/root/projects/btrktrl/pcb_glamour/image$jpeg.jpg Binary files differnew file mode 100644 index 0000000..5864822 --- /dev/null +++ b/root/projects/btrktrl/pcb_glamour/image$jpeg.jpg diff --git a/root/projects/btrktrl/pcb_glamour_close/image$jpeg.jpg b/root/projects/btrktrl/pcb_glamour_close/image$jpeg.jpg Binary files differnew file mode 100644 index 0000000..5d572aa --- /dev/null +++ b/root/projects/btrktrl/pcb_glamour_close/image$jpeg.jpg diff --git a/root/projects/btrktrl/pcb_glamour_connector/image$jpeg.jpg b/root/projects/btrktrl/pcb_glamour_connector/image$jpeg.jpg Binary files differnew file mode 100644 index 0000000..6503f84 --- /dev/null +++ b/root/projects/btrktrl/pcb_glamour_connector/image$jpeg.jpg diff --git a/root/projects/btrktrl/pcb_glamour_far/image$jpeg.jpg b/root/projects/btrktrl/pcb_glamour_far/image$jpeg.jpg Binary files differnew file mode 100644 index 0000000..661f4fe --- /dev/null +++ b/root/projects/btrktrl/pcb_glamour_far/image$jpeg.jpg diff --git a/root/projects/btrktrl/pcb_glamour_top/image$jpeg.jpg b/root/projects/btrktrl/pcb_glamour_top/image$jpeg.jpg Binary files differnew file mode 100644 index 0000000..bbefc13 --- /dev/null +++ b/root/projects/btrktrl/pcb_glamour_top/image$jpeg.jpg diff --git a/root/projects/btrktrl/pcb_osc/description: text$plain b/root/projects/btrktrl/pcb_osc/description: text$plain new file mode 100644 index 0000000..2f0df00 --- /dev/null +++ b/root/projects/btrktrl/pcb_osc/description: text$plain @@ -0,0 +1 @@ +a browser application talking to the encoders through a websocket/serial OSC bridge (nodejs) diff --git a/root/projects/btrktrl/pcb_osc/video$mp4.mp4 b/root/projects/btrktrl/pcb_osc/video$mp4.mp4 Binary files differnew file mode 100644 index 0000000..3562d43 --- /dev/null +++ b/root/projects/btrktrl/pcb_osc/video$mp4.mp4 diff --git a/root/projects/btrktrl/proto_encoder/description: text$plain b/root/projects/btrktrl/proto_encoder/description: text$plain new file mode 100644 index 0000000..e0f620b --- /dev/null +++ b/root/projects/btrktrl/proto_encoder/description: text$plain @@ -0,0 +1 @@ +getting the encoder and capacitive sensing working on the prototype diff --git a/root/projects/btrktrl/proto_encoder/video$mp4.mp4 b/root/projects/btrktrl/proto_encoder/video$mp4.mp4 Binary files differnew file mode 100644 index 0000000..acb32c8 --- /dev/null +++ b/root/projects/btrktrl/proto_encoder/video$mp4.mp4 diff --git a/root/projects/btrktrl/proto_rgb/description: text$plain b/root/projects/btrktrl/proto_rgb/description: text$plain new file mode 100644 index 0000000..43b7f69 --- /dev/null +++ b/root/projects/btrktrl/proto_rgb/description: text$plain @@ -0,0 +1 @@ +driving WS2812 RGB LEDs on the prototype board diff --git a/root/projects/btrktrl/proto_rgb/video$mp4.mp4 b/root/projects/btrktrl/proto_rgb/video$mp4.mp4 Binary files differnew file mode 100644 index 0000000..8e06fcc --- /dev/null +++ b/root/projects/btrktrl/proto_rgb/video$mp4.mp4 diff --git a/root/projects/btrktrl/proto_spi/description: text$plain b/root/projects/btrktrl/proto_spi/description: text$plain new file mode 100644 index 0000000..c38b56e --- /dev/null +++ b/root/projects/btrktrl/proto_spi/description: text$plain @@ -0,0 +1 @@ +developing and debugging the SPI protocol diff --git a/root/projects/btrktrl/proto_spi/image$jpeg.jpg b/root/projects/btrktrl/proto_spi/image$jpeg.jpg Binary files differnew file mode 100644 index 0000000..c89341c --- /dev/null +++ b/root/projects/btrktrl/proto_spi/image$jpeg.jpg diff --git a/root/projects/btrktrl/text$moonscript -> fn -> mmm$dom.moon b/root/projects/btrktrl/text$moonscript -> fn -> mmm$dom.moon new file mode 100644 index 0000000..f7d8f9c --- /dev/null +++ b/root/projects/btrktrl/text$moonscript -> fn -> mmm$dom.moon @@ -0,0 +1,62 @@ +import div, h3, p, a from require 'mmm.dom' +import link_to from (require 'mmm.mmmfs.util') require 'mmm.dom' + +=> + text = (...) -> + div with for text in *{...} + p text + .style = { 'max-width': '900px' } + + filtered_block = (pattern) -> + div with for child in *@children + continue unless (child\gett 'name: alpha')\match pattern + + div { + style: { + display: 'inline-block' + width: '500px' + margin: '0.5em' + padding: '0.4em 1em' + background: 'var(--gray-bright)' + } + div (link_to child), style: { 'margin-bottom': '0.2em' } + child\gett 'mmm/dom' + (child\get 'description: mmm/dom') + } + + .style = { + display: 'flex' + 'flex-wrap': 'wrap' + 'align-items': 'flex-start' + margin: '-0.5em' + } + + div { + h3 @gett 'name: alpha' + text "For this project I am builiding a modular, FPGA powered MIDI/OSC Control Surface.", + "The setup consists of an arduino MCU as a master controller, that communicates to the PC over + SLIP-encoded Serial OSC messages. The controller talks to daughterboards over SPI. + Each daugherboard contains a rotary encoder, 8 RGB LEDs and does capacitive sensing on the knob.", + "This was the first time I worked with an FPGA, and the first time I designed my own PCBs as well. + The FPGA I used is an ICE40UP5k, it was targeted using the icestorm open toolchain and Verilog. + I started by prototyping using an UPduino v2 Prototyping board (orange), and my failed rev1 PCBs (green). + On the FPGAs I implemented capacitive sensing, the SPI slave and control logic before moving on." + + filtered_block '^proto_' + + text "Once I got everything working there I designed my custom boards with the FPGA integrated directly, + including power conditioning and configuration. + There is also a busboard that manages SPI addressing / multiplexing as well as latching the power state + for each daughterboard, so that they can be started and configured individually." + + filtered_block '^pcb_glamour' + filtered_block '^pcb_dev' + + text "The daughterboards and controller communicate over a custom SPI protocol I designed. + The controller configures the daughterboards on boot or request from the PC. + It sends and receives OSC messages over SLIP-encoded Serial. + On the PC a small nodejs application relays the OSC messages over UDP or WebSocket, + so that native and web applications can consume them and interact with the control surface." + + filtered_block '^pcb_osc' + } |
