aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans-Christoph Steiner <eighthave@users.sourceforge.net>2008-04-08 22:01:33 +0000
committerHans-Christoph Steiner <eighthave@users.sourceforge.net>2008-04-08 22:01:33 +0000
commitca47d23b1b5701c29cd1682ceefe986875ed07bd (patch)
tree3a9bd34f0dede00181bf593eaca0cad78ad79dbc
parent907d163a34d4da6be8d38e80bbb4a54f287c2555 (diff)
Implemented firmware reporting and sysex, sysex isn't fully tested.
svn path=/trunk/externals/hardware/arduino/; revision=9685
-rw-r--r--arduino-test.pd204
-rw-r--r--arduino.pd281
2 files changed, 327 insertions, 158 deletions
diff --git a/arduino-test.pd b/arduino-test.pd
index 477489e..178fa2f 100644
--- a/arduino-test.pd
+++ b/arduino-test.pd
@@ -1,4 +1,4 @@
-#N canvas 458 53 674 529 10;
+#N canvas 704 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;
@@ -6,13 +6,13 @@
0;
#X obj 155 180 cnv 15 60 22 empty empty empty 20 12 0 14 -253938 -66577
0;
-#X msg 161 182 open 1;
+#X msg 161 182 open 4;
#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
+#X obj 180 61 cnv 15 15 15 empty \$0-number-canvas 4 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;
+-1 4;
#X obj 60 13 inlet;
#X msg 200 202 label \$1;
#X obj 200 180 makefilename %d;
@@ -60,11 +60,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 1
+#X obj 455 207 tgl 15 1 empty empty empty 0 -6 0 8 -257472 -1 -1 0
1;
#X text 478 206 enable/disable digitalIns;
#X msg 455 225 digitalIns \$1;
-#X msg 455 183 analogIns 5 1;
+#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;
@@ -179,7 +179,6 @@
#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 0;
#X text 148 67 7;
@@ -237,7 +236,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 9 off;
#X msg 319 175 info;
#X msg 358 175 version;
#X obj 230 322 spigot;
@@ -256,12 +255,12 @@ 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 13 1;
-#N canvas 101 54 475 352 sending 0;
+#X msg 329 128 pinMode 12 1;
+#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 0 0;
+#X msg 78 161 digital 12 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;
@@ -271,9 +270,9 @@ Arduino (previously known as Pduino firmware).;
#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 5 4 -6 1 12 -233017 -1 -1 0 1;
-#X obj 163 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 7 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;
#N canvas 314 233 679 330 generate 0;
#X obj 42 24 inlet;
#X obj 82 24 inlet;
@@ -451,17 +450,14 @@ Arduino (previously known as Pduino firmware).;
;
#N canvas 0 22 454 304 raw 0;
#X obj 96 231 outlet;
-#X obj 96 63 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 10 -262144
--1 -1 0 1;
-#X msg 90 139 171 \, \$1 \, 0;
-#X connect 1 0 2 0;
-#X connect 2 0 0 0;
+#X msg 96 127 240 \, 121 \, 247;
+#X connect 1 0 0 0;
#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 empty 4 10 0 12
--203904 -1 0;
+#X obj 250 100 cnv 15 145 17 empty \$0-version_cnv firmata_version_1.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;
@@ -469,6 +465,7 @@ Arduino (previously known as Pduino firmware).;
#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 connect 3 0 2 0;
#X connect 4 0 3 0;
@@ -476,6 +473,7 @@ Arduino (previously known as Pduino firmware).;
#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 coords 0 -1 1 1 145 17 1 250 100;
#X restore 67 319 pd ver;
#X obj 456 399 unpack 0 0;
@@ -561,78 +559,106 @@ Arduino (previously known as Pduino firmware).;
0;
#X text 454 146 which analogIns to enable:;
#X obj 230 302 arduino 1;
-#X msg 359 198 devices;
-#X connect 4 0 100 0;
+#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
+4 10 0 12 -232576 -66577 0;
+#X msg 123 152 label \$1;
+#X obj 148 123 symbol;
+#X obj 138 97 loadbang;
+#X msg 196 98 bang;
+#X obj 123 177 send \$0-firmware_cnv;
+#X obj 123 29 route firmware;
+#X obj 18 177 print Firmware;
+#X obj 123 54 list;
+#X obj 123 76 zexy/makesymbol %s-%s.%s;
+#X obj 18 147 list trim;
+#X connect 0 0 7 0;
+#X connect 2 0 6 0;
+#X connect 3 0 2 0;
+#X connect 4 0 3 0;
+#X connect 5 0 3 0;
+#X connect 7 0 9 0;
+#X connect 9 0 10 0;
+#X connect 10 0 2 0;
+#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 connect 4 0 99 0;
#X connect 5 0 4 0;
#X connect 5 1 8 0;
-#X connect 8 0 100 0;
+#X connect 8 0 99 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 11 0 41 1;
+#X connect 12 0 45 1;
#X connect 13 0 15 0;
-#X connect 15 0 100 0;
-#X connect 16 0 100 0;
+#X connect 15 0 99 0;
+#X connect 16 0 99 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 26 0 41 0;
+#X connect 41 0 42 0;
+#X connect 42 0 99 0;
+#X connect 43 0 99 0;
+#X connect 44 0 99 0;
+#X connect 45 0 66 0;
+#X connect 47 0 89 2;
+#X connect 48 0 89 3;
+#X connect 49 0 89 4;
+#X connect 50 0 89 5;
+#X connect 51 0 89 6;
+#X connect 52 0 89 7;
+#X connect 53 0 89 8;
+#X connect 54 0 89 9;
+#X connect 55 0 89 10;
+#X connect 56 0 89 11;
+#X connect 57 0 89 12;
+#X connect 58 0 89 13;
+#X connect 60 0 99 0;
+#X connect 61 0 99 0;
+#X connect 62 0 61 0;
+#X connect 66 0 67 0;
+#X connect 66 1 69 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 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;
-#X connect 101 0 100 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 0 70 0;
+#X connect 69 1 86 0;
+#X connect 70 2 71 0;
+#X connect 70 3 72 0;
+#X connect 70 4 73 0;
+#X connect 70 5 74 0;
+#X connect 70 6 75 0;
+#X connect 70 7 76 0;
+#X connect 70 8 77 0;
+#X connect 70 9 78 0;
+#X connect 70 10 79 0;
+#X connect 70 11 80 0;
+#X connect 70 12 81 0;
+#X connect 70 13 82 0;
+#X connect 83 0 99 1;
+#X connect 85 0 100 0;
+#X connect 86 0 87 0;
+#X connect 86 1 88 0;
+#X connect 89 0 60 0;
+#X connect 99 0 45 0;
+#X connect 99 0 85 0;
+#X connect 99 1 18 0;
+#X connect 101 0 99 0;
+#X connect 102 0 99 0;
diff --git a/arduino.pd b/arduino.pd
index a092535..0b016b6 100644
--- a/arduino.pd
+++ b/arduino.pd
@@ -1,10 +1,10 @@
-#N canvas 365 27 644 371 10;
+#N canvas 195 408 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 589 344 command 0;
+#N canvas 719 22 683 345 command 0;
#X obj 24 7 inlet;
#X obj 281 289 outlet;
#N canvas 729 244 503 311 digital-out 0;
@@ -99,9 +99,7 @@
#X connect 9 0 6 1;
#X restore 24 94 pd pwm;
#X msg 359 93 info;
-#X obj 412 91 route digital version;
-#X obj 24 51 route pwm analog analogIns digitalIns pinMode info;
-#X msg 473 118 249;
+#X msg 471 132 249;
#N canvas 0 22 462 312 analogIns 0;
#X obj 64 7 inlet;
#X obj 69 263 outlet;
@@ -144,24 +142,33 @@
#X connect 5 0 6 0;
#X connect 6 0 1 0;
#X restore 187 94 pd digitalIns;
-#X connect 0 0 7 0;
+#X obj 24 51 route pwm analog analogIns digitalIns pinMode info;
+#X obj 412 91 route digital version firmware;
+#X msg 530 132 240 \, 121 \, 247;
+#X obj 471 112 bang;
+#X obj 530 111 bang;
+#X connect 0 0 9 0;
#X connect 2 0 1 0;
#X connect 3 0 1 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
-#X connect 6 0 2 0;
-#X connect 6 1 8 0;
-#X connect 6 2 1 0;
-#X connect 7 0 4 0;
-#X connect 7 1 4 0;
-#X connect 7 2 9 0;
-#X connect 7 3 10 0;
-#X connect 7 4 3 0;
-#X connect 7 5 5 0;
-#X connect 7 6 6 0;
+#X connect 6 0 1 0;
+#X connect 7 0 1 0;
#X connect 8 0 1 0;
-#X connect 9 0 1 0;
-#X connect 10 0 1 0;
+#X connect 9 0 4 0;
+#X connect 9 1 4 0;
+#X connect 9 2 7 0;
+#X connect 9 3 8 0;
+#X connect 9 4 3 0;
+#X connect 9 5 5 0;
+#X connect 9 6 10 0;
+#X connect 10 0 2 0;
+#X connect 10 1 12 0;
+#X connect 10 2 13 0;
+#X connect 10 3 1 0;
+#X connect 11 0 1 0;
+#X connect 12 0 6 0;
+#X connect 13 0 11 0;
#X restore 61 52 pd command processing;
#X obj 319 19 inlet;
#X text 306 1 raw input;
@@ -186,63 +193,68 @@
#X connect 4 0 3 0;
#X restore 231 113 pd report firmware version;
#X text 335 299 DEBUG/RAW data (this will change);
-#N canvas 225 71 467 421 make 0;
-#X obj 79 6 inlet;
-#X obj 184 337 outlet;
-#X obj 79 72 moses 128;
-#X obj 130 96 trigger float float;
-#N canvas 102 52 653 358 set 0;
+#N canvas 590 536 467 421 make 0;
+#X obj 28 6 inlet;
+#X obj 184 377 outlet;
+#X obj 28 52 moses 128;
+#X obj 130 100 trigger float float;
+#N canvas 459 531 653 358 set 0;
#X obj 26 3 inlet;
#X obj 34 307 outlet;
#X text 85 31 0xF0;
#X obj 26 31 moses 240;
#X text 79 307 length in byte count;
-#X obj 431 254 select 240 247;
-#X text 522 256 SysEx;
-#X msg 291 122 2;
+#X msg 283 122 2;
#X obj 26 60 & 240;
#X obj 26 101 select 144 160 176 192 208 224;
#X text 29 86 0x90 0xA0 0xB0 0xC0 0xD0 0xE0;
#X msg 251 122 2;
-#X text 283 83 0xF4 0xF9;
-#X obj 251 101 select 244 249;
-#X obj 281 199 print [arduino]_WARNING_currently_unsupported;
+#X text 282 83 0xF4 0xF9;
+#X obj 195 242 print [arduino]_WARNING_currently_unsupported;
#X msg 55 122 160;
#X msg 26 122 2;
#X msg 85 122 176;
#X msg 114 122 1;
#X msg 144 122 1;
#X msg 173 122 2;
+#X text 348 69 sysex;
+#X msg 315 122 999999;
+#X text 362 121 <-- sets sysex size limit;
+#X text 62 60 strip channel info;
+#X text 342 83 0xF0;
+#X obj 251 101 select 244 249 240;
#X connect 0 0 3 0;
-#X connect 3 0 8 0;
-#X connect 3 1 13 0;
-#X connect 7 0 1 0;
-#X connect 8 0 9 0;
-#X connect 9 0 16 0;
-#X connect 9 1 15 0;
-#X connect 9 2 17 0;
-#X connect 9 3 18 0;
-#X connect 9 4 19 0;
-#X connect 9 5 20 0;
-#X connect 11 0 1 0;
-#X connect 13 0 11 0;
-#X connect 13 1 7 0;
-#X connect 15 0 14 0;
+#X connect 3 0 6 0;
+#X connect 3 1 23 0;
+#X connect 5 0 1 0;
+#X connect 6 0 7 0;
+#X connect 7 0 13 0;
+#X connect 7 1 12 0;
+#X connect 7 2 14 0;
+#X connect 7 3 15 0;
+#X connect 7 4 16 0;
+#X connect 7 5 17 0;
+#X connect 9 0 1 0;
+#X connect 12 0 11 0;
+#X connect 13 0 1 0;
+#X connect 14 0 11 0;
+#X connect 15 0 1 0;
#X connect 16 0 1 0;
-#X connect 17 0 14 0;
-#X connect 18 0 1 0;
+#X connect 17 0 1 0;
#X connect 19 0 1 0;
-#X connect 20 0 1 0;
-#X restore 241 123 pd set message length;
-#X obj 184 258 mapping/tolist;
-#X obj 79 210 select 0;
-#X obj 79 188 float;
-#X obj 117 188 - 1;
-#X obj 79 128 trigger bang float;
-#X text 140 72 only process command bytes;
-#N canvas 0 22 482 332 convert 0;
-#X obj 142 218 outlet;
-#X obj 257 218 print UNKNOWN_INPUT_COMMAND;
+#X connect 23 0 9 0;
+#X connect 23 1 5 0;
+#X connect 23 2 19 0;
+#X restore 241 127 pd set message length;
+#X obj 184 298 mapping/tolist;
+#X obj 79 250 select 0;
+#X obj 79 228 float;
+#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 obj 142 278 outlet;
+#X obj 34 321 print UNKNOWN_INPUT_COMMAND;
#N canvas 123 202 630 307 digital 0;
#X obj 163 16 inlet;
#X obj 252 255 outlet;
@@ -296,7 +308,7 @@
#X connect 17 0 4 0;
#X connect 18 0 4 0;
#X connect 19 0 4 0;
-#X restore 143 114 pd digital messages;
+#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;
@@ -318,22 +330,150 @@
#X connect 6 0 3 1;
#X connect 8 0 5 1;
#X connect 9 0 3 0;
-#X restore 286 113 pd analog messages;
+#X restore 372 170 pd analog messages;
#X obj 85 13 inlet;
-#X msg 40 114 version \$2 \$1;
-#X obj 85 65 route 249 144;
-#X text 114 50 0xF9 0x90;
+#X msg 40 174 version \$2 \$1;
+#N canvas 518 166 492 456 sysex 0;
+#X obj 77 20 inlet;
+#X obj 77 407 outlet;
+#N canvas 1036 237 450 300 firmware 0;
+#X obj 91 6 inlet;
+#X obj 91 272 outlet;
+#X obj 91 170 list prepend;
+#X obj 91 206 list prepend firmware;
+#X obj 91 239 list trim;
+#X obj 160 116 moocow/string2any 32 -1;
+#X obj 91 39 list split 2;
+#N canvas 843 250 610 545 reassemble 0;
+#X text 91 24 Firmata sends 8-bit chars as two 7-bit bytes;
+#X obj 36 24 inlet;
+#X obj 54 514 outlet;
+#X obj 159 131 list split 2;
+#X obj 196 206 list;
+#X obj 109 256 trigger bang anything;
+#X obj 232 280 unpack float float;
+#X obj 232 340 +;
+#X obj 54 403 mapping/tolist;
+#X obj 193 154 route bang;
+#X obj 337 303 << 7;
+#X obj 193 179 bang;
+#X obj 36 353 trigger bang bang;
+#X obj 36 106 trigger bang anything;
+#X text 249 179 reset the list if end of list or there is a single
+byte left over;
+#X connect 1 0 13 0;
+#X connect 3 0 5 0;
+#X connect 3 1 9 0;
+#X connect 3 2 11 0;
+#X connect 4 0 3 0;
+#X connect 5 0 4 0;
+#X connect 5 1 6 0;
+#X connect 6 0 7 0;
+#X connect 6 1 10 0;
+#X connect 7 0 8 0;
+#X connect 8 0 2 0;
+#X connect 9 0 11 0;
+#X connect 9 1 4 1;
+#X connect 10 0 7 1;
+#X connect 11 0 4 1;
+#X connect 12 0 8 0;
+#X connect 12 1 8 1;
+#X connect 13 0 12 0;
+#X connect 13 1 3 0;
+#X restore 160 79 pd reassemble chars;
+#X connect 0 0 6 0;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 4 0 1 0;
+#X connect 5 0 2 1;
+#X connect 6 0 2 0;
+#X connect 6 1 7 0;
+#X connect 6 2 7 0;
+#X connect 7 0 5 0;
+#X restore 77 229 pd firmware;
+#N canvas 843 250 610 545 assemble 0;
+#X text 91 24 Firmata sends 8-bit chars as two 7-bit bytes;
+#X obj 36 24 inlet;
+#X obj 54 514 outlet;
+#X obj 159 131 list split 2;
+#X obj 196 206 list;
+#X obj 109 256 trigger bang anything;
+#X obj 232 280 unpack float float;
+#X obj 232 340 +;
+#X obj 54 403 mapping/tolist;
+#X obj 193 154 route bang;
+#X obj 337 303 << 7;
+#X obj 193 179 bang;
+#X obj 36 353 trigger bang bang;
+#X obj 36 106 trigger bang anything;
+#X text 249 179 reset the list if end of list or there is a single
+byte left over;
+#X connect 1 0 13 0;
+#X connect 3 0 5 0;
+#X connect 3 1 9 0;
+#X connect 3 2 11 0;
+#X connect 4 0 3 0;
+#X connect 5 0 4 0;
+#X connect 5 1 6 0;
+#X connect 6 0 7 0;
+#X connect 6 1 10 0;
+#X connect 7 0 8 0;
+#X connect 8 0 2 0;
+#X connect 9 0 11 0;
+#X connect 9 1 4 1;
+#X connect 10 0 7 1;
+#X connect 11 0 4 1;
+#X connect 12 0 8 0;
+#X connect 12 1 8 1;
+#X connect 13 0 12 0;
+#X connect 13 1 3 0;
+#X restore 181 281 pd assemble 7-bit into 14-bit values;
+#X obj 181 330 list prepend;
+#X obj 181 351 list trim;
+#X obj 180 157 trigger anything anything;
+#X msg 327 181 \$1;
+#X obj 181 183 list split 1;
+#X obj 327 205 select 112 113;
+#X text 358 188 0x70 0x71;
+#X msg 356 230 string;
+#X msg 273 230 servo_config;
+#X text 108 80 0x79;
+#X obj 77 98 route 121;
+#X connect 0 0 14 0;
+#X connect 2 0 1 0;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 5 0 1 0;
+#X connect 6 0 8 0;
+#X connect 6 1 7 0;
+#X connect 7 0 9 0;
+#X connect 8 1 3 0;
+#X connect 9 0 12 0;
+#X connect 9 1 11 0;
+#X connect 9 2 4 1;
+#X connect 11 0 4 1;
+#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 connect 2 0 0 0;
#X connect 3 0 0 0;
-#X connect 4 0 6 0;
+#X connect 4 0 7 0;
#X connect 5 0 0 0;
-#X connect 6 0 5 0;
-#X connect 6 1 2 0;
-#X connect 6 2 3 0;
-#X restore 184 294 pd convert to symbolic commands;
+#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 3 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;
@@ -345,6 +485,9 @@
#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;
@@ -363,7 +506,7 @@ with;
#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 57600;
+#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;