aboutsummaryrefslogtreecommitdiff
path: root/arduino.pd
diff options
context:
space:
mode:
authorHans-Christoph Steiner <eighthave@users.sourceforge.net>2008-04-11 22:08:18 +0000
committerHans-Christoph Steiner <eighthave@users.sourceforge.net>2008-04-11 22:08:18 +0000
commitb5ddfbc4f01c27e2419f9fddcac614dec93d00a4 (patch)
tree1855b1a7f7795f58f61b504c1ee86c8be2691861 /arduino.pd
parent079e86651a3d9237b7a861489a26045f06521333 (diff)
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
Diffstat (limited to 'arduino.pd')
-rw-r--r--arduino.pd337
1 files changed, 205 insertions, 132 deletions
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;