aboutsummaryrefslogtreecommitdiffstats
path: root/root
diff options
context:
space:
mode:
authors-ol <s-ol@users.noreply.github.com>2019-09-21 13:34:39 +0000
committers-ol <s-ol@users.noreply.github.com>2019-09-21 13:34:39 +0000
commitfcff21bb78214790041cfc189c5c0c18a88b6d9e (patch)
treec63304302792b3a290b034ce3a0ca3b4902efeb0 /root
parentfix code font (diff)
downloadmmm-fcff21bb78214790041cfc189c5c0c18a88b6d9e.tar.gz
mmm-fcff21bb78214790041cfc189c5c0c18a88b6d9e.zip
add btrktrl, parallax_panels
Diffstat (limited to 'root')
-rw-r--r--root/experiments/parallax_panels/description: text$plain1
-rw-r--r--root/experiments/parallax_panels/picture/URL -> twitter$tweet1
-rw-r--r--root/experiments/parallax_panels/text$markdown.md16
-rwxr-xr-xroot/experiments/parallax_panels/viewer/demo/video$mp4.mp4bin0 -> 8699675 bytes
-rw-r--r--root/experiments/parallax_panels/viewer/link: URL1
-rw-r--r--root/projects/btrktrl/$order13
-rw-r--r--root/projects/btrktrl/description: text$plain1
-rw-r--r--root/projects/btrktrl/knobs_all/description: text$plain1
-rw-r--r--root/projects/btrktrl/knobs_all/image$jpeg.jpgbin0 -> 2462470 bytes
-rw-r--r--root/projects/btrktrl/knobs_testing/description: text$plain1
-rw-r--r--root/projects/btrktrl/knobs_testing/image$jpeg.jpgbin0 -> 2266946 bytes
-rw-r--r--root/projects/btrktrl/pcb_dev_configuration/description: text$plain1
-rw-r--r--root/projects/btrktrl/pcb_dev_configuration/video$mp4.mp4bin0 -> 7002917 bytes
-rw-r--r--root/projects/btrktrl/pcb_dev_encoder/description: text$plain1
-rw-r--r--root/projects/btrktrl/pcb_dev_encoder/video$mp4.mp4bin0 -> 3094492 bytes
-rw-r--r--root/projects/btrktrl/pcb_glamour/image$jpeg.jpgbin0 -> 935947 bytes
-rw-r--r--root/projects/btrktrl/pcb_glamour_close/image$jpeg.jpgbin0 -> 331299 bytes
-rw-r--r--root/projects/btrktrl/pcb_glamour_connector/image$jpeg.jpgbin0 -> 320858 bytes
-rw-r--r--root/projects/btrktrl/pcb_glamour_far/image$jpeg.jpgbin0 -> 681312 bytes
-rw-r--r--root/projects/btrktrl/pcb_glamour_top/image$jpeg.jpgbin0 -> 448678 bytes
-rw-r--r--root/projects/btrktrl/pcb_osc/description: text$plain1
-rw-r--r--root/projects/btrktrl/pcb_osc/video$mp4.mp4bin0 -> 8287372 bytes
-rw-r--r--root/projects/btrktrl/proto_encoder/description: text$plain1
-rw-r--r--root/projects/btrktrl/proto_encoder/video$mp4.mp4bin0 -> 3362613 bytes
-rw-r--r--root/projects/btrktrl/proto_rgb/description: text$plain1
-rw-r--r--root/projects/btrktrl/proto_rgb/video$mp4.mp4bin0 -> 1247898 bytes
-rw-r--r--root/projects/btrktrl/proto_spi/description: text$plain1
-rw-r--r--root/projects/btrktrl/proto_spi/image$jpeg.jpgbin0 -> 2441610 bytes
-rw-r--r--root/projects/btrktrl/text$moonscript -> fn -> mmm$dom.moon62
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
new file mode 100755
index 0000000..f3600cc
--- /dev/null
+++ b/root/experiments/parallax_panels/viewer/demo/video$mp4.mp4
Binary files differ
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
new file mode 100644
index 0000000..c523f8f
--- /dev/null
+++ b/root/projects/btrktrl/knobs_all/image$jpeg.jpg
Binary files differ
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
new file mode 100644
index 0000000..09ea47d
--- /dev/null
+++ b/root/projects/btrktrl/knobs_testing/image$jpeg.jpg
Binary files differ
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
new file mode 100644
index 0000000..c8113cd
--- /dev/null
+++ b/root/projects/btrktrl/pcb_dev_configuration/video$mp4.mp4
Binary files differ
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
new file mode 100644
index 0000000..fa41799
--- /dev/null
+++ b/root/projects/btrktrl/pcb_dev_encoder/video$mp4.mp4
Binary files differ
diff --git a/root/projects/btrktrl/pcb_glamour/image$jpeg.jpg b/root/projects/btrktrl/pcb_glamour/image$jpeg.jpg
new file mode 100644
index 0000000..5864822
--- /dev/null
+++ b/root/projects/btrktrl/pcb_glamour/image$jpeg.jpg
Binary files differ
diff --git a/root/projects/btrktrl/pcb_glamour_close/image$jpeg.jpg b/root/projects/btrktrl/pcb_glamour_close/image$jpeg.jpg
new file mode 100644
index 0000000..5d572aa
--- /dev/null
+++ b/root/projects/btrktrl/pcb_glamour_close/image$jpeg.jpg
Binary files differ
diff --git a/root/projects/btrktrl/pcb_glamour_connector/image$jpeg.jpg b/root/projects/btrktrl/pcb_glamour_connector/image$jpeg.jpg
new file mode 100644
index 0000000..6503f84
--- /dev/null
+++ b/root/projects/btrktrl/pcb_glamour_connector/image$jpeg.jpg
Binary files differ
diff --git a/root/projects/btrktrl/pcb_glamour_far/image$jpeg.jpg b/root/projects/btrktrl/pcb_glamour_far/image$jpeg.jpg
new file mode 100644
index 0000000..661f4fe
--- /dev/null
+++ b/root/projects/btrktrl/pcb_glamour_far/image$jpeg.jpg
Binary files differ
diff --git a/root/projects/btrktrl/pcb_glamour_top/image$jpeg.jpg b/root/projects/btrktrl/pcb_glamour_top/image$jpeg.jpg
new file mode 100644
index 0000000..bbefc13
--- /dev/null
+++ b/root/projects/btrktrl/pcb_glamour_top/image$jpeg.jpg
Binary files differ
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
new file mode 100644
index 0000000..3562d43
--- /dev/null
+++ b/root/projects/btrktrl/pcb_osc/video$mp4.mp4
Binary files differ
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
new file mode 100644
index 0000000..acb32c8
--- /dev/null
+++ b/root/projects/btrktrl/proto_encoder/video$mp4.mp4
Binary files differ
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
new file mode 100644
index 0000000..8e06fcc
--- /dev/null
+++ b/root/projects/btrktrl/proto_rgb/video$mp4.mp4
Binary files differ
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
new file mode 100644
index 0000000..c89341c
--- /dev/null
+++ b/root/projects/btrktrl/proto_spi/image$jpeg.jpg
Binary files differ
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'
+ }