G'Day, > I doubt that you could skip the omap_reset() function since it's used > to address a specific device or the branch on the DS2490. (and reset the > 1-wire bus which more devices need)
I have added an OMAP_reset() now; it is fairly simple, but there does not seem to be much to do. > If you look for a directory listing, there is a loop in > ow_dir.c:FS_real_dir() which starts with BUS_select() and BUS_first(). > > BUS_select() calls BUS_select_low() in ow_bus.c and it will reset the > 1-wire bus and eventually select the main or aux branch on a DS2409, > or address a specific 1-wire device. > > BUS_first() initiate some structs and calls BUS_next() (which is > translated to DS9490_next_both() (or the other *_next_both for other > adapters). *_next_both is called until there are no more devices on the > 1-wire bus. > > ow_xxxx.c:CheckPresence_low() will check if a device exists on any > connected adapter. It calls ow_verify.c:BUS_normalverify(). As you > can see that function reset the 1-wire bus and address the wanted > device via BUS_select(), and then send presence check to the device. I have added some fprintf()s to the code, and noticed that OMAP_select() and OMAP_next_both() are never called; nor is CheckPresence_low(). No errors are recorded anywhere, however, and pn->si->AnyDevices is being set to true. I added some more fprintf()s to see exactly what was going on, and there do not seem to be many calls to my code at all. When I first run owfs, I get the following output: OMAP_detect() OMAP_reset() OMAP_send_and_get() OMAP_reset(): AnyDevices = 1 owfs is activated! Looking at the oscilloscope, I see a little activity (a clear presence pulse at the correct time, followed by some other transfers). When I ls 1wire/, there are no calls to my functions, but the oscilloscope shows some activity; likewise, ls 1wire/bus.0/ has activity, but my functions are not called. The most likely explanation is that something is failing before it calls my functions, but it is also not calling the functions that are supposed to be called at this time. I half tempted to add fprintf()s everywhere, so I can see every function call: it may help track down what is going on a little faster. > I assume you've altered ow_opt for special parameters and configuration for > your adapter type, and added the adapter type to the enum. I do not need to do much here, but I have made some additions. > I'm afraid you're going to have to read the 1-wire Application Notes. The website seems to be down at the moment, but I shall check them out later: thanks for the links! -- Matthew ------------------------------------------------------- This SF.Net email is sponsored by the 'Do More With Dual!' webinar happening July 14 at 8am PDT/11am EDT. We invite you to explore the latest in dual core and dual graphics technology at this free one hour event hosted by HP, AMD, and NVIDIA. To register visit http://www.hp.com/go/dualwebinar _______________________________________________ Owfs-developers mailing list Owfs-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/owfs-developers