This commit is contained in:
Dennis Gunia
2022-07-18 23:25:35 +02:00
parent dd9d2857c9
commit f6e0d0456c
12 changed files with 7600 additions and 7403 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 113 KiB

View File

@@ -0,0 +1,149 @@
/*
* Tap Tremelo Pedal Firmware
* V1 by Dennis Gunia
*
* 2022/07
*
*/
#define lmicros() ((long)micros())
//Lookup Tables
static const uint8_t sineLUT[256] PROGMEM = {
0x80, 0x83, 0x86, 0x89, 0x8c, 0x8f, 0x92, 0x95, 0x98, 0x9b, 0x9e, 0xa2, 0xa5, 0xa7, 0xaa, 0xad,
0xb0, 0xb3, 0xb6, 0xb9, 0xbc, 0xbe, 0xc1, 0xc4, 0xc6, 0xc9, 0xcb, 0xce, 0xd0, 0xd3, 0xd5, 0xd7,
0xda, 0xdc, 0xde, 0xe0, 0xe2, 0xe4, 0xe6, 0xe8, 0xea, 0xeb, 0xed, 0xee, 0xf0, 0xf1, 0xf3, 0xf4,
0xf5, 0xf6, 0xf8, 0xf9, 0xfa, 0xfa, 0xfb, 0xfc, 0xfd, 0xfd, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfd, 0xfd, 0xfc, 0xfb, 0xfa, 0xfa, 0xf9, 0xf8, 0xf6,
0xf5, 0xf4, 0xf3, 0xf1, 0xf0, 0xee, 0xed, 0xeb, 0xea, 0xe8, 0xe6, 0xe4, 0xe2, 0xe0, 0xde, 0xdc,
0xda, 0xd7, 0xd5, 0xd3, 0xd0, 0xce, 0xcb, 0xc9, 0xc6, 0xc4, 0xc1, 0xbe, 0xbc, 0xb9, 0xb6, 0xb3,
0xb0, 0xad, 0xaa, 0xa7, 0xa5, 0xa2, 0x9e, 0x9b, 0x98, 0x95, 0x92, 0x8f, 0x8c, 0x89, 0x86, 0x83,
0x80, 0x7c, 0x79, 0x76, 0x73, 0x70, 0x6d, 0x6a, 0x67, 0x64, 0x61, 0x5d, 0x5a, 0x58, 0x55, 0x52,
0x4f, 0x4c, 0x49, 0x46, 0x43, 0x41, 0x3e, 0x3b, 0x39, 0x36, 0x34, 0x31, 0x2f, 0x2c, 0x2a, 0x28,
0x25, 0x23, 0x21, 0x1f, 0x1d, 0x1b, 0x19, 0x17, 0x15, 0x14, 0x12, 0x11, 0xf, 0xe, 0xc, 0xb,
0xa, 0x9, 0x7, 0x6, 0x5, 0x5, 0x4, 0x3, 0x2, 0x2, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x2, 0x2, 0x3, 0x4, 0x5, 0x5, 0x6, 0x7, 0x9,
0xa, 0xb, 0xc, 0xe, 0xf, 0x11, 0x12, 0x14, 0x15, 0x17, 0x19, 0x1b, 0x1d, 0x1f, 0x21, 0x23,
0x25, 0x28, 0x2a, 0x2c, 0x2f, 0x31, 0x34, 0x36, 0x39, 0x3b, 0x3e, 0x41, 0x43, 0x46, 0x49, 0x4c,
0x4f, 0x52, 0x55, 0x58, 0x5a, 0x5d, 0x61, 0x64, 0x67, 0x6a, 0x6d, 0x70, 0x73, 0x76, 0x79, 0x7c
};
static const uint8_t bumpLUT[256] PROGMEM = {
0, 4, 7, 10, 13, 16, 19, 22, 25, 29, 32, 35, 38, 41, 44, 47,
50, 53, 56, 59, 62, 65, 69, 72, 75, 78, 80, 83, 86, 89, 92, 95,
98, 101, 104, 107, 110, 112, 115, 118, 121, 123, 126, 129, 132, 134, 137, 140,
142, 145, 147, 150, 152, 155, 157, 160, 162, 165, 167, 169, 172, 174, 176, 179,
181, 183, 185, 187, 189, 192, 194, 196, 198, 200, 202, 203, 205, 207, 209, 211,
213, 214, 216, 218, 219, 221, 222, 224, 225, 227, 228, 230, 231, 232, 234, 235,
236, 237, 238, 240, 241, 242, 243, 244, 245, 245, 246, 247, 248, 249, 249, 250,
251, 251, 252, 252, 253, 253, 254, 254, 254, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 254, 254, 254, 253, 253, 252, 252, 251,
251, 250, 249, 249, 248, 247, 246, 245, 245, 244, 243, 242, 241, 240, 238, 237,
236, 235, 234, 232, 231, 230, 228, 227, 225, 224, 222, 221, 219, 218, 216, 214,
213, 211, 209, 207, 205, 203, 202, 200, 198, 196, 194, 192, 189, 187, 185, 183,
181, 179, 176, 174, 172, 169, 167, 165, 162, 160, 157, 155, 152, 150, 147, 145,
142, 140, 137, 134, 132, 129, 126, 123, 121, 118, 115, 112, 110, 107, 104, 101,
98, 95, 92, 89, 86, 83, 80, 78, 75, 72, 69, 65, 62, 59, 56, 53,
50, 47, 44, 41, 38, 35, 32, 29, 25, 22, 19, 16, 13, 10, 7, 4
};
//Waveform Constants
#define WF_SAW 1
#define WF_SINE 2
#define WF_SQUARE 4
int depth = 0;
unsigned long delayTime = 1;
uint8_t waveform = WF_SINE;
uint8_t symetry = 127;
uint16_t wfStep = 0;
unsigned long lastStep = millis();
unsigned long lastTest = millis();
//IO Pin Definition
#define PIN_A_RATE A1 //Pot Rate
#define PIN_A_DEPTH A2 //Pot Depth
#define PIN_A_SHAPE A0 //Pot Shape
#define PIN_A_MUL A3 //Pot Clock-Modifier
#define PIN_D_WF1 7 //Waveform Switch Pole 1
#define PIN_D_WF2 10 //Waveform Switch Pole 2
#define PIN_D_TAP 9 //Tap Tempo Push button
#define PIN_D_MOD 8 //Tempo Modulation Switch
#define PIN_PWM A5
void setup() {
// setup Timer 1 to 31.2kHz @ 8 Bit
TCCR1B &= 0b11100000;
TCCR1B |= 0b00001001;
TCCR1A &= 0b11111100;
TCCR1A |= 0b00000001;
//Set input pins to pullup
pinMode(PIN_D_WF1, INPUT_PULLUP);
pinMode(PIN_D_WF2, INPUT_PULLUP);
pinMode(PIN_D_TAP, INPUT_PULLUP);
pinMode(PIN_D_MOD, INPUT_PULLUP);
}
//Read pots and switch state
void getInput() {
depth = analogRead(PIN_A_DEPTH) / 4;
//delayTime = map(analogRead(A1),0,1023,5000,20000);
delayTime = map(analogRead(PIN_A_RATE), 0, 1023, 0, 40000); ;
symetry = map(analogRead(PIN_A_SHAPE), 0, 1023, 4, 251); ;
waveform = WF_SINE;
if (digitalRead(PIN_D_WF1) == LOW) {
waveform = WF_SQUARE;
}
if (digitalRead(PIN_D_WF2) == LOW) {
waveform = WF_SAW;
}
}
void loop() {
unsigned long millisNow = lmicros() / 8; //Timestamp NOW
if (lastTest + 100 < millisNow) { //Get panel state every 100ms
lastTest = millisNow;
getInput();
}
if (lastStep < millisNow - delayTime) { //do waveform stuff
wfStep ++;
if (wfStep > 255) wfStep = 0;
lastStep = millisNow;
if ( waveform == WF_SAW ) {
// SAW/TRI
if (wfStep < symetry) {
analogWrite(PIN_PWM, map(wfStep, 0, symetry, depth, 255));
} else {
analogWrite(PIN_PWM, map(wfStep, 255, symetry, depth, 255));
}
} else if ( waveform == WF_SINE ) {
// SINE/BUMP
if ( symetry >= 63 && symetry <= 191){
uint8_t val = pgm_read_word_near(sineLUT + (wfStep));
analogWrite(PIN_PWM, map(val, 0, 255, depth, 255));
}else{
uint8_t val = pgm_read_word_near(bumpLUT + (wfStep));
if (symetry > 127){val = 255-val;}
analogWrite(PIN_PWM, map(val, 0, 255, depth, 255));
}
} else {
// SQUARE/PWM
if (wfStep < symetry) {
analogWrite(PIN_PWM, depth);
} else {
analogWrite(PIN_PWM, 255);
}
}
}
}

