Thanks Paul.  I probably won't get a chance to try it out until the weekend,
but I'll let you know how it works when I do.
The 3wire_lock sounds like a good idea.  Then it would just be a matter of
letting the Arduino know when it's turn is.
Another idea I though of was to use a DS2409 to isolate  the DS2404 from the
rest of the bus most of the time.

-Ben

On Wed, Oct 1, 2008 at 7:40 PM, Paul Alfille <[EMAIL PROTECTED]> wrote:

> Ben, the CVS version has the RESET after read/write DS2404 now. (Not other
> chips).
>
> If this works I'm thinking of adding a DS2404 property:
>
> 3wire_lock
>
> echo 250 > 04.1234354657AB/3wire_lock
> resets and locks the bus for 250 msec for the 3-wire access.
>
> This has the advantage of precenting other cuncurrent access that would
> disturb communication, and not adding a penalty to typical usage.
>
> Paul
>
>
> On Wed, Oct 1, 2008 at 2:41 PM, Paul Alfille <[EMAIL PROTECTED]>wrote:
>
>> 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
>
>
-------------------------------------------------------------------------
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