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