[PD] pduino rewrite

Ingo ingo at miamiwave.com
Sat Sep 10 14:18:56 CEST 2011


Upon further testing I have found two bugs so far. On is in the firmata and
the second one is in the [debytemask]. This makes fixing it a bit difficult.

1) firmata: instead of sending two values for a digital pin connected or
disconnected it sends three. The first one should be the address and the
second one the value for the group of 8 pins. There may be a reason why it
sends another "0" at the end but that's not too important anyway. The bad
thing is that when disconnecting a pin it sends these number five times
(sometimes only three times) in a row while going back and forth between the
last value and the current one. That's 15 bytes instead of two. (I am using
an inc/dec wheel with the arduino and now I know why it doesn't respond like
it should.)
I havn't checked the analogue ins so far.

2) [debytemask]: there is only one debytemask for all addresses. This means
- since there is a [change] object inside - there will be a wrong value when
the same button of a different group of pins is pressed or released twice
after each other. This could be still correct if all other pins of the group
have identical values but creates "random" numbers if the other pins change.
Not sure yet what else gets affected.

I am going to try to fix the problem with the [debytemask] but I don't know
if the firmata stuff has any big influence on it.

I just added another 6 buttons to my remote (using all 12 digital and 6
analogue ins of the Diecimila / Duemilanove now) and the whole thing is
going crazy now sending wrong stuff all over the place.

Ingo


> -----Ursprüngliche Nachricht-----
> Von: Hans-Christoph Steiner [mailto:hans at at.or.at]
> Gesendet: Freitag, 9. September 2011 16:41
> An: Ingo
> Cc: 'Roman Haefeli'; 'pd-list'
> Betreff: Re: [PD] pduino rewrite
> 
> 
> I basically haven't used an Arduino in 2 years, so I am a poor candidate
> for debugging this stuff.  Roman and Olsen are much better candidates
> for this job.
> 
> The digital input pins are reported using the hardware-level ports, the
> hardware is organized around pins 0-7 being one port, 8-15, another, and
> 16-23 (analog pins) another.
> 
> As for the pull-up resistor, you activate them just like you would in an
> other code for an Atmel AVR chip: switch the pin mode to INPUT then set
> that pin to HIGH (i.e. output a 1 to that pin).
> 
> .hc
> 
> 
> On Fri, 2011-09-09 at 11:34 +0200, Ingo wrote:
> > I did test it with the Duemilanove. But I also tested Diecimila and Uno.
> > To me the problem looks like "unfortunate design" in the firmata. The
> > buttons 2-9 don't somehow connect the same 8-bit word. It might simply
> be a
> > bug in the firmata. Hans hasn't reacted to it the last 2 or 3 times I
> > mentioned it.
> >
> > I have changed my arduino patch to get it to work for what I need with
> the
> > Diecimila to Uno. I don't like to submit any workarounds if I don't have
> a
> > mega available. I don't know how the rest of the pins are set up in
> blocks.
> > It might also break something else since I only use part of the
> functions.
> >
> > I really think Hans is the one who should look into this problem to
> > determine whether it is a pduino or firmata bug.
> >
> > I am really surprised that so few people have problems with this. Or
> maybe
> > they do and simply cannot figure out where the problem comes from?
> >
> > Ingo
> >
> >
> > > -----Ursprüngliche Nachricht-----
> > > Von: Roman Haefeli [mailto:reduzent at gmail.com]
> > > Gesendet: Freitag, 9. September 2011 10:49
> > > An: Ingo
> > > Cc: 'olsen'; 'pd-list'
> > > Betreff: Re: AW: [PD] pduino rewrite
> > >
> > > On Fri, 2011-09-09 at 10:03 +0200, Ingo wrote:
> > > > Hi Roman,
> > > >
> > > > I just messed around with the rewrite and - as you mentioned - you
> > > didn't
> > > > fix any of the bugs.
> > > >
> > > > I even think I send you a mail about the digital pins 2 & 3 and
> provided
> > > a
> > > > fix for it here at the forum. Of course it's still there!
> > > >
> > > > About the other things:
> > > >
> > > > - The test patch has still no switches to turn on the pull up
> resistors.
> > > >
> > > > - in Natty the comport number for USB0 is 32 that's not available in
> the
> > > > choices 0 - 7. I think for Linux [devicename /dev/ttyUSB$1( would be
> a
> > > > better choice. At least this option of naming should be mentioned
> > > somewhere
> > > > in the test patch or help patch. (maybe I missed it somewhere?)
> > > >
> > > > - help-patch: there is no such thing as "PullDown". It's only
> "PullUp".
> > > > It should be mentioned that pin 13 does not work for "Pull Up" due
> to
> > > the
> > > > built in LED and resistor. There should also be a short explanation
> > > about
> > > > PullUp resistors for beginners.
> > > >
> > > > - help-patch: DIGITAL-INPUT should mention the PullUp resistors. I
> spent
> > > a
> > > > lot of time at the beginning making lots of complicated cable
> > > connections
> > > > because the help patch recommends connecting the pins to ground
> instead
> > > of
> > > > simply switching on the PullUp resistors. At least as long as you
> are
> > > not at
> > > > the very limit of your power supply.
> > > >
> > > > Since I only use the digital and analogue ins I didn't look any
> further.
> > > So
> > > > I can't say anything about the output stuff.
> > > >
> > > > The digital pins 2 & 3 should really be fixed sometime soon. I was
> > > hoping
> > > > you'd be getting some of these problems solved rather than putting a
> > > grey
> > > > background to the help patch (lol).
> > >
> > > Yo, it's very much a work in progress and yet the main goal was not
> > > loose any functionality by getting rid of the externals. I did not
> > > address any bugs yet, because I didn't experience any.
> > >
> > > I only have a arduino Diecimila to test here. So, I ask you again: The
> > > problem you mentioned with pin 2 and 3, on which arduino board model
> do
> > > you experience it? Also, if the problem is located in the firmware and
> > > not in the [arduino] abstraction, I rather don't 'fix' it in the
> > > [arduino] abstraction.
> > >
> > > Since you seem to have a strong interest on making it work for your
> > > situation, I suggest to give you commit privileges to that repository.
> > > You could send me your public key off-list and I would give you access
> > > to that repository.
> > >
> > > Also, thanks for your other comments. Those are all valid points that
> > > need to be addressed.
> > >
> > > (Actually, 'pduino rewrite' as thread was a bit too much a promise, it
> > > should have read 'please test and report back'.)
> > >
> > > Roman
> >
> >
> > _______________________________________________
> > Pd-list at iem.at mailing list
> > UNSUBSCRIBE and account-management ->
> http://lists.puredata.info/listinfo/pd-list





More information about the Pd-list mailing list