Hi Paul,

while working with the DS1921 Thermochron iButton I came across a few problems. 
See attached patch file for fixes.

- mission/clear not working: I made visible mission/clear (for reasons 
explained below), however the assigned read/write functions FS_r_controlbit, 
FS_w_controlbit had no effect; writing 1 to mission/clear did not clear the 
iButton.  I wrote a separate function FS_clrmem, which basically calls the 
already existing function OW_clearmemory(). This way it was possible to clear 
the mission of the iButton. Since the mission/clear never read anything else 
than 0, I assigned NO_READ_FUNCTION.
("The EMCLR bit returns to 0 as the next memory function command is executed", 
[#ds page 14])

- It is not possible to use the Mission Start Delay: FS_w_samplerate uses 
OW_startmission to set the Sample Rate. However the function OW_startmission 
performs a clear memory by calling OW_clearmemory, which also clears a 
previously set Mission Start Delay. Afterwards the Sample Rate is written and 
therefore the mission starts. This way there is no possibility to use the 
Mission Start Delay. 
I removed OW_clearmemory from OW_startmission and inserted a separate 
OW_clearmemory for the function FS_easystart.
This way mission/clear is needed to do the missioning.

- The function OW_stopmission does not work: As intended in the code a mission 
can be stopped by writing 0 to either mission/frequency or mission/running. 
However doing so, the sampling is not stopped. The function OW_stopmission just 
performs a read, there's also a comment saying "dummy".
The datasheet states "A mission ends with the first write attempt (Copy 
Scratchpad command) to any register in the address range of 200h to 213h. 
Alternatively, a mission can be ended by directly writing to the Status 
register and setting the MIP bit to 0. The MIP bit cannot be set to 1 by 
writing to the Status register.", [#ds page 15]
I implemented the way to set the MIP in the status register to 0.

- Typos and probably copy-and-paste leftovers in man pages: DS1921 and DS2438.

I'm aware that this patch breaks the feature to start a mission by writing 1 to 
mission/running - in that case a previously set frequency was re-used for a new 
mission after performing a clear-memory. Since this feature seems not to be 
documented in the man page I was not sure how to proceed and wanted to discuss 
this point with you. I'm happy to fix the code in either way: to restore the 
feature or to remove its remaining residuals. I'm also willing to add 
additional documentation to the DS1921 man page about the missioning and 
mission/clear.

best regards
Clemens Egger


Reference:
#ds: DS1921G datasheet (http://datasheets.maximintegrated.com/en/ds/DS1921G.pdf)


-- 
Clemens Egger
Center for Biomedicine 

EURAC research
Galvanistr. 31, I-39100 Bozen
t +39 0471 055 524
f +39 0471 055 599
[email protected]
www.eurac.edu 

Attachment: patch6.3
Description: patch6.3

------------------------------------------------------------------------------
Introducing AppDynamics Lite, a free troubleshooting tool for Java/.NET
Get 100% visibility into your production application - at no cost.
Code-level diagnostics for performance bottlenecks with <2% overhead
Download for free and get started troubleshooting in minutes.
http://p.sf.net/sfu/appdyn_d2d_ap1
_______________________________________________
Owfs-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/owfs-developers

Reply via email to