From: Paul A. <pau...@gm...> - 2008-10-01 18:41:55
|
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 <gri...@gm...> 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 <pau...@gm...>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 <bgr...@al...>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 <pau...@gm...>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 <bgr...@al...>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 <pau...@gm...>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 <gri...@gm...>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 >>>>>>> Owf...@li... >>>>>>> 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 >>>>>> Owf...@li... >>>>>> 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 >>>>> Owf...@li... >>>>> 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 >>>> Owf...@li... >>>> 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 >>> Owf...@li... >>> 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 >> Owf...@li... >> 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 > Owf...@li... > https://lists.sourceforge.net/lists/listinfo/owfs-developers > > |