View File

@@ -7,7 +7,7 @@
viewBox="0 0 1122.5197 793.70081"
version="1.1"
id="svg5"
inkscape:version="1.2 (dc2aedaf03, 2022-05-15)"
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
sodipodi:docname="pedal_tornado.svg"
xml:space="preserve"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
@@ -24,16 +24,18 @@
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
showgrid="true"
showguides="true"
inkscape:zoom="2.0000001"
inkscape:cx="94.999997"
inkscape:cy="237.99999"
showguides="false"
inkscape:zoom="1"
inkscape:cx="28.499999"
inkscape:cy="112"
inkscape:window-width="1920"
inkscape:window-height="1027"
inkscape:window-x="1042"
inkscape:window-y="-8"
inkscape:window-height="956"
inkscape:window-x="1050"
inkscape:window-y="299"
inkscape:window-maximized="1"
inkscape:current-layer="g3790"><inkscape:grid
inkscape:current-layer="g3790"
inkscape:pageshadow="2"
inkscape:snap-page="false"><inkscape:grid
type="xygrid"
id="grid284" /><sodipodi:guide
position="173.85827,793.70081"
@@ -100,35 +102,67 @@
height="1"><feColorMatrix
values="1.73482 0 0 0 -0.367412 0 1.73482 0 0 -0.367412 0 0 1.73482 0 -0.367412 0 0 0 1 0"
id="feColorMatrix2155" /></filter></defs><g
id="g3790"
transform="matrix(0.96481394,0,0,1,115.6024,55.154328)"><g
id="g12197"><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16px;line-height:1.25;font-family:'Britannic Bold';-inkscape-font-specification:'Britannic Bold, ';letter-spacing:-0.28px;fill:#000000;fill-opacity:0.5;stroke:none;stroke-width:0.670767"
x="32.988789"
y="236.06163"
id="text8870-7-4-5-8-5-2-0"
transform="scale(1.0399968,0.96154142)"><tspan
sodipodi:role="line"
id="tspan8868-62-9-8-9-7-4-5"
x="32.848789"
y="236.06163"
style="font-style:normal;font-variant:normal;font-weight:800;font-stretch:normal;font-size:16px;font-family:Cantarell;-inkscape-font-specification:'Cantarell Ultra-Bold';text-align:center;text-anchor:middle;fill:#000000;fill-opacity:0.5;stroke-width:0.670767">GUNIA</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16px;line-height:1.25;font-family:'Britannic Bold';-inkscape-font-specification:'Britannic Bold, ';letter-spacing:-0.28px;fill:#000000;fill-opacity:0.5;stroke:none;stroke-width:0.670767"
x="76.958588"
y="236.06163"
id="text8870-7-4-5-8-5-2-0-6"
transform="scale(1.0399968,0.96154142)"><tspan
sodipodi:role="line"
id="tspan8868-62-9-8-9-7-4-5-4"
x="76.818588"
y="236.06163"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16px;font-family:Cantarell;-inkscape-font-specification:Cantarell;text-align:center;text-anchor:middle;fill:#000000;fill-opacity:0.5;stroke-width:0.670767">LABS</tspan></text></g><rect
id="rect12221"
width="360"
height="450"
x="-119.81834"
y="-55.154327"
style="display:none;fill:#ff7f00;fill-opacity:1" /></g><g
transform="matrix(0.02434183,0,0,-0.02742247,18.071868,382.47988)"
fill="#000000"
stroke="none"
id="g3982"
style="fill:#95baba;fill-opacity:0.462396"><path
style="display:none;fill:#818181;fill-opacity:0.462396"
inkscape:label="Tornado"><path
d="m 8870,11409 c 0,-6 33,-44 73,-83 105,-103 171,-133 467,-211 361,-96 831,-288 1193,-488 448,-247 754,-510 929,-798 165,-272 185,-596 53,-886 -83,-181 -179,-314 -390,-539 l -120,-128 -7,90 c -23,269 -108,515 -250,722 -101,146 -293,329 -473,449 -293,196 -742,369 -1230,474 -150,32 -455,86 -455,81 0,-3 18,-29 40,-59 84,-111 253,-235 640,-468 281,-170 461,-291 573,-385 293,-245 385,-484 287,-738 -93,-242 -378,-525 -714,-708 l -68,-37 8,54 c 5,30 9,119 9,199 -1,166 -18,247 -81,373 -174,347 -576,574 -960,542 l -88,-7 55,-52 c 30,-28 112,-100 184,-161 203,-173 294,-296 330,-446 27,-116 14,-214 -44,-327 -132,-254 -520,-488 -1042,-626 -800,-211 -1789,-228 -2689,-46 -618,125 -992,318 -1116,577 -86,178 -45,394 101,538 83,82 183,140 403,231 287,118 372,166 462,258 54,56 58,56 -160,15 -662,-122 -1105,-324 -1279,-584 -121,-181 -126,-377 -16,-612 24,-51 42,-93 41,-93 -17,0 -284,98 -339,125 -281,133 -540,353 -629,532 -43,86 -43,88 -43,192 0,101 2,110 36,181 116,244 371,441 1024,790 283,152 497,273 543,308 l 35,27 -69,12 c -99,18 -388,17 -515,-1 -795,-113 -1496,-520 -1741,-1011 -73,-146 -103,-275 -101,-442 0,-68 -2,-123 -4,-123 -14,0 -132,78 -210,139 -175,136 -317,309 -384,469 -47,115 -61,198 -57,337 4,102 10,134 37,217 72,211 226,409 461,588 448,342 1067,617 1797,800 211,52 449,102 643,135 85,14 167,28 183,31 27,6 27,6 27,89 v 83 l -37,-4 c -21,-2 -105,-8 -188,-14 C 2841,10905 1680,10565 814,10054 395,9807 132,9517 34,9194 11,9117 7,9087 6,8970 c 0,-112 3,-149 22,-215 100,-352 435,-694 917,-937 183,-92 345,-158 618,-253 l 209,-72 47,-89 c 265,-502 755,-875 1631,-1241 1099,-460 2250,-789 3345,-957 505,-78 861,-107 1388,-113 425,-5 651,2 952,33 253,25 1069,143 1280,185 855,169 1316,503 1515,1097 22,64 38,118 36,119 -1,2 -104,-48 -227,-110 -871,-438 -1713,-661 -2864,-759 -203,-17 -1046,-17 -1265,0 -769,61 -1373,158 -2075,333 -931,233 -2071,662 -2585,974 -121,73 -430,279 -425,283 1,2 49,-10 106,-27 783,-227 1748,-379 2786,-441 865,-51 2217,-23 2963,60 1098,124 2060,377 2985,786 839,371 1280,788 1412,1336 24,99 24,325 0,425 -62,262 -194,481 -428,709 -163,158 -317,273 -587,436 -706,427 -1715,752 -2677,863 -77,8 -157,18 -177,21 -27,4 -38,2 -38,-7 z"
id="path3966"
style="fill:#95baba;fill-opacity:0.462396" /><path
style="fill:#818181;fill-opacity:0.462396" /><path
d="m 6036,8214 c -458,-47 -804,-120 -1073,-225 l -105,-41 6,-31 c 16,-77 80,-181 166,-268 200,-202 480,-297 973,-331 195,-13 496,-2 752,27 188,22 603,92 720,122 252,64 401,191 399,340 -2,120 -124,217 -370,292 -174,53 -233,61 -804,116 -187,18 -487,18 -664,-1 z"
id="path3968"
style="fill:#95baba;fill-opacity:0.462396" /><path
style="fill:#818181;fill-opacity:0.462396" /><path
d="m 12234,7982 c -103,-85 -305,-234 -444,-328 -894,-601 -1929,-958 -3273,-1129 -814,-103 -1870,-165 -2172,-127 -55,7 -235,31 -400,52 -409,53 -496,61 -702,61 -182,0 -273,-8 -401,-36 -80,-16 -209,-58 -251,-80 l -26,-13 25,-6 c 67,-15 629,-95 990,-140 824,-104 1463,-148 2165,-148 845,0 1533,69 2270,227 1079,232 1693,550 2030,1050 56,84 155,284 184,375 24,73 72,282 67,287 -2,2 -30,-18 -62,-45 z"
id="path3970"
style="fill:#95baba;fill-opacity:0.462396" /><path
style="fill:#818181;fill-opacity:0.462396" /><path
d="m 2605,6403 c 87,-151 265,-385 417,-549 869,-941 2272,-1483 4278,-1654 530,-45 1147,-63 1935,-57 650,4 727,9 991,57 396,71 697,227 880,454 75,93 163,263 194,376 22,79 52,251 46,258 -2,2 -62,-32 -133,-74 -587,-354 -1268,-557 -2103,-625 -187,-16 -727,-16 -945,0 -1037,72 -2119,324 -3329,777 -434,163 -598,239 -926,432 -102,59 -279,164 -395,232 -262,153 -477,263 -642,328 -112,44 -261,92 -286,92 -5,0 3,-21 18,-47 z"
id="path3972"
style="fill:#95baba;fill-opacity:0.462396" /><path
style="fill:#818181;fill-opacity:0.462396" /><path
d="m 4687,4303 -37,-4 77,-90 c 459,-537 1362,-977 2288,-1114 376,-56 856,-60 1165,-9 385,63 712,183 978,361 98,66 229,172 291,237 l 35,36 h -130 c -134,0 -409,-16 -833,-50 -443,-34 -664,-43 -956,-37 -570,12 -765,56 -1575,355 -519,191 -718,251 -962,291 -129,21 -277,31 -341,24 z"
id="path3974"
style="fill:#95baba;fill-opacity:0.462396" /><path
style="fill:#818181;fill-opacity:0.462396" /><path
d="m 4927,3503 c 19,-191 112,-361 303,-554 118,-119 324,-286 479,-391 449,-301 1116,-441 1731,-362 469,60 841,231 1120,513 l 94,96 -554,6 c -585,6 -729,11 -1005,35 -840,70 -1456,261 -2062,640 -55,35 -103,64 -106,64 -2,0 -2,-21 0,-47 z"
id="path3976"
style="fill:#95baba;fill-opacity:0.462396" /><path
style="fill:#818181;fill-opacity:0.462396" /><path
d="m 4990,2468 c 0,-121 34,-222 115,-343 126,-190 453,-462 692,-576 202,-96 409,-146 643,-156 423,-16 807,127 1087,405 71,71 160,179 152,186 -10,9 -284,27 -555,36 -696,24 -893,40 -1139,95 -307,68 -639,212 -912,396 -40,27 -75,49 -78,49 -3,0 -5,-42 -5,-92 z"
id="path3978"
style="fill:#95baba;fill-opacity:0.462396" /><path
style="fill:#818181;fill-opacity:0.462396" /><path
d="m 4790,1391 c 0,-17 60,-181 101,-274 79,-183 234,-424 397,-617 101,-120 309,-323 432,-422 l 95,-77 6,27 c 4,15 14,63 22,107 34,186 117,332 314,554 164,185 261,307 311,391 24,40 42,74 40,76 -2,2 -55,-1 -118,-6 -242,-20 -546,-10 -755,26 -204,34 -481,106 -724,189 -114,38 -121,40 -121,26 z"
id="path3980"
style="fill:#95baba;fill-opacity:0.462396" /></g><g
style="fill:#818181;fill-opacity:0.462396" /></g><g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"><rect
@@ -141,7 +175,8 @@
inkscape:groupmode="layer"
id="layer2"
inkscape:label="guide"
style="display:inline" /><rect
style="display:inline"
sodipodi:insensitive="true" /><rect
style="fill:none;fill-opacity:1;stroke:none;stroke-width:0.0755906;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
id="rect8570"
width="233"
@@ -227,7 +262,7 @@
id="tspan8868-62-9-8"
x="224.91339"
y="187.10817"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13.3333px;font-family:'Britannic Bold';-inkscape-font-specification:'Britannic Bold, ';text-align:center;text-anchor:middle;stroke-width:0.670767">RATE</tspan></text></g><g
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13.3333px;font-family:'Outrun future';-inkscape-font-specification:'Outrun future';text-align:center;text-anchor:middle;stroke-width:0.670767">RATE</tspan></text></g><g
id="g697-3"
transform="translate(72,103.08016)"><g
id="g8568-5-7-18"
@@ -304,7 +339,7 @@
id="tspan8868-62-9-8-9"
x="224.91339"
y="187.10817"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13.3333px;font-family:'Britannic Bold';-inkscape-font-specification:'Britannic Bold, ';text-align:center;text-anchor:middle;stroke-width:0.670767">VOLUME</tspan></text><text
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13.3333px;font-family:'Outrun future';-inkscape-font-specification:'Outrun future';text-align:center;text-anchor:middle;stroke-width:0.670767">VOLUME</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13.3333px;line-height:1.25;font-family:'Britannic Bold';-inkscape-font-specification:'Britannic Bold, ';letter-spacing:0.731136px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.670767"
x="327.18134"
@@ -315,7 +350,7 @@
id="tspan8868-62-9-8-9-7"
x="327.54691"
y="187.10817"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13.3333px;font-family:'Britannic Bold';-inkscape-font-specification:'Britannic Bold, ';text-align:center;text-anchor:middle;stroke-width:0.670767">WAVEFORM</tspan></text></g><g
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13.3333px;font-family:'Outrun future';-inkscape-font-specification:'Outrun future';text-align:center;text-anchor:middle;stroke-width:0.670767">WAVEFORM</tspan></text></g><g
id="g697-3-1"
transform="translate(283.66547,103.08016)"><g
id="g8568-5-7-18-8"
@@ -483,7 +518,7 @@
id="tspan8868-62-9-8-9-1"
x="224.91339"
y="187.10817"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13.3333px;font-family:'Britannic Bold';-inkscape-font-specification:'Britannic Bold, ';text-align:center;text-anchor:middle;stroke-width:0.670767">TIME-MOD</tspan></text></g><g
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13.3333px;font-family:'Outrun future';-inkscape-font-specification:'Outrun future';text-align:center;text-anchor:middle;stroke-width:0.670767">TIME-MOD</tspan></text></g><g
id="g697-9"
transform="translate(177.79179,1)"><g
id="g8568-5-7-17"
@@ -560,7 +595,7 @@
id="tspan8868-62-9-8-5"
x="224.91339"
y="187.10817"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13.3333px;font-family:'Britannic Bold';-inkscape-font-specification:'Britannic Bold, ';text-align:center;text-anchor:middle;stroke-width:0.670767">DEPTH</tspan></text></g><g
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13.3333px;font-family:'Outrun future';-inkscape-font-specification:'Outrun future';text-align:center;text-anchor:middle;stroke-width:0.670767">DEPTH</tspan></text></g><g
id="g697-9-0"
transform="translate(283.66547,1)"><g
id="g8568-5-7-17-5"
@@ -643,7 +678,7 @@
id="tspan8868-62-9-8-5-5"
x="224.91339"
y="187.10817"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13.3333px;font-family:'Britannic Bold';-inkscape-font-specification:'Britannic Bold, ';text-align:center;text-anchor:middle;stroke-width:0.670767">SHAPE</tspan></text></g><g
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13.3333px;font-family:'Outrun future';-inkscape-font-specification:'Outrun future';text-align:center;text-anchor:middle;stroke-width:0.670767">SHAPE</tspan></text></g><g
id="g8568-5-7-1-8-4-2"
transform="translate(257.25552,162.78858)"><circle
style="fill:none;stroke:#0022e9;stroke-width:0.265875;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
@@ -684,7 +719,18 @@
style="stroke-width:0.0247347" /><path
d="m 158.51563,96.23275 h -0.008 a 0.59363293,0.59363293 0 0 1 -0.47392,-0.24735 l -6.65438,-9.24138 -3.31445,4.58309 a 0.39575528,0.39575528 0 0 1 -0.55455,0.0762 l -0.31536,-0.23918 a 0.39575528,0.39575528 0 0 1 -0.0762,-0.55456 l 3.79999,-5.22298 a 0.59363293,0.59363293 0 0 1 0.47293,-0.23498 h 0.008 a 0.59363293,0.59363293 0 0 1 0.47392,0.24735 l 6.65364,9.24188 3.31445,-4.5831 a 0.39575528,0.39575528 0 0 1 0.55455,-0.0762 l 0.31537,0.23918 a 0.39575528,0.39575528 0 0 1 0.0762,0.55456 l -3.799,5.22248 a 0.59363293,0.59363293 0 0 1 -0.47318,0.23498 z"
id="path3247"
style="stroke-width:0.0247347" /></g></g><g
style="stroke-width:0.0247347" /><g
id="g10759"
transform="translate(-0.13258715)"><path
style="fill:none;stroke:#000000;stroke-width:1.00157;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:0.74000001"
d="M 24.07789,114.81646 V 99.878832 h 9.8111 v 0 0"
id="path10636"
sodipodi:nodetypes="ccccc"
transform="translate(100.94083,-34.009393)" /><path
style="fill:none;stroke:#000000;stroke-width:1.00157;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:0.74000001"
d="m 175.34194,65.869439 v 0 0 h 9.8111 v 14.937628"
id="path10636-5"
sodipodi:nodetypes="ccccc" /></g></g></g><g
id="g3674-5-8"
transform="translate(-155.91703,119.42916)"><g
id="g697-0"
@@ -891,7 +937,7 @@
id="tspan8868-62-9-8-6"
x="247.4393"
y="193.55865"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16px;font-family:'Britannic Bold';-inkscape-font-specification:'Britannic Bold, ';text-align:center;text-anchor:middle;stroke-width:0.670767">MOD</tspan></text><text
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16px;font-family:'Outrun future';-inkscape-font-specification:'Outrun future';text-align:center;text-anchor:middle;stroke-width:0.670767">MOD</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:16px;line-height:1.25;font-family:sans-serif;letter-spacing:0.731136px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.670767"
x="145.89877"
@@ -902,7 +948,7 @@
id="tspan8868-62-9-8-6-7"
x="146.26434"
y="193.55865"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16px;font-family:'Britannic Bold';-inkscape-font-specification:'Britannic Bold, ';text-align:center;text-anchor:middle;stroke-width:0.670767">TEMPO</tspan></text><text
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16px;font-family:'Outrun future';-inkscape-font-specification:'Outrun future';text-align:center;text-anchor:middle;stroke-width:0.670767">TEMPO</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:16px;line-height:1.25;font-family:sans-serif;letter-spacing:0.731136px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.670767"
x="349.405"
@@ -913,69 +959,48 @@
id="tspan8868-62-9-8-6-1"
x="349.77057"
y="193.55865"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16px;font-family:'Britannic Bold';-inkscape-font-specification:'Britannic Bold, ';text-align:center;text-anchor:middle;stroke-width:0.670767">BYPASS</tspan></text></g></g></g><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:64px;line-height:1.25;font-family:'Britannic Bold';-inkscape-font-specification:'Britannic Bold, ';letter-spacing:0.731136px;fill:#000000;fill-opacity:0.74206346;stroke:none;stroke-width:0.670767"
x="168.31375"
y="280.20657"
id="text8870-7-4-5-8-5-2"
transform="scale(1.0399968,0.96154142)"><tspan
sodipodi:role="line"
id="tspan8868-62-9-8-9-7-4"
x="168.67932"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16px;font-family:'Outrun future';-inkscape-font-specification:'Outrun future';text-align:center;text-anchor:middle;stroke-width:0.670767">BYPASS</tspan></text></g></g></g><g
id="g1313"
inkscape:label="STRIPES"
style="display:inline;mix-blend-mode:multiply;image-rendering:auto"><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:64px;line-height:1.25;font-family:'Britannic Bold';-inkscape-font-specification:'Britannic Bold, ';letter-spacing:0.731136px;fill:#000000;fill-opacity:0.97182447;stroke:none;stroke-width:0.670767"
x="168.31375"
y="280.20657"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:64px;font-family:'Franklin Gothic Heavy';-inkscape-font-specification:'Franklin Gothic Heavy, ';text-align:center;text-anchor:middle;stroke-width:0.670767;fill:#000000;fill-opacity:0.74206346">TORNADO</tspan></text><g
id="g3790"
transform="translate(119.81834,55.154328)"><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16px;line-height:1.25;font-family:'Britannic Bold';-inkscape-font-specification:'Britannic Bold, ';letter-spacing:-0.28px;fill:#000000;fill-opacity:0.5;stroke:none;stroke-width:0.670767"
x="40.681126"
y="236.06163"
id="text8870-7-4-5-8-5-2-0"
transform="scale(1.0399968,0.96154142)"><tspan
id="text8870-7-4-5-8-5-2"
transform="scale(1.0399968,0.9615414)"><tspan
sodipodi:role="line"
id="tspan8868-62-9-8-9-7-4-5"
x="40.541126"
y="236.06163"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16px;font-family:'Franklin Gothic Demi Cond';-inkscape-font-specification:'Franklin Gothic Demi Cond';text-align:center;text-anchor:middle;stroke-width:0.670767;fill:#000000;fill-opacity:0.5">GUNIA</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16px;line-height:1.25;font-family:'Britannic Bold';-inkscape-font-specification:'Britannic Bold, ';letter-spacing:-0.28px;fill:#000000;fill-opacity:0.5;stroke:none;stroke-width:0.670767"
x="76.958588"
y="236.06163"
id="text8870-7-4-5-8-5-2-0-6"
transform="scale(1.0399968,0.96154142)"><tspan
sodipodi:role="line"
id="tspan8868-62-9-8-9-7-4-5-4"
x="76.818588"
y="236.06163"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:16px;font-family:'Franklin Gothic Book';-inkscape-font-specification:'Franklin Gothic Book, ';text-align:center;text-anchor:middle;stroke-width:0.670767;fill:#000000;fill-opacity:0.5">LABS</tspan></text></g><rect
style="fill:#ffffff;stroke-width:0.0755906;stroke-linecap:round;stroke-linejoin:round"
id="rect3638-8"
width="327.03687"
height="2.1213202"
x="12.690033"
y="234.05234" /><rect
style="fill:#ffffff;stroke-width:0.0755906;stroke-linecap:round;stroke-linejoin:round"
id="rect3638-8-9"
width="327.03687"
height="2.1213202"
x="16.263456"
y="244.05234" /><rect
style="fill:#ffffff;stroke-width:0.0755906;stroke-linecap:round;stroke-linejoin:round"
id="rect3638-8-9-3"
width="327.03687"
height="2.1213202"
x="16.263456"
y="251.48741" /><rect
style="fill:#ffffff;stroke-width:0.0755906;stroke-linecap:round;stroke-linejoin:round"
id="rect3638-8-9-0"
width="327.03687"
height="2.1213202"
x="16.263456"
y="258.1944" /><rect
style="fill:#ffffff;stroke-width:0.0755906;stroke-linecap:round;stroke-linejoin:round"
id="rect3638-8-9-5"
width="327.03687"
height="2.1213202"
x="16.263456"
y="263.6087" /></svg>
id="tspan8868-62-9-8-9-7-4"
x="168.67932"
y="280.20657"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:64px;font-family:Stormfaze;-inkscape-font-specification:Stormfaze;text-align:center;text-anchor:middle;fill:#000000;fill-opacity:0.97182447;stroke-width:0.670767">VIBES</tspan></text><rect
style="fill:#ffffff;stroke-width:0.0755906;stroke-linecap:round;stroke-linejoin:round"
id="rect3638-8"
width="327.03687"
height="2.1213202"
x="12.690033"
y="234.05234" /><rect
style="fill:#ffffff;stroke-width:0.0755906;stroke-linecap:round;stroke-linejoin:round"
id="rect3638-8-9"
width="327.03687"
height="2.1213202"
x="16.263456"
y="244.05234" /><rect
style="fill:#ffffff;stroke-width:0.0755906;stroke-linecap:round;stroke-linejoin:round"
id="rect3638-8-9-3"
width="327.03687"
height="2.1213202"
x="16.263456"
y="251.48741" /><rect
style="fill:#ffffff;stroke-width:0.0755906;stroke-linecap:round;stroke-linejoin:round"
id="rect3638-8-9-0"
width="327.03687"
height="2.1213202"
x="16.263456"
y="258.1944" /><rect
style="fill:#ffffff;stroke-width:0.0755906;stroke-linecap:round;stroke-linejoin:round"
id="rect3638-8-9-5"
width="327.03687"
height="2.1213202"
x="16.263456"
y="263.6087" /></g></svg>

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

