From c18a8667239600642aa9968dfda74828e4a12f8c Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Thu, 8 Mar 2007 05:37:22 +0000 Subject: cleaned up for the Pduino 0.3 release svn path=/trunk/externals/hardware/arduino/; revision=7476 --- Pd_firmware/Pd_firmware.pde | 5 +- arduino-help.pd | 768 ++++++++++++++++++++++++-------------------- arduino-test.pd | 433 +++++++++++++------------ arduino.pd | 20 +- 4 files changed, 664 insertions(+), 562 deletions(-) diff --git a/Pd_firmware/Pd_firmware.pde b/Pd_firmware/Pd_firmware.pde index e678917..6c196af 100644 --- a/Pd_firmware/Pd_firmware.pde +++ b/Pd_firmware/Pd_firmware.pde @@ -32,6 +32,7 @@ * * @author: Hans-Christoph Steiner * help with initial protocol redesign: Jamie Allen + * much protocol discussion: the Arduino developers mailing list * key bugfixes: Georg Holzmann * Gerda Strobl * @date: 2006-05-19 @@ -46,12 +47,10 @@ * TODO: add device type reporting (i.e. some firmwares will use the Firmata * protocol, but will only support specific devices, like ultrasound * rangefinders or servos) - * TODO: add "pinMode all 0/1" command - * TODO: try using PIND to get all digitalIns at once * TODO: use Program Control to load stored profiles from EEPROM */ -/* cvs version: $Id: Pd_firmware.pde,v 1.28 2007-03-06 06:59:43 eighthave Exp $ */ +/* cvs version: $Id: Pd_firmware.pde,v 1.29 2007-03-08 05:37:22 eighthave Exp $ */ /*============================================================================== * MESSAGE FORMATS diff --git a/arduino-help.pd b/arduino-help.pd index 91660bf..1ce0710 100644 --- a/arduino-help.pd +++ b/arduino-help.pd @@ -1,6 +1,6 @@ -#N canvas 463 31 699 599 10; -#X obj 568 9 import flatspace; -#N canvas 233 472 462 312 INSTALL-NOTES 0; +#N canvas 80 22 674 563 10; +#X obj 558 10 import flatspace; +#N canvas 233 472 466 316 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 ; @@ -18,14 +18,10 @@ board !; !; #X restore 25 92 pd INSTALL-NOTES; #X text 150 93 <- read this first !; -#X obj 16 172 hradio 15 1 0 8 empty empty empty 0 -6 0 8 -260818 -1 --1 0; -#X msg 16 190 open \$1; -#X floatatom 99 189 5 0 0 0 - - -; -#X msg 27 211 close; -#X msg 37 232 info; +#X msg 58 189 close; +#X msg 58 234 info; #X text 11 149 select/close the serial port:; -#N canvas 248 49 459 336 DIGITAL-OUTPUT 0; +#N canvas 248 49 442 351 DIGITAL-OUTPUT 0; #X text 72 97 I/O the individual pins:; #X text 20 22 NOTE: don't forget to set pins to output mode first! ; @@ -43,14 +39,12 @@ board !; ; #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; +#N canvas 474 328 810 360 generate 0; #X obj 49 24 inlet; #X obj 89 24 inlet; #X obj 128 24 inlet; @@ -122,208 +116,141 @@ board !; #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 obj 49 134 tgl 15 0 empty empty 0 3 -6 1 12 -260818 -1 -1 0 1; +#X obj 66 134 tgl 15 0 empty empty 1 3 -6 1 12 -260818 -1 -1 0 1; +#X obj 49 134 cnv 15 15 15 empty empty Rx 1 10 0 11 -128992 -86277 +0; +#X obj 66 134 cnv 15 15 15 empty empty Tx 1 10 0 11 -128992 -13381 +0; +#X connect 3 0 20 0; +#X connect 4 0 16 7; +#X connect 5 0 16 8; +#X connect 6 0 16 9; +#X connect 7 0 16 10; +#X connect 8 0 16 11; +#X connect 9 0 16 12; +#X connect 10 0 16 13; +#X connect 11 0 16 2; +#X connect 12 0 16 3; +#X connect 13 0 16 4; +#X connect 14 0 16 5; +#X connect 15 0 16 6; +#X connect 16 0 3 0; +#X connect 17 0 10 0; +#X connect 17 0 9 0; +#X connect 17 0 8 0; +#X connect 17 0 7 0; +#X connect 17 0 6 0; +#X connect 17 0 5 0; +#X connect 17 0 4 0; +#X connect 17 0 15 0; +#X connect 17 0 14 0; +#X connect 17 0 13 0; +#X connect 17 0 12 0; +#X connect 17 0 11 0; +#X connect 18 0 19 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 +#N canvas 494 94 578 280 DIGITAL-INPUT 0; +#X obj 114 67 r \$0-arduino-out; +#X text 387 93 connect the Digital Input; +#X text 387 110 to the ground (=0) or to; +#X text 387 127 the positive voltage (=1); +#X text 113 185 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 545 229 (0=input \, 1=output); -#X obj 309 202 tgl 15 0 empty empty 1 3 -6 0 10 -260818 -1 -1 0 1; -#X obj 327 202 tgl 15 0 empty empty 2 3 -6 0 10 -260818 -1 -1 0 1; -#X obj 345 202 tgl 15 0 empty empty 3 3 -6 0 10 -260818 -1 -1 0 1; -#X obj 363 202 tgl 15 0 empty empty 4 3 -6 0 10 -260818 -1 -1 0 1; -#X obj 381 202 tgl 15 0 empty empty 5 3 -6 0 10 -260818 -1 -1 0 1; -#X obj 399 202 tgl 15 0 empty empty 6 3 -6 0 10 -260818 -1 -1 0 1; -#X obj 417 202 tgl 15 0 empty empty 7 3 -6 0 10 -260818 -1 -1 0 1; -#X obj 435 202 tgl 15 0 empty empty 8 3 -6 0 10 -260818 -1 -1 0 1; -#X obj 453 202 tgl 15 0 empty empty 9 3 -6 0 10 -260818 -1 -1 0 1; -#X obj 471 202 tgl 15 0 empty empty 10 3 -6 0 10 -260818 -1 -1 0 1 +#X text 114 32 NOTE: don't forget to set pins to input mode first! ; -#X obj 489 202 tgl 15 0 empty empty 11 3 -6 0 10 -260818 -1 -1 0 1 +#X obj 114 89 route digital; +#X obj 114 112 route 0 1 2 3 4 5 6 7 8 9 10 11 12 13; +#X obj 145 134 tgl 15 0 empty empty 2 4 23 1 12 -232448 -1 -1 0 1; +#X obj 162 134 tgl 15 0 empty empty 3 4 23 1 12 -232448 -1 -1 0 1; +#X obj 179 134 tgl 15 0 empty empty 4 4 23 1 12 -232448 -1 -1 0 1; +#X obj 196 134 tgl 15 0 empty empty 5 4 23 1 12 -232448 -1 -1 0 1; +#X obj 213 134 tgl 15 0 empty empty 6 4 23 1 12 -232448 -1 -1 0 1; +#X obj 230 134 tgl 15 0 empty empty 7 4 23 1 12 -232448 -1 -1 0 1; +#X obj 247 134 tgl 15 0 empty empty 8 4 23 1 12 -232448 -1 -1 0 1; +#X obj 264 134 tgl 15 0 empty empty 9 4 23 1 12 -232448 -1 -1 0 1; +#X obj 281 134 tgl 15 0 empty empty 10 0 23 1 12 -232448 -1 -1 0 1 ; -#X obj 507 202 tgl 15 0 empty empty 12 3 -6 0 10 -260818 -1 -1 0 1 +#X obj 298 134 tgl 15 0 empty empty 11 0 23 1 12 -232448 -1 -1 0 1 ; -#X obj 525 202 tgl 15 0 empty empty 13 3 -6 0 10 -260818 -1 -1 0 1 +#X obj 315 134 tgl 15 0 empty empty 12 0 23 1 12 -232448 -1 -1 0 1 ; -#X obj 551 182 tgl 20 0 empty empty empty 0 -6 0 8 -258699 -1 -1 0 -1; -#X text 550 167 all; -#X obj 291 202 tgl 15 0 empty empty 0 3 -6 0 10 -260818 -1 -1 0 1; -#N canvas 365 337 770 320 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 291 229 pd send-to-arduino----------------; -#X msg 314 255 pinMode 13 1; -#X text 432 255 set pin 13 to output mode; -#X text 290 149 Set input/output mode of the pins for digital IO:; -#N canvas 374 455 500 352 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 332 134 tgl 15 0 empty empty 13 0 23 1 12 -232448 -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 666 140 speed-limiting-to-save-cpu------------------------ +#X obj 111 134 tgl 15 0 empty empty 0 4 23 1 12 -232448 -1 -1 0 1; +#X obj 128 134 tgl 15 0 empty empty 1 4 23 1 12 -232448 -1 -1 0 1; +#X obj 111 134 cnv 15 15 15 empty empty Rx 1 10 0 11 -128992 -86277 +0; +#X obj 128 134 cnv 15 15 15 empty empty Tx 1 10 0 11 -128992 -13381 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 text 12 134 (serial port)->; +#X connect 0 0 6 0; +#X connect 6 0 7 0; +#X connect 7 2 8 0; +#X connect 7 3 9 0; +#X connect 7 4 10 0; +#X connect 7 5 11 0; +#X connect 7 6 12 0; +#X connect 7 7 13 0; +#X connect 7 8 14 0; +#X connect 7 9 15 0; +#X connect 7 10 16 0; +#X connect 7 11 17 0; +#X connect 7 12 18 0; +#X connect 7 13 19 0; +#X restore 68 404 pd DIGITAL-INPUT; +#X text 531 203 (0=input \, 1=output); +#X obj 551 165 tgl 20 0 empty empty all 1 12 0 11 -261682 -1 -1 0 1 +; +#X msg 394 244 pinMode 13 1; +#X text 480 245 set pin 13 to output mode; +#X text 290 149 Set input/output mode of the pins for digital IO:; +#N canvas 268 170 441 343 ANALOG-INPUT 0; +#X obj 121 70 r \$0-arduino-out; +#X obj 121 108 spigot 0; +#X obj 183 105 tgl 20 0 empty empty empty 0 -6 0 8 -258699 -1 -1 0 +1; +#X text 30 24 Analog Inputs of the Arduino-Board:; +#X text 211 107 <- 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 floatatom 22 226 5 0 0 3 a0 - -; +#X floatatom 68 226 5 0 0 3 a1 - -; +#X floatatom 114 226 5 0 0 3 a2 - -; +#X floatatom 160 226 5 0 0 3 a3 - -; +#X floatatom 206 226 5 0 0 3 a4 - -; +#X floatatom 252 226 5 0 0 3 a5 - -; +#X floatatom 298 226 5 0 0 3 a6 - -; +#X floatatom 344 226 5 0 0 3 a7 - -; +#X obj 121 147 route analog; +#X obj 121 169 route 0 1 2 3 4 5 6 7; +#N canvas 0 22 499 396 display 0; +#X obj 6 7 inlet; +#X obj 6 28 mapping/resample 100; +#X obj 6 50 outlet; +#X obj 54 50 inlet; +#X obj 54 71 mapping/resample 100; +#X obj 54 93 outlet; +#X obj 103 93 inlet; +#X obj 103 114 mapping/resample 100; +#X obj 103 136 outlet; +#X obj 151 136 inlet; +#X obj 151 157 mapping/resample 100; +#X obj 151 179 outlet; +#X obj 200 179 inlet; +#X obj 200 200 mapping/resample 100; +#X obj 200 222 outlet; +#X obj 247 222 inlet; +#X obj 247 243 mapping/resample 100; +#X obj 247 265 outlet; +#X obj 295 265 inlet; +#X obj 295 286 mapping/resample 100; +#X obj 295 308 outlet; +#X obj 345 308 inlet; +#X obj 345 329 mapping/resample 100; +#X obj 345 351 outlet; #X connect 0 0 1 0; #X connect 1 0 2 0; #X connect 3 0 4 0; @@ -336,29 +263,33 @@ to the ground \, you will get random values (0 or 1) - to avoid that #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 18 0 19 0; +#X connect 19 0 20 0; +#X connect 21 0 22 0; +#X connect 22 0 23 0; +#X restore 45 200 pd display values without pegging the CPU; #X connect 0 0 1 0; -#X connect 1 0 3 0; +#X connect 1 0 14 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 488 554 370 ANALOG-OUTPUT-PWM 0; +#X connect 14 0 15 0; +#X connect 15 0 16 0; +#X connect 15 1 16 1; +#X connect 15 2 16 2; +#X connect 15 3 16 3; +#X connect 15 4 16 4; +#X connect 15 5 16 5; +#X connect 15 6 16 6; +#X connect 15 7 16 7; +#X connect 16 0 6 0; +#X connect 16 1 7 0; +#X connect 16 2 8 0; +#X connect 16 3 9 0; +#X connect 16 4 10 0; +#X connect 16 5 11 0; +#X connect 16 6 12 0; +#X connect 16 7 13 0; +#X restore 73 452 pd ANALOG-INPUT; +#N canvas 462 480 562 378 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.; @@ -367,7 +298,6 @@ pins 9 \, 10 \, 11 of your Arduino board.; #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 @@ -382,21 +312,22 @@ pins 9 \, 10 \, 11 of your Arduino board.; #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 msg 31 234 pwm 9 0; +#X msg 199 234 pwm 10 0; +#X msg 361 234 pwm 11 0; +#X connect 3 0 5 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 connect 7 0 16 0; +#X connect 10 0 17 0; +#X connect 16 0 8 0; +#X connect 17 0 11 0; +#X connect 19 0 5 0; +#X connect 20 0 8 0; +#X connect 21 0 11 0; +#X restore 43 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; @@ -405,123 +336,280 @@ input and output \, as descriped in the following sub-patches:; #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 +#X text 468 517 2006 \, released under GNU GPL \; Gerda Strobl \, Georg Holzmann; -#X text 91 261 <- 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 291 324 send \$0-arduino; -#X obj 344 111 send \$0-arduino-out; -#X obj 344 67 receive \$0-arduino; -#X obj 16 294 send \$0-arduino; -#N canvas 0 22 462 312 GETTING-INFO 0; +#X text 111 261 <- list devices; +#X obj 295 318 send \$0-arduino; +#X obj 476 111 send \$0-arduino-out; +#X obj 476 67 receive \$0-arduino; +#X obj 16 314 send \$0-arduino; +#N canvas 0 22 436 343 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 floatatom 146 245 5 0 0 0 - - -; +#X floatatom 251 245 5 0 0 0 - - -; +#X obj 146 146 receive \$0-arduino-out; +#X obj 147 107 send \$0-arduino; +#X obj 146 221 unpack float float; +#X connect 0 0 6 0; +#X connect 1 0 6 0; +#X connect 2 0 7 0; +#X connect 5 0 2 0; +#X connect 7 0 3 0; +#X connect 7 1 4 0; +#X restore 73 501 pd GETTING-INFO; #X text 191 502 <- example of getting status data; -#N canvas 0 22 467 269 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 +#N canvas 406 137 471 273 SWITCHING-INPUTS 0; +#X obj 140 155 send \$0-arduino; +#X obj 265 60 tgl 15 1 empty empty empty 0 -6 0 8 -257472 -1 -1 0 1 +; +#X text 288 59 enable/disable digitalIns; +#X msg 265 78 digitalIns \$1; +#X msg 25 83 analogIns 0 0; +#N canvas 162 133 610 460 serin 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 -262130 -1 -1 0 1; +#X obj 75 61 tgl 15 0 junk_to_hide_inlet junk_to_hide_outlet 1 5 9 +1 12 -262130 -1 -1 0 1; +#X obj 90 61 tgl 15 0 junk_to_hide_inlet junk_to_hide_outlet 2 5 9 +1 12 -262130 -1 -1 0 1; +#X obj 105 61 tgl 15 0 junk_to_hide_inlet junk_to_hide_outlet 3 5 9 +1 12 -262130 -1 -1 0 1; +#X obj 120 61 tgl 15 0 junk_to_hide_inlet junk_to_hide_outlet 4 5 9 +1 12 -262130 -1 -1 0 1; +#X obj 135 61 tgl 15 0 junk_to_hide_inlet junk_to_hide_outlet 5 5 9 +1 12 -262130 -1 -1 0 1; +#X obj 150 61 tgl 15 0 junk_to_hide_inlet junk_to_hide_outlet 6 5 9 +1 12 -262130 -1 -1 0 1; +#X obj 165 61 tgl 15 0 junk_to_hide_inlet junk_to_hide_outlet 7 5 9 +1 12 -262130 -1 -1 0 1; +#X msg 59 210 analogIns \$1 \$2; +#X msg 35 106 0 \$1; +#X msg 70 106 1 \$1; +#X msg 105 106 2 \$1; +#X msg 140 106 3 \$1; +#X msg 175 106 4 \$1; +#X msg 210 106 5 \$1; +#X msg 245 106 6 \$1; +#X msg 280 106 7 \$1; +#X msg 202 307 set \$1 \$2 \$3; +#X connect 1 0 0 0; +#X connect 1 1 2 0; +#X connect 2 0 20 0; +#X connect 3 0 12 0; +#X connect 4 0 13 0; +#X connect 5 0 14 0; +#X connect 6 0 15 0; +#X connect 7 0 16 0; +#X connect 8 0 17 0; +#X connect 9 0 18 0; +#X connect 10 0 19 0; +#X connect 11 0 1 0; +#X connect 12 0 11 0; +#X connect 13 0 11 0; +#X connect 14 0 11 0; +#X connect 15 0 11 0; +#X connect 16 0 11 0; +#X connect 17 0 11 0; +#X connect 18 0 11 0; +#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 25 63 pd serin; +#X text 24 46 which analogIns to enable:; +#X connect 1 0 3 0; +#X connect 3 0 0 0; +#X connect 4 0 0 0; +#X connect 5 0 4 0; +#X restore 49 526 pd SWITCHING-INPUTS; +#X text 191 526 <- example of switching inputs on and off; +#X msg 394 283 digital 13 \$1; +#X obj 394 265 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +1; +#X text 480 283 toggle pin 13 on and off; +#X obj 476 90 arduino 1; +#X msg 58 260 devices; +#X text 92 234 <- info for current connection; +#X obj 329 185 tgl 15 0 empty empty 2 3 -6 1 12 -260818 -1 -1 0 1; +#X obj 346 185 tgl 15 0 empty empty 3 3 -6 1 12 -260818 -1 -1 0 1; +#X obj 363 185 tgl 15 0 empty empty 4 3 -6 1 12 -260818 -1 -1 0 1; +#X obj 380 185 tgl 15 0 empty empty 5 3 -6 1 12 -260818 -1 -1 0 1; +#X obj 397 185 tgl 15 0 empty empty 6 3 -6 1 12 -260818 -1 -1 0 1; +#X obj 414 185 tgl 15 0 empty empty 7 3 -6 1 12 -260818 -1 -1 0 1; +#X obj 431 185 tgl 15 0 empty empty 8 3 -6 1 12 -260818 -1 -1 0 1; +#X obj 448 185 tgl 15 0 empty empty 9 3 -6 1 12 -260818 -1 -1 0 1; +#X obj 465 185 tgl 15 0 empty empty 10 0 -6 1 12 -260818 -1 -1 0 1 +; +#X obj 482 185 tgl 15 0 empty empty 11 0 -6 1 12 -260818 -1 -1 0 1 +; +#X obj 499 185 tgl 15 0 empty empty 12 0 -6 1 12 -260818 -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 +#X obj 516 185 tgl 15 0 empty empty 13 0 -6 1 12 -260818 -1 -1 1 1 +; +#X msg 295 226 pinMode 13 1; +#N canvas 163 104 696 323 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 282 outlet; +#X obj 305 243 trigger bang anything; +#X obj 305 196 list prepend set; +#X obj 305 220 list trim; +#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 30 0; +#X connect 14 0 30 0; +#X connect 15 0 30 0; +#X connect 16 0 30 0; +#X connect 17 0 30 0; +#X connect 18 0 30 0; +#X connect 19 0 30 0; +#X connect 20 0 30 0; +#X connect 21 0 30 0; +#X connect 22 0 30 0; +#X connect 23 0 30 0; +#X connect 24 0 30 0; +#X connect 25 0 30 0; +#X connect 26 0 27 0; +#X connect 27 0 30 0; +#X connect 29 0 28 0; +#X connect 29 1 28 0; +#X connect 30 0 31 0; +#X connect 31 0 29 0; +#X restore 295 204 pd send-to-arduino-------------------; +#X obj 295 185 tgl 15 0 empty empty 0 3 -6 1 12 -260818 -1 -1 0 1; +#X obj 312 185 tgl 15 0 empty empty 1 3 -6 1 12 -260818 -1 -1 0 1; +#X obj 295 185 cnv 15 15 15 empty empty Rx 1 10 0 11 -128992 -86277 +0; +#X obj 312 185 cnv 15 15 15 empty empty Tx 1 10 0 11 -128992 -13381 +0; +#X text 291 91 here is our Arduino object -->; +#X msg 58 286 version; +#X text 110 286 <- get firmware version; +#X msg 11 189 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; +#X obj 200 225 s \$0-number-canvas; +#X obj 60 61 hradio 15 1 1 8 empty empty empty 0 -6 0 8 -225271 -1 +-1 1; #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 msg 59 206 open \$1; #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 2 0 6 0; +#X connect 3 0 2 0; +#X connect 4 0 1 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 6 0 5 0; +#X connect 6 0 7 0; +#X connect 7 0 10 0; +#X connect 9 0 8 0; +#X connect 10 0 8 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 373 297 digital 13 \$1; -#X obj 373 279 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 -1; -#X text 474 295 toggle pin 13 on and off; -#X obj 344 90 arduino 1; -#X msg 38 260 devices; -#X text 71 232 <- info for current connection; -#X connect 3 0 4 0; -#X connect 3 0 5 0; -#X connect 4 0 48 0; -#X connect 6 0 48 0; -#X connect 7 0 48 0; -#X connect 12 0 28 1; -#X connect 13 0 28 2; -#X connect 14 0 28 3; -#X connect 15 0 28 4; -#X connect 16 0 28 5; -#X connect 17 0 28 6; -#X connect 18 0 28 7; -#X connect 19 0 28 8; -#X connect 20 0 28 9; -#X connect 21 0 28 10; -#X connect 22 0 28 11; -#X connect 23 0 28 12; -#X connect 24 0 28 13; -#X connect 25 0 24 0; -#X connect 25 0 23 0; -#X connect 25 0 22 0; -#X connect 25 0 21 0; -#X connect 25 0 20 0; -#X connect 25 0 19 0; -#X connect 25 0 18 0; -#X connect 25 0 17 0; -#X connect 25 0 16 0; -#X connect 25 0 15 0; -#X connect 25 0 14 0; -#X connect 25 0 13 0; -#X connect 25 0 12 0; -#X connect 25 0 27 0; -#X connect 27 0 28 0; -#X connect 28 0 45 0; -#X connect 29 0 45 0; -#X connect 43 0 52 0; -#X connect 44 0 43 1; -#X connect 47 0 57 0; -#X connect 54 0 45 0; -#X connect 55 0 54 0; -#X connect 57 0 46 0; -#X connect 57 1 43 0; -#X connect 58 0 48 0; +#X coords 0 -1 1 1 136 17 1 60 60; +#X restore 11 166 pd serin; +#N canvas 0 22 467 240 ver 0; +#X obj 250 100 cnv 15 145 17 empty \$0-version_cnv empty 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 23 6 receive \$0-arduino-out; +#X connect 2 0 1 0; +#X connect 3 0 2 0; +#X connect 4 0 2 0; +#X connect 5 0 4 0; +#X connect 6 0 4 0; +#X connect 7 0 3 0; +#X connect 8 0 7 0; +#X coords 0 -1 1 1 145 17 1 250 100; +#X restore 125 314 pd ver; +#X text 201 185 (serial port)->; +#X connect 3 0 27 0; +#X connect 4 0 27 0; +#X connect 9 0 49 0; +#X connect 9 0 48 0; +#X connect 9 0 47 0; +#X connect 9 0 46 0; +#X connect 9 0 45 0; +#X connect 9 0 44 0; +#X connect 9 0 43 0; +#X connect 9 0 42 0; +#X connect 9 0 41 0; +#X connect 9 0 40 0; +#X connect 9 0 39 0; +#X connect 9 0 38 0; +#X connect 10 0 24 0; +#X connect 26 0 35 0; +#X connect 32 0 24 0; +#X connect 33 0 32 0; +#X connect 35 0 25 0; +#X connect 36 0 27 0; +#X connect 38 0 51 2; +#X connect 39 0 51 3; +#X connect 40 0 51 4; +#X connect 41 0 51 5; +#X connect 42 0 51 6; +#X connect 43 0 51 7; +#X connect 44 0 51 8; +#X connect 45 0 51 9; +#X connect 46 0 51 10; +#X connect 47 0 51 11; +#X connect 48 0 51 12; +#X connect 49 0 51 13; +#X connect 50 0 24 0; +#X connect 51 0 50 0; +#X connect 57 0 27 0; +#X connect 59 0 27 0; +#X connect 60 0 59 0; diff --git a/arduino-test.pd b/arduino-test.pd index acb607d..1275f98 100644 --- a/arduino-test.pd +++ b/arduino-test.pd @@ -1,13 +1,13 @@ -#N canvas 60 22 669 538 10; +#N canvas 71 41 670 525 10; #X obj 512 7 import hardware mapping; -#X obj 323 136 cnv 15 100 22 empty empty empty 20 12 0 14 -253938 -66577 +#X obj 323 126 cnv 15 100 22 empty empty empty 20 12 0 14 -253938 -66577 0; -#X obj 33 165 cnv 15 70 22 empty empty empty 20 12 0 14 -253938 -66577 +#X obj 33 155 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 +#X obj 155 180 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 msg 161 182 open 1; +#N canvas 128 22 525 433 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; @@ -18,10 +18,19 @@ #X obj 200 180 makefilename %d; #X obj 59 108 int; #X msg 59 206 open \$1; -#X obj 59 337 outlet; +#X obj 59 377 outlet; #X msg 201 306 set \$1 \$2; #X obj 59 266 trigger bang anything; #X obj 201 286 list; +#X obj 383 383 outlet; +#X obj 384 22 netreceive 34567; +#X obj 477 43 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 0 +1; +#X obj 384 41 bng 15 250 50 0 empty empty empty 0 -6 0 10 -262144 -1 +-1; +#X obj 187 24 delay 15000; +#X text 345 379 close; +#X text 209 4 for open/close automation in Makefile; #X connect 2 0 6 0; #X connect 3 0 2 0; #X connect 4 0 1 0; @@ -33,25 +42,29 @@ #X connect 10 0 8 0; #X connect 10 1 11 0; #X connect 11 0 9 0; +#X connect 13 0 15 0; +#X connect 13 1 14 0; +#X connect 15 0 16 0; +#X connect 15 0 12 0; +#X connect 16 0 2 0; #X coords 0 -1 1 1 136 17 1 60 60; -#X restore 161 169 pd serin; -#X text 158 151 serial port #; -#X text 420 513 released under the GNU GPL; -#X msg 221 192 close; -#X obj 532 330 tgl 15 0 empty empty changes 0 -6 0 8 -262144 -1 -1 +#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; -#X obj 479 330 tgl 15 0 empty empty all 0 -6 0 8 -262144 -1 -1 0 1 +#X obj 479 320 tgl 15 0 empty empty all 0 -6 0 8 -262144 -1 -1 0 1 ; -#X obj 98 119 hsl 150 17 0 1 0 0 empty empty PWM_control_(0-1) -2 -6 +#X obj 98 109 hsl 150 17 0 1 0 0 empty empty PWM_control_(0-1) -2 -6 1 10 -225271 -1 -1 0 0; -#X obj 277 332 tgl 15 1 empty empty empty 0 -6 0 8 -225271 -1 -1 1 +#X obj 277 322 tgl 15 1 empty empty empty 0 -6 0 8 -225271 -1 -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 1 +#X obj 455 207 tgl 15 1 empty empty empty 0 -6 0 8 -257472 -1 -1 1 1; -#X text 478 216 enable/disable digitalIns; -#X msg 455 235 digitalIns \$1; -#X msg 455 193 analogIns 0 0; +#X text 478 206 enable/disable digitalIns; +#X msg 455 225 digitalIns \$1; +#X msg 455 183 analogIns 5 1; #N canvas 162 133 610 460 serin 0; #X obj 59 337 outlet; #X obj 59 266 trigger bang anything; @@ -67,7 +80,7 @@ #X obj 120 61 tgl 15 0 junk_to_hide_inlet junk_to_hide_outlet 4 5 9 1 12 -262130 -1 -1 0 1; #X obj 135 61 tgl 15 0 junk_to_hide_inlet junk_to_hide_outlet 5 5 9 -1 12 -262130 -1 -1 0 1; +1 12 -262130 -1 -1 1 1; #X obj 150 61 tgl 15 0 junk_to_hide_inlet junk_to_hide_outlet 6 5 9 1 12 -262130 -1 -1 0 1; #X obj 165 61 tgl 15 0 junk_to_hide_inlet junk_to_hide_outlet 7 5 9 @@ -104,7 +117,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 173 pd serin; +#X restore 455 163 pd serin; #N canvas 77 268 490 340 debugging 0; #X obj 136 31 inlet; #X obj 324 29 inlet; @@ -158,31 +171,31 @@ #X connect 10 0 8 0; #X connect 11 0 10 0; #X connect 13 0 14 0; -#X restore 427 348 pd debugging stuff; -#X floatatom 22 446 5 0 0 3 a0 - -; -#X floatatom 68 446 5 0 0 3 a1 - -; -#X floatatom 114 446 5 0 0 3 a2 - -; -#X floatatom 160 446 5 0 0 3 a3 - -; -#X floatatom 206 446 5 0 0 3 a4 - -; -#X floatatom 252 446 5 0 0 3 a5 - -; -#X text 300 311 <- argument sets port #; -#X msg 62 119 off; -#X obj 40 91 hradio 15 1 0 14 empty empty empty 0 -6 0 8 -176124 -1 --1 10; -#X text 148 77 7; -#X text 42 77 0; -#X text 189 77 10; -#X text 235 77 13; -#X text 102 77 4; -#X text 71 77 2; -#X text 116 77 5; -#X text 131 77 6; -#X text 87 77 3; -#X text 162 77 8; -#X text 179 77 9; -#X text 205 77 11; -#X text 220 77 12; -#X text 57 77 1; +#X restore 427 338 pd debugging stuff; +#X floatatom 22 436 5 0 0 3 a0 - -; +#X floatatom 68 436 5 0 0 3 a1 - -; +#X floatatom 114 436 5 0 0 3 a2 - -; +#X floatatom 160 436 5 0 0 3 a3 - -; +#X floatatom 206 436 5 0 0 3 a4 - -; +#X floatatom 252 436 5 0 0 3 a5 - -; +#X text 300 301 <- argument sets port #; +#X msg 62 109 off; +#X obj 40 81 hradio 15 1 0 14 empty empty empty 0 -6 0 8 -176124 -1 +-1 11; +#X text 148 67 7; +#X text 42 67 0; +#X text 189 67 10; +#X text 235 67 13; +#X text 102 67 4; +#X text 71 67 2; +#X text 116 67 5; +#X text 131 67 6; +#X text 87 67 3; +#X text 162 67 8; +#X text 179 67 9; +#X text 205 67 11; +#X text 220 67 12; +#X text 57 67 1; #N canvas 66 58 423 503 pwm 0; #X obj 38 10 inlet; #X obj 131 10 inlet; @@ -223,28 +236,28 @@ #X connect 15 1 16 0; #X connect 16 0 17 0; #X connect 17 0 14 0; -#X restore 41 145 pd pwm; -#X msg 41 167 pwm 10 0; -#X msg 328 195 info; -#X msg 367 195 version; -#X obj 230 332 spigot; +#X restore 41 135 pd pwm; +#X msg 41 157 pwm 11 0; +#X msg 328 185 info; +#X msg 367 185 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).; -#X obj 363 97 tgl 15 0 empty empty 2 3 -6 1 12 -260818 -1 -1 0 1; -#X obj 380 97 tgl 15 0 empty empty 3 3 -6 1 12 -260818 -1 -1 0 1; -#X obj 397 97 tgl 15 0 empty empty 4 3 -6 1 12 -260818 -1 -1 0 1; -#X obj 414 97 tgl 15 0 empty empty 5 3 -6 1 12 -260818 -1 -1 0 1; -#X obj 431 97 tgl 15 0 empty empty 6 3 -6 1 12 -260818 -1 -1 0 1; -#X obj 448 97 tgl 15 0 empty empty 7 3 -6 1 12 -260818 -1 -1 0 1; -#X obj 465 97 tgl 15 0 empty empty 8 3 -6 1 12 -260818 -1 -1 0 1; -#X obj 482 97 tgl 15 0 empty empty 9 3 -6 1 12 -260818 -1 -1 0 1; -#X obj 499 97 tgl 15 0 empty empty 10 0 -6 1 12 -260818 -1 -1 0 1; -#X obj 516 97 tgl 15 0 empty empty 11 0 -6 1 12 -260818 -1 -1 0 1; -#X obj 533 97 tgl 15 0 empty empty 12 0 -6 1 12 -260818 -1 -1 0 1; -#X obj 550 97 tgl 15 0 empty empty 13 0 -6 1 12 -260818 -1 -1 0 1; -#X text 328 64 turn on output mode for each pin (off=input); -#X msg 329 138 pinMode 10 0; -#N canvas 101 54 471 348 sending 0; +#X obj 363 87 tgl 15 0 empty empty 2 3 -6 1 12 -260818 -1 -1 0 1; +#X obj 380 87 tgl 15 0 empty empty 3 3 -6 1 12 -260818 -1 -1 0 1; +#X obj 397 87 tgl 15 0 empty empty 4 3 -6 1 12 -260818 -1 -1 0 1; +#X obj 414 87 tgl 15 0 empty empty 5 3 -6 1 12 -260818 -1 -1 0 1; +#X obj 431 87 tgl 15 0 empty empty 6 3 -6 1 12 -260818 -1 -1 0 1; +#X obj 448 87 tgl 15 0 empty empty 7 3 -6 1 12 -260818 -1 -1 0 1; +#X obj 465 87 tgl 15 0 empty empty 8 3 -6 1 12 -260818 -1 -1 0 1; +#X obj 482 87 tgl 15 0 empty empty 9 3 -6 1 12 -260818 -1 -1 0 1; +#X obj 499 87 tgl 15 0 empty empty 10 0 -6 1 12 -260818 -1 -1 0 1; +#X obj 516 87 tgl 15 0 empty empty 11 0 -6 1 12 -260818 -1 -1 0 1; +#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 1 1; +#X text 328 54 turn on output mode for each pin (off=input); +#X msg 329 128 pinMode 13 1; +#N canvas 101 54 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; @@ -256,8 +269,6 @@ Arduino (previously known as Pduino firmware).; #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; @@ -335,48 +346,49 @@ Arduino (previously known as Pduino firmware).; ; #X obj 348 52 metro 100; #X obj 349 13 inlet; +#X obj 78 98 tgl 15 0 empty empty 0 3 -6 1 12 -260818 -1 -1 0 1; +#X obj 95 98 tgl 15 0 empty empty 1 3 -6 1 12 -260818 -1 -1 0 1; +#X obj 78 98 cnv 15 15 15 empty empty Rx 1 10 0 11 -128992 -86277 0 +; +#X obj 95 98 cnv 15 15 15 empty empty Tx 1 10 0 11 -128992 -13381 0 +; #X connect 2 0 1 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 3 0 15 7; +#X connect 4 0 15 8; +#X connect 5 0 15 9; +#X connect 6 0 15 10; +#X connect 7 0 15 11; +#X connect 8 0 15 12; +#X connect 9 0 15 13; +#X connect 10 0 15 2; +#X connect 11 0 15 3; +#X connect 12 0 15 4; +#X connect 13 0 15 5; +#X connect 14 0 15 6; +#X connect 15 0 2 0; +#X connect 16 0 9 0; +#X connect 16 0 8 0; +#X connect 16 0 7 0; +#X connect 16 0 6 0; +#X connect 16 0 5 0; +#X connect 16 0 4 0; +#X connect 16 0 3 0; +#X connect 16 0 14 0; +#X connect 16 0 13 0; +#X connect 16 0 12 0; +#X connect 16 0 11 0; +#X connect 16 0 10 0; +#X connect 17 0 18 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 14 245 tgl 15 0 empty empty empty 0 -6 0 8 -225271 -1 -1 0 16383 +#X connect 19 0 17 0; +#X restore 14 254 pd sending digital outs; +#X obj 14 235 tgl 15 0 empty empty empty 0 -6 0 8 -225271 -1 -1 0 16383 ; -#X text 32 244 pulse all outputs; -#X obj 230 312 arduino 1; -#X floatatom 298 446 5 0 0 3 a6 - -; -#X floatatom 344 446 5 0 0 3 a7 - -; -#X obj 230 351 route analog; -#X obj 121 389 route 0 1 2 3 4 5 6 7; +#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 121 379 route 0 1 2 3 4 5 6 7; #N canvas 0 22 499 396 display 0; #X obj 6 7 inlet; #X obj 6 28 mapping/resample 100; @@ -418,24 +430,24 @@ Arduino (previously known as Pduino firmware).; #X connect 19 0 20 0; #X connect 21 0 22 0; #X connect 22 0 23 0; -#X restore 45 420 pd display values without pegging the CPU; -#X obj 397 389 route digital version; -#X obj 397 446 route 0 1 2 3 4 5 6 7 8 9 10 11 12 13; -#X obj 428 468 tgl 15 0 empty empty 2 4 23 1 12 -232448 -1 -1 0 1; -#X obj 445 468 tgl 15 0 empty empty 3 4 23 1 12 -232448 -1 -1 0 1; -#X obj 462 468 tgl 15 0 empty empty 4 4 23 1 12 -232448 -1 -1 0 1; -#X obj 479 468 tgl 15 0 empty empty 5 4 23 1 12 -232448 -1 -1 0 1; -#X obj 496 468 tgl 15 0 empty empty 6 4 23 1 12 -232448 -1 -1 0 1; -#X obj 513 468 tgl 15 0 empty empty 7 4 23 1 12 -232448 -1 -1 0 1; -#X obj 530 468 tgl 15 0 empty empty 8 4 23 1 12 -232448 -1 -1 0 1; -#X obj 547 468 tgl 15 0 empty empty 9 4 23 1 12 -232448 -1 -1 0 1; -#X obj 564 468 tgl 15 0 empty empty 10 0 23 1 12 -232448 -1 -1 0 1 +#X restore 45 410 pd display values without pegging the CPU; +#X obj 397 379 route digital version; +#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 581 468 tgl 15 0 empty empty 11 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 598 468 tgl 15 0 empty empty 12 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 615 468 tgl 15 0 empty empty 13 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 ; #N canvas 0 22 454 304 raw 0; #X obj 96 231 outlet; @@ -444,8 +456,8 @@ Arduino (previously known as Pduino firmware).; #X msg 90 139 171 \, \$1 \, 0; #X connect 1 0 2 0; #X connect 2 0 0 0; -#X restore 374 292 pd raw PWM; -#X text 2 514 (C) Copyright 2006 Free Software Foundation; +#X restore 374 282 pd raw PWM; +#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 firmata_version_1.0 @@ -465,11 +477,11 @@ Arduino (previously known as Pduino firmware).; #X connect 7 0 5 0; #X connect 8 0 4 0; #X coords 0 -1 1 1 145 17 1 250 100; -#X restore 67 329 pd ver; -#X obj 456 409 unpack 0 0; -#X floatatom 456 429 5 0 0 0 - - -; -#X floatatom 513 429 5 0 0 0 - - -; -#N canvas 163 104 696 323 send-to-arduino------------------- 0; +#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 - - -; +#N canvas 163 104 700 327 send-to-arduino------------------- 0; #X obj 49 24 inlet; #X obj 89 24 inlet; #X obj 128 24 inlet; @@ -534,88 +546,91 @@ Arduino (previously known as Pduino firmware).; #X connect 29 1 28 0; #X connect 30 0 31 0; #X connect 31 0 29 0; -#X restore 329 116 pd send-to-arduino-------------------; -#X obj 394 468 tgl 15 0 empty empty 0 4 23 1 12 -232448 -1 -1 0 1; -#X obj 411 468 tgl 15 0 empty empty 1 4 23 1 12 -232448 -1 -1 0 1; -#X obj 394 468 cnv 15 15 15 empty empty Rx 1 10 0 11 -128992 -86277 +#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 0; -#X obj 411 468 cnv 15 15 15 empty empty Tx 1 10 0 11 -128992 -13381 +#X obj 411 458 cnv 15 15 15 empty empty Tx 1 10 0 11 -128992 -13381 0; -#X obj 329 97 tgl 15 0 empty empty 0 3 -6 1 12 -260818 -1 -1 0 1; -#X obj 346 97 tgl 15 0 empty empty 1 3 -6 1 12 -260818 -1 -1 0 1; -#X obj 329 97 cnv 15 15 15 empty empty Rx 1 10 0 11 -128992 -86277 +#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; +#X obj 329 87 cnv 15 15 15 empty empty Rx 1 10 0 11 -128992 -86277 0; -#X obj 346 97 cnv 15 15 15 empty empty Tx 1 10 0 11 -128992 -13381 +#X obj 346 87 cnv 15 15 15 empty empty Tx 1 10 0 11 -128992 -13381 0; -#X connect 4 0 66 0; +#X text 454 146 which analogIns to enable:; +#X obj 230 302 arduino 1; +#X connect 4 0 100 0; #X connect 5 0 4 0; -#X connect 8 0 66 0; -#X connect 9 0 19 2; -#X connect 10 0 19 1; -#X connect 11 0 43 1; -#X connect 12 0 47 1; -#X connect 14 0 16 0; -#X connect 16 0 66 0; -#X connect 17 0 66 0; -#X connect 18 0 17 0; -#X connect 27 0 43 1; -#X connect 28 0 43 0; -#X connect 43 0 44 0; -#X connect 44 0 66 0; -#X connect 45 0 66 0; -#X connect 46 0 66 0; -#X connect 47 0 69 0; -#X connect 49 0 92 2; -#X connect 50 0 92 3; -#X connect 51 0 92 4; -#X connect 52 0 92 5; -#X connect 53 0 92 6; -#X connect 54 0 92 7; -#X connect 55 0 92 8; -#X connect 56 0 92 9; -#X connect 57 0 92 10; -#X connect 58 0 92 11; -#X connect 59 0 92 12; -#X connect 60 0 92 13; -#X connect 62 0 66 0; -#X connect 63 0 66 0; -#X connect 64 0 63 0; -#X connect 66 0 47 0; -#X connect 66 0 88 0; -#X connect 66 1 19 0; -#X connect 69 0 70 0; -#X connect 69 1 72 0; +#X connect 5 1 8 0; +#X connect 8 0 100 0; +#X connect 9 0 18 2; +#X connect 10 0 18 1; +#X connect 11 0 42 1; +#X connect 12 0 46 1; +#X connect 13 0 15 0; +#X connect 15 0 100 0; +#X connect 16 0 100 0; +#X connect 17 0 16 0; +#X connect 26 0 42 1; +#X connect 27 0 42 0; +#X connect 42 0 43 0; +#X connect 43 0 100 0; +#X connect 44 0 100 0; +#X connect 45 0 100 0; +#X connect 46 0 67 0; +#X connect 48 0 90 2; +#X connect 49 0 90 3; +#X connect 50 0 90 4; +#X connect 51 0 90 5; +#X connect 52 0 90 6; +#X connect 53 0 90 7; +#X connect 54 0 90 8; +#X connect 55 0 90 9; +#X connect 56 0 90 10; +#X connect 57 0 90 11; +#X connect 58 0 90 12; +#X connect 59 0 90 13; +#X connect 61 0 100 0; +#X connect 62 0 100 0; +#X connect 63 0 62 0; +#X connect 67 0 68 0; +#X connect 67 1 70 0; +#X connect 68 0 69 0; +#X connect 68 1 69 1; +#X connect 68 2 69 2; +#X connect 68 3 69 3; +#X connect 68 4 69 4; +#X connect 68 5 69 5; +#X connect 68 6 69 6; +#X connect 68 7 69 7; +#X connect 69 0 19 0; +#X connect 69 1 20 0; +#X connect 69 2 21 0; +#X connect 69 3 22 0; +#X connect 69 4 23 0; +#X connect 69 5 24 0; +#X connect 69 6 65 0; +#X connect 69 7 66 0; #X connect 70 0 71 0; -#X connect 70 1 71 1; -#X connect 70 2 71 2; -#X connect 70 3 71 3; -#X connect 70 4 71 4; -#X connect 70 5 71 5; -#X connect 70 6 71 6; -#X connect 70 7 71 7; -#X connect 71 0 20 0; -#X connect 71 1 21 0; -#X connect 71 2 22 0; -#X connect 71 3 23 0; -#X connect 71 4 24 0; -#X connect 71 5 25 0; -#X connect 71 6 67 0; -#X connect 71 7 68 0; -#X connect 72 0 73 0; -#X connect 72 1 89 0; -#X connect 73 2 74 0; -#X connect 73 3 75 0; -#X connect 73 4 76 0; -#X connect 73 5 77 0; -#X connect 73 6 78 0; -#X connect 73 7 79 0; -#X connect 73 8 80 0; -#X connect 73 9 81 0; -#X connect 73 10 82 0; -#X connect 73 11 83 0; -#X connect 73 12 84 0; -#X connect 73 13 85 0; -#X connect 86 0 66 1; -#X connect 89 0 90 0; -#X connect 89 1 91 0; -#X connect 92 0 62 0; +#X connect 70 1 87 0; +#X connect 71 2 72 0; +#X connect 71 3 73 0; +#X connect 71 4 74 0; +#X connect 71 5 75 0; +#X connect 71 6 76 0; +#X connect 71 7 77 0; +#X connect 71 8 78 0; +#X connect 71 9 79 0; +#X connect 71 10 80 0; +#X connect 71 11 81 0; +#X connect 71 12 82 0; +#X connect 71 13 83 0; +#X connect 84 0 100 1; +#X connect 87 0 88 0; +#X connect 87 1 89 0; +#X connect 90 0 61 0; +#X connect 100 0 46 0; +#X connect 100 0 86 0; +#X connect 100 1 18 0; diff --git a/arduino.pd b/arduino.pd index 1ba579f..c6e4938 100644 --- a/arduino.pd +++ b/arduino.pd @@ -1,13 +1,13 @@ -#N canvas 365 27 636 363 10; +#N canvas 365 27 644 371 10; #X obj 377 9 import hardware flatspace iemlib mapping; #X text 321 336 released under the GNU GPL; #X obj 61 19 inlet; #X obj 61 297 outlet; #X obj 544 297 outlet; -#N canvas 350 22 585 340 command 0; +#N canvas 350 22 589 344 command 0; #X obj 24 7 inlet; #X obj 281 289 outlet; -#N canvas 729 244 499 307 digital-out 0; +#N canvas 729 244 503 311 digital-out 0; #X obj 26 12 inlet; #X obj 218 219 outlet; #X obj 97 172 float; @@ -46,7 +46,7 @@ #X connect 10 0 2 0; #X connect 10 1 4 0; #X restore 377 118 pd digital-out; -#N canvas 310 221 536 343 pinMode 0; +#N canvas 310 221 540 347 pinMode 0; #X obj 190 11 inlet; #X obj 289 307 outlet; #X obj 60 91 unpack float float; @@ -76,7 +76,7 @@ #X connect 13 0 12 0; #X connect 13 1 1 0; #X restore 280 93 pd pinMode; -#N canvas 300 373 368 376 pwm 0; +#N canvas 300 373 372 380 pwm 0; #X obj 44 14 inlet; #X obj 44 312 outlet; #X obj 44 79 unpack float float; @@ -102,7 +102,7 @@ #X obj 412 91 route digital version; #X obj 24 51 route pwm analog analogIns digitalIns pinMode info; #X msg 473 118 249; -#N canvas 0 22 458 308 analogIns 0; +#N canvas 0 22 462 312 analogIns 0; #X obj 64 7 inlet; #X obj 69 263 outlet; #X obj 64 65 unpack float float; @@ -128,7 +128,7 @@ #X connect 9 0 3 0; #X connect 10 0 9 0; #X restore 106 94 pd analogIns; -#N canvas 0 22 454 304 digitalIns 0; +#N canvas 0 22 458 308 digitalIns 0; #X obj 98 26 inlet; #X obj 98 264 outlet; #X obj 98 89 select 0; @@ -167,14 +167,14 @@ #X text 306 1 raw input; #X text 57 1 processed input; #X obj 410 88 loadbang; -#N canvas 0 22 458 308 report 0; +#N canvas 0 22 462 312 report 0; #X obj 95 26 inlet; #X obj 97 186 print [arduino]; -#X msg 93 87 version_1.0; +#X msg 93 87 version_0.3; #X connect 0 0 2 0; #X connect 2 0 1 0; #X restore 410 112 pd report object version; -#N canvas 0 22 478 328 report 0; +#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; -- cgit v1.2.1