diff --git a/circuitsim/lookup-tables.ipynb b/circuitsim/lookup-tables.ipynb index eab000b93253a8dc6b39b1abf8fc782567435fa4..2dba0b17d9814de64724f26744f69be5e0a0b65e 100644 --- a/circuitsim/lookup-tables.ipynb +++ b/circuitsim/lookup-tables.ipynb @@ -713,9 +713,34 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "id": "f0cd9d06-a15a-46b4-a3ef-4aee3d4f7cd0", "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0.0\n", + "1.0\n", + "2.0\n" + ] + } + ], + "source": [ + "# Midi to pitch\n", + "\n", + "notes = [36, 48, 60]\n", + "\n", + "for note in notes:\n", + " print((note-36)/12.0)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "59b56dbc-6852-4989-bc19-3525ee7caf8b", + "metadata": {}, "outputs": [], "source": [] } diff --git a/code/daisy-looper/daisy-looper.ino b/code/daisy-looper/daisy-looper.ino index 566ea0e3e710b71714f3b104a33017346ca900f9..49250d5b2db479ad9ef407f2ae07af20d016a753 100644 --- a/code/daisy-looper/daisy-looper.ino +++ b/code/daisy-looper/daisy-looper.ino @@ -11,6 +11,7 @@ #include <Adafruit_GFX.h> #include <Adafruit_SH110X.h> #include <CpuLoadMeter.h> +#include <MIDI.h> #include "leds.h" #include "potentiometers.h" @@ -20,7 +21,7 @@ #include "helpers.h" #include "ui.h" - +MIDI_CREATE_DEFAULT_INSTANCE(); #define BUFFER_LENGTH_SECONDS 5 static const size_t buffer_length = 48000 * BUFFER_LENGTH_SECONDS; @@ -43,7 +44,7 @@ Button button_2 = Button(D8); Button button_3 = Button(D9); Button button_4 = Button(D10); Button button_5 = Button(D13); -Button button_6 = Button(D14); +Button button_6 = Button(D27); // Initialize Potentiometers Potentiometer pot_1 = Potentiometer(A0); @@ -80,6 +81,7 @@ float delaytime = 100.0f; float reverbmix = 0.0f; float lfo_amount = 0.0f; float pitch_val = 0.5f; +float midi_pitch_offset = 0.0f; // Actual audio-processing is orchestrated here void AudioCallback(float **in, float **out, size_t size) { @@ -105,13 +107,13 @@ void AudioCallback(float **in, float **out, size_t size) { // If the dial is over 50% jump instead if (lfo_amount > 0.5f) { looper.addToPlayhead(rand * random_amount* 48000.0f); - looper.setPlaybackSpeed(pitch_val); + looper.setPlaybackSpeed(pitch_val + midi_pitch_offset); } } if (lfo_amount > 0.5f) { - looper.setPlaybackSpeed(pitch_val); + looper.setPlaybackSpeed(pitch_val + midi_pitch_offset); } else { - looper.setPlaybackSpeed(pitch_val + lfo_value * lfo_amount); + looper.setPlaybackSpeed(pitch_val + lfo_value * lfo_amount + midi_pitch_offset); } float looper_out; @@ -157,6 +159,28 @@ void AudioCallback(float **in, float **out, size_t size) { } } +// TODO: Add Voice Stealing/Multiple Playheads? +// TODO: Is USB Midi possible? https://github.com/electro-smith/DaisyExamples/blob/master/seed/USB_MIDI/USB_MIDI.cpp + +void handleNoteOn(byte inChannel, byte inNote, byte inVelocity) { + Serial.print("Note On: "); + Serial.println(inNote); + // Note Off can come in as Note On w/ 0 Velocity + if (inVelocity == 0.f) { + midi_pitch_offset = 0.0f; + } + else { + midi_pitch_offset = (int(inNote)-36.0)/12.0f; + } +} + + + +void handleNoteOff(byte inChannel, byte inNote, byte inVelocity) { + Serial.print("Note Off: "); + Serial.println(inNote); + midi_pitch_offset = 0.0f; +} @@ -217,6 +241,11 @@ void setup() { // Set the analog read and write resolution to 12 bits analogReadResolution(12); + // + MIDI.setHandleNoteOn(handleNoteOn); + MIDI.setHandleNoteOff(handleNoteOff); + MIDI.begin(MIDI_CHANNEL_OMNI); // Listen to all incoming messages + // Set Knob names and display functions pot_1.name = "Start"; pot_2.name = "Length"; @@ -283,6 +312,9 @@ void loop() { // Set the Color and brightness of the RGB LED in 8 bits rgb_led.setAudioLevelIndicator(int(input_envelope_follower.getValue() * 255)); + + // MIDI + MIDI.read(); } diff --git a/horizon/top_block.json b/horizon/top_block.json index 38db355f034dca96fb50893d6a931f0c5fc8bd05..caf372c64d9f269589efc81608a5bfe2d64330f5 100644 --- a/horizon/top_block.json +++ b/horizon/top_block.json @@ -326,7 +326,7 @@ "net": "2185e7f6-a495-4624-9096-20ddaa5c0580" }, "e098cbdf-50ef-4243-b379-8fb08f979275/067d51b3-ef03-4f9c-a32e-0738642ce1c2": { - "net": "04129d36-c709-4a56-a7ee-ee2bb18553c9" + "net": "565d0d0a-8ff2-4a59-834b-57f224ced232" }, "e098cbdf-50ef-4243-b379-8fb08f979275/0e0ab734-776c-4fc0-aacc-4638e57ed246": { "net": "e149f05c-07b2-4770-aff0-a9163db00bf6" @@ -337,9 +337,6 @@ "e098cbdf-50ef-4243-b379-8fb08f979275/22650871-f429-4723-b648-509abbdba4f3": { "net": "8b8d6956-28eb-4fc1-b988-cece63ad99a7" }, - "e098cbdf-50ef-4243-b379-8fb08f979275/2b5c4342-82e9-41c9-a8c1-431823790a61": { - "net": "9b161be3-8ce9-4f24-9cae-5d5ace7db3f7" - }, "e098cbdf-50ef-4243-b379-8fb08f979275/2cfa56c9-6838-4f0e-9459-d0560ce71518": { "net": "a3a8239f-f0b7-458a-8324-136070f8be77" }, @@ -389,7 +386,7 @@ "net": "04a96525-5195-41ce-a259-17c102c2e743" }, "e098cbdf-50ef-4243-b379-8fb08f979275/c7861f7d-db74-42b2-80ee-5277075ebf57": { - "net": "565d0d0a-8ff2-4a59-834b-57f224ced232" + "net": "04129d36-c709-4a56-a7ee-ee2bb18553c9" }, "e098cbdf-50ef-4243-b379-8fb08f979275/d618345a-d484-4861-8fa8-336a0e07fc0a": { "net": "32687c38-bbf6-41ca-a65f-3b1211b52c7f" @@ -554,7 +551,7 @@ "alt_pins": {}, "connections": { "eb7f68b1-6fba-4a35-a470-2cecb23fe087/588536f1-9e96-4500-bcbb-4ba48082b643": { - "net": "6ab0ab61-ac50-44e2-a7ff-24876bdce251" + "net": "3463744f-816e-4bb0-bd10-205313de2731" }, "eb7f68b1-6fba-4a35-a470-2cecb23fe087/b3cef4f5-fe6c-45b5-b063-1618f997168f": { "net": "2aafef96-ebb9-4f7a-818d-d2324990e1f7" @@ -938,10 +935,10 @@ "alt_pins": {}, "connections": { "e5da453c-ba97-4fa0-8e05-5f6b4e026f87/16ee5a5c-8eea-4447-ad48-04d973776e3a": { - "net": "6ab0ab61-ac50-44e2-a7ff-24876bdce251" + "net": "f4eae880-b8bf-4d7c-98ba-b6681c4ef628" }, "e5da453c-ba97-4fa0-8e05-5f6b4e026f87/b57ca2a1-1bbf-43f0-b0a0-bf953094a8de": { - "net": "6eafcae1-05a0-42b3-baf1-4b3be74b0033" + "net": "3463744f-816e-4bb0-bd10-205313de2731" } }, "entity": "c44a773c-cdf5-4193-b5be-ab54952f3f28", @@ -1125,7 +1122,7 @@ "net": "2aafef96-ebb9-4f7a-818d-d2324990e1f7" }, "48af78e5-730e-44eb-977a-cf188e4fcb39/dda0ec99-5d70-4fbe-a8db-897542e7554e": { - "net": "6eafcae1-05a0-42b3-baf1-4b3be74b0033" + "net": "f4eae880-b8bf-4d7c-98ba-b6681c4ef628" } }, "entity": "3ce770af-7be0-4f72-b2af-2c8010911aaf", @@ -1224,10 +1221,10 @@ "net": "a02d443f-8de2-4573-825d-60a4607f56f8" }, "4778d1df-df5d-4710-a422-83e88d006a3c/49aea420-016d-4ba2-9451-5996acefec56": { - "net": "6eafcae1-05a0-42b3-baf1-4b3be74b0033" + "net": "f4eae880-b8bf-4d7c-98ba-b6681c4ef628" }, "4778d1df-df5d-4710-a422-83e88d006a3c/5172e1fe-e3f0-43e0-9863-465c59f46ab7": { - "net": "6ab0ab61-ac50-44e2-a7ff-24876bdce251" + "net": "3463744f-816e-4bb0-bd10-205313de2731" }, "4778d1df-df5d-4710-a422-83e88d006a3c/a1754538-4d10-4c86-a7a0-7c17d15ba7e8": { "net": "cd66fb2a-28ed-4b48-94e9-06544a645f40" @@ -1300,24 +1297,6 @@ "refdes": "R5", "tag": "7416c727-3b25-46b1-8f80-7f3f4f8e3987", "value": "" - }, - "ff689786-fa22-4d0f-b29c-85939ed2ff75": { - "alt_pins": {}, - "connections": { - "2e41400f-138b-4ab4-9ba7-c3255ff0adbd/5dd0f83d-34b2-41a1-ae35-435479e4002e": { - "net": "a02d443f-8de2-4573-825d-60a4607f56f8" - }, - "2e41400f-138b-4ab4-9ba7-c3255ff0adbd/831b482b-82af-40ba-8cc0-5e272f25cc2c": { - "net": "9b161be3-8ce9-4f24-9cae-5d5ace7db3f7" - } - }, - "entity": "8676e35a-3078-4165-8014-8efdbc6c4bc1", - "group": "00000000-0000-0000-0000-000000000000", - "part": "16758ba5-8e81-4ea7-8183-74aeb6ca95ab", - "pin_names": {}, - "refdes": "S7", - "tag": "7310bc96-4e80-4645-a9b7-00b967c0436d", - "value": "" } }, "group_names": {}, @@ -1470,6 +1449,15 @@ "power_symbol_name_visible": true, "power_symbol_style": "gnd" }, + "3463744f-816e-4bb0-bd10-205313de2731": { + "is_port": false, + "is_power": false, + "name": "", + "net_class": "d3cde4be-ff63-4cf9-bc82-2965b938b344", + "port_direction": "bidirectional", + "power_symbol_name_visible": true, + "power_symbol_style": "gnd" + }, "35318027-7725-469c-bfe6-a1fcce7f63ef": { "is_port": false, "is_power": false, @@ -1533,24 +1521,6 @@ "power_symbol_name_visible": true, "power_symbol_style": "gnd" }, - "6ab0ab61-ac50-44e2-a7ff-24876bdce251": { - "is_port": false, - "is_power": false, - "name": "", - "net_class": "d3cde4be-ff63-4cf9-bc82-2965b938b344", - "port_direction": "bidirectional", - "power_symbol_name_visible": true, - "power_symbol_style": "gnd" - }, - "6eafcae1-05a0-42b3-baf1-4b3be74b0033": { - "is_port": false, - "is_power": false, - "name": "", - "net_class": "d3cde4be-ff63-4cf9-bc82-2965b938b344", - "port_direction": "bidirectional", - "power_symbol_name_visible": true, - "power_symbol_style": "gnd" - }, "6f86e55e-8dd3-485c-b17a-2195abe85f7a": { "is_port": false, "is_power": false, @@ -1606,15 +1576,6 @@ "power_symbol_name_visible": true, "power_symbol_style": "gnd" }, - "9b161be3-8ce9-4f24-9cae-5d5ace7db3f7": { - "is_port": false, - "is_power": false, - "name": "sw1", - "net_class": "d3cde4be-ff63-4cf9-bc82-2965b938b344", - "port_direction": "bidirectional", - "power_symbol_name_visible": true, - "power_symbol_style": "gnd" - }, "9d3b8d51-9462-4431-b0fa-bf6eb832d214": { "is_port": false, "is_power": false, @@ -1839,6 +1800,15 @@ "port_direction": "bidirectional", "power_symbol_name_visible": true, "power_symbol_style": "gnd" + }, + "f4eae880-b8bf-4d7c-98ba-b6681c4ef628": { + "is_port": false, + "is_power": false, + "name": "", + "net_class": "d3cde4be-ff63-4cf9-bc82-2965b938b344", + "port_direction": "bidirectional", + "power_symbol_name_visible": true, + "power_symbol_style": "gnd" } }, "project_meta": { @@ -1874,7 +1844,6 @@ "6867db91-5c46-4d55-b783-b4f6f5d6dca2": "40", "6d347ac8-118a-4818-a689-f8e2ab5b02a2": "45", "6e71e1fa-3a90-4a42-95fb-6d0b5e964d4a": "26", - "7310bc96-4e80-4645-a9b7-00b967c0436d": "11", "7416c727-3b25-46b1-8f80-7f3f4f8e3987": "27", "76d929d5-5eca-47ac-abaf-e320e60981a9": "4", "77075bed-79c4-4012-9c6f-625e01438759": "17", diff --git a/horizon/top_schematic.json b/horizon/top_schematic.json index 202c083459e86ea3e74c7124c77db01c09217caa..f11da7ab38c92474da92625789408e89314a99e7 100644 --- a/horizon/top_schematic.json +++ b/horizon/top_schematic.json @@ -3250,7 +3250,7 @@ "296966e0-d788-4838-8974-aad754fb0ed2": { "position": [ 246250000, - 123750000 + 93750000 ] }, "2ae962cd-7bdd-4a75-8872-48e6b8a7b031": { @@ -3310,7 +3310,7 @@ "36860780-c6b1-4a53-b1e6-f876db6819fd": { "position": [ 257500000, - 123750000 + 93750000 ] }, "3707ed92-ec28-43f5-b616-db09d2b97b57": { @@ -3337,12 +3337,6 @@ 125000000 ] }, - "393b8d2b-6c53-4f2a-ad14-e06a3e82cdae": { - "position": [ - 294500000, - 77500000 - ] - }, "3bc2780d-775d-47d9-9103-07d3ae1aa2c3": { "position": [ 98750000, @@ -3352,7 +3346,7 @@ "40870b64-a639-4d99-9b8c-9b345785cb18": { "position": [ 258750000, - 143750000 + 131250000 ] }, "413c7252-bb3d-401f-a4d7-fdc3aa91711c": { @@ -3373,28 +3367,16 @@ 102500000 ] }, - "48aea4b8-7972-4d89-8333-01244db5304d": { - "position": [ - 60000000, - 26250000 - ] - }, "4f67b8d1-f954-483a-aaa0-6aaa86cd19e8": { "position": [ 145000000, 26250000 ] }, - "4fbe2aaf-8237-42a3-b4c9-cc4ef6cc9608": { - "position": [ - 121250000, - 105000000 - ] - }, "5022f935-6490-4c34-bc55-3864a28435bf": { "position": [ 294500000, - 175000000 + 163750000 ] }, "53462d60-baa6-4ae2-83ad-edfa9d928b9c": { @@ -3406,7 +3388,7 @@ "545e7461-fe00-4a52-b689-329a0668c2ae": { "position": [ 243750000, - 108750000 + 78750000 ] }, "55efe56b-2f76-4323-8f63-3496bda0d887": { @@ -3418,19 +3400,19 @@ "569f2b55-0a3c-4d39-a769-6ec487609300": { "position": [ 230000000, - 136250000 + 111250000 ] }, "57200469-308b-4fe7-95a6-a1c48c6d409a": { "position": [ - 165000000, - 97500000 + 121250000, + 102500000 ] }, "58760310-b74c-4e1e-9598-aaba86ac0d07": { "position": [ 278750000, - 152500000 + 140000000 ] }, "5925d7ae-587b-40c4-91d7-68e1d2436a5c": { @@ -3475,12 +3457,6 @@ 165000000 ] }, - "5f0ec7c5-a070-491a-affc-cb4ba491b7a6": { - "position": [ - 275000000, - 56250000 - ] - }, "61c6ab3d-a54e-4ddb-a700-e3132e2dac52": { "position": [ 10000000, @@ -3502,7 +3478,7 @@ "6608325f-201e-405c-b5d0-bcd875b450f5": { "position": [ 278750000, - 148750000 + 136250000 ] }, "675ad088-028c-4e15-9951-829e12abce2c": { @@ -3520,7 +3496,7 @@ "70e8b9c1-1f03-4113-a9db-64442c2d0965": { "position": [ 245000000, - 152500000 + 140000000 ] }, "70f7a05a-f77b-4d36-b1bf-57222891389b": { @@ -3591,8 +3567,8 @@ }, "7f93d909-e859-44ad-9ca3-70acc4c691bd": { "position": [ - 121250000, - 102500000 + 165000000, + 97500000 ] }, "7ffce2f1-374f-4955-9733-873aaaa4135f": { @@ -3604,7 +3580,7 @@ "800ad79d-9c07-4772-a211-5c80e7089048": { "position": [ 258750000, - 147500000 + 135000000 ] }, "8146ce17-83f7-47f0-bc30-a867fb53a22a": { @@ -3637,12 +3613,6 @@ 132500000 ] }, - "8c2a5596-863b-45be-9742-67ca811142c0": { - "position": [ - 256250000, - 61250000 - ] - }, "8e442411-06f8-4910-b878-3f94ad31cfdc": { "position": [ 40000000, @@ -3685,6 +3655,12 @@ 33750000 ] }, + "95db9c7a-2034-4f8d-90bc-d470810521e7": { + "position": [ + 60000000, + 26250000 + ] + }, "96642c92-b3d6-4ebe-8fee-05d2f31c2761": { "position": [ 195000000, @@ -3724,13 +3700,13 @@ "a2702eb8-6347-407f-9050-a7d7eee51924": { "position": [ 230000000, - 175000000 + 163750000 ] }, "a74bf570-272b-428e-902c-475ce2d07c90": { "position": [ 257500000, - 108750000 + 78750000 ] }, "a94f5683-59b9-4196-97ec-ceb92a0fd549": { @@ -3790,7 +3766,7 @@ "b86851b9-c20b-4586-baa6-baeee21ee4c8": { "position": [ 258750000, - 157500000 + 145000000 ] }, "b8f06f71-b707-4242-8156-cd7f2d33280d": { @@ -3814,7 +3790,7 @@ "bb8d7e4e-2a29-4b23-81df-eb7b8760539c": { "position": [ 245000000, - 143750000 + 131250000 ] }, "bcf07bdc-68ff-4f51-8a60-f6eb639ac569": { @@ -3826,7 +3802,7 @@ "bd32e2ec-b361-4d27-8cb8-909bd6d364db": { "position": [ 258750000, - 161250000 + 148750000 ] }, "bd3c432e-8e2c-4322-8d73-47d2a7059757": { @@ -3856,7 +3832,7 @@ "c0dc4e58-4903-417a-b6c8-79ac99895cf4": { "position": [ 270000000, - 90000000 + 60000000 ] }, "c37bae46-f8b1-4dab-8fe4-55b18b722ced": { @@ -3913,12 +3889,6 @@ 21625000 ] }, - "cc1b974b-489f-42ea-88f4-90fbaccdf072": { - "position": [ - 275000000, - 58750000 - ] - }, "cc1cb0d1-83e7-4ebc-8098-865387aac1f1": { "position": [ 190000000, @@ -3961,6 +3931,12 @@ 31250000 ] }, + "d52d7f5f-0e62-497f-992e-d54e83fd5932": { + "position": [ + 60000000, + 38750000 + ] + }, "d7d398b8-9abc-43c2-a3c0-99b8a359400b": { "position": [ 175000000, @@ -4009,12 +3985,6 @@ 65000000 ] }, - "e33a806d-df9e-43c5-831b-86dd46ec0e29": { - "position": [ - 60000000, - 38750000 - ] - }, "e3c7829d-0b45-4172-96a6-4f88a5a842d2": { "position": [ 83750000, @@ -4102,7 +4072,7 @@ "f11ed615-3e72-4db2-9fd3-79f3c9b80dc4": { "position": [ 243750000, - 103750000 + 73750000 ] }, "f1b44a26-7294-4aff-b63a-d516237fec9b": { @@ -4126,7 +4096,7 @@ "f36649bc-935c-4df9-87d0-413b49f91879": { "position": [ 245000000, - 161250000 + 148750000 ] }, "f4e55a4d-c1b6-4c7d-932b-f9826984899b": { @@ -4156,19 +4126,19 @@ "fb1d3fa4-2171-4c76-8b1c-9c2e1b39859f": { "position": [ 270000000, - 123750000 + 93750000 ] }, "fb4595d2-eb79-46a3-9d22-93d6688c67a8": { "position": [ 246250000, - 103750000 + 73750000 ] }, "fc5b3822-837c-4d9d-9508-dd0d34391725": { "position": [ 294500000, - 136250000 + 111250000 ] }, "fdb6cbcc-439f-427c-bbf5-5e037a7a1da5": { @@ -4203,12 +4173,6 @@ } }, "lines": { - "0ddaa592-9e0a-4ade-90d9-21c96afe2a75": { - "from": "f2a24c16-438d-4795-a422-d24426c7c57e", - "layer": 0, - "to": "393b8d2b-6c53-4f2a-ad14-e06a3e82cdae", - "width": 0 - }, "145a998c-c05a-4a2e-a674-03bf311c5486": { "from": "a94f5683-59b9-4196-97ec-ceb92a0fd549", "layer": 0, @@ -4440,7 +4404,7 @@ "junction": "57200469-308b-4fe7-95a6-a1c48c6d409a", "last_net": "565d0d0a-8ff2-4a59-834b-57f224ced232", "offsheet_refs": true, - "orientation": "right", + "orientation": "left", "show_port": false, "size": 1500000 }, @@ -4448,7 +4412,7 @@ "junction": "7f93d909-e859-44ad-9ca3-70acc4c691bd", "last_net": "04129d36-c709-4a56-a7ee-ee2bb18553c9", "offsheet_refs": true, - "orientation": "left", + "orientation": "right", "show_port": false, "size": 1500000 }, @@ -4484,14 +4448,6 @@ "show_port": false, "size": 1500000 }, - "7b147586-eb11-44fc-b095-d8f8d0731805": { - "junction": "8c2a5596-863b-45be-9742-67ca811142c0", - "last_net": "9b161be3-8ce9-4f24-9cae-5d5ace7db3f7", - "offsheet_refs": true, - "orientation": "left", - "show_port": false, - "size": 1500000 - }, "7f5e4afb-b8fa-48b1-9ba2-078e0ea9ad31": { "junction": "53462d60-baa6-4ae2-83ad-edfa9d928b9c", "last_net": "0629bfcb-9cb6-49b3-8cf1-2767c0d32721", @@ -4508,14 +4464,6 @@ "show_port": false, "size": 1500000 }, - "82770ab3-ace5-4fab-b83b-5504fcc93034": { - "junction": "4fbe2aaf-8237-42a3-b4c9-cc4ef6cc9608", - "last_net": "9b161be3-8ce9-4f24-9cae-5d5ace7db3f7", - "offsheet_refs": true, - "orientation": "left", - "show_port": false, - "size": 1500000 - }, "892030e7-9ee3-48ec-976e-d98153ed86a8": { "junction": "172535c7-9c32-429d-bea7-6c86f27686fb", "last_net": "48459d73-3ec0-4dda-aad5-a5f7a82df668", @@ -4734,20 +4682,6 @@ "port": null } }, - "07e13e72-1a5b-4f18-a5b8-a63ef204b95d": { - "from": { - "bus_ripper": null, - "junc": null, - "pin": "37279e99-df4b-4e8c-8537-6b71a0782b86/c7861f7d-db74-42b2-80ee-5277075ebf57", - "port": null - }, - "to": { - "bus_ripper": null, - "junc": "57200469-308b-4fe7-95a6-a1c48c6d409a", - "pin": null, - "port": null - } - }, "08c99539-f280-482f-9b0d-30369711fdd8": { "from": { "bus_ripper": null, @@ -4790,20 +4724,6 @@ "port": null } }, - "0a842dfc-60c0-46a7-8c42-9f8be864b3e5": { - "from": { - "bus_ripper": null, - "junc": null, - "pin": "f3d6f2c3-107a-4d70-9f8f-f66efb2fc699/5dd0f83d-34b2-41a1-ae35-435479e4002e", - "port": null - }, - "to": { - "bus_ripper": null, - "junc": "cc1b974b-489f-42ea-88f4-90fbaccdf072", - "pin": null, - "port": null - } - }, "0ac4d5e9-db3c-4ad3-9518-6779c9675093": { "from": { "bus_ripper": null, @@ -4874,6 +4794,20 @@ "port": null } }, + "12f21c8e-b1b7-4f2d-9ad4-9c71ab95eb93": { + "from": { + "bus_ripper": null, + "junc": null, + "pin": "c40bba05-1da5-4059-a542-7fecef8e41c8/b57ca2a1-1bbf-43f0-b0a0-bf953094a8de", + "port": null + }, + "to": { + "bus_ripper": null, + "junc": "95db9c7a-2034-4f8d-90bc-d470810521e7", + "pin": null, + "port": null + } + }, "131217d3-171e-4275-bd9b-76494ad26143": { "from": { "bus_ripper": null, @@ -4925,7 +4859,7 @@ }, "to": { "bus_ripper": null, - "junc": "e33a806d-df9e-43c5-831b-86dd46ec0e29", + "junc": "d52d7f5f-0e62-497f-992e-d54e83fd5932", "pin": null, "port": null } @@ -5350,20 +5284,6 @@ "port": null } }, - "435efbf4-b0a7-48d6-b287-a3ecd79c5b80": { - "from": { - "bus_ripper": null, - "junc": null, - "pin": "37279e99-df4b-4e8c-8537-6b71a0782b86/067d51b3-ef03-4f9c-a32e-0738642ce1c2", - "port": null - }, - "to": { - "bus_ripper": null, - "junc": "7f93d909-e859-44ad-9ca3-70acc4c691bd", - "pin": null, - "port": null - } - }, "438ad0c0-9de4-4bd8-a94f-31a72088da92": { "from": { "bus_ripper": null, @@ -5434,45 +5354,45 @@ "port": null } }, - "4a25cf4d-9da8-4600-b016-9b1929fd2391": { + "4db82bd2-66de-4f8f-8389-831976b788d7": { "from": { "bus_ripper": null, - "junc": "cc1b974b-489f-42ea-88f4-90fbaccdf072", + "junc": "fdb6cbcc-439f-427c-bbf5-5e037a7a1da5", "pin": null, "port": null }, "to": { "bus_ripper": null, - "junc": "5f0ec7c5-a070-491a-affc-cb4ba491b7a6", + "junc": "5a28c6bb-0b44-4d7f-800c-1de2b9fc7e14", "pin": null, "port": null } }, - "4db82bd2-66de-4f8f-8389-831976b788d7": { + "4eb1e24a-01ac-43c8-9089-b2038606a4af": { "from": { "bus_ripper": null, - "junc": "fdb6cbcc-439f-427c-bbf5-5e037a7a1da5", + "junc": "3344a90f-0e10-44b6-bdce-1ac3eff6ec4a", "pin": null, "port": null }, "to": { "bus_ripper": null, - "junc": "5a28c6bb-0b44-4d7f-800c-1de2b9fc7e14", - "pin": null, + "junc": null, + "pin": "5b63890f-bb52-4b85-9b28-e89be438923b/6a44037c-65e2-4876-9359-42890048841d", "port": null } }, - "4eb1e24a-01ac-43c8-9089-b2038606a4af": { + "4fa0ff54-d1d5-4830-8c67-8650e952fd36": { "from": { "bus_ripper": null, - "junc": "3344a90f-0e10-44b6-bdce-1ac3eff6ec4a", - "pin": null, + "junc": null, + "pin": "37279e99-df4b-4e8c-8537-6b71a0782b86/c7861f7d-db74-42b2-80ee-5277075ebf57", "port": null }, "to": { "bus_ripper": null, - "junc": null, - "pin": "5b63890f-bb52-4b85-9b28-e89be438923b/6a44037c-65e2-4876-9359-42890048841d", + "junc": "7f93d909-e859-44ad-9ca3-70acc4c691bd", + "pin": null, "port": null } }, @@ -5518,6 +5438,20 @@ "port": null } }, + "53d33556-9780-4ef4-ad79-9562d5f8c0f1": { + "from": { + "bus_ripper": null, + "junc": "95db9c7a-2034-4f8d-90bc-d470810521e7", + "pin": null, + "port": null + }, + "to": { + "bus_ripper": null, + "junc": "8e442411-06f8-4910-b878-3f94ad31cfdc", + "pin": null, + "port": null + } + }, "5452b51c-c029-41d0-bcb2-97ba1e17df4a": { "from": { "bus_ripper": null, @@ -5658,20 +5592,6 @@ "port": null } }, - "61d23e8c-4682-4088-b930-98a34d48654b": { - "from": { - "bus_ripper": null, - "junc": "e33a806d-df9e-43c5-831b-86dd46ec0e29", - "pin": null, - "port": null - }, - "to": { - "bus_ripper": null, - "junc": null, - "pin": "5b63890f-bb52-4b85-9b28-e89be438923b/dda0ec99-5d70-4fbe-a8db-897542e7554e", - "port": null - } - }, "62331fc1-5771-49d3-91a0-20311e973c5d": { "from": { "bus_ripper": null, @@ -5924,20 +5844,6 @@ "port": null } }, - "73f9b8f7-0923-4ccb-b01c-8bc637de009b": { - "from": { - "bus_ripper": null, - "junc": null, - "pin": "c40bba05-1da5-4059-a542-7fecef8e41c8/b57ca2a1-1bbf-43f0-b0a0-bf953094a8de", - "port": null - }, - "to": { - "bus_ripper": null, - "junc": "e33a806d-df9e-43c5-831b-86dd46ec0e29", - "pin": null, - "port": null - } - }, "7681d062-35ba-4385-9922-6eaedd869cf1": { "from": { "bus_ripper": null, @@ -6190,6 +6096,20 @@ "port": null } }, + "8b79ec72-1ad8-43b0-b238-fe58f112b4f2": { + "from": { + "bus_ripper": null, + "junc": "d52d7f5f-0e62-497f-992e-d54e83fd5932", + "pin": null, + "port": null + }, + "to": { + "bus_ripper": null, + "junc": null, + "pin": "5b63890f-bb52-4b85-9b28-e89be438923b/dda0ec99-5d70-4fbe-a8db-897542e7554e", + "port": null + } + }, "8ffc61cf-ce50-4ff1-bf10-371fc096bb92": { "from": { "bus_ripper": null, @@ -6221,13 +6141,13 @@ "91e8f153-2b22-451b-a173-ec401307ee48": { "from": { "bus_ripper": null, - "junc": "48aea4b8-7972-4d89-8333-01244db5304d", + "junc": "9e45eb6c-8baa-4e8b-b304-dd87eef6ebe1", "pin": null, "port": null }, "to": { "bus_ripper": null, - "junc": "8e442411-06f8-4910-b878-3f94ad31cfdc", + "junc": "95db9c7a-2034-4f8d-90bc-d470810521e7", "pin": null, "port": null } @@ -6316,16 +6236,16 @@ "port": null } }, - "9c1b9d9f-ebbb-4f11-86d8-590d5358c2c7": { + "9cf482a3-818b-45d9-8e04-0afdf091be62": { "from": { "bus_ripper": null, - "junc": "9e45eb6c-8baa-4e8b-b304-dd87eef6ebe1", - "pin": null, + "junc": null, + "pin": "37279e99-df4b-4e8c-8537-6b71a0782b86/067d51b3-ef03-4f9c-a32e-0738642ce1c2", "port": null }, "to": { "bus_ripper": null, - "junc": "48aea4b8-7972-4d89-8333-01244db5304d", + "junc": "57200469-308b-4fe7-95a6-a1c48c6d409a", "pin": null, "port": null } @@ -6526,20 +6446,6 @@ "port": null } }, - "c9ee55d8-6108-48a4-8ff6-ec93c98c37ec": { - "from": { - "bus_ripper": null, - "junc": null, - "pin": "f3d6f2c3-107a-4d70-9f8f-f66efb2fc699/831b482b-82af-40ba-8cc0-5e272f25cc2c", - "port": null - }, - "to": { - "bus_ripper": null, - "junc": "8c2a5596-863b-45be-9742-67ca811142c0", - "pin": null, - "port": null - } - }, "cb295c98-e3f6-4bee-bd57-119d8b4fd88e": { "from": { "bus_ripper": null, @@ -6582,20 +6488,6 @@ "port": null } }, - "cd23946a-2b63-44b1-a7da-23df360275d5": { - "from": { - "bus_ripper": null, - "junc": null, - "pin": "37279e99-df4b-4e8c-8537-6b71a0782b86/2b5c4342-82e9-41c9-a8c1-431823790a61", - "port": null - }, - "to": { - "bus_ripper": null, - "junc": "4fbe2aaf-8237-42a3-b4c9-cc4ef6cc9608", - "pin": null, - "port": null - } - }, "cf3fff08-b92c-47ad-b42e-cd6d39dc675b": { "from": { "bus_ripper": null, @@ -6638,7 +6530,7 @@ "port": null } }, - "d5b0ce22-fc2c-485b-9289-403f6de3b779": { + "d5611a70-f711-44ae-85df-cbb77cb8290a": { "from": { "bus_ripper": null, "junc": null, @@ -6647,7 +6539,7 @@ }, "to": { "bus_ripper": null, - "junc": "48aea4b8-7972-4d89-8333-01244db5304d", + "junc": "d52d7f5f-0e62-497f-992e-d54e83fd5932", "pin": null, "port": null } @@ -7028,12 +6920,6 @@ "net": "a02d443f-8de2-4573-825d-60a4607f56f8", "orientation": "down" }, - "eab35f0a-4786-4936-8388-2498da3ac5dc": { - "junction": "5f0ec7c5-a070-491a-affc-cb4ba491b7a6", - "mirror": false, - "net": "a02d443f-8de2-4573-825d-60a4607f56f8", - "orientation": "down" - }, "ec64c589-1211-453c-9c00-8011572f4109": { "junction": "0a40d549-73c5-41fb-a09c-874f1c8d1ff4", "mirror": true, @@ -7066,7 +6952,7 @@ "mirror": false, "shift": [ 270000000, - 106250000 + 76250000 ] }, "smashed": true, @@ -7088,7 +6974,7 @@ "mirror": false, "shift": [ 250000000, - 161250000 + 148750000 ] }, "smashed": false, @@ -7183,7 +7069,7 @@ "mirror": false, "shift": [ 250000000, - 143750000 + 131250000 ] }, "smashed": false, @@ -7354,7 +7240,7 @@ "mirror": false, "shift": [ 246250000, - 117500000 + 87500000 ] }, "smashed": false, @@ -7414,7 +7300,7 @@ "mirror": false, "shift": [ 257500000, - 117500000 + 87500000 ] }, "smashed": false, @@ -7547,7 +7433,7 @@ "mirror": false, "shift": [ 250000000, - 152500000 + 140000000 ] }, "smashed": false, @@ -7679,8 +7565,8 @@ "gate": "e5da453c-ba97-4fa0-8e05-5f6b4e026f87", "pin_display_mode": "selected_only", "placement": { - "angle": 16384, - "mirror": true, + "angle": 49152, + "mirror": false, "shift": [ 60000000, 32500000 @@ -7761,7 +7647,7 @@ "mirror": false, "shift": [ 268750000, - 152500000 + 140000000 ] }, "smashed": true, @@ -7771,25 +7657,6 @@ "6b6253d0-21f1-4e36-9303-1316479eda6f" ] }, - "f3d6f2c3-107a-4d70-9f8f-f66efb2fc699": { - "component": "ff689786-fa22-4d0f-b29c-85939ed2ff75", - "display_all_pads": false, - "display_directions": false, - "expand": 0, - "gate": "2e41400f-138b-4ab4-9ba7-c3255ff0adbd", - "pin_display_mode": "selected_only", - "placement": { - "angle": 0, - "mirror": false, - "shift": [ - 266250000, - 56250000 - ] - }, - "smashed": false, - "symbol": "ddb67165-aa91-43b5-a7c6-6136b7212151", - "texts": [] - }, "fbfab583-499e-4831-81ad-836ca63aca48": { "component": "bb5a6df3-b9dd-44e0-bb22-20125694f967", "display_all_pads": false, @@ -7872,7 +7739,7 @@ "mirror": false, "shift": [ 278750000, - 82500000 + 52500000 ] }, "size": 1500000, @@ -7947,23 +7814,6 @@ "text": "$REFDES", "width": 0 }, - "4bf0d4b5-eda0-46c0-ae46-6dec867478c5": { - "font": "simplex", - "from_smash": false, - "layer": 0, - "origin": "center", - "placement": { - "angle": 0, - "mirror": false, - "shift": [ - 232500000, - 73750000 - ] - }, - "size": 3500000, - "text": "Slide Switch", - "width": 0 - }, "4f24d225-2d48-44b5-8156-e1d608c7d0fa": { "font": "simplex", "from_smash": false, @@ -7974,7 +7824,7 @@ "mirror": false, "shift": [ 232500000, - 132500000 + 106250000 ] }, "size": 3500000, @@ -8042,7 +7892,7 @@ "mirror": false, "shift": [ 261250000, - 143750000 + 131250000 ] }, "size": 1500000, @@ -8059,7 +7909,7 @@ "mirror": false, "shift": [ 271250000, - 118750000 + 88750000 ] }, "size": 1500000, @@ -8110,7 +7960,7 @@ "mirror": false, "shift": [ 232500000, - 171250000 + 158750000 ] }, "size": 3500000, @@ -8178,7 +8028,7 @@ "mirror": false, "shift": [ 272500000, - 161250000 + 148750000 ] }, "size": 1500000, @@ -8194,12 +8044,12 @@ "angle": 0, "mirror": false, "shift": [ - 13750000, + 13125000, 13750000 ] }, "size": 1500000, - "text": "(BACK)", + "text": "(FRONT)", "width": 0 }, "f5d59b01-b52a-4846-9ede-7d47242352da": { diff --git a/images/schematic-1.jpg b/images/schematic-1.jpg index c7b08c34dc514529315f8b829dbd941b5a84f4cb..bbf8449d871cbd5f243ebab46f252f3611a523d8 100644 Binary files a/images/schematic-1.jpg and b/images/schematic-1.jpg differ diff --git a/schematic.pdf b/schematic.pdf index e5fdd2c409d09a267e1155f53129c2527f9b039d..9519611429b9712e3df9ac1f7c94a9368f68c6df 100644 Binary files a/schematic.pdf and b/schematic.pdf differ