18
Utils/tableGenerator.py Normal file
View File

@@ -0,0 +1,18 @@
import math
num_points = 256
max_val = 255
line_length = 16
points_bump = []
for ix in range(0,num_points):
val = math.ceil(math.sin(math.pi * (ix/num_points)) * max_val)
points_bump.append(val)
c = 0
for val in points_bump:
print (val, end=', ')
c += 1
if c > line_length -1:
print('')
c = 0

View File

@@ -6,8 +6,9 @@
* 3x LED-Bezel 5mm chrome (https://www.musikding.de/LED-Fassung-5mm-Chrom-Innenreflektor)
* 3x 5mm LED
* 1x Alpha Potentiometer 16mm 50k log (https://www.musikding.de/Alpha-Potentiometer-16mm-50k-log)
* 4x Alpha Potentiometer 16mm 10k lin (https://www.musikding.de/Alpha-Potentiometer-16mm-10k-lin)
* 4x Alpha Potentiometer 16mm 10k lin (https://www.musikding.de/Alpha-Potentiometer-16mm-10k-lin) 25k and 50k is also okay!
* 1x Toggleswitch 1 pole ON-OFF-ON (https://www.musikding.de/Kippschalter-1polig-ON-OFF-ON)
* 2x 6,3mm Mono jack (https://www.musikding.de/63mm-Klinkenbuchse-offen-Mono)
## Circuit
### ICs
@@ -22,10 +23,14 @@
* 5x 1uF (https://www.reichelt.de/elko-radial-1-0-f-250-v-rm-2-5-85-c-2000h-20--m-a-1-0u-250-p199804.html?&trstct=pol_3&nbc=1)
* 1x 47uF 16V (https://www.reichelt.de/elko-radial-47-f-16-v-rm-2-0-85-c-2000h-20--rad-47-16-p15142.html?&trstct=pol_0&nbc=1)
'Capacitors can be replaced by other capacitors with the same capacitance and a minimum voltage rating of 9V. C1,C7,C12 and C14 are part of the signal chain and should be of adequate quality.
### Film Capacitors
* 3x 100nF (https://www.reichelt.de/mks2-pet-kondensator-100-nf-10-63-vdc-rm-5-mks2-63-100n-p12349.html?&trstct=pos_1&nbc=1)
* 1x 330nF (https://www.reichelt.de/mks2-pet-kondensator-330-nf-5-63-vdc-rm-5-mks2-63-330n-p12355.html?&trstct=pol_0&nbc=1)
'Capacitors can be replaced by other capacitors with the same capacitance and a minimum voltage rating of 9V
### Resistors
* 1x 220R 5%
* 2x 1k 1%
@@ -43,6 +48,6 @@
### Diode
* 1x 1N5817 (Can be jumpered if required)
## Programming
* 1x ISP Programmer for AVR (https://www.fischl.de/usbasp/)