[PD] Pduino issue

Rick Snow ricksnow at gmail.com
Mon Apr 17 22:14:56 CEST 2023


Thank you all for your thoughts regarding this issue.

> 
> On Thu, 2023-04-13 at 16:28 -0500, Rick Snow wrote:
> 
>> I am helping someone use pd with an arduino mega.? They would like to
>> use all of the digital output pins.? I?ve used pduino in the past in
>> this way and not had trouble,?
> 
> Also with a Mega?
> 
>> but I seem to be bumping into something now.
> 
> What version of pduino are you using? Most current is 0.8.
> 
> Also, if an older version of pduino worked fine with the Arduino Mega,
> what version was that?

I have used pduino in the past with a mega.  I do not remember if I used the specific pins in question previously.  I am using pduino .8 and standardFirmata (most recent).  I am using a Mac with a usb c dongle….I have tried it on a pc laptop and had the same problem. I have used a couple of different brand new megas for testing.

One test run revealed the following.
Process: I turn on all the pins with a 250 ms delay in sending messages “pinMode 2 output” -> “pinMode 53 output”.

Then I check each individual pin with a multimeter. The results are:
Pins 2-23 work fine
Pins 24-30 turn on but do not turn off
Pins 31-38 do not turn on or off
Pins 39-53 work fine

I’ve done this a few times and had different sets of pins working/not working but they are generally in the areas above with pins 24-38 the most problematic.


>> 
>> I started by using the arduino help patch.? StandardFirmata sketch on
>> the Mega.? Connection via usb works fine.
>> 
>> I set all the pins to output by sending "pinMode 2 output? ->
>> ?pinMode 45 output? messages to the arduino object. No errors.
>> 
>> Then, I use the messages ?digital 2 1? ?digital 2 0? -> ?digital 45
>> 1? ?digital 45 0? sent to the arduino object to check the pins.? When
>> checking with a multimeter I am not able to get output from pins 2-
>> 7.? I do get output from 8-20.? Between 20-40 some pins work and
>> others not at all.? Other pins will turn on but not turn off.
> 
> What happens if you specifically send 'pinMode 45 output, digital 45
> 1'? Or you use any other pin that seems to be not working correctly
> with your setup.

When trying this method directly (without trying to turn on all the pins first) the working pins all work.
When trying with a “non-working pin”, if I do this right after opening the patch, I can do this with at least 1 pin and it will work.  Sometimes, I can check up to 3-4 “non-working pins” with this method and they will work, but then no more “non working pins” will work, and the previously checked non-working pins will stop working. Working pins will work even after the “non-working pins” stop responding.  Restarting pd will allow this behavior to be replicated.

> Also, there is 'pinState' message for querying the
> current state and there is the 'capability' message that triggers a
> report of all supported modes of all pins. So, I would like to know if
> the non-working pins report of themselves to support 'output' mode.
> Then, if you set their 'pinMode' to 'output', do they actually report
> their 'pinState' as 'output'? 

pinState messages will show what the multimeter shows with all working pins.  pinState will sometimes show 1 for non working pins when the multimeter shows 0. 

>> Checking the pins using a simple blink sketch shows all the pins
>> working fine.
> 
> Ok, so you can be sure the board is working.
> 
>> Any advice would be greatly appreciate!
> 
> I don't own an Arduino Mega and I don't know how well [pduino] is
> tested with that board. I certainly haven't tested it ever.?
> This makes it hard for me to reproduce the problem. If you can give a
> hint that the problem is in the software, that would help.

My intuition is that the messaging for these pins gets corrupted somehow after a certain number of pinMode messages are sent to the arduino object, but I really know absolutely nothing about the serial port/sysex side of this.

Thank you all again for your thoughts!  Ultimately this person would like to control about 40 solenoids with an arduino mega and a pd patch.

Cheers,
Rick







More information about the Pd-list mailing list