Hi Paul,

The data sheet states that "The 1-Wire port is considered active with the
first falling edge detected after the presence pulse." That makes it sound
like any activity on the 1W bus will block access to the 3W port.  I had
assumed a match or skip ROM would be needed first before the 3W port was
locked.  It does say that 1W communications should be concluded with a
reset/presence sequence.  I guess my observations are consistent with what
the data sheet says, and what you said about the "lazy resets."  Would there
be any negative side-effects to adding a reset pulse at the end of
accesses?  I imagine it might increase the time per operation just
slightly.  Would it make sense to have a flag (configuration or run-time)
called "--lazy-reset" to disable/enable that behavior?
I'm a bit disappointed that accesses to other devices on the 1W bus will
lock the 3W port on the DS2404.  Maybe that's part of the reason the part
was discontinued.  I think I can work around it though.

-Ben


On Wed, Oct 1, 2008 at 9:03 AM, Paul Alfille <[EMAIL PROTECTED]> wrote:

> Hi Ben.
>
> I'll take a look at the datasheets. One thought is that owfs does "lazy
> resets" -- only sends a 1-wire reset pulse when the next command is sent.
> Perhaps this doesn't release the DS2404?
>
> Paul
>
>
> On Wed, Oct 1, 2008 at 12:54 AM, Ben Griffith <[EMAIL PROTECTED]>wrote:
>
>> Thanks Paul.  I compiled the latest version tonight and now the owfs reads
>> are working correctly.  I'm having some trouble with 3-wire reads though,
>> and it seems to be dependent on what I'm doing in owfs.  The data sheet says
>> that the 1-wire and 3-wire ports cannot be accessed simultaneously, so I
>> know not to try that.  But it seems like after I access any device on the
>> 1-wire bus, I can no longer read from the 3-wire port of the DS2404.  This
>> happens whether I read a page on the DS2404 or reading the PIO of a DS2405.
>> If I restart owserver I can again read from the 3-wire port.  Just stopping
>> owserver isn't enough, it has to be restarted.  Another thing that seems to
>> restore access to the 3-wire port is if I try to use tab-completion in the
>> owfs directory.  For example, if I type "ls /mnt/owfs/05.34<tab>" and the
>> shell fills in the rest..  I don't even have to type the beginning of a
>> device name... something to do with tab-completion bumps it back into a
>> working state again.
>>
>> I'm using a USB 1W adapter - DS9490R.
>>
>> I just tried owhttpd to see what effect it has on the 3W port.  The
>> effects are similar to those of the owfs filesystem.  If I click on a
>> DS2405, the 3W reads on the DS2404 stop working.  If I then click on "up" to
>> go back to the index, the 3W reads work again.
>> If I go into the DS2404 via owhttpd then the 3W port stops working, but it
>> doesn't start working again when I click on "up" to go back to the index.
>> It doesn't work until I open another device and then go back to the index.
>>
>> Is there anything else I should try?
>>
>> -Ben
>>
>>
>>
>> On Sat, Sep 27, 2008 at 9:45 PM, Paul Alfille <[EMAIL PROTECTED]>wrote:
>>
>>> You problem is essentially the length of the read wasn't being reduced
>>> properly. I think this was corrected in the current version. (FUSE uses a
>>> 4096 byte buffer).
>>>
>>> Paul Alfille
>>>
>>>
>>> On Wed, Sep 24, 2008 at 10:24 PM, Ben Griffith <[EMAIL PROTECTED]>wrote:
>>>
>>>> Hi Paul,
>>>> I've taken another look at it and it seems like the write actually is
>>>> working.  Before, I had an Arduino sketch loaded that was also poking at 
>>>> the
>>>> DS2404.  Now, with a different sketch that doesn't touch the DS2404, 
>>>> writing
>>>> via owfs seems to work.
>>>> The reading is still not quite right... a read of any page shows that
>>>> page and everything after it, and then some garbage beyond the last page.
>>>>
>>>> Here's what I did, and what I got back from it:
>>>>
>>>> I wrote "1234567890123456789012345678901" to each page (0-15).
>>>> When I cat page.0 I see all 16 copies of that string, followed by what
>>>> is probably the 30 timekeeping registers, followed by all FF bytes, for a
>>>> total of 4096 bytes returned.
>>>> When I cat page.15 I see 1 copy of that string, followed by the 30
>>>> timekeeping registers, followed by all FF bytes, again for a total of 4096
>>>> bytes.
>>>>
>>>> page.ALL seems to work... I see all 16 pages and nothing more.
>>>> When I cat "memory" I see the same behavior as with page.0.
>>>>
>>>> I'll be using owperl eventually, so I guess I should be all set with
>>>> reading ranges or individual bytes of memory.
>>>>
>>>> Let me know if you want me to try out a fix.
>>>>
>>>> Thanks
>>>> -Ben
>>>>
>>>>
>>>> On Wed, Sep 24, 2008 at 5:05 PM, Paul Alfille <[EMAIL PROTECTED]>wrote:
>>>>
>>>>> The DS2404 has never really been tested. I'll work with you to see if
>>>>> we can make it work.
>>>>>
>>>>> As for accessing just parts of memory, it's not really possible via the
>>>>> shell. The underlying libow API supports writes (and reads) with offsets 
>>>>> and
>>>>> a length. owcapi supports this. owperl supports this.
>>>>>
>>>>> Paul Alfille
>>>>>
>>>>> On Wed, Sep 24, 2008 at 4:57 PM, Ben Griffith <[EMAIL PROTECTED]>wrote:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> I've got a few DS2404 chips and I'm playing around with them and an
>>>>>> Arduino.  I've got the Arduino connected to the 3-wire port and my laptop
>>>>>> connected via a USB dongle to the 1-wire port.  The DS2404 is getting +5V
>>>>>> and ground from the Arduino board.  My laptop is running Gentoo with owfs
>>>>>> 2.7-p4.  For starters I'd like to just write to memory via one port and 
>>>>>> see
>>>>>> the result via the other.  I'm having trouble writing to memory via owfs 
>>>>>> and
>>>>>> seeing the result also via owfs.  I've never played around with a 1-wire
>>>>>> memory device before, only temperature and switch devices, so maybe I'm
>>>>>> doing something wrong.  I tried "cat pages/page.0" and get what seems 
>>>>>> like a
>>>>>> whole lot more than 32 bytes worth of garbage characters.  If I then 
>>>>>> "echo
>>>>>> 1234567890 > pages/page.0" and do "cat pages/page.0" again I get the
>>>>>> expected (to me anyway) "1234567890".  But then if I cat the same thing
>>>>>> again a minute later it's back to the same garbage characters as before.
>>>>>> I'm guessing that the 1234567890 I see is just cached from the attempted
>>>>>> write.
>>>>>>
>>>>>> Also, it looks like the only way to access the memory is a page at a
>>>>>> time or all at once.  Is there any way to access a byte at a time, or a
>>>>>> range of bytes other than a whole page?
>>>>>>
>>>>>> Has anyone else tried using this device?  I know it's been
>>>>>> discontinued by Maxim, but I have a few I'd like to try out in a project.
>>>>>>
>>>>>> Thanks,
>>>>>> Ben
>>>>>>
>>>>>>
>>>>>> -------------------------------------------------------------------------
>>>>>> This SF.Net email is sponsored by the Moblin Your Move Developer's
>>>>>> challenge
>>>>>> Build the coolest Linux based applications with Moblin SDK & win great
>>>>>> prizes
>>>>>> Grand prize is a trip for two to an Open Source event anywhere in the
>>>>>> world
>>>>>> http://moblin-contest.org/redirect.php?banner_id=100&url=/
>>>>>> _______________________________________________
>>>>>> Owfs-developers mailing list
>>>>>> Owfs-developers@lists.sourceforge.net
>>>>>> https://lists.sourceforge.net/lists/listinfo/owfs-developers
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> -------------------------------------------------------------------------
>>>>> This SF.Net email is sponsored by the Moblin Your Move Developer's
>>>>> challenge
>>>>> Build the coolest Linux based applications with Moblin SDK & win great
>>>>> prizes
>>>>> Grand prize is a trip for two to an Open Source event anywhere in the
>>>>> world
>>>>> http://moblin-contest.org/redirect.php?banner_id=100&url=/
>>>>> _______________________________________________
>>>>> Owfs-developers mailing list
>>>>> Owfs-developers@lists.sourceforge.net
>>>>> https://lists.sourceforge.net/lists/listinfo/owfs-developers
>>>>>
>>>>>
>>>>
>>>>
>>>> -------------------------------------------------------------------------
>>>> This SF.Net email is sponsored by the Moblin Your Move Developer's
>>>> challenge
>>>> Build the coolest Linux based applications with Moblin SDK & win great
>>>> prizes
>>>> Grand prize is a trip for two to an Open Source event anywhere in the
>>>> world
>>>> http://moblin-contest.org/redirect.php?banner_id=100&url=/
>>>> _______________________________________________
>>>> Owfs-developers mailing list
>>>> Owfs-developers@lists.sourceforge.net
>>>> https://lists.sourceforge.net/lists/listinfo/owfs-developers
>>>>
>>>>
>>>
>>> -------------------------------------------------------------------------
>>> This SF.Net email is sponsored by the Moblin Your Move Developer's
>>> challenge
>>> Build the coolest Linux based applications with Moblin SDK & win great
>>> prizes
>>> Grand prize is a trip for two to an Open Source event anywhere in the
>>> world
>>> http://moblin-contest.org/redirect.php?banner_id=100&url=/
>>> _______________________________________________
>>> Owfs-developers mailing list
>>> Owfs-developers@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/owfs-developers
>>>
>>>
>>
>> -------------------------------------------------------------------------
>> This SF.Net email is sponsored by the Moblin Your Move Developer's
>> challenge
>> Build the coolest Linux based applications with Moblin SDK & win great
>> prizes
>> Grand prize is a trip for two to an Open Source event anywhere in the
>> world
>> http://moblin-contest.org/redirect.php?banner_id=100&url=/
>> _______________________________________________
>> Owfs-developers mailing list
>> Owfs-developers@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/owfs-developers
>>
>>
>
> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's
> challenge
> Build the coolest Linux based applications with Moblin SDK & win great
> prizes
> Grand prize is a trip for two to an Open Source event anywhere in the world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> _______________________________________________
> Owfs-developers mailing list
> Owfs-developers@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/owfs-developers
>
>
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Owfs-developers mailing list
Owfs-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/owfs-developers

Reply via email to