From b5ddfbc4f01c27e2419f9fddcac614dec93d00a4 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Fri, 11 Apr 2008 22:08:18 +0000 Subject: First stab at implementing v2 of the protocol, digitalWrite works, but no luck yet with digital input. I am not sure if the problem is in Pd or Firmata. svn path=/trunk/externals/hardware/arduino/; revision=9692 --- arduino-test.pd | 244 ++++++++++++++++++++-------------------- arduino.pd | 337 ++++++++++++++++++++++++++++++++++---------------------- 2 files changed, 327 insertions(+), 254 deletions(-) diff --git a/arduino-test.pd b/arduino-test.pd index 97993b5..eaaf24a 100644 --- a/arduino-test.pd +++ b/arduino-test.pd @@ -1,4 +1,4 @@ -#N canvas 427 22 674 529 10; +#N canvas 274 22 674 529 10; #X obj 512 7 import hardware mapping; #X obj 323 126 cnv 15 100 22 empty empty empty 20 12 0 14 -253938 -66577 0; @@ -50,7 +50,6 @@ #X coords 0 -1 1 1 136 17 1 60 60; #X restore 161 159 pd serin; #X text 158 141 serial port #; -#X text 420 493 released under the GNU GPL; #X msg 221 182 close; #X obj 532 320 tgl 15 0 empty empty changes 0 -6 0 8 -262144 -1 -1 0 1; @@ -60,11 +59,11 @@ 1 10 -225271 -1 -1 0 0; #X obj 277 322 tgl 15 1 empty empty empty 0 -6 0 8 -225271 -1 -1 1 1; -#X obj 455 207 tgl 15 1 empty empty empty 0 -6 0 8 -257472 -1 -1 0 +#X obj 455 207 tgl 15 1 empty empty empty 0 -6 0 8 -257472 -1 -1 1 1; #X text 478 206 enable/disable digitalIns; #X msg 455 225 digitalIns \$1; -#X msg 455 183 analogIns 1 0; +#X msg 455 183 analogIns 5 0; #N canvas 162 133 610 460 serin 0; #X obj 59 337 outlet; #X obj 59 266 trigger bang anything; @@ -180,7 +179,7 @@ #X floatatom 252 436 5 0 0 3 a5 - -; #X text 300 301 <- argument sets port #; #X obj 40 81 hradio 15 1 0 14 empty empty empty 0 -6 0 8 -176124 -1 --1 0; +-1 3; #X text 148 67 7; #X text 42 67 0; #X text 189 67 10; @@ -236,7 +235,7 @@ #X connect 16 0 17 0; #X connect 17 0 14 0; #X restore 41 135 pd pwm; -#X msg 41 157 pwm 11 0; +#X msg 41 157 pwm 3 0; #X msg 319 175 info; #X msg 358 175 version; #X obj 230 322 spigot; @@ -255,24 +254,24 @@ Arduino (previously known as Pduino firmware).; #X obj 533 87 tgl 15 0 empty empty 12 0 -6 1 12 -260818 -1 -1 0 1; #X obj 550 87 tgl 15 0 empty empty 13 0 -6 1 12 -260818 -1 -1 0 1; #X text 328 54 turn on output mode for each pin (off=input); -#X msg 329 128 pinMode 12 1; +#X msg 329 128 pinMode 3 0; #N canvas 69 607 475 352 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 12 0; +#X msg 78 161 digital 11 0; #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 0 1; -#X obj 248 98 tgl 15 0 empty empty 10 0 -6 1 12 -233017 -1 -1 0 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 282 98 tgl 15 0 empty empty 12 0 -6 1 12 -233017 -1 -1 1 1; #X obj 299 98 tgl 15 0 empty empty 13 0 -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 4 4 -6 1 12 -233017 -1 -1 0 1; #X obj 163 98 tgl 15 0 empty empty 5 4 -6 1 12 -233017 -1 -1 0 1; -#X obj 180 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 6 4 -6 1 12 -233017 -1 -1 1 1; #N canvas 314 233 679 330 generate 0; #X obj 42 24 inlet; #X obj 82 24 inlet; @@ -430,22 +429,22 @@ Arduino (previously known as Pduino firmware).; #X connect 21 0 22 0; #X connect 22 0 23 0; #X restore 45 410 pd display values without pegging the CPU; -#X obj 397 436 route 0 1 2 3 4 5 6 7 8 9 10 11 12 13; -#X obj 428 458 tgl 15 0 empty empty 2 4 23 1 12 -232448 -1 -1 0 1; -#X obj 445 458 tgl 15 0 empty empty 3 4 23 1 12 -232448 -1 -1 0 1; -#X obj 462 458 tgl 15 0 empty empty 4 4 23 1 12 -232448 -1 -1 0 1; -#X obj 479 458 tgl 15 0 empty empty 5 4 23 1 12 -232448 -1 -1 0 1; -#X obj 496 458 tgl 15 0 empty empty 6 4 23 1 12 -232448 -1 -1 0 1; -#X obj 513 458 tgl 15 0 empty empty 7 4 23 1 12 -232448 -1 -1 0 1; -#X obj 530 458 tgl 15 0 empty empty 8 4 23 1 12 -232448 -1 -1 0 1; -#X obj 547 458 tgl 15 0 empty empty 9 4 23 1 12 -232448 -1 -1 0 1; -#X obj 564 458 tgl 15 0 empty empty 10 0 23 1 12 -232448 -1 -1 0 1 +#X obj 397 443 route 0 1 2 3 4 5 6 7 8 9 10 11 12 13; +#X obj 428 465 tgl 15 0 empty empty 2 4 23 1 12 -232448 -1 -1 0 1; +#X obj 445 465 tgl 15 0 empty empty 3 4 23 1 12 -232448 -1 -1 0 1; +#X obj 462 465 tgl 15 0 empty empty 4 4 23 1 12 -232448 -1 -1 0 1; +#X obj 479 465 tgl 15 0 empty empty 5 4 23 1 12 -232448 -1 -1 0 1; +#X obj 496 465 tgl 15 0 empty empty 6 4 23 1 12 -232448 -1 -1 0 1; +#X obj 513 465 tgl 15 0 empty empty 7 4 23 1 12 -232448 -1 -1 1 1; +#X obj 530 465 tgl 15 0 empty empty 8 4 23 1 12 -232448 -1 -1 1 1; +#X obj 547 465 tgl 15 0 empty empty 9 4 23 1 12 -232448 -1 -1 0 1; +#X obj 564 465 tgl 15 0 empty empty 10 0 23 1 12 -232448 -1 -1 0 1 ; -#X obj 581 458 tgl 15 0 empty empty 11 0 23 1 12 -232448 -1 -1 0 1 +#X obj 581 465 tgl 15 0 empty empty 11 0 23 1 12 -232448 -1 -1 0 1 ; -#X obj 598 458 tgl 15 0 empty empty 12 0 23 1 12 -232448 -1 -1 0 1 +#X obj 598 465 tgl 15 0 empty empty 12 0 23 1 12 -232448 -1 -1 0 1 ; -#X obj 615 458 tgl 15 0 empty empty 13 0 23 1 12 -232448 -1 -1 0 1 +#X obj 615 465 tgl 15 0 empty empty 13 0 23 1 12 -232448 -1 -1 0 1 ; #N canvas 0 22 454 304 raw 0; #X obj 96 231 outlet; @@ -455,29 +454,29 @@ Arduino (previously known as Pduino firmware).; #X text 2 494 (C) Copyright 2006 Free Software Foundation; #N canvas 0 22 451 224 ver 0; #X obj 23 7 inlet; -#X obj 250 100 cnv 15 145 17 empty \$0-version_cnv empty 4 10 0 12 --203904 -1 0; +#X obj 250 100 cnv 15 145 17 empty \$0-version_cnv Firmata-2.0 4 10 +0 12 -203904 -1 0; #X obj 23 157 send \$0-version_cnv; #X msg 23 132 label \$1; -#X obj 23 52 zexy/makesymbol firmata_version_%s.%s; #X obj 48 103 symbol; #X obj 38 77 loadbang; #X msg 96 78 bang; #X obj 23 29 route version; #X obj 309 163 outlet; -#X connect 0 0 8 0; +#X obj 23 52 zexy/makesymbol Firmata-%s.%s; +#X connect 0 0 7 0; #X connect 3 0 2 0; #X connect 4 0 3 0; -#X connect 5 0 3 0; -#X connect 6 0 5 0; -#X connect 7 0 5 0; -#X connect 8 0 4 0; -#X connect 8 1 9 0; +#X connect 5 0 4 0; +#X connect 6 0 4 0; +#X connect 7 0 9 0; +#X connect 7 1 8 0; +#X connect 9 0 3 0; #X coords 0 -1 1 1 145 17 1 250 100; #X restore 67 319 pd ver; -#X obj 456 399 unpack 0 0; -#X floatatom 456 419 5 0 0 0 - - -; -#X floatatom 513 419 5 0 0 0 - - -; +#X obj 414 403 unpack 0 0; +#X floatatom 414 423 5 0 0 0 - - -; +#X floatatom 471 423 5 0 0 0 - - -; #N canvas 163 104 700 327 send-to-arduino------------------- 0; #X obj 49 24 inlet; #X obj 89 24 inlet; @@ -544,11 +543,11 @@ Arduino (previously known as Pduino firmware).; #X connect 30 0 31 0; #X connect 31 0 29 0; #X restore 329 106 pd send-to-arduino-------------------; -#X obj 394 458 tgl 15 0 empty empty 0 4 23 1 12 -232448 -1 -1 0 1; -#X obj 411 458 tgl 15 0 empty empty 1 4 23 1 12 -232448 -1 -1 0 1; -#X obj 394 458 cnv 15 15 15 empty empty Rx 1 10 0 11 -128992 -86277 +#X obj 394 465 tgl 15 0 empty empty 0 4 23 1 12 -232448 -1 -1 0 1; +#X obj 411 465 tgl 15 0 empty empty 1 4 23 1 12 -232448 -1 -1 0 1; +#X obj 394 465 cnv 15 15 15 empty empty Rx 1 10 0 11 -128992 -86277 0; -#X obj 411 458 cnv 15 15 15 empty empty Tx 1 10 0 11 -128992 -13381 +#X obj 411 465 cnv 15 15 15 empty empty Tx 1 10 0 11 -128992 -13381 0; #X obj 329 87 tgl 15 0 empty empty 0 3 -6 1 12 -260818 -1 -1 0 1; #X obj 346 87 tgl 15 0 empty empty 1 3 -6 1 12 -260818 -1 -1 0 1; @@ -560,8 +559,8 @@ Arduino (previously known as Pduino firmware).; #X obj 230 302 arduino 1; #N canvas 649 518 412 212 firmware 0; #X obj 123 7 inlet; -#X obj 250 100 cnv 15 145 17 empty \$0-firmware_cnv empty 4 10 0 12 --232576 -66577 0; +#X obj 250 100 cnv 15 145 17 empty \$0-firmware_cnv Standard_Firmata-2.0 +4 10 0 12 -232576 -66577 0; #X msg 123 152 label \$1; #X obj 148 123 symbol; #X obj 138 97 loadbang; @@ -586,27 +585,26 @@ Arduino (previously known as Pduino firmware).; #X restore 67 339 pd firmware; #X msg 358 215 devices; #X msg 358 195 firmware; -#X obj 397 379 route digital version string; #N canvas 0 22 450 300 STRING 0; #X obj 48 13 inlet; #X obj 51 93 moocow/string2any 32 -1; #X obj 51 154 print STRING; #X connect 0 0 1 0; #X connect 1 0 2 0; -#X restore 539 399 pd STRING; +#X restore 482 403 pd STRING; #N canvas 0 22 450 300 Marg 0; #X obj 139 19 inlet; #X obj 127 109 moocow/string2any 32 -1; #X obj 127 170 print STRING; #X obj 97 55 list split 1; #X obj 40 109 print COMMAND; -#X obj 210 54 print Marg; +#X obj 210 54 print sysex; #X connect 0 0 3 0; #X connect 0 0 5 0; #X connect 1 0 2 0; #X connect 3 0 4 0; #X connect 3 1 1 0; -#X restore 604 399 pd Marg; +#X restore 547 403 pd Marg; #N canvas 284 22 487 372 strings 0; #X obj -178 287 outlet; #X obj -142 101 moocow/any2string; @@ -640,81 +638,83 @@ Arduino (previously known as Pduino firmware).; #X connect 14 0 10 0; #X connect 15 0 14 0; #X restore 437 252 pd strings and special messages; -#X connect 4 0 98 0; +#X obj 397 379 route digital version string sysex; +#X text 397 493 released under the GNU GPL v2 or later; +#X connect 4 0 97 0; #X connect 5 0 4 0; -#X connect 5 1 8 0; -#X connect 8 0 98 0; -#X connect 9 0 18 2; -#X connect 10 0 18 1; -#X connect 11 0 41 1; -#X connect 12 0 45 1; -#X connect 13 0 15 0; -#X connect 15 0 98 0; -#X connect 16 0 98 0; -#X connect 17 0 16 0; -#X connect 26 0 41 0; -#X connect 41 0 42 0; -#X connect 42 0 98 0; -#X connect 43 0 98 0; -#X connect 44 0 98 0; -#X connect 45 0 66 0; -#X connect 47 0 88 2; -#X connect 48 0 88 3; -#X connect 49 0 88 4; -#X connect 50 0 88 5; -#X connect 51 0 88 6; -#X connect 52 0 88 7; -#X connect 53 0 88 8; -#X connect 54 0 88 9; -#X connect 55 0 88 10; -#X connect 56 0 88 11; -#X connect 57 0 88 12; -#X connect 58 0 88 13; -#X connect 60 0 98 0; -#X connect 61 0 98 0; -#X connect 62 0 61 0; +#X connect 5 1 7 0; +#X connect 7 0 97 0; +#X connect 8 0 17 2; +#X connect 9 0 17 1; +#X connect 10 0 40 1; +#X connect 11 0 44 1; +#X connect 12 0 14 0; +#X connect 14 0 97 0; +#X connect 15 0 97 0; +#X connect 16 0 15 0; +#X connect 25 0 40 0; +#X connect 40 0 41 0; +#X connect 41 0 97 0; +#X connect 42 0 97 0; +#X connect 43 0 97 0; +#X connect 44 0 65 0; +#X connect 46 0 87 2; +#X connect 47 0 87 3; +#X connect 48 0 87 4; +#X connect 49 0 87 5; +#X connect 50 0 87 6; +#X connect 51 0 87 7; +#X connect 52 0 87 8; +#X connect 53 0 87 9; +#X connect 54 0 87 10; +#X connect 55 0 87 11; +#X connect 56 0 87 12; +#X connect 57 0 87 13; +#X connect 59 0 97 0; +#X connect 60 0 97 0; +#X connect 61 0 60 0; +#X connect 65 0 66 0; +#X connect 65 1 104 0; #X connect 66 0 67 0; -#X connect 66 1 102 0; -#X connect 67 0 68 0; -#X connect 67 1 68 1; -#X connect 67 2 68 2; -#X connect 67 3 68 3; -#X connect 67 4 68 4; -#X connect 67 5 68 5; -#X connect 67 6 68 6; -#X connect 67 7 68 7; -#X connect 68 0 19 0; -#X connect 68 1 20 0; -#X connect 68 2 21 0; -#X connect 68 3 22 0; -#X connect 68 4 23 0; -#X connect 68 5 24 0; -#X connect 68 6 64 0; -#X connect 68 7 65 0; -#X connect 69 2 70 0; -#X connect 69 3 71 0; -#X connect 69 4 72 0; -#X connect 69 5 73 0; -#X connect 69 6 74 0; -#X connect 69 7 75 0; -#X connect 69 8 76 0; -#X connect 69 9 77 0; -#X connect 69 10 78 0; -#X connect 69 11 79 0; -#X connect 69 12 80 0; -#X connect 69 13 81 0; -#X connect 82 0 98 1; -#X connect 84 0 99 0; -#X connect 85 0 86 0; -#X connect 85 1 87 0; -#X connect 88 0 60 0; -#X connect 98 0 45 0; -#X connect 98 0 84 0; -#X connect 98 1 18 0; -#X connect 100 0 98 0; -#X connect 101 0 98 0; -#X connect 102 0 69 0; -#X connect 102 1 85 0; -#X connect 102 2 103 0; -#X connect 102 3 104 0; -#X connect 105 0 98 0; +#X connect 66 1 67 1; +#X connect 66 2 67 2; +#X connect 66 3 67 3; +#X connect 66 4 67 4; +#X connect 66 5 67 5; +#X connect 66 6 67 6; +#X connect 66 7 67 7; +#X connect 67 0 18 0; +#X connect 67 1 19 0; +#X connect 67 2 20 0; +#X connect 67 3 21 0; +#X connect 67 4 22 0; +#X connect 67 5 23 0; +#X connect 67 6 63 0; +#X connect 67 7 64 0; +#X connect 68 2 69 0; +#X connect 68 3 70 0; +#X connect 68 4 71 0; +#X connect 68 5 72 0; +#X connect 68 6 73 0; +#X connect 68 7 74 0; +#X connect 68 8 75 0; +#X connect 68 9 76 0; +#X connect 68 10 77 0; +#X connect 68 11 78 0; +#X connect 68 12 79 0; +#X connect 68 13 80 0; +#X connect 81 0 97 1; +#X connect 83 0 98 0; +#X connect 84 0 85 0; +#X connect 84 1 86 0; +#X connect 87 0 59 0; +#X connect 97 0 44 0; +#X connect 97 0 83 0; +#X connect 97 1 17 0; +#X connect 99 0 97 0; +#X connect 100 0 97 0; +#X connect 103 0 97 0; +#X connect 104 0 68 0; +#X connect 104 1 84 0; +#X connect 104 2 101 0; +#X connect 104 3 102 0; diff --git a/arduino.pd b/arduino.pd index 729fc35..dc53c03 100644 --- a/arduino.pd +++ b/arduino.pd @@ -1,50 +1,57 @@ -#N canvas 581 464 644 371 10; -#X obj 377 9 import hardware flatspace iemlib mapping; -#X text 321 336 released under the GNU GPL; +#N canvas 134 273 644 371 10; #X obj 61 19 inlet; #X obj 61 297 outlet; #X obj 544 297 outlet; -#N canvas 7 503 712 343 command 0; +#N canvas 85 545 712 343 command 0; #X obj 24 7 inlet; #X obj 281 289 outlet; -#N canvas 729 244 503 311 digital-out 0; -#X obj 26 12 inlet; -#X obj 218 219 outlet; -#X obj 97 172 float; -#X obj 26 31 trigger anything 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 mapping/bytemask -----; -#X obj 27 115 mapping/bytemask ---------; -#X msg 404 92 144; -#X obj 27 137 trigger bang float; -#X obj 181 137 trigger float bang; -#X connect 0 0 3 0; -#X connect 2 0 1 0; -#X connect 3 0 5 0; -#X connect 3 1 8 0; -#X connect 4 0 1 0; -#X connect 5 0 7 0; -#X connect 5 1 7 1; -#X connect 5 2 7 2; -#X connect 5 3 7 3; -#X connect 5 4 7 4; -#X connect 5 5 7 5; -#X connect 5 6 7 6; -#X connect 5 7 6 0; -#X connect 5 8 6 1; -#X connect 5 9 6 2; -#X connect 5 10 6 3; -#X connect 5 11 6 4; -#X connect 5 12 6 5; -#X connect 5 13 6 6; -#X connect 6 0 10 0; -#X connect 7 0 9 0; -#X connect 8 0 1 0; -#X connect 9 0 2 0; -#X connect 9 1 4 0; -#X connect 10 0 2 0; -#X connect 10 1 4 0; +#N canvas 267 161 569 343 digital-out 0; +#X obj 3 15 inlet; +#X obj 72 296 outlet; +#X obj 99 196 mapping/bytemask; +#X msg 272 128 \$1; +#X floatatom 272 196 5 0 0 0 - - -; +#X text 301 127 add channel to command; +#X text 310 171 0x90; +#X obj 272 172 + 144; +#X obj 272 150 div 8; +#X obj 3 55 trigger bang bang anything anything; +#X floatatom 123 220 5 0 0 0 - - -; +#X obj 84 137 pack 0 0; +#X obj 84 96 unpack 0 0; +#X obj 84 117 mod 8; +#X obj 230 245 print [arduino] WARNING: extraneous digital input; +#X obj 72 221 float; +#X obj 25 221 float; +#X obj 84 158 route 7 0 1 2 3 4 5 6; +#X floatatom -7 253 5 0 0 0 - - -; +#X connect 0 0 9 0; +#X connect 2 0 10 0; +#X connect 2 0 15 1; +#X connect 3 0 8 0; +#X connect 7 0 4 0; +#X connect 7 0 1 0; +#X connect 8 0 7 0; +#X connect 9 0 16 0; +#X connect 9 1 15 0; +#X connect 9 2 12 0; +#X connect 9 3 3 0; +#X connect 11 0 17 0; +#X connect 12 0 13 0; +#X connect 12 1 11 1; +#X connect 13 0 11 0; +#X connect 15 0 1 0; +#X connect 16 0 1 0; +#X connect 16 0 18 0; +#X connect 17 0 16 1; +#X connect 17 1 2 0; +#X connect 17 2 2 1; +#X connect 17 3 2 2; +#X connect 17 4 2 3; +#X connect 17 5 2 4; +#X connect 17 6 2 5; +#X connect 17 7 2 6; +#X connect 17 8 14 0; #X restore 326 122 pd digital-out; #N canvas 310 221 540 347 pinMode 0; #X obj 190 11 inlet; @@ -252,20 +259,23 @@ #N canvas 0 22 462 312 report 0; #X obj 95 26 inlet; #X obj 97 186 print [arduino]; -#X msg 93 87 version_0.3; +#X msg 93 87 version_0.4; #X connect 0 0 2 0; #X connect 2 0 1 0; #X restore 410 112 pd report object version; -#N canvas 0 22 482 332 report 0; -#X obj 66 7 inlet; -#X obj 66 36 route open; -#X obj 66 60 select 1; -#X obj 67 147 outlet; -#X msg 66 82 version; +#N canvas 0 22 395 210 report 0; +#X obj 62 21 inlet; +#X obj 62 50 route open; +#X obj 62 74 select 1; +#X obj 63 161 outlet; +#X msg 62 126 version; +#X text 133 101 wait for the Diecimila to reset; +#X obj 62 100 delay 2000; #X connect 0 0 1 0; #X connect 1 0 2 0; -#X connect 2 0 4 0; +#X connect 2 0 6 0; #X connect 4 0 3 0; +#X connect 6 0 4 0; #X restore 231 113 pd report firmware version; #X text 335 299 DEBUG/RAW data (this will change); #N canvas 590 536 467 421 make 0; @@ -327,10 +337,47 @@ #X obj 117 228 - 1; #X obj 79 178 trigger bang float; #X text 89 52 only process command bytes; -#N canvas 539 459 521 367 convert 0; +#X text 140 78 end of sysex; +#X obj 79 79 route 247; +#X obj 79 100 bang; +#X connect 0 0 2 0; +#X connect 2 0 9 0; +#X connect 2 1 12 0; +#X connect 3 0 9 0; +#X connect 3 1 4 0; +#X connect 4 0 7 1; +#X connect 5 0 1 0; +#X connect 6 0 5 1; +#X connect 7 0 8 0; +#X connect 7 0 6 0; +#X connect 8 0 7 1; +#X connect 9 0 7 0; +#X connect 9 1 5 0; +#X connect 12 0 13 0; +#X connect 12 1 3 0; +#X connect 13 0 5 1; +#X restore 61 194 pd make lists; +#N canvas 0 22 525 269 check 0; +#X obj 47 62 inlet; +#X obj 47 88 route version; +#X obj 87 119 unpack float float; +#X obj 132 163 print [arduino]_WARNING_INCOMPATIBLE_FIRMWARE_VERSION +; +#X obj 47 192 print Arduino/Firmata_version; +#X obj 87 141 select 2; +#X text 142 142 <-- sets the protocol major version this is compatible +with; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 1 0 4 0; +#X connect 2 0 5 0; +#X connect 5 1 3 0; +#X restore 81 250 pd check version; +#X obj 61 136 flatspace/comport \$1 115200; +#N canvas 135 558 541 319 convert 0; #X obj 142 278 outlet; -#X obj 34 321 print UNKNOWN_INPUT_COMMAND; -#N canvas 123 202 630 307 digital 0; +#X obj 340 150 print UNKNOWN_INPUT_COMMAND; +#N canvas 208 304 630 307 digital 0; #X obj 163 16 inlet; #X obj 252 255 outlet; #X obj 163 42 unpack float float; @@ -383,30 +430,23 @@ #X connect 17 0 4 0; #X connect 18 0 4 0; #X connect 19 0 4 0; -#X restore 143 174 pd digital messages; -#N canvas 134 58 335 267 analog 0; -#X obj 65 6 inlet; -#X obj 65 203 outlet; -#X msg 65 180 analog \$1 \$2; -#X obj 65 159 pack float float; -#X obj 65 42 unpack float float float; -#X obj 158 88 +; -#X obj 158 113 / 1023; -#X text 203 114 scale to 0-1; -#X obj 206 63 << 7; -#X obj 65 63 & 15; -#X connect 0 0 4 0; +#X restore 205 174 pd digital messages; +#N canvas 234 399 335 267 analog 0; +#X obj 65 16 inlet; +#X obj 65 213 outlet; +#X msg 65 150 analog \$1 \$2; +#X obj 65 129 pack float float; +#X obj 158 103 / 1023; +#X text 203 104 scale to 0-1; +#X obj 65 71 unpack float float; +#X connect 0 0 6 0; #X connect 2 0 1 0; #X connect 3 0 2 0; -#X connect 4 0 9 0; -#X connect 4 1 5 0; -#X connect 4 2 8 0; -#X connect 5 0 6 0; -#X connect 6 0 3 1; -#X connect 8 0 5 1; -#X connect 9 0 3 0; -#X restore 372 170 pd analog messages; -#X obj 85 13 inlet; +#X connect 4 0 3 1; +#X connect 6 0 3 0; +#X connect 6 1 4 0; +#X restore 342 174 pd analog messages; +#X obj 97 13 inlet; #X msg 40 174 version \$2 \$1; #N canvas 921 447 492 456 sysex 0; #X obj 77 20 inlet; @@ -530,65 +570,98 @@ byte left over; #X connect 12 0 4 1; #X connect 14 0 2 0; #X connect 14 1 6 0; -#X restore 279 172 pd sysex; -#X obj 85 95 route 249 144 240; -#X text 109 80 0xF9 0x90 0xF0; +#X restore 134 174 pd sysex; +#N canvas 383 54 457 452 route 0; +#X obj 46 24 inlet; +#X obj 175 400 outlet; +#X obj 233 400 outlet; +#X obj 46 91 trigger anything anything; +#X obj 292 400 outlet; +#X obj 175 339 route digital analog; +#X msg 193 115 \$1; +#X obj 244 158 moses 224; +#X text 314 157 0xE0 analog messages; +#X obj 193 136 moses 144; +#X text 257 136 0x90 digital messages; +#X obj 244 209 bang; +#X obj 295 209 bang; +#X msg 244 236 digital; +#X msg 297 236 analog; +#X text 359 178 0xF0; +#X obj 346 236 bang; +#X obj 211 236 bang; +#N canvas 134 58 335 257 parse 0; +#X obj 73 18 inlet; +#X obj 73 215 outlet; +#X obj 73 161 pack float float; +#X obj 73 64 unpack float float float; +#X obj 166 110 +; +#X obj 214 85 << 7; +#X obj 73 85 & 15; +#X connect 0 0 3 0; +#X connect 2 0 1 0; +#X connect 3 0 6 0; +#X connect 3 1 4 0; +#X connect 3 2 5 0; +#X connect 4 0 2 1; +#X connect 5 0 4 1; +#X connect 6 0 2 0; +#X restore 46 167 pd parse messages; +#X obj 295 178 moses 240; +#X obj 175 279 cyclone/prepend; +#X connect 0 0 3 0; +#X connect 3 0 18 0; +#X connect 3 1 6 0; +#X connect 5 0 1 0; +#X connect 5 1 2 0; +#X connect 5 2 4 0; +#X connect 6 0 9 0; +#X connect 7 0 11 0; +#X connect 7 1 19 0; +#X connect 9 0 17 0; +#X connect 9 1 7 0; +#X connect 11 0 13 0; +#X connect 12 0 14 0; +#X connect 13 0 20 1; +#X connect 14 0 20 1; +#X connect 16 0 20 1; +#X connect 17 0 20 1; +#X connect 18 0 20 0; +#X connect 19 0 12 0; +#X connect 19 1 16 0; +#X connect 20 0 5 0; +#X restore 205 126 pd route digital/analog; +#X obj 97 95 route 249 240; +#X text 124 80 0xF9 0xF0; +#X obj 247 248 purepd/once; +#X obj 247 270 pddp/print; +#X msg 312 226 bang; #X connect 2 0 0 0; #X connect 3 0 0 0; -#X connect 4 0 7 0; +#X connect 4 0 8 0; #X connect 5 0 0 0; #X connect 6 0 0 0; -#X connect 7 0 5 0; -#X connect 7 1 2 0; -#X connect 7 2 6 0; -#X connect 7 3 3 0; -#X restore 184 334 pd convert to symbolic commands; -#X text 140 78 end of sysex; -#X obj 79 79 route 247; -#X obj 79 100 bang; -#X connect 0 0 2 0; -#X connect 2 0 9 0; -#X connect 2 1 13 0; -#X connect 3 0 9 0; -#X connect 3 1 4 0; -#X connect 4 0 7 1; -#X connect 5 0 11 0; -#X connect 6 0 5 1; +#X connect 7 0 2 0; +#X connect 7 1 3 0; +#X connect 7 2 1 0; +#X connect 8 0 5 0; +#X connect 8 1 6 0; +#X connect 8 2 7 0; +#X connect 8 2 10 0; +#X connect 10 0 11 0; +#X connect 12 0 11 0; +#X connect 12 0 10 1; +#X restore 61 222 pd convert to symbolic commands; +#X text 14 337 (C) Copyright 2006-2008 Free Software Foundation; +#X text 321 336 released under the GNU GPL v2 or later; +#X connect 0 0 3 0; +#X connect 3 0 13 0; +#X connect 4 0 13 0; #X connect 7 0 8 0; -#X connect 7 0 6 0; -#X connect 8 0 7 1; -#X connect 9 0 7 0; -#X connect 9 1 5 0; -#X connect 11 0 1 0; -#X connect 13 0 14 0; -#X connect 13 1 3 0; -#X connect 14 0 5 1; -#X restore 62 199 pd make lists; -#N canvas 0 22 525 269 check 0; -#X obj 47 62 inlet; -#X obj 47 88 route version; -#X obj 87 119 unpack float float; -#X obj 132 163 print [arduino]_WARNING_INCOMPATIBLE_FIRMWARE_VERSION -; -#X obj 87 141 select 1; -#X text 142 142 <-- this sets the firmware version this is compatible -with; -#X obj 47 192 print Arduino/Firmata_version; -#X connect 0 0 1 0; -#X connect 1 0 2 0; -#X connect 1 0 6 0; -#X connect 2 0 4 0; -#X connect 4 1 3 0; -#X restore 92 242 pd check version; -#X text 10 337 (C) Copyright 2006 Free Software Foundation; -#X obj 61 136 flatspace/comport \$1 115200; -#X connect 2 0 5 0; -#X connect 5 0 16 0; -#X connect 6 0 16 0; -#X connect 9 0 10 0; -#X connect 11 0 5 0; -#X connect 13 0 14 0; -#X connect 13 0 3 0; -#X connect 16 0 4 0; -#X connect 16 0 13 0; -#X connect 16 1 11 0; +#X connect 9 0 3 0; +#X connect 11 0 14 0; +#X connect 13 0 2 0; +#X connect 13 0 11 0; +#X connect 13 1 9 0; +#X connect 14 0 1 0; +#X connect 14 0 12 0; -- cgit v1.2.1