Am Mittwoch, 13. Dezember 2006 23:09 schrieb Paul Alfille: > Look at http://owfs.sourceforge.net/commands.html > It is a list of devices and the listed command codes. > 0x0F for read_ROM works only for DS2401 (and DS2400 I guess). > 0x33 works for almost all chips, except > DS1821 (thermometer doesn't have an ID anyways) > DS2223, DS2224 (old chips I think) > Yes. That's why I favour the 0x33 ROM command. The DS2411 (DS2401 with Vdd) doesn't respond to 0x0F, too.
> But 0x33 also has effects on DS1922 (which worries me) and DS2409 ( !!! > 0x33 = Smart-on AUX) > That's the Control/Memory command byte, so it is no problem (mmmm) Arbitrary values under bus master control (ssss) Arbitrary values under slave control Byte 0 0x55 ROM Command (e.g. Match ROM) Byte 1 0x1F Family Code (e.g. DS2409) Byte 2..7 mmmm ID Byte 8 mmmm CRC8 --- From here on all the chips besides form the addressed DS2409 keep silent Byte 9 0x33 Control Command (e.g. Smart-On Aux) As I have no chips connected to the Aux output and the result shows the garbage of a wired AND, my observation may be correct... The following sequence is neccesary to achieve a correct 0x33 Read_ROM function on a DS2409 main branch: Byte 0 0x55 ROM Command (Match ROM) Byte 1 0x1F Family Code (DS2409) Byte 2..7 mmmm ID Byte 8 mmmm CRC8 Byte 9 0xCC Control Command (Smart-On Main) Byte 10 0xFF Reset Timing for main branch Byte 11 0xFF Reset Timing for main branch Byte 12 0x33 ROM Command (valid only for previously reset main branch) Byte 13 ssss Family code of iButton connected on the main brach Byte 14..19 ssss ID of iButton connected on the main brach Byte 15 ssss CRC8 of iButton connected on the main brach But from the problems we encounter I think the following is done when reading "1F.iiiiiiiiiiii/simultaneous/single" Byte 0 0x55 ROM Command (Match ROM) Byte 1 0x1F Family Code (DS2409) Byte 2..7 mmmm ID Byte 8 mmmm CRC8 Byte 9 0xCC Control Command (Smart-On Main) Byte 10 0xFF Reset Timing for main branch Byte 11 0xFF Reset Timing for main branch --- Additional reset for whole bus (so the previously selected DS2409 branch AND the backbone are selected) Byte +0 0x33 ROM Command (valid only for previously reset main branch) Byte +1 ssss Garbage (wired AND of family codes) Byte +2..+7 ssss Garbage (wired AND of IDs) Byte +8 ssss Garbage (wired AND of CRC8s) Again, as this problem would apply to *all* simultaneous nodes, it could be worth further investigation. The way I showed it up, temperature and voltage conversion of chips on the backbone is triggered always, even if only "1F.iiiiiiiiiiii/simultaneous/temperature" is triggered. Kind regards Jan -- "When you say 'I wrote a program that crashed Windows', people just stare at you blankly and say 'Hey, I got those with the system, *for free*'." -- Linus Torvalds ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Owfs-developers mailing list Owfs-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/owfs-developers