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.
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.
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.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@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@iem.at mailing list UNSUBSCRIBE and account-management ->