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

Reply via email to