aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans-Christoph Steiner <eighthave@users.sourceforge.net>2006-08-27 02:09:16 +0000
committerHans-Christoph Steiner <eighthave@users.sourceforge.net>2006-08-27 02:09:16 +0000
commit98e71838d67246495a3518a23dad428e7bf3a2bb (patch)
treeba10a608b1f3c1a7a96b9ef926bf02afc07127fc
parentfc87836a7801aaab25a25b862a1de5422cc82d64 (diff)
digital output and digital pin mode toggling work again
svn path=/trunk/externals/hardware/arduino/; revision=5754
-rw-r--r--arduino-help.pd452
-rw-r--r--arduino.pd111
2 files changed, 330 insertions, 233 deletions
diff --git a/arduino-help.pd b/arduino-help.pd
index 6c78cee..c04700c 100644
--- a/arduino-help.pd
+++ b/arduino-help.pd
@@ -1,37 +1,44 @@
-#N canvas 325 22 670 562 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 1 4 8 0 14 -233017
+#N canvas 456 108 679 554 10;
+#X msg 166 173 open 1;
+#N canvas 627 365 356 380 serin 0;
+#X obj 180 61 cnv 15 15 15 empty \$0-number-canvas 1 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
+#X obj 60 61 hradio 15 1 1 8 empty empty empty 0 -6 0 8 -225271 -1
-1 1;
-#X obj 59 147 outlet;
+#X obj 59 337 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 59 266 trigger bang anything;
+#X msg 59 206 open \$1;
+#X obj 118 302 cyclone/prepend set;
#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 connect 7 0 9 0;
+#X connect 8 0 3 0;
+#X connect 8 1 10 0;
+#X connect 9 0 8 0;
+#X connect 10 0 3 0;
+#X coords 0 -1 1 1 136 17 1 60 60;
+#X restore 166 150 pd serin;
+#X text 163 132 serial port #;
+#X text 424 528 released under the GNU GPL;
+#X text 7 526 (C) Copyright 2006 Hans-Christoph Steiner <hans@at.or.at>
;
-#X msg 216 146 close;
-#X obj 63 478 print --------------------;
-#X obj 560 290 tgl 15 0 empty empty changes 0 -6 0 8 -262144 -1 -1
+#X msg 226 173 close;
+#X obj 63 497 print --------------------;
+#X obj 434 321 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 10;
-#X obj 255 30 tgl 15 0 empty empty empty 0 -6 0 8 -262131 -1 -1 0 1
+#X obj 353 61 hradio 15 1 0 14 empty empty empty 0 -6 0 8 -262131 -1
+-1 0;
+#X obj 330 62 tgl 15 0 empty empty empty 0 -6 0 8 -262131 -1 -1 0 1
;
-#X obj 499 290 tgl 15 0 empty empty all 0 -6 0 8 -262144 -1 -1 0 1
+#X obj 373 321 tgl 15 0 empty empty all 0 -6 0 8 -262144 -1 -1 0 1
;
#N canvas 514 440 628 350 decode 0;
#X obj 241 26 inlet;
@@ -43,19 +50,19 @@
2;
#X obj 477 213 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
4;
-#X obj 433 213 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 8
+#X obj 433 213 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
8;
#X obj 389 213 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
16;
-#X obj 314 213 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+#X obj 314 213 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 64
64;
#X obj 277 213 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
128;
#X obj 195 213 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
512;
-#X obj 151 213 tgl 15 0 empty empty 10 -1 25 1 12 -262144 -1 -1 1024
-1024;
-#X obj 107 213 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+#X obj 151 213 tgl 15 0 empty empty 10 -1 25 1 12 -262144 -1 -1 0 1024
+;
+#X obj 107 213 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 2048
2048;
#X obj 63 213 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 4096
;
@@ -107,62 +114,59 @@
#X connect 24 0 13 0;
#X connect 25 0 14 0;
#X connect 26 0 15 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 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 restore 473 507 pd decode buttons;
+#X obj 93 89 hsl 150 17 0 1 0 0 empty empty PWM_control_(0-1) -2 -6
+1 10 -225271 -1 -1 3400 0;
+#X msg 64 472 bang;
+#X text 461 47 7;
+#X text 355 47 0;
+#X text 502 47 10;
+#X obj 21 355 spigot 0;
+#X obj 64 326 tgl 15 0 empty empty empty 0 -6 0 8 -225271 -1 -1 1 1
;
-#X obj 21 336 spigot 0;
-#X obj 64 307 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
+#X obj 21 377 route analog0 analog1 analog2 analog3 analog4 analog5
;
-#X obj 21 358 route analog0 analog1 analog2 analog3 analog4 analog5
-;
-#X obj 435 403 route digital;
-#X obj 521 423 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 0
+#X obj 435 422 route digital;
+#X obj 521 442 print GARBAGE;
+#X floatatom 430 507 6 0 0 0 - - -;
+#X text 329 127 how many analogIns to enable:;
+#X obj 330 188 tgl 15 1 empty empty empty 0 -6 0 8 -257472 -1 -1 0
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 text 353 187 enable/disable digitalIns;
+#X msg 330 206 digitalIns \$1;
+#X msg 330 164 analogIns 0;
+#N canvas 162 133 554 404 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 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 obj 59 337 outlet;
+#X obj 59 266 trigger bang anything;
+#X obj 118 302 cyclone/prepend set;
+#X msg 60 210 analogIns \$1;
+#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 6 0 2 0;
-#X connect 6 0 5 0;
+#X connect 5 0 10 0;
+#X connect 8 0 7 0;
+#X connect 8 1 9 0;
+#X connect 9 0 7 0;
+#X connect 10 0 8 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
+#X restore 330 144 pd serin;
+#X text 546 47 13;
+#X text 328 33 turn on output mode for each pin (off = input);
+#X obj 367 481 spigot;
+#X obj 400 463 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
1;
-#X obj 367 483 print;
-#X text 5 229 this will flash any pin set to output;
+#X obj 367 502 print;
#N canvas 0 22 269 256 speed 0;
#X obj 21 41 inlet;
#X obj 21 62 maxlib/speedlim 100;
@@ -199,7 +203,7 @@
#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
+#X restore 21 399 pd speed limiting for displaying values with pegging
the CPU;
#N canvas 77 268 458 308 debugging 0;
#X obj 136 31 inlet;
@@ -229,132 +233,204 @@ the CPU;
#X connect 10 0 12 0;
#X connect 11 0 8 0;
#X connect 12 0 11 0;
-#X restore 439 308 pd debugging stuff;
-#X text 315 193 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 574 355 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 restore 313 339 pd debugging stuff;
+#X text 351 235 use raw data to save settings more compactly;
+#X floatatom 21 424 5 0 0 3 analog0 - -;
+#X floatatom 90 424 5 0 0 3 analog1 - -;
+#X floatatom 159 424 5 0 0 3 analog2 - -;
+#X floatatom 228 424 5 0 0 3 analog3 - -;
+#X floatatom 297 424 5 0 0 3 analog4 - -;
+#X floatatom 366 424 5 0 0 3 analog5 - -;
+#X text 415 47 4;
+#X text 384 47 2;
+#X text 429 47 5;
+#X text 444 47 6;
+#X text 400 47 3;
+#X msg 330 103 outputMode 11 0;
+#N canvas 546 311 538 361 sending 0;
+#X obj 167 325 outlet;
+#X obj 49 64 tgl 15 0 empty empty 0 4 -6 1 12 -233017 -1 -1 0 1;
+#X obj 66 64 tgl 15 0 empty empty 1 4 -6 1 12 -233017 -1 -1 0 1;
+#X obj 83 64 tgl 15 0 empty empty 2 4 -6 1 12 -233017 -1 -1 0 1;
+#X obj 100 64 tgl 15 0 empty empty 3 4 -6 1 12 -233017 -1 -1 0 1;
+#X obj 117 64 tgl 15 0 empty empty 4 4 -6 1 12 -233017 -1 -1 0 1;
+#X obj 134 64 tgl 15 0 empty empty 5 4 -6 1 12 -233017 -1 -1 0 1;
+#X obj 151 64 tgl 15 0 empty empty 6 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 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 142 205 pack float float;
-#X text 143 65 pins 0-6;
-#X text 330 66 pins 7-13;
-#X obj 212 164 trigger bang float;
-#X msg 142 231 229 \, \$1 \, \$2;
-#X obj 299 126 mapping/bytemask;
-#X obj 128 125 mapping/bytemask;
-#X connect 1 0 22 0;
-#X connect 2 0 22 1;
-#X connect 3 0 22 2;
-#X connect 4 0 22 3;
-#X connect 5 0 22 4;
-#X connect 6 0 22 5;
-#X connect 7 0 22 6;
-#X connect 9 0 21 0;
-#X connect 10 0 21 1;
-#X connect 11 0 21 2;
-#X connect 12 0 21 3;
-#X connect 13 0 21 4;
-#X connect 14 0 21 5;
-#X connect 15 0 21 6;
-#X connect 16 0 20 0;
-#X connect 19 0 16 0;
-#X connect 19 1 16 1;
-#X connect 20 0 0 0;
+#X obj 168 64 tgl 15 0 empty empty 7 4 -6 1 12 -233017 -1 -1 0 1;
+#X obj 185 64 tgl 15 0 empty empty 8 4 -6 1 12 -233017 -1 -1 0 1;
+#X obj 202 64 tgl 15 0 empty empty 9 4 -6 1 12 -233017 -1 -1 0 1;
+#X obj 219 64 tgl 15 0 empty empty 10 0 -6 1 12 -233017 -1 -1 0 1;
+#X obj 236 64 tgl 15 0 empty empty 11 0 -6 1 12 -233017 -1 -1 0 1;
+#X obj 253 64 tgl 15 0 empty empty 12 0 -6 1 12 -233017 -1 -1 0 1;
+#X obj 270 64 tgl 15 0 empty empty 13 0 -6 1 12 -233017 -1 -1 0 1;
+#X obj 167 140 trigger bang float;
+#X obj 167 105 mapping/bytemask;
+#X obj 48 105 mapping/bytemask;
+#X obj 324 263 tgl 15 0 empty empty empty 0 -6 0 8 -225271 -1 -1 0
+16383;
+#X obj 324 226 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 323 244 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 connect 1 0 18 0;
+#X connect 2 0 18 1;
+#X connect 3 0 18 2;
+#X connect 4 0 18 3;
+#X connect 5 0 18 4;
+#X connect 6 0 18 5;
+#X connect 7 0 18 6;
+#X connect 9 0 17 0;
+#X connect 10 0 17 1;
+#X connect 11 0 17 2;
+#X connect 12 0 17 3;
+#X connect 13 0 17 4;
+#X connect 14 0 17 5;
+#X connect 15 0 17 6;
+#X connect 16 0 23 0;
+#X connect 16 1 24 0;
+#X connect 17 0 16 0;
+#X connect 18 0 23 0;
+#X connect 19 0 0 0;
+#X connect 20 0 21 0;
#X connect 21 0 19 0;
-#X connect 22 0 16 0;
-#X restore 10 258 pd sending digital outs;
-#X obj 255 274 arduino 3;
-#X msg 362 209 251 \, 9 \, 20 \, 142 \, 213;
-#X connect 0 0 61 0;
+#X connect 22 0 0 0;
+#X connect 23 0 22 0;
+#X connect 24 0 22 1;
+#X restore 20 249 pd sending digital outs;
+#X msg 398 251 251 \, 9 \, 20 \, 142 \, 213;
+#X text 325 292 <- argument sets port #;
+#X msg 57 89 off;
+#X text 475 47 8;
+#X text 492 47 9;
+#X text 516 47 11;
+#X text 531 47 12;
+#X text 370 47 1;
+#X obj 35 61 hradio 15 1 0 14 empty empty empty 0 -6 0 8 -176124 -1
+-1 0;
+#X text 143 47 7;
+#X text 37 47 0;
+#X text 184 47 10;
+#X text 230 47 13;
+#X text 97 47 4;
+#X text 66 47 2;
+#X text 111 47 5;
+#X text 126 47 6;
+#X text 82 47 3;
+#X text 157 47 8;
+#X text 174 47 9;
+#X text 200 47 11;
+#X text 215 47 12;
+#X text 52 47 1;
+#N canvas 66 58 407 487 pwm 0;
+#X obj 38 10 inlet;
+#X obj 131 10 inlet;
+#X obj 38 443 outlet;
+#X msg 37 308 pwm \$1 \$2;
+#X obj 38 259 pack float float;
+#X obj 192 113 route float symbol;
+#X obj 188 259 pack float symbol;
+#X text 78 11 pin#;
+#X text 179 10 PWM value or "off";
+#X obj 39 217 cyclone/gate 2;
+#X msg 191 153 1;
+#X msg 252 153 2;
+#X obj 131 34 list;
+#X obj 131 113 float;
+#X obj 131 67 trigger bang anything;
+#X obj 179 372 cyclone/prepend set;
+#X obj 37 346 trigger bang anything;
+#X connect 0 0 13 0;
+#X connect 1 0 12 0;
+#X connect 3 0 16 0;
+#X connect 4 0 3 0;
+#X connect 5 0 10 0;
+#X connect 5 0 4 1;
+#X connect 5 1 11 0;
+#X connect 5 1 6 1;
+#X connect 6 0 3 0;
+#X connect 9 0 4 0;
+#X connect 9 1 6 0;
+#X connect 10 0 9 0;
+#X connect 11 0 9 0;
+#X connect 12 0 14 0;
+#X connect 13 0 9 1;
+#X connect 14 0 13 0;
+#X connect 14 1 5 0;
+#X connect 15 0 2 0;
+#X connect 16 0 2 0;
+#X connect 16 1 15 0;
+#X restore 36 115 pd pwm;
+#X msg 36 135 pwm 0 0.228188;
+#N canvas 45 415 395 319 pin 0;
+#X obj 42 19 inlet;
+#X obj 218 20 inlet;
+#X obj 64 154 pack float float;
+#X obj 218 92 trigger bang float;
+#X text 82 19 input(0)/output(1);
+#X msg 64 180 outputMode \$2 \$1;
+#X obj 64 280 outlet;
+#X obj 206 231 cyclone/prepend set;
+#X obj 64 205 trigger bang anything;
+#X connect 0 0 2 0;
+#X connect 1 0 3 0;
+#X connect 2 0 5 0;
+#X connect 3 0 2 0;
+#X connect 3 1 2 1;
+#X connect 5 0 8 0;
+#X connect 7 0 6 0;
+#X connect 8 0 6 0;
+#X connect 8 1 7 0;
+#X restore 330 82 pd pin mode;
+#X obj 255 293 arduino 1;
+#X text 17 7 The [arduino] object works with the Firmata firmware for
+Arduino.;
+#X connect 0 0 76 0;
#X connect 1 0 0 0;
-#X connect 5 0 61 0;
-#X connect 7 0 43 2;
-#X connect 8 0 53 1;
-#X connect 9 0 53 0;
-#X connect 10 0 43 1;
-#X connect 12 0 18 0;
+#X connect 5 0 76 0;
+#X connect 7 0 35 2;
+#X connect 8 0 75 1;
+#X connect 9 0 75 0;
+#X connect 10 0 35 1;
+#X connect 12 0 73 1;
#X connect 13 0 6 0;
-#X connect 17 0 61 0;
-#X connect 18 0 17 0;
-#X connect 19 0 51 0;
-#X connect 20 0 51 0;
-#X connect 21 0 51 0;
-#X connect 22 0 61 0;
-#X connect 23 0 52 0;
+#X connect 17 0 19 0;
+#X connect 18 0 17 1;
+#X connect 19 0 34 0;
+#X connect 19 1 34 1;
+#X connect 19 2 34 2;
+#X connect 19 3 34 3;
+#X connect 19 4 34 4;
+#X connect 19 5 34 5;
+#X connect 19 6 34 6;
+#X connect 20 0 11 0;
+#X connect 20 0 22 0;
+#X connect 20 0 31 0;
+#X connect 20 1 21 0;
#X connect 24 0 26 0;
-#X connect 25 0 24 1;
-#X connect 26 0 42 0;
-#X connect 26 1 42 1;
-#X connect 26 2 42 2;
-#X connect 26 3 42 3;
-#X connect 26 4 42 4;
-#X connect 26 5 42 5;
-#X connect 26 6 42 6;
-#X connect 27 0 11 0;
-#X connect 27 0 29 0;
-#X connect 27 0 38 0;
-#X connect 27 1 28 0;
+#X connect 26 0 76 0;
+#X connect 27 0 76 0;
+#X connect 28 0 27 0;
#X connect 31 0 33 0;
-#X connect 33 0 61 0;
-#X connect 34 0 61 0;
-#X connect 35 0 34 0;
-#X connect 38 0 40 0;
-#X connect 39 0 38 1;
-#X connect 42 0 45 0;
-#X connect 42 1 46 0;
-#X connect 42 2 47 0;
-#X connect 42 3 48 0;
-#X connect 42 4 49 0;
-#X connect 42 5 50 0;
-#X connect 42 6 27 0;
-#X connect 51 0 18 1;
-#X connect 52 0 22 0;
-#X connect 53 0 59 0;
-#X connect 59 0 61 0;
-#X connect 60 0 61 0;
-#X connect 61 0 24 0;
-#X connect 61 1 43 0;
-#X connect 62 0 61 1;
+#X connect 32 0 31 1;
+#X connect 34 0 37 0;
+#X connect 34 1 38 0;
+#X connect 34 2 39 0;
+#X connect 34 3 40 0;
+#X connect 34 4 41 0;
+#X connect 34 5 42 0;
+#X connect 34 6 20 0;
+#X connect 48 0 76 0;
+#X connect 49 0 76 0;
+#X connect 50 0 76 1;
+#X connect 52 0 73 1;
+#X connect 58 0 73 0;
+#X connect 73 0 74 0;
+#X connect 74 0 76 0;
+#X connect 75 0 48 0;
+#X connect 76 0 17 0;
+#X connect 76 1 35 0;
diff --git a/arduino.pd b/arduino.pd
index 4bc1c29..6384c41 100644
--- a/arduino.pd
+++ b/arduino.pd
@@ -1,4 +1,4 @@
-#N canvas 289 52 628 497 10;
+#N canvas 527 196 664 533 10;
#X obj 504 -5 import flatspace;
#X text 414 457 released under the GNU GPL;
#X text 9 457 (C) Copyright 2006 Hans-Christoph Steiner <hans@at.or.at>
@@ -57,22 +57,13 @@
#X obj 11 -9 inlet;
#X obj 126 425 outlet;
#X obj 494 241 outlet;
-#N canvas 240 171 586 331 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 263 94 clip 0 1;
-#X obj 263 115 int;
-#N canvas 0 22 466 316 digital-out 0;
+#N canvas 678 51 534 329 command 0;
+#X obj 29 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 0 22 470 320 digital-out 0;
#X obj 67 20 inlet;
#X obj 85 280 outlet;
#X obj 65 108 route float;
@@ -92,9 +83,8 @@
#X connect 5 2 8 0;
#X connect 7 0 4 0;
#X connect 8 0 1 0;
-#X restore 431 94 pd digital-out;
-#X obj 80 53 route PWM0 PWM1 PWM2 analogIns digitalIns outputMode;
-#N canvas 133 22 470 320 outputMode 0;
+#X restore 403 93 pd digital-out;
+#N canvas 133 22 478 328 outputMode 0;
#X obj 81 11 inlet;
#X obj 105 275 outlet;
#X obj 81 70 unpack float float;
@@ -109,33 +99,64 @@
#X connect 3 0 4 0;
#X connect 4 0 1 0;
#X connect 5 0 3 1;
-#X restore 334 94 pd outputMode;
-#X obj 200 135 + 160;
-#X obj 263 137 + 150;
-#X connect 0 0 15 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 restore 241 94 pd outputMode;
+#X obj 100 135 + 160;
+#X obj 171 137 + 150;
+#N canvas 345 422 474 324 pwm 0;
+#X obj 66 8 inlet;
+#X obj 102 276 outlet;
+#X obj 238 139 * 255;
+#X obj 238 118 clip 0 1;
+#X obj 66 29 list split 1;
+#X obj 36 215 float;
+#X obj 105 50 route float symbol;
+#X msg 238 214 251;
+#X obj 124 202 float;
+#X text 75 216 pin#;
+#X text 164 203 PWM value;
+#X msg 369 214 250;
+#X obj 82 82 trigger bang bang float;
+#X obj 255 82 trigger bang bang;
+#X obj 238 159 int;
+#X connect 0 0 4 0;
+#X connect 2 0 14 0;
+#X connect 3 0 2 0;
+#X connect 4 0 5 1;
+#X connect 4 1 6 0;
+#X connect 5 0 1 0;
+#X connect 6 0 12 0;
+#X connect 6 1 13 0;
+#X connect 7 0 1 0;
+#X connect 8 0 1 0;
+#X connect 11 0 1 0;
+#X connect 12 0 8 0;
+#X connect 12 1 5 0;
+#X connect 12 2 3 0;
+#X connect 13 0 5 0;
+#X connect 13 1 11 0;
+#X connect 14 0 7 0;
+#X connect 14 0 8 1;
+#X restore 30 94 pd pwm;
+#X obj 22 233 print PWM;
+#X obj 46 52 route pwm analogIns digitalIns outputMode info;
+#X msg 355 94 info;
+#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 17 0;
-#X connect 12 0 13 0;
-#X connect 13 0 18 0;
-#X connect 14 0 1 0;
-#X connect 15 0 7 0;
-#X connect 15 1 6 0;
-#X connect 15 2 5 0;
-#X connect 15 3 11 0;
-#X connect 15 4 12 0;
-#X connect 15 5 16 0;
-#X connect 15 6 14 0;
-#X connect 16 0 1 0;
-#X connect 17 0 1 0;
-#X connect 18 0 1 0;
+#X connect 9 0 10 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 12 0;
+#X connect 11 5 5 0;
+#X connect 12 0 1 0;
#X restore 11 22 pd command processing;
#X obj 66 132 moses 128;
#X msg 27 346 symbol digital;