From 9fa921bcbdc3bd12365771f428166ca65a9a6bf7 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Mon, 14 Apr 2008 22:18:54 +0000 Subject: - working on Firmata v2.0, got digital inputs and the toggling ofdigital port reporting working svn path=/trunk/externals/hardware/arduino/; revision=9699 --- arduino-test.pd | 222 +++++++++++++++++++++++++++++++------------------------- arduino.pd | 150 +++++++++++++++++++------------------- 2 files changed, 197 insertions(+), 175 deletions(-) diff --git a/arduino-test.pd b/arduino-test.pd index eaaf24a..b50bb4f 100644 --- a/arduino-test.pd +++ b/arduino-test.pd @@ -1,4 +1,4 @@ -#N canvas 274 22 674 529 10; +#N canvas 337 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; @@ -59,11 +59,8 @@ 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 1 -1; -#X text 478 206 enable/disable digitalIns; -#X msg 455 225 digitalIns \$1; -#X msg 455 183 analogIns 5 0; +#X msg 455 231 digitalIns 1 0; +#X msg 455 176 analogIns 5 0; #N canvas 162 133 610 460 serin 0; #X obj 59 337 outlet; #X obj 59 266 trigger bang anything; @@ -116,7 +113,7 @@ #X connect 19 0 11 0; #X connect 20 0 0 0; #X coords 0 -1 1 1 120 16 1 60 60; -#X restore 455 163 pd serin; +#X restore 455 156 pd serin; #N canvas 77 268 490 340 debugging 0; #X obj 136 31 inlet; #X obj 324 29 inlet; @@ -179,7 +176,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 3; +-1 0; #X text 148 67 7; #X text 42 67 0; #X text 189 67 10; @@ -236,8 +233,8 @@ #X connect 17 0 14 0; #X restore 41 135 pd pwm; #X msg 41 157 pwm 3 0; -#X msg 319 175 info; -#X msg 358 175 version; +#X msg 319 165 info; +#X msg 358 165 version; #X obj 230 322 spigot; #X text 13 6 The [arduino] object works with the Firmata firmware for Arduino (previously known as Pduino firmware).; @@ -263,15 +260,15 @@ Arduino (previously known as Pduino firmware).; #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 1 1; +#X obj 248 98 tgl 15 0 empty empty 10 0 -6 1 12 -233017 -1 -1 0 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 1 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 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 1 1; +#X obj 180 98 tgl 15 0 empty empty 6 4 -6 1 12 -233017 -1 -1 0 1; #N canvas 314 233 679 330 generate 0; #X obj 42 24 inlet; #X obj 82 24 inlet; @@ -385,7 +382,7 @@ Arduino (previously known as Pduino firmware).; #X text 32 234 pulse all outputs; #X floatatom 298 436 5 0 0 3 a6 - -; #X floatatom 344 436 5 0 0 3 a7 - -; -#X obj 230 341 route analog; +#X obj 230 344 route analog; #X obj 121 379 route 0 1 2 3 4 5 6 7; #N canvas 0 22 499 396 display 0; #X obj 6 7 inlet; @@ -435,8 +432,8 @@ Arduino (previously known as Pduino firmware).; #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 513 465 tgl 15 0 empty empty 7 4 23 1 12 -232448 -1 -1 0 1; +#X obj 530 465 tgl 15 0 empty empty 8 4 23 1 12 -232448 -1 -1 0 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 ; @@ -473,7 +470,7 @@ Arduino (previously known as Pduino firmware).; #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 restore 30 321 pd ver; #X obj 414 403 unpack 0 0; #X floatatom 414 423 5 0 0 0 - - -; #X floatatom 471 423 5 0 0 0 - - -; @@ -555,11 +552,11 @@ Arduino (previously known as Pduino firmware).; 0; #X obj 346 87 cnv 15 15 15 empty empty Tx 1 10 0 11 -128992 -13381 0; -#X text 454 146 which analogIns to enable:; +#X text 454 139 which analogIns to enable:; #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 Standard_Firmata-2.0 +#X obj 250 100 cnv 15 145 17 empty \$0-firmware_cnv Simple_Digital_Firmata-0.1 4 10 0 12 -232576 -66577 0; #X msg 123 152 label \$1; #X obj 148 123 symbol; @@ -582,9 +579,9 @@ Arduino (previously known as Pduino firmware).; #X connect 10 0 11 0; #X connect 11 0 8 0; #X coords 0 -1 1 1 145 17 1 250 100; -#X restore 67 339 pd firmware; -#X msg 358 215 devices; -#X msg 358 195 firmware; +#X restore 30 341 pd firmware; +#X msg 358 205 devices; +#X msg 358 185 firmware; #N canvas 0 22 450 300 STRING 0; #X obj 48 13 inlet; #X obj 51 93 moocow/string2any 32 -1; @@ -640,81 +637,110 @@ Arduino (previously known as Pduino firmware).; #X restore 437 252 pd strings and special messages; #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 text 454 194 which digital ports to enable:; +#N canvas 162 133 610 460 seri 0; +#X obj 59 337 outlet; +#X obj 59 266 trigger bang anything; +#X obj 201 286 list; +#X obj 60 61 tgl 15 0 junk_to_hide_inlet junk_to_hide_outlet 0 5 9 +1 12 -260736 -1 -1 1 1; +#X obj 75 61 tgl 15 0 junk_to_hide_inlet junk_to_hide_outlet 1 5 9 +1 12 -260736 -1 -1 0 1; +#X obj 90 61 tgl 15 0 junk_to_hide_inlet junk_to_hide_outlet 2 5 9 +1 12 -260736 -1 -1 1 1; +#X msg 35 106 0 \$1; +#X msg 70 106 1 \$1; +#X msg 105 106 2 \$1; +#X msg 202 307 set \$1 \$2 \$3; +#X msg 59 210 digitalIns \$1 \$2; +#X connect 1 0 0 0; +#X connect 1 1 2 0; +#X connect 2 0 9 0; +#X connect 3 0 6 0; +#X connect 4 0 7 0; +#X connect 5 0 8 0; +#X connect 6 0 10 0; +#X connect 7 0 10 0; +#X connect 8 0 10 0; +#X connect 9 0 0 0; +#X connect 10 0 1 0; +#X coords 0 -1 1 1 45 16 1 60 60; +#X restore 455 211 pd seri; +#X connect 4 0 95 0; #X connect 5 0 4 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 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; +#X connect 7 0 95 0; +#X connect 8 0 15 2; +#X connect 9 0 15 1; +#X connect 10 0 38 1; +#X connect 11 0 42 1; +#X connect 12 0 95 0; +#X connect 13 0 95 0; +#X connect 14 0 13 0; +#X connect 23 0 38 0; +#X connect 38 0 39 0; +#X connect 39 0 95 0; +#X connect 40 0 95 0; +#X connect 41 0 95 0; +#X connect 42 0 63 0; +#X connect 44 0 85 2; +#X connect 45 0 85 3; +#X connect 46 0 85 4; +#X connect 47 0 85 5; +#X connect 48 0 85 6; +#X connect 49 0 85 7; +#X connect 50 0 85 8; +#X connect 51 0 85 9; +#X connect 52 0 85 10; +#X connect 53 0 85 11; +#X connect 54 0 85 12; +#X connect 55 0 85 13; +#X connect 57 0 95 0; +#X connect 58 0 95 0; +#X connect 59 0 58 0; +#X connect 63 0 64 0; +#X connect 63 1 102 0; +#X connect 64 0 65 0; +#X connect 64 1 65 1; +#X connect 64 2 65 2; +#X connect 64 3 65 3; +#X connect 64 4 65 4; +#X connect 64 5 65 5; +#X connect 64 6 65 6; +#X connect 64 7 65 7; +#X connect 65 0 16 0; +#X connect 65 1 17 0; +#X connect 65 2 18 0; +#X connect 65 3 19 0; +#X connect 65 4 20 0; +#X connect 65 5 21 0; +#X connect 65 6 61 0; +#X connect 65 7 62 0; +#X connect 66 2 67 0; +#X connect 66 3 68 0; +#X connect 66 4 69 0; +#X connect 66 5 70 0; +#X connect 66 6 71 0; +#X connect 66 7 72 0; +#X connect 66 8 73 0; +#X connect 66 9 74 0; +#X connect 66 10 75 0; +#X connect 66 11 76 0; +#X connect 66 12 77 0; +#X connect 66 13 78 0; +#X connect 79 0 95 1; +#X connect 81 0 96 0; +#X connect 82 0 83 0; +#X connect 82 1 84 0; +#X connect 85 0 57 0; +#X connect 95 0 42 0; +#X connect 95 0 81 0; +#X connect 95 1 15 0; +#X connect 97 0 95 0; +#X connect 98 0 95 0; +#X connect 101 0 95 0; +#X connect 102 0 66 0; +#X connect 102 1 82 0; +#X connect 102 2 99 0; +#X connect 102 3 100 0; +#X connect 105 0 12 0; diff --git a/arduino.pd b/arduino.pd index dc53c03..0b85bbd 100644 --- a/arduino.pd +++ b/arduino.pd @@ -1,4 +1,4 @@ -#N canvas 134 273 644 371 10; +#N canvas 263 66 644 371 10; #X obj 61 19 inlet; #X obj 61 297 outlet; #X obj 544 297 outlet; @@ -133,21 +133,20 @@ #X connect 9 0 3 0; #X connect 10 0 9 0; #X restore 69 94 pd analogIns; -#N canvas 0 22 458 308 digitalIns 0; -#X obj 98 26 inlet; -#X obj 98 264 outlet; -#X obj 98 89 select 0; -#X msg 98 111 0; -#X obj 143 110 bang; -#X msg 143 131 1; -#X msg 98 178 208 \, \$1; -#X connect 0 0 2 0; -#X connect 2 0 3 0; -#X connect 2 1 4 0; -#X connect 3 0 6 0; -#X connect 4 0 5 0; -#X connect 5 0 6 0; -#X connect 6 0 1 0; +#N canvas 595 667 341 294 digitalIns 0; +#X obj 87 26 inlet; +#X obj 87 250 outlet; +#X text 126 117 0xD0; +#X msg 87 182 \$1 \, \$2; +#X obj 87 90 unpack float float; +#X obj 87 146 pack float float; +#X obj 87 117 + 208; +#X connect 0 0 4 0; +#X connect 3 0 1 0; +#X connect 4 0 6 0; +#X connect 4 1 5 1; +#X connect 5 0 3 0; +#X connect 6 0 5 0; #X restore 150 94 pd digitalIns; #X obj 361 77 route digital version firmware; #X msg 479 136 240 \, 121 \, 247; @@ -374,62 +373,66 @@ with; #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; +#N canvas 666 625 541 319 convert 0; #X obj 142 278 outlet; #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; -#X obj 284 71 mapping/debytemask; -#X msg 252 229 digital \$1 \$2; -#X obj 117 71 mapping/debytemask; -#X msg 4 119 0 \$1; -#X msg 42 119 1 \$1; -#X msg 80 119 2 \$1; -#X msg 118 119 3 \$1; -#X msg 156 119 4 \$1; -#X msg 194 119 5 \$1; -#X msg 232 119 6 \$1; -#X msg 274 119 7 \$1; -#X msg 312 119 8 \$1; -#X msg 350 119 9 \$1; -#X msg 388 119 10 \$1; -#X msg 432 119 11 \$1; -#X msg 480 119 12 \$1; -#X msg 527 119 13 \$1; -#X connect 0 0 2 0; -#X connect 2 0 5 0; -#X connect 2 1 3 0; -#X connect 3 0 13 0; -#X connect 3 1 14 0; -#X connect 3 2 15 0; -#X connect 3 3 16 0; -#X connect 3 4 17 0; -#X connect 3 5 18 0; -#X connect 3 6 19 0; -#X connect 4 0 1 0; -#X connect 5 0 6 0; -#X connect 5 1 7 0; -#X connect 5 2 8 0; -#X connect 5 3 9 0; -#X connect 5 4 10 0; -#X connect 5 5 11 0; -#X connect 5 6 12 0; -#X connect 6 0 4 0; -#X connect 7 0 4 0; -#X connect 8 0 4 0; -#X connect 9 0 4 0; -#X connect 10 0 4 0; -#X connect 11 0 4 0; -#X connect 12 0 4 0; -#X connect 13 0 4 0; -#X connect 14 0 4 0; -#X connect 15 0 4 0; -#X connect 16 0 4 0; -#X connect 17 0 4 0; -#X connect 18 0 4 0; -#X connect 19 0 4 0; +#N canvas 953 308 511 485 digital 0; +#X obj 33 6 inlet; +#X obj 294 440 outlet; +#X obj 48 125 mapping/debytemask; +#X msg 6 237 0 \$1; +#X msg 44 237 1 \$1; +#X msg 82 237 2 \$1; +#X msg 120 237 3 \$1; +#X msg 158 237 4 \$1; +#X msg 196 237 5 \$1; +#X msg 234 237 6 \$1; +#X msg 286 237 7 \$1; +#X obj 33 92 unpack float float float; +#X obj 294 323 unpack 0 0; +#X obj 294 366 pack 0 0; +#X obj 294 344 +; +#X obj 339 111 unpack float float float; +#X obj 339 133 & 15; +#X obj 33 67 trigger anything anything; +#X msg 294 387 digital \$1 \$2; +#X obj 339 154 * 8; +#X msg 169 33 145 2 0; +#X obj 217 125 mapping/debytemask; +#X msg 40 33 145 16 0; +#X msg 100 33 145 17 0; +#X connect 0 0 17 0; +#X connect 2 0 3 0; +#X connect 2 1 4 0; +#X connect 2 2 5 0; +#X connect 2 3 6 0; +#X connect 2 4 7 0; +#X connect 2 5 8 0; +#X connect 2 6 9 0; +#X connect 3 0 12 0; +#X connect 4 0 12 0; +#X connect 5 0 12 0; +#X connect 6 0 12 0; +#X connect 7 0 12 0; +#X connect 8 0 12 0; +#X connect 9 0 12 0; +#X connect 10 0 12 0; +#X connect 11 1 2 0; +#X connect 11 2 21 0; +#X connect 12 0 14 0; +#X connect 12 1 13 1; +#X connect 13 0 18 0; +#X connect 14 0 13 0; +#X connect 15 0 16 0; +#X connect 16 0 19 0; +#X connect 17 0 11 0; +#X connect 17 1 15 0; +#X connect 18 0 1 0; +#X connect 19 0 14 1; +#X connect 20 0 17 0; +#X connect 21 0 10 0; +#X connect 22 0 17 0; +#X connect 23 0 17 0; #X restore 205 174 pd digital messages; #N canvas 234 399 335 267 analog 0; #X obj 65 16 inlet; @@ -633,9 +636,6 @@ byte left over; #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 8 0; @@ -647,10 +647,6 @@ byte left over; #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; -- cgit v1.2.1