aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans-Christoph Steiner <eighthave@users.sourceforge.net>2006-06-24 00:43:07 +0000
committerHans-Christoph Steiner <eighthave@users.sourceforge.net>2006-06-24 00:43:07 +0000
commit7f802dda19e43dba9496cea517423c5795730765 (patch)
tree8d6f0699642ea181b5d879931fe081422b30ed10
parente841e007e0198a88375003a49bad7a1129d2ed38 (diff)
added outputMode messages and examples for using [bytemask] to set digital output pins
svn path=/trunk/externals/hardware/arduino/; revision=5291
-rw-r--r--arduino-help.pd659
-rw-r--r--arduino.pd334
2 files changed, 536 insertions, 457 deletions
diff --git a/arduino-help.pd b/arduino-help.pd
index 1d9b2a2..7d49415 100644
--- a/arduino-help.pd
+++ b/arduino-help.pd
@@ -1,301 +1,358 @@
-#N canvas 302 28 656 590 10;
-#X msg 156 146 open \$1;
-#N canvas 162 133 534 384 serin 0;
-#X obj 120 61 cnv 15 15 15 empty \$0-number-canvas 3 4 8 0 14 -233017
--1 0;
-#X obj 200 225 s \$0-number-canvas;
-#X obj 60 61 hradio 15 1 0 4 empty empty empty 0 -6 0 8 -225271 -1
--1 0;
-#X obj 59 147 outlet;
-#X obj 60 13 inlet;
-#X msg 200 202 label \$1;
-#X obj 200 180 makefilename %d;
-#X obj 59 108 int;
-#X connect 2 0 7 0;
-#X connect 4 0 2 0;
-#X connect 5 0 1 0;
-#X connect 6 0 5 0;
-#X connect 7 0 3 0;
-#X connect 7 0 6 0;
-#X coords 0 -1 1 1 76 17 1 60 60;
-#X restore 156 123 pd serin;
-#X text 153 105 serial port #;
-#X text 400 510 released under the GNU GPL;
-#X text 45 510 (C) Copyright 2006 Hans-Christoph Steiner <hans@at.or.at>
-;
-#X msg 216 146 close;
-#X obj 63 478 print --------------------;
-#X obj 408 289 tgl 15 0 empty empty changes 0 -6 0 8 -262144 -1 -1
-0 1;
-#X obj 293 29 hradio 15 1 0 14 empty empty empty 0 -6 0 8 -262131 -1
--1 0;
-#X obj 270 30 tgl 15 0 empty empty empty 0 -6 0 8 -262131 -1 -1 0 1
-;
-#X obj 289 102 +;
-#X obj 270 76 * 14;
-#X obj 289 123 + 200;
-#X floatatom 295 146 5 0 0 0 - - -;
-#X obj 293 48 t b f;
-#X obj 355 292 tgl 15 0 empty empty all 0 -6 0 8 -262144 -1 -1 0 1
-;
-#N canvas 100 289 614 333 decode 0;
-#X obj 241 26 inlet;
-#X obj 46 189 & 1;
-#X obj 72 189 & 2;
-#X obj 98 189 & 4;
-#X obj 46 213 tgl 15 0 empty empty 0 4 25 1 12 -262144 -1 -1 0 1;
-#X obj 72 213 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 2
-;
-#X obj 98 213 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 4
-;
-#X obj 124 213 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-8;
-#X obj 150 213 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-16;
-#X obj 182 213 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-32;
-#X obj 215 213 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-64;
-#X obj 248 213 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-128;
-#X obj 287 213 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-256;
-#X obj 326 213 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-512;
-#X obj 365 213 tgl 15 0 empty empty 10 -1 25 1 12 -262144 -1 -1 0 1024
-;
-#X obj 409 213 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-2048;
-#X obj 453 213 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-4096;
-#X obj 499 213 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-4;
-#X obj 124 189 & 8;
-#X obj 150 189 & 16;
-#X obj 182 189 & 32;
-#X obj 215 189 & 64;
-#X obj 248 189 & 128;
-#X obj 287 189 & 256;
-#X obj 326 189 & 512;
-#X obj 365 189 & 1024;
-#X obj 409 189 & 2048;
-#X obj 453 189 & 4096;
-#X obj 499 189 & 8192;
-#X obj 261 273 outlet;
-#X connect 0 0 1 0;
-#X connect 0 0 2 0;
-#X connect 0 0 3 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 1 0 4 0;
-#X connect 2 0 5 0;
-#X connect 3 0 6 0;
-#X connect 18 0 7 0;
-#X connect 19 0 8 0;
-#X connect 20 0 9 0;
-#X connect 21 0 10 0;
-#X connect 22 0 11 0;
-#X connect 23 0 12 0;
-#X connect 24 0 13 0;
-#X connect 25 0 14 0;
-#X connect 26 0 15 0;
-#X connect 27 0 16 0;
-#X connect 28 0 17 0;
-#X restore 473 488 pd decode buttons;
-#X obj 57 23 hsl 128 15 0 1 0 0 empty empty PWM_control_(0-1) -2 -6
-1 10 -225271 -1 -1 0 0;
-#X msg 64 453 bang;
-#X obj 255 274 arduino 3;
-#X floatatom 332 50 5 0 0 0 - - -;
-#X text 402 15 7;
-#X text 297 15 0;
-#X text 443 15 10;
-#X msg 54 107 \$2 \$1;
-#X obj 54 85 pack float symbol;
-#X msg 165 44 PWM2;
-#X msg 129 44 PWM1;
-#X msg 94 44 PWM0;
-#X obj 67 215 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 16383
-;
-#X obj 67 178 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X obj 21 336 spigot 0;
-#X obj 64 307 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X obj 21 358 route analog0 analog1 analog2 analog3 analog4 analog5
-;
-#X obj 414 408 route digital;
-#X obj 487 428 print GARBAGE;
-#X floatatom 430 488 6 0 0 0 - - -;
-#X text 393 56 how many analogIns to enable:;
-#X obj 405 117 tgl 15 1 empty empty empty 0 -6 0 8 -257472 -1 -1 1
-1;
-#X text 428 116 enable/disable digitalIns;
-#X msg 405 135 digitalIns \$1;
-#X msg 394 90 analogIns \$1;
-#N canvas 162 133 546 396 serin 0;
-#X obj 165 61 cnv 15 15 15 empty \$0-analog-number-canvas 6 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 6;
-#X obj 59 147 outlet;
-#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 connect 1 0 6 0;
-#X connect 3 0 1 0;
-#X connect 4 0 7 0;
-#X connect 5 0 4 0;
-#X connect 6 0 2 0;
-#X connect 6 0 5 0;
-#X coords 0 -1 1 1 121 17 1 60 60;
-#X restore 394 70 pd serin;
-#X text 488 15 13;
-#X text 245 1 turn on output mode for each pin (off = input);
-#X obj 367 462 spigot;
-#X obj 400 444 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-1;
-#X obj 367 483 print;
-#X msg 381 225 231 \, 20 \, 226 \, 213;
-#X text 5 229 this will flash any pin set to output;
-#N canvas 0 0 261 248 speed 0;
-#X obj 21 41 inlet;
-#X obj 21 62 maxlib/speedlim 100;
-#X obj 21 84 outlet;
-#X obj 82 125 inlet;
-#X obj 82 146 maxlib/speedlim 100;
-#X obj 82 168 outlet;
-#X obj 92 135 inlet;
-#X obj 92 156 maxlib/speedlim 100;
-#X obj 92 178 outlet;
-#X obj 102 145 inlet;
-#X obj 102 166 maxlib/speedlim 100;
-#X obj 102 188 outlet;
-#X obj 112 155 inlet;
-#X obj 112 176 maxlib/speedlim 100;
-#X obj 112 198 outlet;
-#X obj 122 165 inlet;
-#X obj 122 186 maxlib/speedlim 100;
-#X obj 122 208 outlet;
-#X obj 132 175 inlet;
-#X obj 132 196 maxlib/speedlim 100;
-#X obj 132 218 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 connect 18 0 19 0;
-#X connect 19 0 20 0;
-#X restore 21 380 pd speed limiting for displaying values with pegging
-the CPU;
-#N canvas 77 268 454 304 debugging 0;
-#X obj 136 31 inlet;
-#X obj 324 29 inlet;
-#X obj 27 31 inlet;
-#X obj 162 81 spigot;
-#X obj 159 106 select 255;
-#X obj 184 246 print;
-#X obj 184 227 list;
-#X obj 96 80 spigot;
-#X obj 210 201 bang;
-#X obj 96 101 print;
-#X obj 181 138 mapping/tolist;
-#X obj 208 181 change;
-#X obj 208 159 list-abs/list-len;
-#X connect 0 0 7 1;
-#X connect 1 0 3 1;
-#X connect 2 0 7 0;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 4 0 10 1;
-#X connect 4 1 10 0;
-#X connect 6 0 5 0;
-#X connect 7 0 9 0;
-#X connect 8 0 6 0;
-#X connect 10 0 6 1;
-#X connect 10 0 12 0;
-#X connect 11 0 8 0;
-#X connect 12 0 11 0;
-#X restore 304 311 pd debugging stuff;
-#X text 334 209 use raw data to save settings more compactly;
-#X floatatom 21 405 5 0 0 0 - - -;
-#X floatatom 80 405 5 0 0 0 - - -;
-#X floatatom 139 405 5 0 0 0 - - -;
-#X floatatom 198 405 5 0 0 0 - - -;
-#X floatatom 257 405 5 0 0 0 - - -;
-#X floatatom 316 405 5 0 0 0 - - -;
-#X obj 151 66 symbol;
-#X obj 66 196 metro 100;
-#X connect 0 0 19 0;
-#X connect 1 0 0 0;
-#X connect 5 0 19 0;
-#X connect 7 0 51 2;
-#X connect 8 0 14 0;
-#X connect 8 0 20 0;
-#X connect 9 0 11 0;
-#X connect 10 0 12 0;
-#X connect 11 0 10 0;
-#X connect 12 0 13 0;
-#X connect 12 0 19 0;
-#X connect 14 0 11 0;
-#X connect 14 1 10 1;
-#X connect 15 0 51 1;
-#X connect 17 0 25 0;
-#X connect 18 0 6 0;
-#X connect 19 0 31 0;
-#X connect 19 1 51 0;
-#X connect 24 0 19 0;
-#X connect 25 0 24 0;
-#X connect 26 0 59 0;
-#X connect 27 0 59 0;
-#X connect 28 0 59 0;
-#X connect 29 0 19 0;
-#X connect 30 0 60 0;
-#X connect 31 0 33 0;
-#X connect 32 0 31 1;
-#X connect 33 0 50 0;
-#X connect 33 1 50 1;
-#X connect 33 2 50 2;
-#X connect 33 3 50 3;
-#X connect 33 4 50 4;
-#X connect 33 5 50 5;
-#X connect 33 6 50 6;
-#X connect 34 0 16 0;
-#X connect 34 0 36 0;
-#X connect 34 0 45 0;
-#X connect 34 1 35 0;
-#X connect 38 0 40 0;
-#X connect 40 0 19 0;
-#X connect 41 0 19 0;
-#X connect 42 0 41 0;
-#X connect 45 0 47 0;
-#X connect 46 0 45 1;
-#X connect 48 0 19 1;
-#X connect 50 0 53 0;
-#X connect 50 1 54 0;
-#X connect 50 2 55 0;
-#X connect 50 3 56 0;
-#X connect 50 4 57 0;
-#X connect 50 5 58 0;
-#X connect 50 6 34 0;
-#X connect 59 0 25 1;
-#X connect 60 0 29 0;
+#N canvas 202 94 654 546 10;
+#X msg 156 146 open \$1;
+#N canvas 162 133 534 384 serin 0;
+#X obj 120 61 cnv 15 15 15 empty \$0-number-canvas 3 4 8 0 14 -233017
+-1 0;
+#X obj 200 225 s \$0-number-canvas;
+#X obj 60 61 hradio 15 1 0 4 empty empty empty 0 -6 0 8 -225271 -1
+-1 0;
+#X obj 59 147 outlet;
+#X obj 60 13 inlet;
+#X msg 200 202 label \$1;
+#X obj 200 180 makefilename %d;
+#X obj 59 108 int;
+#X connect 2 0 7 0;
+#X connect 4 0 2 0;
+#X connect 5 0 1 0;
+#X connect 6 0 5 0;
+#X connect 7 0 3 0;
+#X connect 7 0 6 0;
+#X coords 0 -1 1 1 76 17 1 60 60;
+#X restore 156 123 pd serin;
+#X text 153 105 serial port #;
+#X text 424 509 released under the GNU GPL;
+#X text 7 507 (C) Copyright 2006 Hans-Christoph Steiner <hans@at.or.at>
+;
+#X msg 216 146 close;
+#X obj 63 478 print --------------------;
+#X obj 408 289 tgl 15 0 empty empty changes 0 -6 0 8 -262144 -1 -1
+0 1;
+#X obj 278 29 hradio 15 1 0 14 empty empty empty 0 -6 0 8 -262131 -1
+-1 0;
+#X obj 255 30 tgl 15 0 empty empty empty 0 -6 0 8 -262131 -1 -1 0 1
+;
+#X obj 355 292 tgl 15 0 empty empty all 0 -6 0 8 -262144 -1 -1 0 1
+;
+#N canvas 100 289 626 345 decode 0;
+#X obj 241 26 inlet;
+#X obj 46 189 & 1;
+#X obj 72 189 & 2;
+#X obj 98 189 & 4;
+#X obj 46 213 tgl 15 0 empty empty 0 4 25 1 12 -262144 -1 -1 0 1;
+#X obj 72 213 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 2
+;
+#X obj 98 213 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 4
+;
+#X obj 124 213 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+8;
+#X obj 150 213 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+16;
+#X obj 182 213 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+32;
+#X obj 215 213 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+64;
+#X obj 248 213 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+128;
+#X obj 287 213 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+256;
+#X obj 326 213 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+512;
+#X obj 365 213 tgl 15 0 empty empty 10 -1 25 1 12 -262144 -1 -1 0 1024
+;
+#X obj 409 213 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+2048;
+#X obj 453 213 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+4096;
+#X obj 499 213 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+4;
+#X obj 124 189 & 8;
+#X obj 150 189 & 16;
+#X obj 182 189 & 32;
+#X obj 215 189 & 64;
+#X obj 248 189 & 128;
+#X obj 287 189 & 256;
+#X obj 326 189 & 512;
+#X obj 365 189 & 1024;
+#X obj 409 189 & 2048;
+#X obj 453 189 & 4096;
+#X obj 499 189 & 8192;
+#X obj 261 273 outlet;
+#X connect 0 0 1 0;
+#X connect 0 0 2 0;
+#X connect 0 0 3 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 1 0 4 0;
+#X connect 2 0 5 0;
+#X connect 3 0 6 0;
+#X connect 18 0 7 0;
+#X connect 19 0 8 0;
+#X connect 20 0 9 0;
+#X connect 21 0 10 0;
+#X connect 22 0 11 0;
+#X connect 23 0 12 0;
+#X connect 24 0 13 0;
+#X connect 25 0 14 0;
+#X connect 26 0 15 0;
+#X connect 27 0 16 0;
+#X connect 28 0 17 0;
+#X restore 473 488 pd decode buttons;
+#X obj 57 23 hsl 128 15 0 1 0 0 empty empty PWM_control_(0-1) -2 -6
+1 10 -225271 -1 -1 0 0;
+#X msg 64 453 bang;
+#X obj 255 274 arduino 3;
+#X text 387 15 7;
+#X text 282 15 0;
+#X text 428 15 10;
+#X msg 54 107 \$2 \$1;
+#X obj 54 85 pack float symbol;
+#X msg 165 44 PWM2;
+#X msg 129 44 PWM1;
+#X msg 94 44 PWM0;
+#X obj 67 215 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 16383
+;
+#X obj 67 178 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 21 336 spigot 0;
+#X obj 64 307 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 21 358 route analog0 analog1 analog2 analog3 analog4 analog5
+;
+#X obj 414 408 route digital;
+#X obj 487 428 print GARBAGE;
+#X floatatom 430 488 6 0 0 0 - - -;
+#X text 393 56 how many analogIns to enable:;
+#X obj 405 117 tgl 15 1 empty empty empty 0 -6 0 8 -257472 -1 -1 1
+1;
+#X text 428 116 enable/disable digitalIns;
+#X msg 405 135 digitalIns \$1;
+#X msg 394 90 analogIns \$1;
+#N canvas 162 133 546 396 serin 0;
+#X obj 165 61 cnv 15 15 15 empty \$0-analog-number-canvas 6 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 6;
+#X obj 59 147 outlet;
+#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 connect 1 0 6 0;
+#X connect 3 0 1 0;
+#X connect 4 0 7 0;
+#X connect 5 0 4 0;
+#X connect 6 0 2 0;
+#X connect 6 0 5 0;
+#X coords 0 -1 1 1 121 17 1 60 60;
+#X restore 394 70 pd serin;
+#X text 473 15 13;
+#X text 230 1 turn on output mode for each pin (off = input);
+#X obj 367 462 spigot;
+#X obj 400 444 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 367 483 print;
+#X msg 381 225 231 \, 20 \, 226 \, 213;
+#X text 5 229 this will flash any pin set to output;
+#N canvas 0 22 261 248 speed 0;
+#X obj 21 41 inlet;
+#X obj 21 62 maxlib/speedlim 100;
+#X obj 21 84 outlet;
+#X obj 82 125 inlet;
+#X obj 82 146 maxlib/speedlim 100;
+#X obj 82 168 outlet;
+#X obj 92 135 inlet;
+#X obj 92 156 maxlib/speedlim 100;
+#X obj 92 178 outlet;
+#X obj 102 145 inlet;
+#X obj 102 166 maxlib/speedlim 100;
+#X obj 102 188 outlet;
+#X obj 112 155 inlet;
+#X obj 112 176 maxlib/speedlim 100;
+#X obj 112 198 outlet;
+#X obj 122 165 inlet;
+#X obj 122 186 maxlib/speedlim 100;
+#X obj 122 208 outlet;
+#X obj 132 175 inlet;
+#X obj 132 196 maxlib/speedlim 100;
+#X obj 132 218 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 connect 18 0 19 0;
+#X connect 19 0 20 0;
+#X restore 21 380 pd speed limiting for displaying values with pegging
+the CPU;
+#N canvas 77 268 454 304 debugging 0;
+#X obj 136 31 inlet;
+#X obj 324 29 inlet;
+#X obj 27 31 inlet;
+#X obj 162 81 spigot;
+#X obj 159 106 select 255;
+#X obj 184 246 print;
+#X obj 184 227 list;
+#X obj 96 80 spigot;
+#X obj 210 201 bang;
+#X obj 96 101 print;
+#X obj 181 138 mapping/tolist;
+#X obj 208 181 change;
+#X obj 208 159 list-abs/list-len;
+#X connect 0 0 7 1;
+#X connect 1 0 3 1;
+#X connect 2 0 7 0;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 4 0 10 1;
+#X connect 4 1 10 0;
+#X connect 6 0 5 0;
+#X connect 7 0 9 0;
+#X connect 8 0 6 0;
+#X connect 10 0 6 1;
+#X connect 10 0 12 0;
+#X connect 11 0 8 0;
+#X connect 12 0 11 0;
+#X restore 304 311 pd debugging stuff;
+#X text 334 209 use raw data to save settings more compactly;
+#X floatatom 21 405 5 0 0 0 - - -;
+#X floatatom 80 405 5 0 0 0 - - -;
+#X floatatom 139 405 5 0 0 0 - - -;
+#X floatatom 198 405 5 0 0 0 - - -;
+#X floatatom 257 405 5 0 0 0 - - -;
+#X floatatom 316 405 5 0 0 0 - - -;
+#X obj 151 66 symbol;
+#X obj 66 196 metro 100;
+#X obj 255 50 pack 0 0;
+#X text 342 15 4;
+#X text 311 15 2;
+#X text 356 15 5;
+#X text 371 15 6;
+#X text 327 15 3;
+#X msg 255 71 outputMode \$2 \$1;
+#N canvas 485 91 546 327 sending 0;
+#X obj 142 285 outlet;
+#X obj 129 84 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 146 84 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 163 84 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 180 84 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 197 84 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 214 84 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 231 84 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 168 125 bytemask;
+#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 300 85 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 317 85 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 334 85 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 351 85 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 368 85 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 385 85 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 402 85 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 339 126 bytemask;
+#X obj 142 205 pack float float;
+#X msg 142 231 255 \, \$1 \, \$2;
+#X text 143 65 pins 0-6;
+#X text 330 66 pins 7-13;
+#X obj 212 164 trigger bang float;
+#X connect 1 0 8 0;
+#X connect 2 0 8 1;
+#X connect 3 0 8 2;
+#X connect 4 0 8 3;
+#X connect 5 0 8 4;
+#X connect 6 0 8 5;
+#X connect 7 0 8 6;
+#X connect 8 0 18 0;
+#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 22 0;
+#X connect 18 0 19 0;
+#X connect 19 0 0 0;
+#X connect 22 0 18 0;
+#X connect 22 1 18 1;
+#X restore 10 258 pd sending digital outs;
+#X connect 0 0 14 0;
+#X connect 1 0 0 0;
+#X connect 5 0 14 0;
+#X connect 7 0 45 2;
+#X connect 8 0 55 1;
+#X connect 9 0 55 0;
+#X connect 10 0 45 1;
+#X connect 12 0 19 0;
+#X connect 13 0 6 0;
+#X connect 14 0 25 0;
+#X connect 14 1 45 0;
+#X connect 18 0 14 0;
+#X connect 19 0 18 0;
+#X connect 20 0 53 0;
+#X connect 21 0 53 0;
+#X connect 22 0 53 0;
+#X connect 23 0 14 0;
+#X connect 24 0 54 0;
+#X connect 25 0 27 0;
+#X connect 26 0 25 1;
+#X connect 27 0 44 0;
+#X connect 27 1 44 1;
+#X connect 27 2 44 2;
+#X connect 27 3 44 3;
+#X connect 27 4 44 4;
+#X connect 27 5 44 5;
+#X connect 27 6 44 6;
+#X connect 28 0 11 0;
+#X connect 28 0 30 0;
+#X connect 28 0 39 0;
+#X connect 28 1 29 0;
+#X connect 32 0 34 0;
+#X connect 34 0 14 0;
+#X connect 35 0 14 0;
+#X connect 36 0 35 0;
+#X connect 39 0 41 0;
+#X connect 40 0 39 1;
+#X connect 42 0 14 1;
+#X connect 44 0 47 0;
+#X connect 44 1 48 0;
+#X connect 44 2 49 0;
+#X connect 44 3 50 0;
+#X connect 44 4 51 0;
+#X connect 44 5 52 0;
+#X connect 44 6 28 0;
+#X connect 53 0 19 1;
+#X connect 54 0 23 0;
+#X connect 55 0 61 0;
+#X connect 61 0 14 0;
+#X connect 62 0 14 0;
diff --git a/arduino.pd b/arduino.pd
index d15c55c..e69a362 100644
--- a/arduino.pd
+++ b/arduino.pd
@@ -1,156 +1,178 @@
-#N canvas 81 0 609 526 10;
-#X text 390 446 released under the GNU GPL;
-#X text 12 446 (C) Copyright 2006 Hans-Christoph Steiner <hans@at.or.at>
-;
-#N canvas 562 456 466 316 alternate 0;
-#X obj 87 8 inlet;
-#X obj 151 244 outlet;
-#X obj 319 247 outlet;
-#X obj 159 197 spigot;
-#X obj 319 191 spigot;
-#X obj 158 57 trigger anything bang;
-#X obj 196 152 abs;
-#X floatatom 212 198 5 0 0 0 - - -;
-#X obj 356 147 abs;
-#X msg 295 77 1;
-#X obj 196 173 float;
-#X obj 355 168 float;
-#X obj 86 34 route reset;
-#X obj 356 128 -;
-#X obj 196 133 -;
-#X obj 15 35 loadbang;
-#X obj 86 54 bang;
-#X msg 73 82 1;
-#X msg 103 82 0;
-#X connect 0 0 12 0;
-#X connect 3 0 1 0;
-#X connect 4 0 2 0;
-#X connect 5 0 3 0;
-#X connect 5 0 4 0;
-#X connect 5 1 9 0;
-#X connect 6 0 10 0;
-#X connect 8 0 11 0;
-#X connect 9 0 13 0;
-#X connect 9 0 14 0;
-#X connect 10 0 3 1;
-#X connect 10 0 7 0;
-#X connect 10 0 14 1;
-#X connect 11 0 4 1;
-#X connect 11 0 13 1;
-#X connect 12 0 16 0;
-#X connect 12 1 5 0;
-#X connect 13 0 8 0;
-#X connect 14 0 6 0;
-#X connect 15 0 18 0;
-#X connect 15 0 17 0;
-#X connect 16 0 18 0;
-#X connect 16 0 17 0;
-#X connect 17 0 14 1;
-#X connect 18 0 13 1;
-#X restore 66 161 pd alternate;
-#X msg 11 130 reset;
-#X obj 120 203 +;
-#X obj 120 224 trigger bang float;
-#X obj 126 375 pack symbol float;
-#X msg 124 258 0;
-#X obj 11 108 select 255;
-#X obj 133 182 * 128;
-#X obj 11 -9 inlet;
-#X obj 126 425 outlet;
-#X obj 494 241 outlet;
-#X obj 11 66 comport \$1 9600;
-#N canvas 240 282 607 443 command 1;
-#X obj 79 8 inlet;
-#X obj 55 378 outlet;
-#X obj 155 114 * 255;
-#X obj 100 114 * 255;
-#X obj 45 114 * 255;
-#X obj 155 93 clip 0 1;
-#X obj 100 93 clip 0 1;
-#X obj 45 93 clip 0 1;
-#X msg 155 135 232 \, \$1;
-#X msg 100 135 231 \, \$1;
-#X msg 45 135 230 \, \$1;
-#X obj 210 94 clip 0 6;
-#X obj 210 135 + 240;
-#X obj 263 94 clip 0 1;
-#X obj 263 115 int;
-#X obj 263 137 + 238;
-#X obj 79 53 route PWM0 PWM1 PWM2 analogIns digitalIns;
-#X obj 322 93 route float;
-#X obj 439 152 & 127;
-#X obj 370 173 & 127;
-#X obj 370 129 trigger float float bang;
-#X msg 494 154 255;
-#X text 337 56 break up digital-out bitmask;
-#X obj 370 151 >> 7;
-#X connect 0 0 16 0;
-#X connect 2 0 8 0;
-#X connect 3 0 9 0;
-#X connect 4 0 10 0;
-#X connect 5 0 2 0;
-#X connect 6 0 3 0;
-#X connect 7 0 4 0;
-#X connect 8 0 1 0;
-#X connect 9 0 1 0;
-#X connect 10 0 1 0;
-#X connect 11 0 12 0;
-#X connect 12 0 1 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 1 0;
-#X connect 16 0 7 0;
-#X connect 16 1 6 0;
-#X connect 16 2 5 0;
-#X connect 16 3 11 0;
-#X connect 16 4 13 0;
-#X connect 16 5 17 0;
-#X connect 17 0 20 0;
-#X connect 17 1 1 0;
-#X connect 18 0 1 0;
-#X connect 19 0 1 0;
-#X connect 20 0 23 0;
-#X connect 20 1 18 0;
-#X connect 20 2 21 0;
-#X connect 21 0 1 0;
-#X connect 23 0 19 0;
-#X restore 11 22 pd command processing;
-#X obj 66 132 moses 128;
-#X msg 47 346 symbol digital;
-#X obj 142 345 makefilename analog%c;
-#X obj 99 279 float;
-#X obj 138 279 + 1;
-#X obj 126 400 list trim;
-#X obj 99 301 select 0;
-#X text 291 241 DEBUG/RAW data (this will change);
-#X obj 142 323 + 47;
-#X obj 443 -5 inlet;
-#X text 382 -10 raw input;
-#X text 48 -11 processed input;
-#X connect 2 0 4 0;
-#X connect 2 1 9 0;
-#X connect 3 0 2 0;
-#X connect 3 0 7 0;
-#X connect 4 0 5 0;
-#X connect 5 0 18 0;
-#X connect 5 1 6 1;
-#X connect 6 0 20 0;
-#X connect 7 0 18 1;
-#X connect 8 0 3 0;
-#X connect 8 1 15 0;
-#X connect 9 0 4 1;
-#X connect 10 0 14 0;
-#X connect 13 0 8 0;
-#X connect 13 0 12 0;
-#X connect 14 0 13 0;
-#X connect 15 0 2 0;
-#X connect 16 0 6 0;
-#X connect 17 0 6 0;
-#X connect 18 0 19 0;
-#X connect 18 0 21 0;
-#X connect 19 0 18 1;
-#X connect 20 0 11 0;
-#X connect 21 0 16 0;
-#X connect 21 1 23 0;
-#X connect 23 0 17 0;
-#X connect 24 0 13 0;
+#N canvas 449 224 612 492 10;
+#X text 414 457 released under the GNU GPL;
+#X text 9 457 (C) Copyright 2006 Hans-Christoph Steiner <hans@at.or.at>
+;
+#N canvas 562 456 466 316 alternate 0;
+#X obj 87 8 inlet;
+#X obj 151 244 outlet;
+#X obj 319 247 outlet;
+#X obj 159 197 spigot;
+#X obj 319 191 spigot;
+#X obj 158 57 trigger anything bang;
+#X obj 196 152 abs;
+#X floatatom 212 198 5 0 0 0 - - -;
+#X obj 356 147 abs;
+#X msg 295 77 1;
+#X obj 196 173 float;
+#X obj 355 168 float;
+#X obj 86 34 route reset;
+#X obj 356 128 -;
+#X obj 196 133 -;
+#X obj 15 35 loadbang;
+#X obj 86 54 bang;
+#X msg 73 82 1;
+#X msg 103 82 0;
+#X connect 0 0 12 0;
+#X connect 3 0 1 0;
+#X connect 4 0 2 0;
+#X connect 5 0 3 0;
+#X connect 5 0 4 0;
+#X connect 5 1 9 0;
+#X connect 6 0 10 0;
+#X connect 8 0 11 0;
+#X connect 9 0 13 0;
+#X connect 9 0 14 0;
+#X connect 10 0 3 1;
+#X connect 10 0 7 0;
+#X connect 10 0 14 1;
+#X connect 11 0 4 1;
+#X connect 11 0 13 1;
+#X connect 12 0 16 0;
+#X connect 12 1 5 0;
+#X connect 13 0 8 0;
+#X connect 14 0 6 0;
+#X connect 15 0 18 0;
+#X connect 15 0 17 0;
+#X connect 16 0 18 0;
+#X connect 16 0 17 0;
+#X connect 17 0 14 1;
+#X connect 18 0 13 1;
+#X restore 66 161 pd alternate;
+#X msg 11 130 reset;
+#X obj 120 203 +;
+#X obj 120 224 trigger bang float;
+#X obj 126 375 pack symbol float;
+#X msg 124 258 0;
+#X obj 11 108 select 255;
+#X obj 133 182 * 128;
+#X obj 11 -9 inlet;
+#X obj 126 425 outlet;
+#X obj 494 241 outlet;
+#X obj 11 66 comport \$1 9600;
+#N canvas 528 330 562 307 command 0;
+#X obj 79 8 inlet;
+#X obj 198 269 outlet;
+#X obj 135 115 * 255;
+#X obj 70 115 * 255;
+#X obj 5 115 * 255;
+#X obj 135 94 clip 0 1;
+#X obj 70 94 clip 0 1;
+#X obj 5 94 clip 0 1;
+#X msg 135 136 232 \, \$1;
+#X msg 70 136 231 \, \$1;
+#X msg 5 136 230 \, \$1;
+#X obj 200 94 clip 0 6;
+#X obj 200 135 + 240;
+#X obj 263 94 clip 0 1;
+#X obj 263 115 int;
+#X obj 263 137 + 238;
+#N canvas 0 22 458 308 digital-out 0;
+#X obj 67 20 inlet;
+#X obj 85 280 outlet;
+#X obj 65 108 route float;
+#X obj 221 191 & 127;
+#X obj 140 208 & 127;
+#X obj 140 164 trigger float float bang;
+#X msg 303 186 255;
+#X text 104 89 break up digital-out bitmask;
+#X obj 140 186 >> 7;
+#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 8 0;
+#X connect 5 1 3 0;
+#X connect 5 2 6 0;
+#X connect 6 0 1 0;
+#X connect 8 0 4 0;
+#X restore 431 94 pd digital-out;
+#X obj 80 53 route PWM0 PWM1 PWM2 analogIns digitalIns outputMode;
+#N canvas 0 22 466 316 outputMode 0;
+#X obj 81 11 inlet;
+#X obj 105 275 outlet;
+#X obj 81 70 unpack float float;
+#X obj 105 176 +;
+#X obj 178 126 * 14;
+#X obj 105 197 + 200;
+#X connect 0 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 3 1;
+#X connect 5 0 1 0;
+#X restore 334 94 pd outputMode;
+#X connect 0 0 17 0;
+#X connect 2 0 8 0;
+#X connect 3 0 9 0;
+#X connect 4 0 10 0;
+#X connect 5 0 2 0;
+#X connect 6 0 3 0;
+#X connect 7 0 4 0;
+#X connect 8 0 1 0;
+#X connect 9 0 1 0;
+#X connect 10 0 1 0;
+#X connect 11 0 12 0;
+#X connect 12 0 1 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 1 0;
+#X connect 16 0 1 0;
+#X connect 17 0 7 0;
+#X connect 17 1 6 0;
+#X connect 17 2 5 0;
+#X connect 17 3 11 0;
+#X connect 17 4 13 0;
+#X connect 17 5 18 0;
+#X connect 17 6 16 0;
+#X connect 18 0 1 0;
+#X restore 11 22 pd command processing;
+#X obj 66 132 moses 128;
+#X msg 27 346 symbol digital;
+#X obj 142 345 makefilename analog%c;
+#X obj 99 279 float;
+#X obj 138 279 + 1;
+#X obj 126 400 list trim;
+#X obj 99 301 select 0;
+#X text 287 255 DEBUG/RAW data (this will change);
+#X obj 142 323 + 47;
+#X obj 443 -5 inlet;
+#X text 382 -10 raw input;
+#X text 48 -11 processed input;
+#X connect 2 0 4 0;
+#X connect 2 1 9 0;
+#X connect 3 0 2 0;
+#X connect 3 0 7 0;
+#X connect 4 0 5 0;
+#X connect 5 0 18 0;
+#X connect 5 1 6 1;
+#X connect 6 0 20 0;
+#X connect 7 0 18 1;
+#X connect 8 0 3 0;
+#X connect 8 1 15 0;
+#X connect 9 0 4 1;
+#X connect 10 0 14 0;
+#X connect 13 0 8 0;
+#X connect 13 0 12 0;
+#X connect 14 0 13 0;
+#X connect 15 0 2 0;
+#X connect 16 0 6 0;
+#X connect 17 0 6 0;
+#X connect 18 0 19 0;
+#X connect 18 0 21 0;
+#X connect 19 0 18 1;
+#X connect 20 0 11 0;
+#X connect 21 0 16 0;
+#X connect 21 1 23 0;
+#X connect 23 0 17 0;
+#X connect 24 0 13 0;