[PD] digital write problem in Pduino

Hans-Christoph Steiner hans at eds.org
Wed Oct 8 21:26:50 CEST 2008


I am currently arduinoless, but once I get home tonight, I'll see if  
I can find the root of the problem.

.hc

On Oct 8, 2008, at 2:07 PM, Derek Holzer wrote:

> Problem remains the same after upgrade. Looks like I or probably a  
> friend have to write some custom firmware for this project before  
> tomorrow.
>
> D.
>
> Hans-Christoph Steiner wrote:
>> There were bugs in that version.  They have been fixed in the  
>> version of Firmata that is included in Arduino 0012.  Burn that  
>> version to your Arduino and use the regular Pduino pd patches.   
>> Once I get a spare moment, I'll update the Pduino .zip on my page.
>> .hc
>> On Oct 8, 2008, at 11:59 AM, Derek Holzer wrote:
>>> Attached is a diagnostic patch which demonstrates the problem.  
>>> This problem can be demonstrated using only the Arduino board  
>>> with a single LED (plus current reducing resistor of 1.5K)  
>>> connected from pin 2 to GND.
>>>
>>> At 7 simultaneous [metro]s, the on-board LED at Pin 13 starts to  
>>> blink, even when it has not been sent any messages. After that, a  
>>> single LED on Pin 2 will start to blink sporadically, especially  
>>> with more randomized [metro] intervals. If the [metro]  
>>> controlling the LED on Pin 2 is switched off, it will continue to  
>>> blink if other [metro]s are running.
>>>
>>> Clearly this is a case of message collisions, even though the  
>>> [comport] object does not report any TX-OVERRUNS.
>>>
>>> I'm not too skilled with writing code for the Arduino, so I have  
>>> no way of running something standalone right now to see if it can  
>>> be isolated from the board.
>>>
>>> I'd really like to have a solution or workaround to this problem,  
>>> as it's quite an unexpected bug!!!!
>>>
>>> thanks + best!
>>> Derek
>>>
>>> Charles Henry wrote:
>>>> On Wed, Oct 8, 2008 at 9:38 AM, Derek Holzer <derek at umatic.nl>  
>>>> wrote:
>>>>> The blink interval is something in the area of 200-500  
>>>>> miliseconds,
>>>>> certainly slow enough for the comport. Could it be trouble with  
>>>>> some of
>>>>> the objects in the [arduino] abstraction?
>>>> Hi, Derek,
>>>> One thought that occurred to me: it takes around 16-20 ms to send a
>>>> message to the arduino and recieve a message back (which has to do
>>>> with the FTDI chip).  This is a round-trip time--I'm not sure  
>>>> what the
>>>> delay time is like for data traffic going in one way.  Perhaps  
>>>> those
>>>> delays are adding up, when you've got 10 separate LEDs to control?
>>>> Have you considered making a test program on the arduino to  
>>>> blink the
>>>> LEDs at different rates and see if the problem persists?  That  
>>>> would
>>>> isolate the communications from the actions performed.
>>>> Chuck
>>>
>>> -- 
>>> derek holzer ::: http://www.umatic.nl ::: http://blog.myspace.com/ 
>>> macumbista
>>> ---Oblique Strategy # 70:
>>> "Feedback recordings into an acoustic situation"
>>> #N canvas 0 22 1000 776 10;
>>> #X obj 152 528 tgl 20 0 empty empty all 1 12 0 11 -261682 -1 -1 1 1
>>> ;
>>> #X obj 374 641 send \$0-arduino;
>>> #X obj 631 617 send \$0-arduino-out;
>>> #X obj 631 573 receive \$0-arduino;
>>> #X obj 94 637 send \$0-arduino;
>>> #X obj 401 508 tgl 15 0 empty empty 2 3 -6 1 12 -260818 -1 -1 1 1;
>>> #X obj 418 508 tgl 15 0 empty empty 3 3 -6 1 12 -260818 -1 -1 1 1;
>>> #X obj 435 508 tgl 15 0 empty empty 4 3 -6 1 12 -260818 -1 -1 1 1;
>>> #X obj 452 508 tgl 15 0 empty empty 5 3 -6 1 12 -260818 -1 -1 1 1;
>>> #X obj 469 508 tgl 15 0 empty empty 6 3 -6 1 12 -260818 -1 -1 1 1;
>>> #X obj 486 508 tgl 15 0 empty empty 7 3 -6 1 12 -260818 -1 -1 1 1;
>>> #X obj 503 508 tgl 15 0 empty empty 8 3 -6 1 12 -260818 -1 -1 1 1;
>>> #X obj 520 508 tgl 15 0 empty empty 9 3 -6 1 12 -260818 -1 -1 1 1;
>>> #X obj 537 508 tgl 15 0 empty empty 10 0 -6 1 12 -260818 -1 -1 1 1
>>> ;
>>> #X obj 554 508 tgl 15 0 empty empty 11 0 -6 1 12 -260818 -1 -1 1 1
>>> ;
>>> #X obj 571 508 tgl 15 0 empty empty 12 0 -6 1 12 -260818 -1 -1 1 1
>>> ;
>>> #X obj 589 508 tgl 15 0 empty empty 13 0 -6 1 12 -260818 -1 -1 1 1
>>> ;
>>> #X msg 367 549 pinMode 2 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 367 527 pd send-to-arduino-------------------;
>>> #X text 446 597 here is our Arduino object -->;
>>> #X msg 94 466 open 3;
>>> #X obj 567 287 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
>>> 1;
>>> #X msg 38 478 close;
>>> #X msg 97 311 digital 2 \$1;
>>> #X msg 187 311 digital 3 \$1;
>>> #X msg 277 311 digital 4 \$1;
>>> #X msg 367 311 digital 5 \$1;
>>> #X msg 457 311 digital 6 \$1;
>>> #X msg 97 361 digital 7 \$1;
>>> #X msg 187 361 digital 8 \$1;
>>> #X msg 277 361 digital 9 \$1;
>>> #X msg 367 361 digital 10 \$1;
>>> #X msg 457 361 digital 11 \$1;
>>> #X msg 567 305 digital 13 \$1;
>>> #X text 665 306 test with built in LED;
>>> #X obj 117 264 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 0
>>> 1;
>>> #X obj 144 265 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 0
>>> 1;
>>> #X obj 192 264 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 0
>>> 1;
>>> #X obj 232 263 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 1
>>> 1;
>>> #X obj 282 263 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 0
>>> 1;
>>> #X obj 631 596 arduino 1;
>>> #X obj 575 337 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
>>> 1;
>>> #X msg 575 355 digital 12 \$1;
>>> #X obj 332 255 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 1
>>> 1;
>>> #X obj 359 256 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 1
>>> 1;
>>> #X obj 407 255 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 1
>>> 1;
>>> #X obj 447 254 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 0
>>> 1;
>>> #X obj 497 254 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 1
>>> 1;
>>> #X obj 34 57 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 0 1
>>> ;
>>> #X obj 85 35 random 200;
>>> #X obj 85 62 + 200;
>>> #X floatatom 104 92 5 0 0 0 - - -;
>>> #X obj 85 12 bng 15 250 50 0 empty empty empty 0 -6 0 10 -262144 -1
>>> -1;
>>> #X obj 174 57 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 0
>>> 1;
>>> #X obj 225 35 random 200;
>>> #X obj 225 62 + 200;
>>> #X floatatom 244 92 5 0 0 0 - - -;
>>> #X obj 225 12 bng 15 250 50 0 empty empty empty 0 -6 0 10 -262144 -1
>>> -1;
>>> #X obj 174 91 metro 200;
>>> #X obj 314 57 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 0
>>> 1;
>>> #X obj 365 35 random 200;
>>> #X obj 365 62 + 200;
>>> #X floatatom 384 92 5 0 0 0 - - -;
>>> #X obj 365 12 bng 15 250 50 0 empty empty empty 0 -6 0 10 -262144 -1
>>> -1;
>>> #X obj 314 91 metro 200;
>>> #X obj 454 57 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 1
>>> 1;
>>> #X obj 505 35 random 200;
>>> #X obj 505 62 + 200;
>>> #X floatatom 524 92 5 0 0 0 - - -;
>>> #X obj 505 12 bng 15 250 50 0 empty empty empty 0 -6 0 10 -262144 -1
>>> -1;
>>> #X obj 454 91 metro 200;
>>> #X obj 594 57 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 1
>>> 1;
>>> #X obj 645 35 random 200;
>>> #X obj 645 62 + 200;
>>> #X floatatom 664 92 5 0 0 0 - - -;
>>> #X obj 645 12 bng 15 250 50 0 empty empty empty 0 -6 0 10 -262144 -1
>>> -1;
>>> #X obj 594 91 metro 200;
>>> #X obj 124 167 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 1
>>> 1;
>>> #X obj 175 145 random 200;
>>> #X obj 175 172 + 200;
>>> #X floatatom 194 202 5 0 0 0 - - -;
>>> #X obj 175 122 bng 15 250 50 0 empty empty empty 0 -6 0 10 -262144
>>> -1 -1;
>>> #X obj 124 201 metro 200;
>>> #X obj 264 167 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 1
>>> 1;
>>> #X obj 315 145 random 200;
>>> #X obj 315 172 + 200;
>>> #X floatatom 334 202 5 0 0 0 - - -;
>>> #X obj 315 122 bng 15 250 50 0 empty empty empty 0 -6 0 10 -262144
>>> -1 -1;
>>> #X obj 264 201 metro 200;
>>> #X obj 404 167 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 1
>>> 1;
>>> #X obj 455 145 random 200;
>>> #X obj 455 172 + 200;
>>> #X floatatom 474 202 5 0 0 0 - - -;
>>> #X obj 455 122 bng 15 250 50 0 empty empty empty 0 -6 0 10 -262144
>>> -1 -1;
>>> #X obj 404 201 metro 200;
>>> #X obj 544 167 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 1
>>> 1;
>>> #X obj 595 145 random 200;
>>> #X obj 595 172 + 200;
>>> #X floatatom 614 202 5 0 0 0 - - -;
>>> #X obj 595 122 bng 15 250 50 0 empty empty empty 0 -6 0 10 -262144
>>> -1 -1;
>>> #X obj 544 201 metro 200;
>>> #X obj 684 167 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 1
>>> 1;
>>> #X obj 735 145 random 200;
>>> #X obj 735 172 + 200;
>>> #X floatatom 754 202 5 0 0 0 - - -;
>>> #X obj 735 122 bng 15 250 50 0 empty empty empty 0 -6 0 10 -262144
>>> -1 -1;
>>> #X obj 34 91 metro 200;
>>> #X obj 684 201 metro 200;
>>> #X text 621 407 At 7 metros \, on-board LED at Pin 13 will light  
>>> even
>>> when no message is sent. More metros will cause single LED to blink
>>> sporadically. If LED is connected to first channel \, and that metro
>>> is switched off \, it will still blink when other metros run.;
>>> #X connect 0 0 16 0;
>>> #X connect 0 0 15 0;
>>> #X connect 0 0 14 0;
>>> #X connect 0 0 13 0;
>>> #X connect 0 0 12 0;
>>> #X connect 0 0 11 0;
>>> #X connect 0 0 10 0;
>>> #X connect 0 0 9 0;
>>> #X connect 0 0 8 0;
>>> #X connect 0 0 7 0;
>>> #X connect 0 0 6 0;
>>> #X connect 0 0 5 0;
>>> #X connect 3 0 40 0;
>>> #X connect 5 0 18 2;
>>> #X connect 6 0 18 3;
>>> #X connect 7 0 18 4;
>>> #X connect 8 0 18 5;
>>> #X connect 9 0 18 6;
>>> #X connect 10 0 18 7;
>>> #X connect 11 0 18 8;
>>> #X connect 12 0 18 9;
>>> #X connect 13 0 18 10;
>>> #X connect 14 0 18 11;
>>> #X connect 15 0 18 12;
>>> #X connect 16 0 18 13;
>>> #X connect 17 0 1 0;
>>> #X connect 18 0 17 0;
>>> #X connect 20 0 4 0;
>>> #X connect 21 0 33 0;
>>> #X connect 22 0 4 0;
>>> #X connect 23 0 1 0;
>>> #X connect 24 0 1 0;
>>> #X connect 25 0 1 0;
>>> #X connect 26 0 1 0;
>>> #X connect 27 0 1 0;
>>> #X connect 28 0 1 0;
>>> #X connect 29 0 1 0;
>>> #X connect 30 0 1 0;
>>> #X connect 31 0 1 0;
>>> #X connect 32 0 1 0;
>>> #X connect 33 0 1 0;
>>> #X connect 35 0 23 0;
>>> #X connect 36 0 24 0;
>>> #X connect 37 0 25 0;
>>> #X connect 38 0 26 0;
>>> #X connect 39 0 27 0;
>>> #X connect 40 0 2 0;
>>> #X connect 41 0 42 0;
>>> #X connect 42 0 1 0;
>>> #X connect 43 0 28 0;
>>> #X connect 44 0 29 0;
>>> #X connect 45 0 30 0;
>>> #X connect 46 0 31 0;
>>> #X connect 47 0 32 0;
>>> #X connect 48 0 106 0;
>>> #X connect 49 0 50 0;
>>> #X connect 50 0 51 0;
>>> #X connect 50 0 106 1;
>>> #X connect 52 0 49 0;
>>> #X connect 53 0 58 0;
>>> #X connect 54 0 55 0;
>>> #X connect 55 0 56 0;
>>> #X connect 55 0 58 1;
>>> #X connect 57 0 54 0;
>>> #X connect 58 0 36 0;
>>> #X connect 59 0 64 0;
>>> #X connect 60 0 61 0;
>>> #X connect 61 0 62 0;
>>> #X connect 61 0 64 1;
>>> #X connect 63 0 60 0;
>>> #X connect 64 0 37 0;
>>> #X connect 65 0 70 0;
>>> #X connect 66 0 67 0;
>>> #X connect 67 0 68 0;
>>> #X connect 67 0 70 1;
>>> #X connect 69 0 66 0;
>>> #X connect 70 0 38 0;
>>> #X connect 71 0 76 0;
>>> #X connect 72 0 73 0;
>>> #X connect 73 0 74 0;
>>> #X connect 73 0 76 1;
>>> #X connect 75 0 72 0;
>>> #X connect 76 0 39 0;
>>> #X connect 77 0 82 0;
>>> #X connect 78 0 79 0;
>>> #X connect 79 0 80 0;
>>> #X connect 79 0 82 1;
>>> #X connect 81 0 78 0;
>>> #X connect 82 0 43 0;
>>> #X connect 83 0 88 0;
>>> #X connect 84 0 85 0;
>>> #X connect 85 0 86 0;
>>> #X connect 85 0 88 1;
>>> #X connect 87 0 84 0;
>>> #X connect 88 0 44 0;
>>> #X connect 89 0 94 0;
>>> #X connect 90 0 91 0;
>>> #X connect 91 0 92 0;
>>> #X connect 91 0 94 1;
>>> #X connect 93 0 90 0;
>>> #X connect 94 0 45 0;
>>> #X connect 95 0 100 0;
>>> #X connect 96 0 97 0;
>>> #X connect 97 0 98 0;
>>> #X connect 97 0 100 1;
>>> #X connect 99 0 96 0;
>>> #X connect 100 0 46 0;
>>> #X connect 101 0 107 0;
>>> #X connect 102 0 103 0;
>>> #X connect 103 0 104 0;
>>> #X connect 103 0 107 1;
>>> #X connect 105 0 102 0;
>>> #X connect 106 0 35 0;
>>> #X connect 107 0 47 0;
>>> _______________________________________________
>>> Pd-list at iem.at mailing list
>>> UNSUBSCRIBE and account-management -> http://lists.puredata.info/ 
>>> listinfo/pd-list
>> --------------------------------------------------------------------- 
>> ------- There is no way to peace, peace is the way.       -A.J. Muste
>
> -- 
> derek holzer ::: http://www.umatic.nl ::: http://blog.myspace.com/ 
> macumbista
> ---Oblique Strategy # 113:
> "Make a blank valuable by putting it in an exquisite frame"




------------------------------------------------------------------------ 
----

You can't steal a gift. Bird gave the world his music, and if you can  
hear it, you can have it. - Dizzy Gillespie







More information about the Pd-list mailing list