When the Sourceforge CVS service is fixed, I have a trial version with the
reset-after-read/write for the DS2404.

Another approach would be to reset and lock the 1-wire bus during the 2-wire
communication. How long is a typical 3-wire interaction?

Paul Alfille

On Wed, Oct 1, 2008 at 12:30 PM, Ben Griffith <[EMAIL PROTECTED]> wrote:

> 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
>
>
-------------------------------------------------------------------------
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