Majek,

I've looked at the problem you've found, and now can see it clearly.

Basically, the "latch" state should be used for the unknown PIO bit when 
setting one of the pins. As you point out, the pins must be set together in 
the hardware, it is only the software abstraction that allows them to be 
controlled independently.

The PIO field is set as a "bitfield" "aggregate", so the separation and 
setting of the other bits is done upstream, in ow_read.c. Unfortunately, we 
use the same property to set the field (PIO) which is usually correct. Just 
in this case, it should be latched, since reading the PIO gives the sensed 
value, not the set value.

I'm not sure your patch quite addresses the problem. I fear the true patch 
will be a little uglier, and probably not done till next week.

Paul Alfille

On Wednesday 26 October 2005 04:50 pm, Marek Wodzinski wrote:
> On Wed, 26 Oct 2005, Alfille, Paul H.,M.D. wrote:
> > Thanks. I especially appreciate the patch.
> >
> > I take it the code wasn't too hard to decypher?
>
> Hehe... I assumed that this was DS2413 specific issue and I looked into
> low level driver of this chip. But this is 'dirty' patch.
> I think that 'right way' should be some level up where emulatiion of
> toggling single bits is. But I couldn't find this in quick search and I
> suppose that fixing/rewriting that part of code will be not so easy as
> this.
> Or just disable this option for this chip - there is no native bit set in
> DS2413 - you must always set two bits together.
>
>
> Regards
>
> majek


-------------------------------------------------------
This SF.Net email is sponsored by the JBoss Inc.
Get Certified Today * Register for a JBoss Training Course
Free Certification Exam for All Training Attendees Through End of 2005
Visit http://www.jboss.com/services/certification for more information
_______________________________________________
Owfs-developers mailing list
Owfs-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/owfs-developers

Reply via email to