aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arduino-help.pd1180
-rw-r--r--arduino-test.pd624
-rw-r--r--arduino.pd568
3 files changed, 1176 insertions, 1196 deletions
diff --git a/arduino-help.pd b/arduino-help.pd
index 681feab..fdcfdba 100644
--- a/arduino-help.pd
+++ b/arduino-help.pd
@@ -1,657 +1,523 @@
-#N canvas 515 191 722 595 10;
-#N canvas 233 472 458 308 INSTALL-NOTES 0;
-#X text 39 201 [comport] \, from pd-cvs/externals/iem/comport;
-#X text 39 185 [arduino] \, from pd-cvs/externals/hardware/arduino
-;
-#X text 39 217 [speedlim] \, from iemlib \, pd-cvs/externals/iemlib
-;
-#X text 20 27 1 General information on arduino: http://www.arduino.cc
-;
-#X text 20 61 2 You need the firmware for Pduino: http://at.or.at/hans/pd/objects.html
-;
-#X text 20 109 3 Don't forget to upload the firmware onto your arduino
-board !;
-#X text 21 159 4 Pduino needs the following externals and abstractions:
-;
-#X text 22 257 5 If you still have troubles \, mail to the pd list
-!;
-#X restore 25 92 pd INSTALL-NOTES;
-#X text 150 93 <- read this first !;
-#X obj 26 180 hradio 15 1 0 8 empty empty empty 0 -6 0 8 -260818 -1
--1 0;
-#X msg 26 198 open \$1;
-#X floatatom 109 197 5 0 0 0 - - -;
-#X obj 402 69 r \$0-arduino;
-#X msg 37 219 close;
-#X msg 47 240 info;
-#X text 21 157 select/close the serial port:;
-#X obj 26 262 s \$0-arduino;
-#N canvas 328 479 574 272 DIGITAL-OUTPUT 0;
-#X text 21 78 I/O the individual pins:;
-#X obj 42 118 tgl 15 0 empty empty 1 3 -6 0 10 -260818 -1 -1 0 1;
-#X obj 60 118 tgl 15 0 empty empty 2 3 -6 0 10 -260818 -1 -1 1 1;
-#X obj 79 118 tgl 15 0 empty empty 3 3 -6 0 10 -260818 -1 -1 0 1;
-#X obj 97 118 tgl 15 0 empty empty 4 3 -6 0 10 -260818 -1 -1 1 1;
-#X obj 116 118 tgl 15 0 empty empty 5 3 -6 0 10 -260818 -1 -1 1 1;
-#X obj 134 118 tgl 15 0 empty empty 6 3 -6 0 10 -260818 -1 -1 1 1;
-#X obj 153 118 tgl 15 0 empty empty 7 3 -6 0 10 -260818 -1 -1 1 1;
-#X obj 171 118 tgl 15 0 empty empty 8 3 -6 0 10 -260818 -1 -1 1 1;
-#X obj 190 118 tgl 15 0 empty empty 9 3 -6 0 10 -260818 -1 -1 1 1;
-#X obj 208 118 tgl 15 0 empty empty 10 3 -6 0 10 -260818 -1 -1 1 1
-;
-#X obj 227 118 tgl 15 0 empty empty 11 3 -6 0 10 -260818 -1 -1 1 1
-;
-#X obj 245 118 tgl 15 0 empty empty 12 3 -6 0 10 -260818 -1 -1 1 1
-;
-#X obj 264 118 tgl 15 0 empty empty 13 3 -6 0 10 -260818 -1 -1 1 1
-;
-#X obj 284 98 tgl 20 0 empty empty empty 0 -6 0 8 -258699 -1 -1 0 1
-;
-#X obj 24 118 tgl 15 0 empty empty 0 3 -6 0 10 -260818 -1 -1 0 1;
-#N canvas 46 604 662 312 send-to-arduino................. 0;
-#X obj 39 44 inlet;
-#X obj 79 44 inlet;
-#X obj 118 44 inlet;
-#X obj 158 44 inlet;
-#X obj 198 44 inlet;
-#X obj 238 44 inlet;
-#X obj 277 44 inlet;
-#X obj 317 44 inlet;
-#X obj 358 43 inlet;
-#X obj 398 43 inlet;
-#X obj 437 43 inlet;
-#X obj 477 43 inlet;
-#X obj 517 43 inlet;
-#X obj 556 43 inlet;
-#X obj 358 160 trigger bang float;
-#X obj 358 220 +;
-#X obj 358 183 float;
-#X obj 479 181 << 8;
-#N canvas 15 158 617 368 bytemask------------------------------ 0;
-#X obj 269 332 outlet;
-#X obj 269 279 float;
-#X obj 318 183 |;
-#X obj 111 239 -;
-#X obj 110 204 float;
-#X obj 110 184 trigger bang float;
-#X obj 231 204 &;
-#X obj 183 142 route 0 1;
-#X msg 36 56 \$1 1;
-#X msg 106 56 \$1 2;
-#X msg 176 56 \$1 4;
-#X msg 246 56 \$1 8;
-#X msg 316 56 \$1 16;
-#X msg 386 56 \$1 32;
-#X msg 456 56 \$1 64;
-#X msg 526 56 \$1 128;
-#X obj 36 15 inlet;
-#X obj 106 15 inlet;
-#X obj 176 15 inlet;
-#X obj 246 15 inlet;
-#X obj 316 15 inlet;
-#X obj 386 15 inlet;
-#X obj 456 15 inlet;
-#X obj 526 15 inlet;
-#X obj 36 35 change;
-#X obj 106 35 change;
-#X obj 176 35 change;
-#X obj 246 35 change;
-#X obj 316 35 change;
-#X obj 386 35 change;
-#X obj 456 35 change;
-#X obj 526 35 change;
-#X connect 1 0 2 1;
-#X connect 1 0 4 1;
-#X connect 1 0 6 1;
-#X connect 1 0 0 0;
-#X connect 2 0 1 0;
-#X connect 3 0 1 0;
-#X connect 4 0 3 0;
-#X connect 5 0 4 0;
-#X connect 5 1 6 0;
-#X connect 6 0 3 1;
-#X connect 7 0 5 0;
-#X connect 7 1 2 0;
-#X connect 8 0 7 0;
-#X connect 9 0 7 0;
-#X connect 10 0 7 0;
-#X connect 11 0 7 0;
-#X connect 12 0 7 0;
-#X connect 13 0 7 0;
-#X connect 14 0 7 0;
-#X connect 15 0 7 0;
-#X connect 16 0 24 0;
-#X connect 17 0 25 0;
-#X connect 18 0 26 0;
-#X connect 19 0 27 0;
-#X connect 20 0 28 0;
-#X connect 21 0 29 0;
-#X connect 22 0 30 0;
-#X connect 23 0 31 0;
-#X connect 24 0 8 0;
-#X connect 25 0 9 0;
-#X connect 26 0 10 0;
-#X connect 27 0 11 0;
-#X connect 28 0 12 0;
-#X connect 29 0 13 0;
-#X connect 30 0 14 0;
-#X connect 31 0 15 0;
-#X restore 39 100 pd bytemask------------------------------;
-#N canvas 378 173 613 364 bytemask------------------ 0;
-#X obj 269 332 outlet;
-#X obj 269 279 float;
-#X obj 318 183 |;
-#X obj 111 239 -;
-#X obj 110 204 float;
-#X obj 110 184 trigger bang float;
-#X obj 231 204 &;
-#X obj 183 142 route 0 1;
-#X msg 36 56 \$1 1;
-#X msg 106 56 \$1 2;
-#X msg 176 56 \$1 4;
-#X msg 246 56 \$1 8;
-#X msg 316 56 \$1 16;
-#X msg 386 56 \$1 32;
-#X msg 456 56 \$1 64;
-#X msg 526 56 \$1 128;
-#X obj 36 15 inlet;
-#X obj 106 15 inlet;
-#X obj 176 15 inlet;
-#X obj 246 15 inlet;
-#X obj 316 15 inlet;
-#X obj 386 15 inlet;
-#X obj 456 15 inlet;
-#X obj 526 15 inlet;
-#X obj 36 35 change;
-#X obj 106 35 change;
-#X obj 176 35 change;
-#X obj 246 35 change;
-#X obj 316 35 change;
-#X obj 386 35 change;
-#X obj 456 35 change;
-#X obj 526 35 change;
-#X connect 1 0 2 1;
-#X connect 1 0 4 1;
-#X connect 1 0 6 1;
-#X connect 1 0 0 0;
-#X connect 2 0 1 0;
-#X connect 3 0 1 0;
-#X connect 4 0 3 0;
-#X connect 5 0 4 0;
-#X connect 5 1 6 0;
-#X connect 6 0 3 1;
-#X connect 7 0 5 0;
-#X connect 7 1 2 0;
-#X connect 8 0 7 0;
-#X connect 9 0 7 0;
-#X connect 10 0 7 0;
-#X connect 11 0 7 0;
-#X connect 12 0 7 0;
-#X connect 13 0 7 0;
-#X connect 14 0 7 0;
-#X connect 15 0 7 0;
-#X connect 16 0 24 0;
-#X connect 17 0 25 0;
-#X connect 18 0 26 0;
-#X connect 19 0 27 0;
-#X connect 20 0 28 0;
-#X connect 21 0 29 0;
-#X connect 22 0 30 0;
-#X connect 23 0 31 0;
-#X connect 24 0 8 0;
-#X connect 25 0 9 0;
-#X connect 26 0 10 0;
-#X connect 27 0 11 0;
-#X connect 28 0 12 0;
-#X connect 29 0 13 0;
-#X connect 30 0 14 0;
-#X connect 31 0 15 0;
-#X restore 358 101 pd bytemask------------------;
-#X obj 358 251 outlet;
-#X connect 0 0 18 0;
-#X connect 1 0 18 1;
-#X connect 2 0 18 2;
-#X connect 3 0 18 3;
-#X connect 4 0 18 4;
-#X connect 5 0 18 5;
-#X connect 6 0 18 6;
-#X connect 7 0 18 7;
-#X connect 8 0 19 0;
-#X connect 9 0 19 1;
-#X connect 10 0 19 2;
-#X connect 11 0 19 3;
-#X connect 12 0 19 4;
-#X connect 13 0 19 5;
-#X connect 14 0 16 0;
-#X connect 14 1 17 0;
-#X connect 15 0 20 0;
-#X connect 16 0 15 0;
-#X connect 17 0 15 1;
-#X connect 18 0 16 0;
-#X connect 19 0 14 0;
-#X restore 24 145 pd send-to-arduino.................;
-#X obj 24 196 s \$0-arduino;
-#X floatatom 41 172 5 0 0 0 - - -;
-#X text 124 175 the pins are controlled with decimal numbers \, so
-you have to convert the binary toggle to a decimal number;
-#X text 20 32 NOTE: don't forget to set pins to output mode first!
-;
-#X connect 1 0 16 1;
-#X connect 2 0 16 2;
-#X connect 3 0 16 3;
-#X connect 4 0 16 4;
-#X connect 5 0 16 5;
-#X connect 6 0 16 6;
-#X connect 7 0 16 7;
-#X connect 8 0 16 8;
-#X connect 9 0 16 9;
-#X connect 10 0 16 10;
-#X connect 11 0 16 11;
-#X connect 12 0 16 12;
-#X connect 13 0 16 13;
-#X connect 14 0 13 0;
-#X connect 14 0 12 0;
-#X connect 14 0 11 0;
-#X connect 14 0 10 0;
-#X connect 14 0 9 0;
-#X connect 14 0 8 0;
-#X connect 14 0 7 0;
-#X connect 14 0 6 0;
-#X connect 14 0 5 0;
-#X connect 14 0 4 0;
-#X connect 14 0 3 0;
-#X connect 14 0 2 0;
-#X connect 14 0 1 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 17 0;
-#X connect 16 0 18 0;
-#X restore 171 438 pd DIGITAL-OUTPUT;
-#N canvas 494 94 550 252 DIGITAL-INPUT 0;
-#X obj 46 128 tgl 15 0 empty empty 1 3 -6 0 10 -260818 -1 -1 0 2;
-#X obj 64 128 tgl 15 0 empty empty 2 3 -6 0 10 -260818 -1 -1 0 4;
-#X obj 82 128 tgl 15 0 empty empty 3 3 -6 0 10 -260818 -1 -1 0 8;
-#X obj 100 128 tgl 15 0 empty empty 4 3 -6 0 10 -260818 -1 -1 16 16
-;
-#X obj 119 128 tgl 15 0 empty empty 5 3 -6 0 10 -260818 -1 -1 32 32
-;
-#X obj 137 128 tgl 15 0 empty empty 6 3 -6 0 10 -260818 -1 -1 64 64
-;
-#X obj 156 128 tgl 15 0 empty empty 7 3 -6 0 10 -260818 -1 -1 0 128
-;
-#X obj 174 128 tgl 15 0 empty empty 8 3 -6 0 10 -260818 -1 -1 0 256
-;
-#X obj 194 128 tgl 15 0 empty empty 9 3 -6 0 10 -260818 -1 -1 0 512
-;
-#X obj 211 128 tgl 15 0 empty empty 10 3 -6 0 10 -260818 -1 -1 0 1024
-;
-#X obj 230 128 tgl 15 0 empty empty 11 3 -6 0 10 -260818 -1 -1 0 2048
-;
-#X obj 248 128 tgl 15 0 empty empty 12 3 -6 0 10 -260818 -1 -1 0 4096
-;
-#X obj 267 128 tgl 15 0 empty empty 13 3 -6 0 10 -260818 -1 -1 0 8192
-;
-#X obj 28 128 tgl 15 0 empty empty 0 3 -6 0 10 -260818 -1 -1 0 1;
-#N canvas 64 160 778 300 send-to-arduino................. 0;
-#X obj 35 55 route digital;
-#X obj 35 229 outlet;
-#X obj 85 229 outlet;
-#X obj 137 229 outlet;
-#X obj 187 229 outlet;
-#X obj 237 229 outlet;
-#X obj 287 229 outlet;
-#X obj 339 229 outlet;
-#X obj 389 229 outlet;
-#X obj 437 229 outlet;
-#X obj 487 229 outlet;
-#X obj 539 229 outlet;
-#X obj 589 229 outlet;
-#X obj 637 229 outlet;
-#X obj 687 229 outlet;
-#X obj 35 25 inlet;
-#X text 289 82 bitmask to get the individual inputs;
-#X obj 665 171 & 8192;
-#X obj 613 169 & 4096;
-#X obj 553 169 & 2048;
-#X obj 35 169 & 1;
-#X obj 79 169 & 2;
-#X obj 125 171 & 4;
-#X obj 171 169 & 8;
-#X obj 217 169 & 16;
-#X obj 264 169 & 32;
-#X obj 313 169 & 64;
-#X obj 356 169 & 128;
-#X obj 403 169 & 256;
-#X obj 447 169 & 512;
-#X obj 495 169 & 1024;
-#X connect 0 0 17 0;
-#X connect 0 0 18 0;
-#X connect 0 0 19 0;
-#X connect 0 0 20 0;
-#X connect 0 0 21 0;
-#X connect 0 0 22 0;
-#X connect 0 0 23 0;
-#X connect 0 0 24 0;
-#X connect 0 0 25 0;
-#X connect 0 0 26 0;
-#X connect 0 0 27 0;
-#X connect 0 0 28 0;
-#X connect 0 0 29 0;
-#X connect 0 0 30 0;
-#X connect 15 0 0 0;
-#X connect 17 0 14 0;
-#X connect 18 0 13 0;
-#X connect 19 0 12 0;
-#X connect 20 0 1 0;
-#X connect 21 0 2 0;
-#X connect 22 0 3 0;
-#X connect 23 0 4 0;
-#X connect 24 0 5 0;
-#X connect 25 0 6 0;
-#X connect 26 0 7 0;
-#X connect 27 0 8 0;
-#X connect 28 0 9 0;
-#X connect 29 0 10 0;
-#X connect 30 0 11 0;
-#X restore 28 93 pd send-to-arduino.................;
-#X obj 28 69 r \$0-arduino-out;
-#X text 301 75 connect the Digital Input;
-#X text 301 92 to the ground (=0) or to;
-#X text 301 109 the positive voltage (=1);
-#X text 27 167 NOTE: if you don't connect your pin neither to + nor
-to the ground \, you will get random values (0 or 1) - to avoid that
-\, you could connect all the pins to the ground !;
-#X text 28 34 NOTE: don't forget to set pins to input mode first!;
-#X connect 14 0 13 0;
-#X connect 14 1 0 0;
-#X connect 14 2 1 0;
-#X connect 14 3 2 0;
-#X connect 14 4 3 0;
-#X connect 14 5 4 0;
-#X connect 14 6 5 0;
-#X connect 14 7 6 0;
-#X connect 14 8 7 0;
-#X connect 14 9 8 0;
-#X connect 14 10 9 0;
-#X connect 14 11 10 0;
-#X connect 14 12 11 0;
-#X connect 14 13 12 0;
-#X connect 15 0 14 0;
-#X restore 178 414 pd DIGITAL-INPUT;
-#X obj 402 111 s \$0-arduino-out;
-#X text 525 239 (0=input \, 1=output);
-#X obj 289 212 tgl 15 0 empty empty 1 3 -6 0 10 -260818 -1 -1 0 1;
-#X obj 307 212 tgl 15 0 empty empty 2 3 -6 0 10 -260818 -1 -1 1 1;
-#X obj 325 212 tgl 15 0 empty empty 3 3 -6 0 10 -260818 -1 -1 1 1;
-#X obj 343 212 tgl 15 0 empty empty 4 3 -6 0 10 -260818 -1 -1 1 1;
-#X obj 361 212 tgl 15 0 empty empty 5 3 -6 0 10 -260818 -1 -1 1 1;
-#X obj 379 212 tgl 15 0 empty empty 6 3 -6 0 10 -260818 -1 -1 1 1;
-#X obj 397 212 tgl 15 0 empty empty 7 3 -6 0 10 -260818 -1 -1 1 1;
-#X obj 415 212 tgl 15 0 empty empty 8 3 -6 0 10 -260818 -1 -1 1 1;
-#X obj 433 212 tgl 15 0 empty empty 9 3 -6 0 10 -260818 -1 -1 1 1;
-#X obj 451 212 tgl 15 0 empty empty 10 3 -6 0 10 -260818 -1 -1 1 1
-;
-#X obj 469 212 tgl 15 0 empty empty 11 3 -6 0 10 -260818 -1 -1 1 1
-;
-#X obj 487 212 tgl 15 0 empty empty 12 3 -6 0 10 -260818 -1 -1 1 1
-;
-#X obj 505 212 tgl 15 0 empty empty 13 3 -6 0 10 -260818 -1 -1 1 1
-;
-#X obj 531 192 tgl 20 0 empty empty empty 0 -6 0 8 -258699 -1 -1 0
-1;
-#X text 530 177 all;
-#X obj 271 212 tgl 15 0 empty empty 0 3 -6 0 10 -260818 -1 -1 0 1;
-#N canvas 365 337 762 312 send-to-arduino---------------- 0;
-#X obj 49 54 inlet;
-#X obj 89 54 inlet;
-#X obj 128 54 inlet;
-#X obj 168 54 inlet;
-#X obj 208 54 inlet;
-#X obj 248 54 inlet;
-#X obj 287 54 inlet;
-#X obj 327 54 inlet;
-#X obj 368 53 inlet;
-#X obj 408 53 inlet;
-#X obj 447 53 inlet;
-#X obj 487 53 inlet;
-#X obj 527 53 inlet;
-#X msg 49 96 outputMode 0 \$1;
-#X msg 89 118 outputMode 1 \$1;
-#X msg 128 140 outputMode 2 \$1;
-#X msg 168 160 outputMode 3 \$1;
-#X msg 208 92 outputMode 4 \$1;
-#X msg 248 114 outputMode 5 \$1;
-#X msg 287 136 outputMode 6 \$1;
-#X msg 327 156 outputMode 7 \$1;
-#X msg 368 88 outputMode 8 \$1;
-#X msg 408 110 outputMode 9 \$1;
-#X msg 447 132 outputMode 10 \$1;
-#X msg 487 152 outputMode 11 \$1;
-#X msg 527 80 outputMode 12 \$1;
-#X obj 566 53 inlet;
-#X msg 566 100 outputMode 13 \$1;
-#X obj 305 226 outlet;
-#X connect 0 0 13 0;
-#X connect 1 0 14 0;
-#X connect 2 0 15 0;
-#X connect 3 0 16 0;
-#X connect 4 0 17 0;
-#X connect 5 0 18 0;
-#X connect 6 0 19 0;
-#X connect 7 0 20 0;
-#X connect 8 0 21 0;
-#X connect 9 0 22 0;
-#X connect 10 0 23 0;
-#X connect 11 0 24 0;
-#X connect 12 0 25 0;
-#X connect 13 0 28 0;
-#X connect 14 0 28 0;
-#X connect 15 0 28 0;
-#X connect 16 0 28 0;
-#X connect 17 0 28 0;
-#X connect 18 0 28 0;
-#X connect 19 0 28 0;
-#X connect 20 0 28 0;
-#X connect 21 0 28 0;
-#X connect 22 0 28 0;
-#X connect 23 0 28 0;
-#X connect 24 0 28 0;
-#X connect 25 0 28 0;
-#X connect 26 0 27 0;
-#X connect 27 0 28 0;
-#X restore 271 239 pd send-to-arduino----------------;
-#X obj 269 324 s \$0-arduino;
-#X msg 294 265 outputMode 13 1;
-#X text 412 265 set pin 13 to output mode;
-#X text 270 159 Set input/output mode of the pins for digital IO:;
-#N canvas 374 455 496 348 ANALOG-INPUT 0;
-#X obj 29 59 r \$0-arduino-out;
-#X obj 29 97 spigot 0;
-#X obj 91 94 tgl 20 0 empty empty empty 0 -6 0 8 -258699 -1 -1 0 1
-;
-#X obj 29 139 route analog0 analog1 analog2 analog3 analog4 analog5
-;
-#X floatatom 29 220 5 0 0 3 analog0 - -;
-#X floatatom 102 219 5 0 0 3 analog1 - -;
-#X floatatom 175 219 5 0 0 3 analog2 - -;
-#X floatatom 248 220 5 0 0 3 analog3 - -;
-#X floatatom 321 220 5 0 0 3 analog4 - -;
-#X floatatom 395 221 5 0 0 3 analog5 - -;
-#N canvas 400 102 662 136 speed-limiting-to-save-cpu------------------------
-0;
-#X obj 19 31 inlet;
-#X obj 19 55 speedlim 100;
-#X obj 19 79 outlet;
-#X obj 119 31 inlet;
-#X obj 119 55 speedlim 100;
-#X obj 119 79 outlet;
-#X obj 219 31 inlet;
-#X obj 219 55 speedlim 100;
-#X obj 219 79 outlet;
-#X obj 319 31 inlet;
-#X obj 319 55 speedlim 100;
-#X obj 319 79 outlet;
-#X obj 419 31 inlet;
-#X obj 419 55 speedlim 100;
-#X obj 419 79 outlet;
-#X obj 519 31 inlet;
-#X obj 519 55 speedlim 100;
-#X obj 519 79 outlet;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X connect 3 0 4 0;
-#X connect 4 0 5 0;
-#X connect 6 0 7 0;
-#X connect 7 0 8 0;
-#X connect 9 0 10 0;
-#X connect 10 0 11 0;
-#X connect 12 0 13 0;
-#X connect 13 0 14 0;
-#X connect 15 0 16 0;
-#X connect 16 0 17 0;
-#X restore 29 173 pd speed-limiting-to-save-cpu------------------------
-;
-#X text 30 24 Analog Inputs of the Arduino-Board:;
-#X text 119 96 <- enable analog inputs;
-#X text 25 283 NOTE: connect the analog pins that you don't use to
-the ground \, if you want to avoid flickering of the values !;
-#X connect 0 0 1 0;
-#X connect 1 0 3 0;
-#X connect 2 0 1 1;
-#X connect 3 0 10 0;
-#X connect 3 1 10 1;
-#X connect 3 2 10 2;
-#X connect 3 3 10 3;
-#X connect 3 4 10 4;
-#X connect 3 5 10 5;
-#X connect 10 0 4 0;
-#X connect 10 1 5 0;
-#X connect 10 2 6 0;
-#X connect 10 3 7 0;
-#X connect 10 4 8 0;
-#X connect 10 5 9 0;
-#X restore 185 462 pd ANALOG-INPUT;
-#N canvas 462 515 546 362 ANALOG-OUTPUT-PWM 0;
-#X text 16 17 Analog Output \, PWM (Pulse Width Modulation);
-#X text 16 53 With the help of PWM you can write analog values to the
-pins 9 \, 10 \, 11 of your Arduino board.;
-#X text 17 89 NOTE: don't forget to set the pins to output mode first
-!;
-#X msg 21 189 pwm 9 \$1;
-#X obj 24 168 hsl 150 17 0 1 0 0 empty empty PWM_control_(0-1) -2 -6
-1 10 -260818 -1 -1 0 1;
-#X msg 31 234 pwm 9 off;
-#X obj 21 258 s \$0-arduino;
-#X text 29 215 disable PWM:;
-#X obj 192 168 hsl 150 17 0 1 0 0 empty empty PWM_control_(0-1) -2
--6 1 10 -260818 -1 -1 0 1;
-#X obj 189 258 s \$0-arduino;
-#X text 197 215 disable PWM:;
-#X obj 354 168 hsl 150 17 0 1 0 0 empty empty PWM_control_(0-1) -2
--6 1 10 -260818 -1 -1 0 1;
-#X obj 351 258 s \$0-arduino;
-#X text 359 215 disable PWM:;
-#X text 21 133 PIN9:;
-#X text 189 135 PIN10:;
-#X text 351 135 PIN11:;
-#X msg 189 189 pwm 10 \$1;
-#X msg 199 234 pwm 10 off;
-#X msg 351 189 pwm 11 \$1;
-#X msg 361 234 pwm 11 off;
-#X text 21 319 NOTE: it is possible to write as well on the other pins
-to send software-PWM signals (will come soon ...);
-#X connect 3 0 6 0;
-#X connect 4 0 3 0;
-#X connect 5 0 6 0;
-#X connect 8 0 17 0;
-#X connect 11 0 19 0;
-#X connect 17 0 9 0;
-#X connect 18 0 9 0;
-#X connect 19 0 12 0;
-#X connect 20 0 12 0;
-#X restore 150 487 pd ANALOG-OUTPUT-PWM;
-#X text 25 357 With the Arduino-Board you can do digital and analog
-input and output \, as descriped in the following sub-patches:;
-#X text 301 437 <- example of Digital Output;
-#X text 301 415 <- example of Digital Input;
-#X text 301 463 <- example of Analog Input;
-#X text 301 488 <- example of Analog Output;
-#X text 259 30 Arduino Interface For PD;
-#X text 286 4 ::::_PDUINO_::::;
-#X text 475 531 2006 \, released under GNU GPL \; Gerda Strobl \, Georg
-Holzmann;
-#X text 86 241 <- list devices;
-#X obj 404 90 arduino 1;
-#X obj 534 89 spigot;
-#X obj 565 67 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X obj 534 113 print;
-#X obj 79 25 hradio 15 1 0 7 empty empty empty 0 -8 0 10 -262144 -1
--1 0;
-#X floatatom 91 55 5 0 0 0 - - -;
-#X msg 202 55 analogIns \$1;
-#X msg 387 300 8192;
-#X msg 426 299 16383;
-#X msg 467 300 0;
-#X obj 490 326 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X obj 467 353 metro 1000;
-#X obj 487 387 delay 500;
-#X msg 440 36 version;
-#X msg 500 36 info;
-#X obj 305 118 route version;
-#X obj 303 138 print version;
-#X connect 2 0 3 0;
-#X connect 2 0 4 0;
-#X connect 3 0 9 0;
-#X connect 5 0 46 0;
-#X connect 6 0 9 0;
-#X connect 7 0 9 0;
-#X connect 14 0 30 1;
-#X connect 15 0 30 2;
-#X connect 16 0 30 3;
-#X connect 17 0 30 4;
-#X connect 18 0 30 5;
-#X connect 19 0 30 6;
-#X connect 20 0 30 7;
-#X connect 21 0 30 8;
-#X connect 22 0 30 9;
-#X connect 23 0 30 10;
-#X connect 24 0 30 11;
-#X connect 25 0 30 12;
-#X connect 26 0 30 13;
-#X connect 27 0 26 0;
-#X connect 27 0 25 0;
-#X connect 27 0 24 0;
-#X connect 27 0 23 0;
-#X connect 27 0 22 0;
-#X connect 27 0 21 0;
-#X connect 27 0 20 0;
-#X connect 27 0 19 0;
-#X connect 27 0 18 0;
-#X connect 27 0 17 0;
-#X connect 27 0 16 0;
-#X connect 27 0 15 0;
-#X connect 27 0 14 0;
-#X connect 27 0 29 0;
-#X connect 29 0 30 0;
-#X connect 30 0 31 0;
-#X connect 32 0 31 0;
-#X connect 46 0 12 0;
-#X connect 46 0 61 0;
-#X connect 46 1 47 0;
-#X connect 47 0 49 0;
-#X connect 48 0 47 1;
-#X connect 50 0 51 0;
-#X connect 50 0 52 0;
-#X connect 52 0 46 0;
-#X connect 53 0 31 0;
-#X connect 54 0 31 0;
-#X connect 55 0 31 0;
-#X connect 56 0 57 0;
-#X connect 57 0 54 0;
-#X connect 57 0 58 0;
-#X connect 58 0 55 0;
-#X connect 59 0 46 0;
-#X connect 60 0 46 0;
-#X connect 61 0 62 0;
+#N canvas 119 23 691 591 10;
+#N canvas 233 472 462 312 INSTALL-NOTES 0;
+#X text 39 201 [comport] \, from pd-cvs/externals/iem/comport;
+#X text 39 185 [arduino] \, from pd-cvs/externals/hardware/arduino
+;
+#X text 39 217 [speedlim] \, from iemlib \, pd-cvs/externals/iemlib
+;
+#X text 20 27 1 General information on arduino: http://www.arduino.cc
+;
+#X text 20 61 2 You need the firmware for Pduino: http://at.or.at/hans/pd/objects.html
+;
+#X text 20 109 3 Don't forget to upload the firmware onto your arduino
+board !;
+#X text 21 159 4 Pduino needs the following externals and abstractions:
+;
+#X text 22 257 5 If you still have troubles \, mail to the pd list
+!;
+#X restore 25 92 pd INSTALL-NOTES;
+#X text 150 93 <- read this first !;
+#X obj 26 198 hradio 15 1 0 8 empty empty empty 0 -6 0 8 -260818 -1
+-1 0;
+#X msg 26 216 open \$1;
+#X floatatom 109 215 5 0 0 0 - - -;
+#X msg 37 237 close;
+#X msg 47 258 info;
+#X text 21 175 select/close the serial port:;
+#N canvas 248 49 455 332 DIGITAL-OUTPUT 1;
+#X text 72 97 I/O the individual pins:;
+#X text 20 22 NOTE: don't forget to set pins to output mode first!
+;
+#X obj 40 194 cnv 15 100 22 empty empty empty 20 12 0 14 -253938 -66577
+0;
+#X msg 49 197 digital 13 0;
+#X obj 168 134 tgl 15 0 empty empty 7 4 -6 1 12 -233017 -1 -1 0 1;
+#X obj 185 134 tgl 15 0 empty empty 8 4 -6 1 12 -233017 -1 -1 0 1;
+#X obj 202 134 tgl 15 0 empty empty 9 4 -6 1 12 -233017 -1 -1 0 1;
+#X obj 219 134 tgl 15 0 empty empty 10 0 -6 1 12 -233017 -1 -1 0 1
+;
+#X obj 236 134 tgl 15 0 empty empty 11 0 -6 1 12 -233017 -1 -1 0 1
+;
+#X obj 253 134 tgl 15 0 empty empty 12 0 -6 1 12 -233017 -1 -1 0 1
+;
+#X obj 270 134 tgl 15 0 empty empty 13 0 -6 1 12 -233017 -1 -1 0 1
+;
+#X obj 49 134 tgl 15 0 empty empty 0 4 -6 1 12 -233017 -1 -1 0 1;
+#X obj 66 134 tgl 15 0 empty empty 1 4 -6 1 12 -233017 -1 -1 0 1;
+#X obj 83 134 tgl 15 0 empty empty 2 4 -6 1 12 -233017 -1 -1 0 1;
+#X obj 100 134 tgl 15 0 empty empty 3 4 -6 1 12 -233017 -1 -1 0 1;
+#X obj 117 134 tgl 15 0 empty empty 5 4 -6 1 12 -233017 -1 -1 0 1;
+#X obj 134 134 tgl 15 0 empty empty 6 4 -6 1 12 -233017 -1 -1 0 1;
+#X obj 151 134 tgl 15 0 empty empty 7 4 -6 1 12 -233017 -1 -1 0 1;
+#N canvas 478 328 806 356 generate 0;
+#X obj 49 24 inlet;
+#X obj 89 24 inlet;
+#X obj 128 24 inlet;
+#X obj 168 24 inlet;
+#X obj 208 24 inlet;
+#X obj 248 24 inlet;
+#X obj 287 24 inlet;
+#X obj 327 24 inlet;
+#X obj 368 23 inlet;
+#X obj 408 23 inlet;
+#X obj 447 23 inlet;
+#X obj 487 23 inlet;
+#X obj 527 23 inlet;
+#X msg 49 66 digital 0 \$1;
+#X msg 89 88 digital 1 \$1;
+#X msg 128 110 digital 2 \$1;
+#X msg 168 130 digital 3 \$1;
+#X msg 208 62 digital 4 \$1;
+#X msg 248 84 digital 5 \$1;
+#X msg 287 106 digital 6 \$1;
+#X msg 327 126 digital 7 \$1;
+#X msg 368 58 digital 8 \$1;
+#X msg 408 80 digital 9 \$1;
+#X msg 447 102 digital 10 \$1;
+#X msg 487 122 digital 11 \$1;
+#X msg 527 50 digital 12 \$1;
+#X obj 566 23 inlet;
+#X msg 566 70 digital 13 \$1;
+#X obj 305 196 prepend set;
+#X obj 305 254 outlet;
+#X obj 305 215 trigger bang anything;
+#X connect 0 0 13 0;
+#X connect 1 0 14 0;
+#X connect 2 0 15 0;
+#X connect 3 0 16 0;
+#X connect 4 0 17 0;
+#X connect 5 0 18 0;
+#X connect 6 0 19 0;
+#X connect 7 0 20 0;
+#X connect 8 0 21 0;
+#X connect 9 0 22 0;
+#X connect 10 0 23 0;
+#X connect 11 0 24 0;
+#X connect 12 0 25 0;
+#X connect 13 0 28 0;
+#X connect 14 0 28 0;
+#X connect 15 0 28 0;
+#X connect 16 0 28 0;
+#X connect 17 0 28 0;
+#X connect 18 0 28 0;
+#X connect 19 0 28 0;
+#X connect 20 0 28 0;
+#X connect 21 0 28 0;
+#X connect 22 0 28 0;
+#X connect 23 0 28 0;
+#X connect 24 0 28 0;
+#X connect 25 0 28 0;
+#X connect 26 0 27 0;
+#X connect 27 0 28 0;
+#X connect 28 0 30 0;
+#X connect 30 0 29 0;
+#X connect 30 1 29 0;
+#X restore 49 158 pd generate digital out messages;
+#X obj 319 109 tgl 25 0 empty empty ALL 2 12 0 12 -262144 -1 -1 0 1
+;
+#X obj 319 70 tgl 15 0 empty empty empty 0 -6 0 8 -225271 -1 -1 0 16383
+;
+#X obj 319 88 metro 100;
+#X obj 49 280 send \$0-arduino;
+#X text 143 197 <-- this is the message format;
+#X text 181 69 strobe all pins -->;
+#X connect 3 0 22 0;
+#X connect 4 0 18 7;
+#X connect 5 0 18 8;
+#X connect 6 0 18 9;
+#X connect 7 0 18 10;
+#X connect 8 0 18 11;
+#X connect 9 0 18 12;
+#X connect 10 0 18 13;
+#X connect 11 0 18 0;
+#X connect 12 0 18 1;
+#X connect 13 0 18 2;
+#X connect 14 0 18 3;
+#X connect 15 0 18 4;
+#X connect 16 0 18 5;
+#X connect 17 0 18 6;
+#X connect 18 0 3 0;
+#X connect 19 0 10 0;
+#X connect 19 0 9 0;
+#X connect 19 0 8 0;
+#X connect 19 0 7 0;
+#X connect 19 0 6 0;
+#X connect 19 0 5 0;
+#X connect 19 0 4 0;
+#X connect 19 0 17 0;
+#X connect 19 0 16 0;
+#X connect 19 0 15 0;
+#X connect 19 0 14 0;
+#X connect 19 0 13 0;
+#X connect 19 0 12 0;
+#X connect 19 0 11 0;
+#X connect 20 0 21 0;
+#X connect 21 0 19 0;
+#X restore 61 428 pd DIGITAL-OUTPUT;
+#N canvas 494 94 562 264 DIGITAL-INPUT 0;
+#X obj 46 128 tgl 15 0 empty empty 1 3 -6 0 10 -260818 -1 -1 0 2;
+#X obj 64 128 tgl 15 0 empty empty 2 3 -6 0 10 -260818 -1 -1 0 4;
+#X obj 82 128 tgl 15 0 empty empty 3 3 -6 0 10 -260818 -1 -1 0 8;
+#X obj 100 128 tgl 15 0 empty empty 4 3 -6 0 10 -260818 -1 -1 0 16
+;
+#X obj 119 128 tgl 15 0 empty empty 5 3 -6 0 10 -260818 -1 -1 0 32
+;
+#X obj 137 128 tgl 15 0 empty empty 6 3 -6 0 10 -260818 -1 -1 0 64
+;
+#X obj 155 128 tgl 15 0 empty empty 7 3 -6 0 10 -260818 -1 -1 0 128
+;
+#X obj 173 128 tgl 15 0 empty empty 8 3 -6 0 10 -260818 -1 -1 0 256
+;
+#X obj 191 128 tgl 15 0 empty empty 9 3 -6 0 10 -260818 -1 -1 0 512
+;
+#X obj 209 128 tgl 15 0 empty empty 10 3 -6 0 10 -260818 -1 -1 0 1024
+;
+#X obj 227 128 tgl 15 0 empty empty 11 3 -6 0 10 -260818 -1 -1 0 2048
+;
+#X obj 245 128 tgl 15 0 empty empty 12 3 -6 0 10 -260818 -1 -1 0 4096
+;
+#X obj 263 128 tgl 15 0 empty empty 13 3 -6 0 10 -260818 -1 -1 0 8192
+;
+#X obj 28 128 tgl 15 0 empty empty 0 3 -6 0 10 -260818 -1 -1 0 1;
+#X obj 28 49 r \$0-arduino-out;
+#X text 301 75 connect the Digital Input;
+#X text 301 92 to the ground (=0) or to;
+#X text 301 109 the positive voltage (=1);
+#X text 27 167 NOTE: if you don't connect your pin neither to + nor
+to the ground \, you will get random values (0 or 1) - to avoid that
+\, you could connect all the pins to the ground !;
+#X text 28 14 NOTE: don't forget to set pins to input mode first!;
+#X obj 28 93 route 0 1 2 3 4 5 6 7 8 9 10 11 12 13;
+#X obj 28 71 route digital;
+#X connect 14 0 21 0;
+#X connect 20 0 13 0;
+#X connect 20 1 0 0;
+#X connect 20 2 1 0;
+#X connect 20 3 2 0;
+#X connect 20 4 3 0;
+#X connect 20 5 4 0;
+#X connect 20 6 5 0;
+#X connect 20 7 6 0;
+#X connect 20 8 7 0;
+#X connect 20 9 8 0;
+#X connect 20 10 9 0;
+#X connect 20 11 10 0;
+#X connect 20 12 11 0;
+#X connect 20 13 12 0;
+#X connect 21 0 20 0;
+#X restore 68 404 pd DIGITAL-INPUT;
+#X text 525 229 (0=input \, 1=output);
+#X obj 289 202 tgl 15 0 empty empty 1 3 -6 0 10 -260818 -1 -1 0 1;
+#X obj 307 202 tgl 15 0 empty empty 2 3 -6 0 10 -260818 -1 -1 0 1;
+#X obj 325 202 tgl 15 0 empty empty 3 3 -6 0 10 -260818 -1 -1 0 1;
+#X obj 343 202 tgl 15 0 empty empty 4 3 -6 0 10 -260818 -1 -1 0 1;
+#X obj 361 202 tgl 15 0 empty empty 5 3 -6 0 10 -260818 -1 -1 0 1;
+#X obj 379 202 tgl 15 0 empty empty 6 3 -6 0 10 -260818 -1 -1 0 1;
+#X obj 397 202 tgl 15 0 empty empty 7 3 -6 0 10 -260818 -1 -1 0 1;
+#X obj 415 202 tgl 15 0 empty empty 8 3 -6 0 10 -260818 -1 -1 0 1;
+#X obj 433 202 tgl 15 0 empty empty 9 3 -6 0 10 -260818 -1 -1 0 1;
+#X obj 451 202 tgl 15 0 empty empty 10 3 -6 0 10 -260818 -1 -1 0 1
+;
+#X obj 469 202 tgl 15 0 empty empty 11 3 -6 0 10 -260818 -1 -1 0 1
+;
+#X obj 487 202 tgl 15 0 empty empty 12 3 -6 0 10 -260818 -1 -1 0 1
+;
+#X obj 505 202 tgl 15 0 empty empty 13 3 -6 0 10 -260818 -1 -1 0 1
+;
+#X obj 531 182 tgl 20 0 empty empty empty 0 -6 0 8 -258699 -1 -1 0
+1;
+#X text 530 167 all;
+#X obj 271 202 tgl 15 0 empty empty 0 3 -6 0 10 -260818 -1 -1 0 1;
+#N canvas 365 337 766 316 send-to-arduino---------------- 0;
+#X obj 49 54 inlet;
+#X obj 89 54 inlet;
+#X obj 128 54 inlet;
+#X obj 168 54 inlet;
+#X obj 208 54 inlet;
+#X obj 248 54 inlet;
+#X obj 287 54 inlet;
+#X obj 327 54 inlet;
+#X obj 368 53 inlet;
+#X obj 408 53 inlet;
+#X obj 447 53 inlet;
+#X obj 487 53 inlet;
+#X obj 527 53 inlet;
+#X msg 49 96 pinMode 0 \$1;
+#X msg 89 118 pinMode 1 \$1;
+#X msg 128 140 pinMode 2 \$1;
+#X msg 168 160 pinMode 3 \$1;
+#X msg 208 92 pinMode 4 \$1;
+#X msg 248 114 pinMode 5 \$1;
+#X msg 287 136 pinMode 6 \$1;
+#X msg 327 156 pinMode 7 \$1;
+#X msg 368 88 pinMode 8 \$1;
+#X msg 408 110 pinMode 9 \$1;
+#X msg 447 132 pinMode 10 \$1;
+#X msg 487 152 pinMode 11 \$1;
+#X msg 527 80 pinMode 12 \$1;
+#X obj 566 53 inlet;
+#X msg 566 100 pinMode 13 \$1;
+#X obj 305 226 outlet;
+#X connect 0 0 13 0;
+#X connect 1 0 14 0;
+#X connect 2 0 15 0;
+#X connect 3 0 16 0;
+#X connect 4 0 17 0;
+#X connect 5 0 18 0;
+#X connect 6 0 19 0;
+#X connect 7 0 20 0;
+#X connect 8 0 21 0;
+#X connect 9 0 22 0;
+#X connect 10 0 23 0;
+#X connect 11 0 24 0;
+#X connect 12 0 25 0;
+#X connect 13 0 28 0;
+#X connect 14 0 28 0;
+#X connect 15 0 28 0;
+#X connect 16 0 28 0;
+#X connect 17 0 28 0;
+#X connect 18 0 28 0;
+#X connect 19 0 28 0;
+#X connect 20 0 28 0;
+#X connect 21 0 28 0;
+#X connect 22 0 28 0;
+#X connect 23 0 28 0;
+#X connect 24 0 28 0;
+#X connect 25 0 28 0;
+#X connect 26 0 27 0;
+#X connect 27 0 28 0;
+#X restore 271 229 pd send-to-arduino----------------;
+#X msg 294 255 pinMode 13 1;
+#X text 412 255 set pin 13 to output mode;
+#X text 270 149 Set input/output mode of the pins for digital IO:;
+#N canvas 374 455 496 348 ANALOG-INPUT 0;
+#X obj 29 59 r \$0-arduino-out;
+#X obj 29 97 spigot 0;
+#X obj 91 94 tgl 20 0 empty empty empty 0 -6 0 8 -258699 -1 -1 0 1
+;
+#X obj 29 139 route analog0 analog1 analog2 analog3 analog4 analog5
+;
+#X floatatom 29 220 5 0 0 3 analog0 - -;
+#X floatatom 102 219 5 0 0 3 analog1 - -;
+#X floatatom 175 219 5 0 0 3 analog2 - -;
+#X floatatom 248 220 5 0 0 3 analog3 - -;
+#X floatatom 321 220 5 0 0 3 analog4 - -;
+#X floatatom 395 221 5 0 0 3 analog5 - -;
+#N canvas 400 102 662 136 speed-limiting-to-save-cpu------------------------
+0;
+#X obj 19 31 inlet;
+#X obj 19 55 speedlim 100;
+#X obj 19 79 outlet;
+#X obj 119 31 inlet;
+#X obj 119 55 speedlim 100;
+#X obj 119 79 outlet;
+#X obj 219 31 inlet;
+#X obj 219 55 speedlim 100;
+#X obj 219 79 outlet;
+#X obj 319 31 inlet;
+#X obj 319 55 speedlim 100;
+#X obj 319 79 outlet;
+#X obj 419 31 inlet;
+#X obj 419 55 speedlim 100;
+#X obj 419 79 outlet;
+#X obj 519 31 inlet;
+#X obj 519 55 speedlim 100;
+#X obj 519 79 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 7 0;
+#X connect 7 0 8 0;
+#X connect 9 0 10 0;
+#X connect 10 0 11 0;
+#X connect 12 0 13 0;
+#X connect 13 0 14 0;
+#X connect 15 0 16 0;
+#X connect 16 0 17 0;
+#X restore 29 173 pd speed-limiting-to-save-cpu------------------------
+;
+#X text 30 24 Analog Inputs of the Arduino-Board:;
+#X text 119 96 <- enable analog inputs;
+#X text 25 283 NOTE: connect the analog pins that you don't use to
+the ground \, if you want to avoid flickering of the values !;
+#X connect 0 0 1 0;
+#X connect 1 0 3 0;
+#X connect 2 0 1 1;
+#X connect 3 0 10 0;
+#X connect 3 1 10 1;
+#X connect 3 2 10 2;
+#X connect 3 3 10 3;
+#X connect 3 4 10 4;
+#X connect 3 5 10 5;
+#X connect 10 0 4 0;
+#X connect 10 1 5 0;
+#X connect 10 2 6 0;
+#X connect 10 3 7 0;
+#X connect 10 4 8 0;
+#X connect 10 5 9 0;
+#X restore 75 452 pd ANALOG-INPUT;
+#N canvas 462 492 550 366 ANALOG-OUTPUT-PWM 0;
+#X text 16 17 Analog Output \, PWM (Pulse Width Modulation);
+#X text 16 53 With the help of PWM you can write analog values to the
+pins 9 \, 10 \, 11 of your Arduino board.;
+#X text 17 89 NOTE: don't forget to set the pins to output mode first
+!;
+#X msg 21 189 pwm 9 \$1;
+#X obj 24 168 hsl 150 17 0 1 0 0 empty empty PWM_control_(0-1) -2 -6
+1 10 -260818 -1 -1 0 1;
+#X msg 31 234 pwm 9 off;
+#X obj 21 258 s \$0-arduino;
+#X text 29 215 disable PWM:;
+#X obj 192 168 hsl 150 17 0 1 0 0 empty empty PWM_control_(0-1) -2
+-6 1 10 -260818 -1 -1 0 1;
+#X obj 189 258 s \$0-arduino;
+#X text 197 215 disable PWM:;
+#X obj 354 168 hsl 150 17 0 1 0 0 empty empty PWM_control_(0-1) -2
+-6 1 10 -260818 -1 -1 0 1;
+#X obj 351 258 s \$0-arduino;
+#X text 359 215 disable PWM:;
+#X text 21 133 PIN9:;
+#X text 189 135 PIN10:;
+#X text 351 135 PIN11:;
+#X msg 189 189 pwm 10 \$1;
+#X msg 199 234 pwm 10 off;
+#X msg 351 189 pwm 11 \$1;
+#X msg 361 234 pwm 11 off;
+#X text 21 319 NOTE: it is possible to write as well on the other pins
+to send software-PWM signals (will come soon ...);
+#X connect 3 0 6 0;
+#X connect 4 0 3 0;
+#X connect 5 0 6 0;
+#X connect 8 0 17 0;
+#X connect 11 0 19 0;
+#X connect 17 0 9 0;
+#X connect 18 0 9 0;
+#X connect 19 0 12 0;
+#X connect 20 0 12 0;
+#X restore 40 477 pd ANALOG-OUTPUT-PWM;
+#X text 25 357 With the Arduino-Board you can do digital and analog
+input and output \, as descriped in the following sub-patches:;
+#X text 191 427 <- example of Digital Output;
+#X text 191 405 <- example of Digital Input;
+#X text 191 453 <- example of Analog Input;
+#X text 191 478 <- example of Analog Output;
+#X text 259 30 Arduino Interface For PD;
+#X text 286 4 ::::_PDUINO_::::;
+#X text 458 547 2006 \, released under GNU GPL \; Gerda Strobl \, Georg
+Holzmann;
+#X text 86 259 <- list devices;
+#X obj 484 87 spigot;
+#X obj 515 65 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X obj 271 324 send \$0-arduino;
+#X obj 344 111 send \$0-arduino-out;
+#X obj 344 67 receive \$0-arduino;
+#X obj 26 280 send \$0-arduino;
+#N canvas 0 22 458 308 GETTING-INFO 0;
+#X msg 147 65 version;
+#X msg 207 65 info;
+#X obj 147 107 send \$0-arduino-out;
+#X obj 146 146 receive \$0-arduino;
+#X obj 146 177 route version;
+#X obj 105 221 unpack 0 0;
+#X floatatom 105 245 5 0 0 0 - - -;
+#X floatatom 170 245 5 0 0 0 - - -;
+#X connect 0 0 2 0;
+#X connect 1 0 2 0;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 5 0 6 0;
+#X connect 5 1 7 0;
+#X restore 75 501 pd GETTING-INFO;
+#X text 191 502 <- example of getting status data;
+#N canvas 0 22 463 265 SWITCHING-INPUTS 0;
+#X obj 78 197 send \$0-arduino;
+#X text 25 32 how many analogIns to enable:;
+#X obj 161 99 tgl 15 1 empty empty empty 0 -6 0 8 -257472 -1 -1 0 1
+;
+#X text 184 98 enable/disable digitalIns;
+#X msg 161 117 digitalIns \$1;
+#X msg 26 78 analogIns 0;
+#N canvas 162 133 570 420 serin 0;
+#X obj 165 61 cnv 15 15 15 empty \$0-analog-number-canvas 0 4 8 0 14
+-233017 -1 0;
+#X obj 60 61 hradio 15 1 1 7 empty empty empty 0 -6 0 8 -225280 -1
+-1 0;
+#X obj 60 13 inlet;
+#X msg 200 202 label \$1;
+#X obj 200 180 makefilename %d;
+#X obj 59 108 int;
+#X obj 200 225 send \$0-analog-number-canvas;
+#X obj 59 337 outlet;
+#X msg 60 210 analogIns \$1;
+#X msg 201 306 set \$1 \$2;
+#X obj 59 266 trigger bang anything;
+#X obj 201 286 list;
+#X connect 1 0 5 0;
+#X connect 2 0 1 0;
+#X connect 3 0 6 0;
+#X connect 4 0 3 0;
+#X connect 5 0 4 0;
+#X connect 5 0 8 0;
+#X connect 8 0 10 0;
+#X connect 9 0 7 0;
+#X connect 10 0 7 0;
+#X connect 10 1 11 0;
+#X connect 11 0 9 0;
+#X coords 0 -1 1 1 121 17 1 60 60;
+#X restore 26 49 pd serin;
+#X connect 2 0 4 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
+#X connect 6 0 5 0;
+#X restore 47 526 pd SWITCHING-INPUTS;
+#X obj 484 111 print STATUS;
+#X text 191 526 <- example of switching inputs on and off;
+#X msg 353 297 digital 13 \$1;
+#X obj 353 279 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X text 454 295 toggle pin 13 on and off;
+#X obj 344 90 arduino 1;
+#X connect 2 0 3 0;
+#X connect 2 0 4 0;
+#X connect 3 0 47 0;
+#X connect 5 0 47 0;
+#X connect 6 0 47 0;
+#X connect 11 0 27 1;
+#X connect 12 0 27 2;
+#X connect 13 0 27 3;
+#X connect 14 0 27 4;
+#X connect 15 0 27 5;
+#X connect 16 0 27 6;
+#X connect 17 0 27 7;
+#X connect 18 0 27 8;
+#X connect 19 0 27 9;
+#X connect 20 0 27 10;
+#X connect 21 0 27 11;
+#X connect 22 0 27 12;
+#X connect 23 0 27 13;
+#X connect 24 0 23 0;
+#X connect 24 0 22 0;
+#X connect 24 0 21 0;
+#X connect 24 0 20 0;
+#X connect 24 0 19 0;
+#X connect 24 0 18 0;
+#X connect 24 0 17 0;
+#X connect 24 0 16 0;
+#X connect 24 0 15 0;
+#X connect 24 0 14 0;
+#X connect 24 0 13 0;
+#X connect 24 0 12 0;
+#X connect 24 0 11 0;
+#X connect 24 0 26 0;
+#X connect 26 0 27 0;
+#X connect 27 0 44 0;
+#X connect 28 0 44 0;
+#X connect 42 0 51 0;
+#X connect 43 0 42 1;
+#X connect 46 0 56 0;
+#X connect 53 0 44 0;
+#X connect 54 0 53 0;
+#X connect 56 0 45 0;
+#X connect 56 1 42 0;
diff --git a/arduino-test.pd b/arduino-test.pd
index 9e5d71b..fff45ac 100644
--- a/arduino-test.pd
+++ b/arduino-test.pd
@@ -1,6 +1,12 @@
-#N canvas 597 590 690 532 10;
+#N canvas 110 186 746 588 10;
#X obj 512 7 import hardware mapping;
-#X msg 161 172 open 1;
+#X obj 323 136 cnv 15 100 22 empty empty empty 20 12 0 14 -253938 -66577
+0;
+#X obj 73 165 cnv 15 70 22 empty empty empty 20 12 0 14 -253938 -66577
+0;
+#X obj 155 190 cnv 15 60 22 empty empty empty 20 12 0 14 -253938 -66577
+0;
+#X msg 161 192 open 1;
#N canvas 627 365 360 384 serin 0;
#X obj 180 61 cnv 15 15 15 empty \$0-number-canvas 1 4 8 0 14 -233017
-1 0;
@@ -28,17 +34,17 @@
#X connect 10 1 11 0;
#X connect 11 0 9 0;
#X coords 0 -1 1 1 136 17 1 60 60;
-#X restore 161 149 pd serin;
-#X text 158 131 serial port #;
-#X text 418 505 released under the GNU GPL;
-#X text 2 505 (C) Copyright 2006 Hans-Christoph Steiner <hans@at.or.at>
+#X restore 161 169 pd serin;
+#X text 158 151 serial port #;
+#X text 418 525 released under the GNU GPL;
+#X text 2 525 (C) Copyright 2006 Hans-Christoph Steiner <hans@at.or.at>
;
-#X msg 221 172 close;
-#X obj 429 320 tgl 15 0 empty empty changes 0 -6 0 8 -262144 -1 -1
+#X msg 221 192 close;
+#X obj 641 310 tgl 15 0 empty empty changes 0 -6 0 8 -262144 -1 -1
0 1;
-#X obj 368 320 tgl 15 0 empty empty all 0 -6 0 8 -262144 -1 -1 0 1
+#X obj 580 310 tgl 15 0 empty empty all 0 -6 0 8 -262144 -1 -1 0 1
;
-#N canvas 110 264 373 233 decode 0;
+#N canvas 810 482 417 277 decode 0;
#X obj 27 12 inlet;
#X floatatom 59 58 5 0 0 0 - - -;
#X obj 46 128 tgl 15 0 empty empty 1 3 -6 0 10 -260818 -1 -1 0 2;
@@ -65,40 +71,38 @@
#X obj 267 128 tgl 15 0 empty empty 13 3 -6 0 10 -260818 -1 -1 0 8192
;
#X obj 28 128 tgl 15 0 empty empty 0 3 -6 0 10 -260818 -1 -1 0 1;
-#N canvas 64 160 782 304 send-to-arduino................. 0;
-#X obj 35 25 inlet;
-#X obj 35 55 route digital0 digital1 digital2 digital3 digital4 digital5
-digital6 digital7 digital8 digital9 digital10 digital11 digital12 digital13
-;
-#X obj 35 229 outlet;
-#X obj 85 229 outlet;
-#X obj 137 229 outlet;
-#X obj 187 229 outlet;
-#X obj 237 229 outlet;
-#X obj 287 229 outlet;
-#X obj 339 229 outlet;
-#X obj 389 229 outlet;
-#X obj 437 229 outlet;
-#X obj 487 229 outlet;
-#X obj 539 229 outlet;
-#X obj 589 229 outlet;
-#X obj 637 229 outlet;
-#X obj 687 229 outlet;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X connect 1 1 3 0;
-#X connect 1 2 4 0;
-#X connect 1 3 5 0;
-#X connect 1 4 6 0;
-#X connect 1 5 7 0;
-#X connect 1 6 8 0;
-#X connect 1 7 9 0;
-#X connect 1 8 10 0;
-#X connect 1 9 11 0;
-#X connect 1 10 12 0;
-#X connect 1 11 13 0;
-#X connect 1 12 14 0;
-#X connect 1 13 15 0;
+#N canvas 328 358 758 218 send-to-arduino................. 0;
+#X obj 215 25 inlet;
+#X obj 15 129 outlet;
+#X obj 65 129 outlet;
+#X obj 117 129 outlet;
+#X obj 167 129 outlet;
+#X obj 217 129 outlet;
+#X obj 267 129 outlet;
+#X obj 319 129 outlet;
+#X obj 369 129 outlet;
+#X obj 417 129 outlet;
+#X obj 467 129 outlet;
+#X obj 519 129 outlet;
+#X obj 569 129 outlet;
+#X obj 617 129 outlet;
+#X obj 667 129 outlet;
+#X obj 215 55 route 0 1 2 3 4 5 6 7 8 9 10 11 12 13;
+#X connect 0 0 15 0;
+#X connect 15 0 1 0;
+#X connect 15 1 2 0;
+#X connect 15 2 3 0;
+#X connect 15 3 4 0;
+#X connect 15 4 5 0;
+#X connect 15 5 6 0;
+#X connect 15 6 7 0;
+#X connect 15 7 8 0;
+#X connect 15 8 9 0;
+#X connect 15 9 10 0;
+#X connect 15 10 11 0;
+#X connect 15 11 12 0;
+#X connect 15 12 13 0;
+#X connect 15 13 14 0;
#X restore 28 93 pd send-to-arduino.................;
#X connect 0 0 1 0;
#X connect 0 0 16 0;
@@ -116,19 +120,19 @@ digital6 digital7 digital8 digital9 digital10 digital11 digital12 digital13
#X connect 16 11 12 0;
#X connect 16 12 13 0;
#X connect 16 13 14 0;
-#X restore 516 442 pd decode buttons;
-#X obj 88 88 hsl 150 17 0 1 0 0 empty empty PWM_control_(0-1) -2 -6
-1 10 -225271 -1 -1 0 0;
-#X obj 53 314 tgl 15 1 empty empty empty 0 -6 0 8 -225271 -1 -1 1 1
+#X restore 571 462 pd decode buttons;
+#X obj 138 119 hsl 150 17 0 1 0 0 empty empty PWM_control_(0-1) -2
+-6 1 10 -225271 -1 -1 0 0;
+#X obj 53 334 tgl 15 1 empty empty empty 0 -6 0 8 -225271 -1 -1 0 1
;
-#X obj 16 376 route analog0 analog1 analog2 analog3 analog4 analog5
+#X obj 16 396 route analog0 analog1 analog2 analog3 analog4 analog5
;
-#X text 454 136 how many analogIns to enable:;
-#X obj 455 197 tgl 15 1 empty empty empty 0 -6 0 8 -257472 -1 -1 1
+#X text 454 156 how many analogIns to enable:;
+#X obj 455 217 tgl 15 1 empty empty empty 0 -6 0 8 -257472 -1 -1 0
1;
-#X text 478 196 enable/disable digitalIns;
-#X msg 455 215 digitalIns \$1;
-#X msg 455 173 analogIns 0;
+#X text 478 216 enable/disable digitalIns;
+#X msg 455 235 digitalIns \$1;
+#X msg 455 193 analogIns 0;
#N canvas 162 133 570 420 serin 0;
#X obj 165 61 cnv 15 15 15 empty \$0-analog-number-canvas 0 4 8 0 14
-233017 -1 0;
@@ -156,8 +160,8 @@ digital6 digital7 digital8 digital9 digital10 digital11 digital12 digital13
#X connect 10 1 11 0;
#X connect 11 0 9 0;
#X coords 0 -1 1 1 121 17 1 60 60;
-#X restore 455 153 pd serin;
-#N canvas 0 22 409 289 speed 0;
+#X restore 455 173 pd serin;
+#N canvas 0 22 421 301 speed 0;
#X obj 21 41 inlet;
#X obj 21 62 maxlib/speedlim 100;
#X obj 21 84 outlet;
@@ -191,9 +195,9 @@ digital6 digital7 digital8 digital9 digital10 digital11 digital12 digital13
#X connect 15 0 16 0;
#X connect 16 0 17 0;
#X connect 18 0 19 0;
-#X restore 16 398 pd speed limiting for displaying values with pegging
+#X restore 16 418 pd speed limiting for displaying values with pegging
the CPU;
-#N canvas 77 268 462 312 debugging 0;
+#N canvas 77 268 478 328 debugging 0;
#X obj 136 31 inlet;
#X obj 324 29 inlet;
#X obj 27 31 inlet;
@@ -207,6 +211,38 @@ the CPU;
#X obj 208 181 change;
#X obj 208 159 list-abs/list-len;
#X obj 43 136 print DEBUG;
+#N canvas 146 22 466 316 DEBUG 0;
+#X msg 142 19 open 1;
+#X msg 200 20 close;
+#X msg 52 82 pinMode 13 1;
+#X msg 15 137 digital 13 \$1;
+#X obj 15 119 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X msg 271 93 213;
+#X obj 289 123 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+127;
+#X floatatom 309 123 5 0 0 0 - - -;
+#X msg 250 63 150 \, 160;
+#X text 311 62 turn off input;
+#X msg 284 145 229 \, \$1 \, \$1;
+#X msg 318 249 64;
+#X msg 304 180 229 \, 127 \, 127;
+#X msg 304 210 229 \, 0 \, 0;
+#X obj 193 267 arduino 1;
+#X connect 0 0 14 0;
+#X connect 1 0 14 0;
+#X connect 2 0 14 0;
+#X connect 3 0 14 0;
+#X connect 4 0 3 0;
+#X connect 5 0 14 1;
+#X connect 6 0 10 0;
+#X connect 6 0 7 0;
+#X connect 8 0 14 1;
+#X connect 10 0 14 1;
+#X connect 11 0 14 1;
+#X connect 12 0 14 1;
+#X connect 13 0 14 1;
+#X restore 363 269 pd DEBUG;
#X connect 0 0 7 1;
#X connect 1 0 3 1;
#X connect 2 0 7 0;
@@ -221,88 +257,31 @@ the CPU;
#X connect 9 0 11 0;
#X connect 10 0 8 0;
#X connect 11 0 10 0;
-#X restore 308 338 pd debugging stuff;
-#X floatatom 16 423 5 0 0 3 analog0 - -;
-#X floatatom 85 423 5 0 0 3 analog1 - -;
-#X floatatom 154 423 5 0 0 3 analog2 - -;
-#X floatatom 223 423 5 0 0 3 analog3 - -;
-#X floatatom 292 423 5 0 0 3 analog4 - -;
-#X floatatom 361 423 5 0 0 3 analog5 - -;
-#N canvas 304 39 554 369 sending 0;
-#X obj 167 325 outlet;
-#X obj 168 77 tgl 15 0 empty empty 6 4 -6 1 12 -233017 -1 -1 0 1;
-#X obj 185 77 tgl 15 0 empty empty 5 4 -6 1 12 -233017 -1 -1 0 1;
-#X obj 202 77 tgl 15 0 empty empty 4 4 -6 1 12 -233017 -1 -1 0 1;
-#X obj 219 77 tgl 15 0 empty empty 3 4 -6 1 12 -233017 -1 -1 0 1;
-#X obj 236 77 tgl 15 0 empty empty 2 4 -6 1 12 -233017 -1 -1 0 1;
-#X obj 253 77 tgl 15 0 empty empty 1 4 -6 1 12 -233017 -1 -1 0 1;
-#X obj 270 77 tgl 15 0 empty empty 0 4 -6 1 12 -233017 -1 -1 0 1;
-#X text 60 11 The 8th bit is not used in the bitmask \, there are 7
-bits of digital output values per byte.;
-#X obj 49 77 tgl 15 0 empty empty 13 0 -6 1 12 -233017 -1 -1 0 1;
-#X obj 66 77 tgl 15 0 empty empty 12 0 -6 1 12 -233017 -1 -1 0 1;
-#X obj 83 77 tgl 15 0 empty empty 11 0 -6 1 12 -233017 -1 -1 0 1;
-#X obj 100 77 tgl 15 0 empty empty 10 0 -6 1 12 -233017 -1 -1 0 1;
-#X obj 117 77 tgl 15 0 empty empty 9 4 -6 1 12 -233017 -1 -1 0 1;
-#X obj 134 77 tgl 15 0 empty empty 8 4 -6 1 12 -233017 -1 -1 0 1;
-#X obj 151 77 tgl 15 0 empty empty 7 4 -6 1 12 -233017 -1 -1 0 1;
-#X obj 167 140 trigger bang float;
-#X obj 380 175 tgl 15 0 empty empty empty 0 -6 0 8 -225271 -1 -1 0
-16383;
-#X obj 380 138 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-16383;
-#X obj 379 156 metro 100;
-#X obj 167 200 +;
-#X obj 167 163 float;
-#X obj 288 161 << 7;
-#X text 251 205 this will flash all pins set to output;
-#X obj 380 45 inlet;
-#X obj 91 118 bytemask;
-#X obj 167 118 bytemask;
-#X connect 1 0 26 1;
-#X connect 2 0 26 2;
-#X connect 3 0 26 3;
-#X connect 4 0 26 4;
-#X connect 5 0 26 5;
-#X connect 6 0 26 6;
-#X connect 7 0 26 7;
-#X connect 9 0 25 1;
-#X connect 10 0 25 2;
-#X connect 11 0 25 3;
-#X connect 12 0 25 4;
-#X connect 13 0 25 5;
-#X connect 14 0 25 6;
-#X connect 15 0 25 7;
-#X connect 16 0 21 0;
-#X connect 16 1 22 0;
-#X connect 17 0 0 0;
-#X connect 18 0 19 0;
-#X connect 19 0 17 0;
-#X connect 20 0 0 0;
-#X connect 21 0 20 0;
-#X connect 22 0 20 1;
-#X connect 24 0 18 0;
-#X connect 25 0 21 0;
-#X connect 26 0 16 0;
-#X restore 15 248 pd sending digital outs;
-#X text 320 291 <- argument sets port #;
-#X msg 52 88 off;
-#X obj 30 60 hradio 15 1 0 14 empty empty empty 0 -6 0 8 -176124 -1
+#X restore 520 328 pd debugging stuff;
+#X floatatom 16 443 5 0 0 3 analog0 - -;
+#X floatatom 85 443 5 0 0 3 analog1 - -;
+#X floatatom 154 443 5 0 0 3 analog2 - -;
+#X floatatom 223 443 5 0 0 3 analog3 - -;
+#X floatatom 292 443 5 0 0 3 analog4 - -;
+#X floatatom 361 443 5 0 0 3 analog5 - -;
+#X text 320 311 <- argument sets port #;
+#X msg 102 119 off;
+#X obj 80 91 hradio 15 1 0 14 empty empty empty 0 -6 0 8 -176124 -1
-1 0;
-#X text 138 46 7;
-#X text 32 46 0;
-#X text 179 46 10;
-#X text 225 46 13;
-#X text 92 46 4;
-#X text 61 46 2;
-#X text 106 46 5;
-#X text 121 46 6;
-#X text 77 46 3;
-#X text 152 46 8;
-#X text 169 46 9;
-#X text 195 46 11;
-#X text 210 46 12;
-#X text 47 46 1;
+#X text 188 77 7;
+#X text 82 77 0;
+#X text 229 77 10;
+#X text 275 77 13;
+#X text 142 77 4;
+#X text 111 77 2;
+#X text 156 77 5;
+#X text 171 77 6;
+#X text 127 77 3;
+#X text 202 77 8;
+#X text 219 77 9;
+#X text 245 77 11;
+#X text 260 77 12;
+#X text 97 77 1;
#N canvas 66 58 415 495 pwm 0;
#X obj 38 10 inlet;
#X obj 131 10 inlet;
@@ -343,64 +322,146 @@ bits of digital output values per byte.;
#X connect 15 1 16 0;
#X connect 16 0 17 0;
#X connect 17 0 14 0;
-#X restore 31 114 pd pwm;
-#X msg 31 134 pwm 11 off;
-#X obj 250 292 arduino 1;
-#X msg 328 175 info;
-#X obj 15 229 tgl 15 0 empty empty empty 0 -6 0 8 -225271 -1 -1 0 16383
-;
-#X text 33 228 pulse all outputs;
-#X msg 367 175 version;
-#X obj 430 465 print [arduino]_VERSION;
-#X obj 16 344 spigot;
+#X restore 81 145 pd pwm;
+#X msg 81 167 pwm 0 0;
+#X msg 328 195 info;
+#X msg 367 195 version;
+#X obj 500 485 print [arduino]_VERSION;
+#X obj 16 364 spigot;
#X text 13 6 The [arduino] object works with the Firmata firmware for
Arduino (previously known as Pduino firmware).;
-#X obj 347 69 tgl 15 0 empty empty 1 3 -6 0 10 -260818 -1 -1 0 1;
-#X obj 365 69 tgl 15 0 empty empty 2 3 -6 0 10 -260818 -1 -1 0 1;
-#X obj 383 69 tgl 15 0 empty empty 3 3 -6 0 10 -260818 -1 -1 0 1;
-#X obj 401 69 tgl 15 0 empty empty 4 3 -6 0 10 -260818 -1 -1 0 1;
-#X obj 419 69 tgl 15 0 empty empty 5 3 -6 0 10 -260818 -1 -1 0 1;
-#X obj 437 69 tgl 15 0 empty empty 6 3 -6 0 10 -260818 -1 -1 0 1;
-#X obj 455 69 tgl 15 0 empty empty 7 3 -6 0 10 -260818 -1 -1 0 1;
-#X obj 473 69 tgl 15 0 empty empty 8 3 -6 0 10 -260818 -1 -1 0 1;
-#X obj 491 69 tgl 15 0 empty empty 9 3 -6 0 10 -260818 -1 -1 0 1;
-#X obj 509 69 tgl 15 0 empty empty 10 3 -6 0 10 -260818 -1 -1 0 1;
-#X obj 527 69 tgl 15 0 empty empty 11 3 -6 0 10 -260818 -1 -1 0 1;
-#X obj 545 69 tgl 15 0 empty empty 12 3 -6 0 10 -260818 -1 -1 0 1;
-#X obj 563 69 tgl 15 0 empty empty 13 3 -6 0 10 -260818 -1 -1 0 1;
-#X obj 589 49 tgl 20 0 empty empty empty 0 -6 0 8 -258699 -1 -1 0 1
-;
-#X obj 329 69 tgl 15 0 empty empty 0 3 -6 0 10 -260818 -1 -1 0 1;
-#N canvas 554 328 754 304 send-to-arduino---------------- 0;
-#X obj 49 54 inlet;
-#X obj 89 54 inlet;
-#X obj 128 54 inlet;
-#X obj 168 54 inlet;
-#X obj 208 54 inlet;
-#X obj 248 54 inlet;
-#X obj 287 54 inlet;
-#X obj 327 54 inlet;
-#X obj 368 53 inlet;
-#X obj 408 53 inlet;
-#X obj 447 53 inlet;
-#X obj 487 53 inlet;
-#X obj 527 53 inlet;
-#X msg 49 96 outputMode 0 \$1;
-#X msg 89 118 outputMode 1 \$1;
-#X msg 128 140 outputMode 2 \$1;
-#X msg 168 160 outputMode 3 \$1;
-#X msg 208 92 outputMode 4 \$1;
-#X msg 248 114 outputMode 5 \$1;
-#X msg 287 136 outputMode 6 \$1;
-#X msg 327 156 outputMode 7 \$1;
-#X msg 368 88 outputMode 8 \$1;
-#X msg 408 110 outputMode 9 \$1;
-#X msg 447 132 outputMode 10 \$1;
-#X msg 487 152 outputMode 11 \$1;
-#X msg 527 80 outputMode 12 \$1;
-#X obj 566 53 inlet;
-#X msg 566 100 outputMode 13 \$1;
-#X obj 305 226 outlet;
+#X obj 347 89 tgl 15 0 empty empty 1 3 -6 0 10 -260818 -1 -1 0 1;
+#X obj 365 89 tgl 15 0 empty empty 2 3 -6 0 10 -260818 -1 -1 0 1;
+#X obj 383 89 tgl 15 0 empty empty 3 3 -6 0 10 -260818 -1 -1 0 1;
+#X obj 401 89 tgl 15 0 empty empty 4 3 -6 0 10 -260818 -1 -1 0 1;
+#X obj 419 89 tgl 15 0 empty empty 5 3 -6 0 10 -260818 -1 -1 0 1;
+#X obj 437 89 tgl 15 0 empty empty 6 3 -6 0 10 -260818 -1 -1 0 1;
+#X obj 455 89 tgl 15 0 empty empty 7 3 -6 0 10 -260818 -1 -1 0 1;
+#X obj 473 89 tgl 15 0 empty empty 8 3 -6 0 10 -260818 -1 -1 0 1;
+#X obj 491 89 tgl 15 0 empty empty 9 3 -6 0 10 -260818 -1 -1 0 1;
+#X obj 509 89 tgl 15 0 empty empty 10 3 -6 0 10 -260818 -1 -1 0 1;
+#X obj 527 89 tgl 15 0 empty empty 11 3 -6 0 10 -260818 -1 -1 0 1;
+#X obj 545 89 tgl 15 0 empty empty 12 3 -6 0 10 -260818 -1 -1 0 1;
+#X obj 563 89 tgl 15 0 empty empty 13 3 -6 0 10 -260818 -1 -1 0 1;
+#X obj 329 89 tgl 15 0 empty empty 0 3 -6 0 10 -260818 -1 -1 0 1;
+#N canvas 518 328 766 316 send-to-arduino---------------- 0;
+#X obj 49 24 inlet;
+#X obj 89 24 inlet;
+#X obj 128 24 inlet;
+#X obj 168 24 inlet;
+#X obj 208 24 inlet;
+#X obj 248 24 inlet;
+#X obj 287 24 inlet;
+#X obj 327 24 inlet;
+#X obj 368 23 inlet;
+#X obj 408 23 inlet;
+#X obj 447 23 inlet;
+#X obj 487 23 inlet;
+#X obj 527 23 inlet;
+#X msg 49 66 pinMode 0 \$1;
+#X msg 89 88 pinMode 1 \$1;
+#X msg 128 110 pinMode 2 \$1;
+#X msg 168 130 pinMode 3 \$1;
+#X msg 208 62 pinMode 4 \$1;
+#X msg 248 84 pinMode 5 \$1;
+#X msg 287 106 pinMode 6 \$1;
+#X msg 327 126 pinMode 7 \$1;
+#X msg 368 58 pinMode 8 \$1;
+#X msg 408 80 pinMode 9 \$1;
+#X msg 447 102 pinMode 10 \$1;
+#X msg 487 122 pinMode 11 \$1;
+#X msg 527 50 pinMode 12 \$1;
+#X obj 566 23 inlet;
+#X msg 566 70 pinMode 13 \$1;
+#X obj 305 196 prepend set;
+#X obj 305 254 outlet;
+#X obj 305 215 trigger bang anything;
+#X connect 0 0 13 0;
+#X connect 1 0 14 0;
+#X connect 2 0 15 0;
+#X connect 3 0 16 0;
+#X connect 4 0 17 0;
+#X connect 5 0 18 0;
+#X connect 6 0 19 0;
+#X connect 7 0 20 0;
+#X connect 8 0 21 0;
+#X connect 9 0 22 0;
+#X connect 10 0 23 0;
+#X connect 11 0 24 0;
+#X connect 12 0 25 0;
+#X connect 13 0 28 0;
+#X connect 14 0 28 0;
+#X connect 15 0 28 0;
+#X connect 16 0 28 0;
+#X connect 17 0 28 0;
+#X connect 18 0 28 0;
+#X connect 19 0 28 0;
+#X connect 20 0 28 0;
+#X connect 21 0 28 0;
+#X connect 22 0 28 0;
+#X connect 23 0 28 0;
+#X connect 24 0 28 0;
+#X connect 25 0 28 0;
+#X connect 26 0 27 0;
+#X connect 27 0 28 0;
+#X connect 28 0 30 0;
+#X connect 30 0 29 0;
+#X connect 30 1 29 0;
+#X restore 329 116 pd send-to-arduino----------------;
+#X text 330 61 turn on output mode for each pin (off=input);
+#X obj 500 441 route version digital;
+#X msg 329 138 pinMode 13 1;
+#N canvas 101 54 451 328 sending 0;
+#X obj 69 158 cnv 15 100 22 empty empty empty 20 12 0 14 -253938 -66577
+0;
+#X obj 78 244 outlet;
+#X msg 78 161 digital 9 1;
+#X obj 197 98 tgl 15 0 empty empty 7 4 -6 1 12 -233017 -1 -1 0 1;
+#X obj 214 98 tgl 15 0 empty empty 8 4 -6 1 12 -233017 -1 -1 0 1;
+#X obj 231 98 tgl 15 0 empty empty 9 4 -6 1 12 -233017 -1 -1 1 1;
+#X obj 248 98 tgl 15 0 empty empty 10 0 -6 1 12 -233017 -1 -1 1 1;
+#X obj 265 98 tgl 15 0 empty empty 11 0 -6 1 12 -233017 -1 -1 0 1;
+#X obj 282 98 tgl 15 0 empty empty 12 0 -6 1 12 -233017 -1 -1 0 1;
+#X obj 299 98 tgl 15 0 empty empty 13 0 -6 1 12 -233017 -1 -1 0 1;
+#X obj 78 98 tgl 15 0 empty empty 0 4 -6 1 12 -233017 -1 -1 0 1;
+#X obj 95 98 tgl 15 0 empty empty 1 4 -6 1 12 -233017 -1 -1 0 1;
+#X obj 112 98 tgl 15 0 empty empty 2 4 -6 1 12 -233017 -1 -1 0 1;
+#X obj 129 98 tgl 15 0 empty empty 3 4 -6 1 12 -233017 -1 -1 0 1;
+#X obj 146 98 tgl 15 0 empty empty 5 4 -6 1 12 -233017 -1 -1 0 1;
+#X obj 163 98 tgl 15 0 empty empty 6 4 -6 1 12 -233017 -1 -1 0 1;
+#X obj 180 98 tgl 15 0 empty empty 7 4 -6 1 12 -233017 -1 -1 0 1;
+#N canvas 486 328 798 348 generate 0;
+#X obj 49 24 inlet;
+#X obj 89 24 inlet;
+#X obj 128 24 inlet;
+#X obj 168 24 inlet;
+#X obj 208 24 inlet;
+#X obj 248 24 inlet;
+#X obj 287 24 inlet;
+#X obj 327 24 inlet;
+#X obj 368 23 inlet;
+#X obj 408 23 inlet;
+#X obj 447 23 inlet;
+#X obj 487 23 inlet;
+#X obj 527 23 inlet;
+#X msg 49 66 digital 0 \$1;
+#X msg 89 88 digital 1 \$1;
+#X msg 128 110 digital 2 \$1;
+#X msg 168 130 digital 3 \$1;
+#X msg 208 62 digital 4 \$1;
+#X msg 248 84 digital 5 \$1;
+#X msg 287 106 digital 6 \$1;
+#X msg 327 126 digital 7 \$1;
+#X msg 368 58 digital 8 \$1;
+#X msg 408 80 digital 9 \$1;
+#X msg 447 102 digital 10 \$1;
+#X msg 487 122 digital 11 \$1;
+#X msg 527 50 digital 12 \$1;
+#X obj 566 23 inlet;
+#X msg 566 70 digital 13 \$1;
+#X obj 305 196 prepend set;
+#X obj 305 254 outlet;
+#X obj 305 215 trigger bang anything;
#X connect 0 0 13 0;
#X connect 1 0 14 0;
#X connect 2 0 15 0;
@@ -429,74 +490,107 @@ Arduino (previously known as Pduino firmware).;
#X connect 25 0 28 0;
#X connect 26 0 27 0;
#X connect 27 0 28 0;
-#X restore 329 96 pd send-to-arduino----------------;
-#X text 323 33 turn on output mode for each pin (off=input);
-#X text 611 52 all;
-#X obj 430 421 route version;
-#X connect 1 0 47 0;
+#X connect 28 0 30 0;
+#X connect 30 0 29 0;
+#X connect 30 1 29 0;
+#X restore 78 122 pd generate digital out messages;
+#X obj 348 73 tgl 25 0 empty empty ALL 2 12 0 12 -262144 -1 -1 0 1
+;
+#X obj 349 34 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 16383
+;
+#X obj 348 52 metro 100;
+#X obj 349 13 inlet;
#X connect 2 0 1 0;
-#X connect 6 0 47 0;
-#X connect 7 0 20 2;
-#X connect 8 0 20 1;
-#X connect 10 0 45 1;
-#X connect 11 0 53 1;
-#X connect 12 0 19 0;
-#X connect 12 1 19 1;
-#X connect 12 2 19 2;
-#X connect 12 3 19 3;
-#X connect 12 4 19 4;
-#X connect 12 5 19 5;
-#X connect 12 6 19 6;
-#X connect 14 0 16 0;
-#X connect 16 0 47 0;
-#X connect 17 0 47 0;
-#X connect 18 0 17 0;
-#X connect 19 0 21 0;
-#X connect 19 1 22 0;
-#X connect 19 2 23 0;
-#X connect 19 3 24 0;
-#X connect 19 4 25 0;
-#X connect 19 5 26 0;
-#X connect 19 6 73 0;
-#X connect 27 0 47 0;
-#X connect 29 0 45 1;
-#X connect 30 0 45 0;
-#X connect 45 0 46 0;
-#X connect 46 0 47 0;
-#X connect 47 0 53 0;
-#X connect 47 1 20 0;
-#X connect 48 0 47 0;
-#X connect 49 0 27 0;
-#X connect 51 0 47 0;
-#X connect 53 0 12 0;
-#X connect 55 0 70 1;
-#X connect 56 0 70 2;
-#X connect 57 0 70 3;
-#X connect 58 0 70 4;
-#X connect 59 0 70 5;
-#X connect 60 0 70 6;
-#X connect 61 0 70 7;
-#X connect 62 0 70 8;
-#X connect 63 0 70 9;
-#X connect 64 0 70 10;
-#X connect 65 0 70 11;
-#X connect 66 0 70 12;
-#X connect 67 0 70 13;
-#X connect 68 0 67 0;
-#X connect 68 0 66 0;
-#X connect 68 0 65 0;
-#X connect 68 0 64 0;
-#X connect 68 0 63 0;
-#X connect 68 0 62 0;
-#X connect 68 0 61 0;
-#X connect 68 0 60 0;
-#X connect 68 0 59 0;
-#X connect 68 0 58 0;
-#X connect 68 0 57 0;
-#X connect 68 0 56 0;
-#X connect 68 0 55 0;
-#X connect 68 0 69 0;
-#X connect 69 0 70 0;
-#X connect 70 0 47 0;
-#X connect 73 0 52 0;
-#X connect 73 1 9 0;
+#X connect 3 0 17 7;
+#X connect 4 0 17 8;
+#X connect 5 0 17 9;
+#X connect 6 0 17 10;
+#X connect 7 0 17 11;
+#X connect 8 0 17 12;
+#X connect 9 0 17 13;
+#X connect 10 0 17 0;
+#X connect 11 0 17 1;
+#X connect 12 0 17 2;
+#X connect 13 0 17 3;
+#X connect 14 0 17 4;
+#X connect 15 0 17 5;
+#X connect 16 0 17 6;
+#X connect 17 0 2 0;
+#X connect 18 0 9 0;
+#X connect 18 0 8 0;
+#X connect 18 0 7 0;
+#X connect 18 0 6 0;
+#X connect 18 0 5 0;
+#X connect 18 0 4 0;
+#X connect 18 0 3 0;
+#X connect 18 0 16 0;
+#X connect 18 0 15 0;
+#X connect 18 0 14 0;
+#X connect 18 0 13 0;
+#X connect 18 0 12 0;
+#X connect 18 0 11 0;
+#X connect 18 0 10 0;
+#X connect 19 0 20 0;
+#X connect 20 0 18 0;
+#X connect 21 0 19 0;
+#X restore 14 264 pd sending digital outs;
+#X obj 250 340 route analog digital version;
+#X obj 14 245 tgl 15 0 empty empty empty 0 -6 0 8 -225271 -1 -1 0 16383
+;
+#X text 32 244 pulse all outputs;
+#X obj 250 312 arduino 1;
+#X connect 4 0 76 0;
+#X connect 5 0 4 0;
+#X connect 9 0 76 0;
+#X connect 10 0 23 2;
+#X connect 11 0 23 1;
+#X connect 13 0 47 1;
+#X connect 14 0 52 1;
+#X connect 15 0 22 0;
+#X connect 15 1 22 1;
+#X connect 15 2 22 2;
+#X connect 15 3 22 3;
+#X connect 15 4 22 4;
+#X connect 15 5 22 5;
+#X connect 15 6 22 6;
+#X connect 17 0 19 0;
+#X connect 19 0 76 0;
+#X connect 20 0 76 0;
+#X connect 21 0 20 0;
+#X connect 22 0 24 0;
+#X connect 22 1 25 0;
+#X connect 22 2 26 0;
+#X connect 22 3 27 0;
+#X connect 22 4 28 0;
+#X connect 22 5 29 0;
+#X connect 22 6 70 0;
+#X connect 31 0 47 1;
+#X connect 32 0 47 0;
+#X connect 47 0 48 0;
+#X connect 48 0 76 0;
+#X connect 49 0 76 0;
+#X connect 50 0 76 0;
+#X connect 52 0 15 0;
+#X connect 54 0 68 1;
+#X connect 55 0 68 2;
+#X connect 56 0 68 3;
+#X connect 57 0 68 4;
+#X connect 58 0 68 5;
+#X connect 59 0 68 6;
+#X connect 60 0 68 7;
+#X connect 61 0 68 8;
+#X connect 62 0 68 9;
+#X connect 63 0 68 10;
+#X connect 64 0 68 11;
+#X connect 65 0 68 12;
+#X connect 66 0 68 13;
+#X connect 67 0 68 0;
+#X connect 68 0 71 0;
+#X connect 70 0 51 0;
+#X connect 70 1 12 0;
+#X connect 71 0 76 0;
+#X connect 72 0 76 0;
+#X connect 74 0 72 0;
+#X connect 76 0 52 0;
+#X connect 76 0 73 0;
+#X connect 76 1 23 0;
diff --git a/arduino.pd b/arduino.pd
index a505faf..dbc7186 100644
--- a/arduino.pd
+++ b/arduino.pd
@@ -1,274 +1,294 @@
-#N canvas 396 63 681 397 10;
-#X obj 462 15 import flatspace;
-#X text 415 287 released under the GNU GPL;
-#X text 10 287 (C) Copyright 2006 Hans-Christoph Steiner <hans@at.or.at>
-;
-#X obj 11 21 inlet;
-#X obj 11 196 outlet;
-#X obj 494 241 outlet;
-#N canvas 484 367 648 373 command 0;
-#X obj 46 8 inlet;
-#X obj 148 269 outlet;
-#X obj 100 94 clip 0 6;
-#X obj 171 94 clip 0 1;
-#X obj 171 115 int;
-#N canvas 614 548 486 336 digital-out 0;
-#X obj 65 20 inlet;
-#X obj 85 280 outlet;
-#X obj 65 108 route float;
-#X obj 209 209 & 127;
-#X obj 140 208 & 127;
-#X obj 140 164 trigger float float bang;
-#X text 104 89 break up digital-out bitmask;
-#X obj 209 187 >> 7;
-#X msg 279 188 229;
-#X connect 0 0 2 0;
-#X connect 2 0 5 0;
-#X connect 2 1 1 0;
-#X connect 3 0 1 0;
-#X connect 4 0 1 0;
-#X connect 5 0 4 0;
-#X connect 5 1 7 0;
-#X connect 5 2 8 0;
-#X connect 7 0 3 0;
-#X connect 8 0 1 0;
-#X restore 449 93 pd digital-out;
-#N canvas 49 547 528 335 outputMode 0;
-#X obj 60 11 inlet;
-#X obj 175 275 outlet;
-#X obj 175 87 unpack float float;
-#X obj 175 176 +;
-#X obj 175 197 + 130;
-#X obj 296 126 * 70;
-#X text 222 198 input commands = 130-143;
-#X text 334 127 output commands = 200-213;
-#X msg 61 229 151;
-#X obj 60 48 trigger bang anything;
-#X obj 61 182 float;
-#X text 142 86 pin#;
-#X text 312 87 mode;
-#X text 89 229 send 151/ENABLE_DIGITAL_INPUT whenever a pin is set
-to input;
-#X obj 61 202 select 0;
-#X connect 0 0 9 0;
-#X connect 2 0 3 0;
-#X connect 2 1 5 0;
-#X connect 2 1 10 1;
-#X connect 3 0 4 0;
-#X connect 4 0 1 0;
-#X connect 5 0 3 1;
-#X connect 8 0 1 0;
-#X connect 9 0 10 0;
-#X connect 9 1 2 0;
-#X connect 10 0 14 0;
-#X connect 14 0 8 0;
-#X restore 241 94 pd outputMode;
-#X obj 100 135 + 160;
-#X obj 171 137 + 150;
-#N canvas 291 228 420 352 pwm 0;
-#X obj 44 14 inlet;
-#X msg 327 220 251;
-#X obj 114 312 outlet;
-#X obj 232 185 * 255;
-#X obj 232 164 clip 0 1;
-#X obj 232 205 int;
-#N canvas 0 22 450 300 list-rev 0;
-#X obj 92 29 inlet;
-#N canvas 0 22 533 407 drip 0;
-#X obj 64 206 list split 1;
-#X obj 64 123 until;
-#X obj 64 181 list append;
-#X obj 194 206 bang;
-#X obj 64 243 outlet;
-#X obj 64 57 inlet;
-#X text 237 44 From list-help.pd;
-#X obj 143 243 outlet;
-#X obj 64 86 t b a;
-#X connect 0 0 4 0;
-#X connect 0 1 2 1;
-#X connect 0 2 3 0;
-#X connect 0 2 7 0;
-#X connect 1 0 2 0;
-#X connect 2 0 0 0;
-#X connect 3 0 1 1;
-#X connect 5 0 8 0;
-#X connect 8 0 1 0;
-#X connect 8 1 2 1;
-#X restore 92 94 pd drip;
-#X obj 148 141 t l;
-#X obj 92 141 list;
-#X obj 136 207 list;
-#X obj 136 259 outlet;
-#X text 174 95 drip list;
-#X text 174 210 intermediate store \, bang'd on list end.;
-#X text 178 140 repack in reverse order;
-#X obj 92 54 t a b b;
-#X connect 0 0 9 0;
-#X connect 1 0 3 0;
-#X connect 1 1 4 0;
-#X connect 2 0 3 1;
-#X connect 3 0 2 0;
-#X connect 3 0 4 1;
-#X connect 4 0 5 0;
-#X connect 9 0 1 0;
-#X connect 9 1 3 1;
-#X connect 9 2 4 1;
-#X restore 44 54 pd list-rev;
-#X obj 44 113 route off;
-#X msg 74 170 250;
-#X obj 44 83 list trim;
-#X text 361 222 PWM on;
-#X obj 44 145 t f b;
-#X text 105 170 PWM off;
-#X obj 232 141 unpack f f;
-#X obj 297 195 t f b;
-#X connect 0 0 6 0;
-#X connect 1 0 2 0;
-#X connect 3 0 5 0;
-#X connect 4 0 3 0;
-#X connect 5 0 2 0;
-#X connect 6 0 9 0;
-#X connect 7 0 11 0;
-#X connect 7 1 13 0;
-#X connect 8 0 2 0;
-#X connect 9 0 7 0;
-#X connect 11 0 2 0;
-#X connect 11 1 8 0;
-#X connect 13 0 4 0;
-#X connect 13 1 14 0;
-#X connect 14 0 2 0;
-#X connect 14 1 1 0;
-#X restore 30 94 pd pwm;
-#X msg 340 94 info;
-#X obj 46 52 route pwm analogIns digitalIns outputMode info version
-;
-#X msg 390 93 240;
-#X connect 0 0 11 0;
-#X connect 2 0 7 0;
-#X connect 3 0 4 0;
-#X connect 4 0 8 0;
-#X connect 5 0 1 0;
-#X connect 6 0 1 0;
-#X connect 7 0 1 0;
-#X connect 8 0 1 0;
-#X connect 9 0 1 0;
-#X connect 10 0 1 0;
-#X connect 11 0 9 0;
-#X connect 11 1 2 0;
-#X connect 11 2 3 0;
-#X connect 11 3 6 0;
-#X connect 11 4 10 0;
-#X connect 11 5 12 0;
-#X connect 11 6 5 0;
-#X connect 12 0 1 0;
-#X restore 11 52 pd command processing;
-#X text 257 242 DEBUG/RAW data (this will change);
-#X obj 379 19 inlet;
-#X text 354 0 raw input;
-#X text 10 -1 processed input;
-#N canvas 182 25 384 447 make 0;
-#X obj 147 8 inlet;
-#X obj 71 334 outlet;
-#X obj 147 37 moses 128;
-#X obj 27 198 float;
-#N canvas 382 81 506 356 alternate 0;
-#X obj 34 280 outlet;
-#X obj 209 277 outlet;
-#X obj 34 210 spigot;
-#X obj 209 204 spigot;
-#X obj 33 87 trigger anything bang;
-#X msg 175 107 1;
-#X obj 71 186 float;
-#X obj 245 181 float;
-#X obj 357 41 loadbang;
-#X obj 342 74 bang;
-#X obj 246 158 !=;
-#X obj 71 163 !=;
-#X obj 342 7 inlet;
-#X text 384 6 reset;
-#X obj 33 12 inlet;
-#X msg 329 102 1;
-#X msg 359 102 0;
-#X connect 2 0 0 0;
-#X connect 3 0 1 0;
-#X connect 4 0 2 0;
-#X connect 4 0 3 0;
-#X connect 4 1 5 0;
-#X connect 5 0 10 0;
-#X connect 5 0 11 0;
-#X connect 6 0 2 1;
-#X connect 6 0 11 1;
-#X connect 7 0 3 1;
-#X connect 7 0 10 1;
-#X connect 8 0 9 0;
-#X connect 9 0 16 0;
-#X connect 9 0 15 0;
-#X connect 10 0 7 0;
-#X connect 11 0 6 0;
-#X connect 12 0 9 0;
-#X connect 14 0 4 0;
-#X connect 15 0 11 1;
-#X connect 16 0 10 1;
-#X restore 147 130 pd alternate;
-#X obj 27 173 trigger bang float;
-#X obj 226 111 bang;
-#N canvas 0 22 580 356 convert 0;
-#X obj 98 22 inlet;
-#X obj 163 314 outlet;
-#X obj 365 204 print UNKNOWN_INPUT_COMMAND;
-#X obj 98 68 select 151 240;
-#X obj 191 89 moses 161;
-#X obj 250 113 moses 167;
-#X obj 188 195 makefilename analog%c;
-#X obj 188 174 - 113;
-#X msg 117 131 symbol version;
-#X msg 8 131 symbol digital;
-#X connect 0 0 3 0;
-#X connect 3 0 9 0;
-#X connect 3 1 8 0;
-#X connect 3 2 4 0;
-#X connect 4 0 2 0;
-#X connect 4 1 5 0;
-#X connect 5 0 7 0;
-#X connect 5 1 2 0;
-#X connect 6 0 1 0;
-#X connect 7 0 6 0;
-#X connect 8 0 1 0;
-#X connect 9 0 1 0;
-#X restore 27 219 pd convert commands;
-#X obj 70 296 list trim;
-#X obj 70 273 pack symbol float;
-#X obj 184 219 +;
-#X obj 200 197 * 128;
-#X connect 0 0 2 0;
-#X connect 2 0 4 0;
-#X connect 2 1 3 1;
-#X connect 2 1 6 0;
-#X connect 3 0 7 0;
-#X connect 4 0 5 0;
-#X connect 4 1 11 0;
-#X connect 5 0 3 0;
-#X connect 5 1 10 0;
-#X connect 6 0 4 1;
-#X connect 7 0 9 0;
-#X connect 8 0 1 0;
-#X connect 9 0 8 0;
-#X connect 10 0 9 1;
-#X connect 11 0 10 1;
-#X restore 10 165 pd make lists;
-#X obj 190 89 spigot;
-#X obj 221 67 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X obj 102 117 print comport;
-#X obj 11 96 comport \$1 19200;
-#X obj 190 112 print command;
-#X connect 3 0 6 0;
-#X connect 6 0 12 0;
-#X connect 6 0 15 0;
-#X connect 8 0 15 0;
-#X connect 11 0 4 0;
-#X connect 12 0 16 0;
-#X connect 13 0 12 1;
-#X connect 15 0 5 0;
-#X connect 15 0 11 0;
-#X connect 15 1 14 0;
+#N canvas 361 22 682 319 10;
+#X text 415 287 released under the GNU GPL;
+#X text 10 287 (C) Copyright 2006 Hans-Christoph Steiner <hans@at.or.at>
+;
+#X obj 11 21 inlet;
+#X obj 11 196 outlet;
+#X obj 494 241 outlet;
+#N canvas 382 102 637 357 command 0;
+#X obj 24 7 inlet;
+#X obj 281 289 outlet;
+#X obj 210 93 clip 0 1;
+#X obj 210 114 int;
+#N canvas 729 244 487 295 digital-out 0;
+#X obj 26 12 inlet;
+#X obj 218 219 outlet;
+#X msg 404 92 229;
+#X obj 181 137 trigger bang float;
+#X obj 97 172 float;
+#X obj 26 31 trigger anything bang;
+#X obj 27 137 trigger float bang;
+#X obj 218 171 float;
+#X obj 26 77 route 0 1 2 3 4 5 6 7 8 9 10 11 12 13;
+#X obj 181 115 bytemask -----;
+#X obj 27 115 bytemask ---------;
+#X connect 0 0 5 0;
+#X connect 2 0 1 0;
+#X connect 3 0 4 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 8 0;
+#X connect 5 1 2 0;
+#X connect 6 0 4 0;
+#X connect 6 1 7 0;
+#X connect 7 0 1 0;
+#X connect 8 0 10 0;
+#X connect 8 1 10 1;
+#X connect 8 2 10 2;
+#X connect 8 3 10 3;
+#X connect 8 4 10 4;
+#X connect 8 5 10 5;
+#X connect 8 6 10 6;
+#X connect 8 7 9 0;
+#X connect 8 8 9 1;
+#X connect 8 9 9 2;
+#X connect 8 10 9 3;
+#X connect 8 11 9 4;
+#X connect 8 12 9 5;
+#X connect 8 13 9 6;
+#X connect 9 0 3 0;
+#X connect 10 0 6 0;
+#X restore 377 118 pd digital-out;
+#N canvas 49 547 528 335 pinMode 0;
+#X obj 60 11 inlet;
+#X obj 175 275 outlet;
+#X obj 175 87 unpack float float;
+#X obj 175 176 +;
+#X obj 175 197 + 130;
+#X obj 296 126 * 70;
+#X text 222 198 input commands = 130-143;
+#X text 334 127 output commands = 200-213;
+#X msg 61 229 151;
+#X obj 60 48 trigger bang anything;
+#X obj 61 182 float;
+#X text 142 86 pin#;
+#X text 312 87 mode;
+#X text 89 229 send 151/ENABLE_DIGITAL_INPUT whenever a pin is set
+to input;
+#X obj 61 202 select 0;
+#X connect 0 0 9 0;
+#X connect 2 0 3 0;
+#X connect 2 1 5 0;
+#X connect 2 1 10 1;
+#X connect 3 0 4 0;
+#X connect 4 0 1 0;
+#X connect 5 0 3 1;
+#X connect 8 0 1 0;
+#X connect 9 0 10 0;
+#X connect 9 1 2 0;
+#X connect 10 0 14 0;
+#X connect 14 0 8 0;
+#X restore 280 93 pd pinMode;
+#X obj 139 133 + 160;
+#X obj 210 135 + 150;
+#N canvas 291 228 424 356 pwm 0;
+#X obj 44 14 inlet;
+#X msg 327 220 251;
+#X obj 114 312 outlet;
+#X obj 232 185 * 255;
+#X obj 232 164 clip 0 1;
+#X obj 232 205 int;
+#N canvas 0 22 458 308 list-rev 0;
+#X obj 92 29 inlet;
+#N canvas 0 22 533 407 drip 0;
+#X obj 64 206 list split 1;
+#X obj 64 123 until;
+#X obj 64 181 list append;
+#X obj 194 206 bang;
+#X obj 64 243 outlet;
+#X obj 64 57 inlet;
+#X text 237 44 From list-help.pd;
+#X obj 143 243 outlet;
+#X obj 64 86 t b a;
+#X connect 0 0 4 0;
+#X connect 0 1 2 1;
+#X connect 0 2 3 0;
+#X connect 0 2 7 0;
+#X connect 1 0 2 0;
+#X connect 2 0 0 0;
+#X connect 3 0 1 1;
+#X connect 5 0 8 0;
+#X connect 8 0 1 0;
+#X connect 8 1 2 1;
+#X restore 92 94 pd drip;
+#X obj 148 141 t l;
+#X obj 92 141 list;
+#X obj 136 207 list;
+#X obj 136 259 outlet;
+#X text 174 95 drip list;
+#X text 174 210 intermediate store \, bang'd on list end.;
+#X text 178 140 repack in reverse order;
+#X obj 92 54 t a b b;
+#X connect 0 0 9 0;
+#X connect 1 0 3 0;
+#X connect 1 1 4 0;
+#X connect 2 0 3 1;
+#X connect 3 0 2 0;
+#X connect 3 0 4 1;
+#X connect 4 0 5 0;
+#X connect 9 0 1 0;
+#X connect 9 1 3 1;
+#X connect 9 2 4 1;
+#X restore 44 54 pd list-rev;
+#X obj 44 113 route off;
+#X msg 74 170 250;
+#X obj 44 83 list trim;
+#X text 361 222 PWM on;
+#X obj 44 145 t f b;
+#X text 105 170 PWM off;
+#X obj 232 141 unpack f f;
+#X obj 297 195 t f b;
+#X connect 0 0 6 0;
+#X connect 1 0 2 0;
+#X connect 3 0 5 0;
+#X connect 4 0 3 0;
+#X connect 5 0 2 0;
+#X connect 6 0 9 0;
+#X connect 7 0 11 0;
+#X connect 7 1 13 0;
+#X connect 8 0 2 0;
+#X connect 9 0 7 0;
+#X connect 11 0 2 0;
+#X connect 11 1 8 0;
+#X connect 13 0 4 0;
+#X connect 13 1 14 0;
+#X connect 14 0 2 0;
+#X connect 14 1 1 0;
+#X restore 24 94 pd pwm;
+#X msg 359 93 info;
+#X msg 483 118 240;
+#X obj 412 91 route digital version;
+#X obj 24 51 route pwm analog analogIns digitalIns pinMode info;
+#X obj 139 93 clip 0 9;
+#X connect 0 0 12 0;
+#X connect 2 0 3 0;
+#X connect 3 0 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 1 0;
+#X connect 7 0 1 0;
+#X connect 8 0 1 0;
+#X connect 9 0 1 0;
+#X connect 10 0 1 0;
+#X connect 11 0 4 0;
+#X connect 11 1 10 0;
+#X connect 11 2 1 0;
+#X connect 12 0 8 0;
+#X connect 12 2 13 0;
+#X connect 12 3 2 0;
+#X connect 12 4 5 0;
+#X connect 12 5 9 0;
+#X connect 12 6 11 0;
+#X connect 13 0 6 0;
+#X restore 11 52 pd command processing;
+#X text 257 242 DEBUG/RAW data (this will change);
+#X obj 379 19 inlet;
+#X text 354 0 raw input;
+#X text 10 -1 processed input;
+#N canvas 182 25 396 459 make 0;
+#X obj 147 8 inlet;
+#X obj 71 334 outlet;
+#X obj 147 37 moses 128;
+#X obj 27 198 float;
+#N canvas 382 81 506 356 alternate 0;
+#X obj 34 280 outlet;
+#X obj 209 277 outlet;
+#X obj 34 210 spigot;
+#X obj 209 204 spigot;
+#X obj 33 87 trigger anything bang;
+#X msg 175 107 1;
+#X obj 71 186 float;
+#X obj 245 181 float;
+#X obj 357 41 loadbang;
+#X obj 342 74 bang;
+#X obj 246 158 !=;
+#X obj 71 163 !=;
+#X obj 342 7 inlet;
+#X text 384 6 reset;
+#X obj 33 12 inlet;
+#X msg 329 102 1;
+#X msg 359 102 0;
+#X connect 2 0 0 0;
+#X connect 3 0 1 0;
+#X connect 4 0 2 0;
+#X connect 4 0 3 0;
+#X connect 4 1 5 0;
+#X connect 5 0 10 0;
+#X connect 5 0 11 0;
+#X connect 6 0 2 1;
+#X connect 6 0 11 1;
+#X connect 7 0 3 1;
+#X connect 7 0 10 1;
+#X connect 8 0 9 0;
+#X connect 9 0 16 0;
+#X connect 9 0 15 0;
+#X connect 10 0 7 0;
+#X connect 11 0 6 0;
+#X connect 12 0 9 0;
+#X connect 14 0 4 0;
+#X connect 15 0 11 1;
+#X connect 16 0 10 1;
+#X restore 147 130 pd alternate;
+#X obj 27 173 trigger bang float;
+#X obj 226 111 bang;
+#N canvas 0 22 588 364 convert 0;
+#X obj 98 22 inlet;
+#X obj 163 314 outlet;
+#X obj 365 204 print UNKNOWN_INPUT_COMMAND;
+#X obj 98 68 select 151 240;
+#X obj 191 89 moses 161;
+#X obj 188 195 makefilename analog%c;
+#X obj 188 174 - 113;
+#X msg 117 131 symbol version;
+#X msg 8 131 symbol digital;
+#X obj 250 113 moses 170;
+#X connect 0 0 3 0;
+#X connect 3 0 8 0;
+#X connect 3 1 7 0;
+#X connect 3 2 4 0;
+#X connect 4 0 2 0;
+#X connect 4 1 9 0;
+#X connect 5 0 1 0;
+#X connect 6 0 5 0;
+#X connect 7 0 1 0;
+#X connect 8 0 1 0;
+#X connect 9 0 6 0;
+#X connect 9 1 2 0;
+#X restore 27 219 pd convert commands;
+#X obj 70 296 list trim;
+#X obj 70 273 pack symbol float;
+#X obj 184 219 +;
+#X obj 200 197 * 128;
+#X connect 0 0 2 0;
+#X connect 2 0 4 0;
+#X connect 2 1 3 1;
+#X connect 2 1 6 0;
+#X connect 3 0 7 0;
+#X connect 4 0 5 0;
+#X connect 4 1 11 0;
+#X connect 5 0 3 0;
+#X connect 5 1 10 0;
+#X connect 6 0 4 1;
+#X connect 7 0 9 0;
+#X connect 8 0 1 0;
+#X connect 9 0 8 0;
+#X connect 10 0 9 1;
+#X connect 11 0 10 1;
+#X restore 10 165 pd make lists;
+#X obj 288 103 spigot;
+#X obj 319 81 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X obj 118 116 print comport;
+#X obj 11 96 comport \$1 19200;
+#X obj 288 126 print command;
+#X obj 448 19 import flatspace iemlib mapping;
+#X connect 2 0 5 0;
+#X connect 5 0 11 0;
+#X connect 5 0 14 0;
+#X connect 7 0 14 0;
+#X connect 10 0 3 0;
+#X connect 11 0 15 0;
+#X connect 12 0 11 1;
+#X connect 14 0 4 0;
+#X connect 14 0 10 0;
+#X connect 14 1 13 0;