Releases: Zanduino/DSFamily
Enhancement release
Moved repository from "SV-Zanshin" to "Zanduino" and corrected all internal links
Completed re-formatting source code according to clang-format rules
Changed Continuous Integration (CI) from Travis-CI to GitHub Actions
Enhancements and Bug Fixes
Bug Fix Release
Enhancement #2 and DOI
Bug Fix Release
Function definitions with default values / optional parameter definitions cause compiler error on non-windows machines. Defaults/Optional parameters may only be defined in the function prototypes
Bug Fix Release
Corrected erroneous DS1822 detection and incorrect error reading, plus added loop to retry reading scratchpad when CRC doesn't match
Functionality Release
Added ability to use the Calibrate() function to set to a specific calibrated temperature in addition to computing the common average temperature reading for calibration.
Optimized conversion times
The MAXIM documentation specifies maximum conversion times for the various precision settings. These are actually maximum values that are to be used when doing conversions using parasitic power. When normal power is used, a device sends 0s while it is performing a conversion and 1s once complete. This only works if the last command issued was a "convert temperature".
The library has been changed to check for this state and instead of waiting for a fixed period it will read the 1-Wire microLAN bus until the last conversion has completed and will then continue. This results in significantly faster potential throughput.
In addition, the DeviceStartConvert() function has an additional optional boolean parameter which, when set to "true", file cause the function to wait for the temperature conversion to complete before returning.
Added automated delays
When one or more parasitic devices are present and performing conversions, any activity on the 1-Wire data line will cause power loss on all parasitically powered devices. Any 1-Wire activity during an active parasitic conversion will now wait until the conversion is complete. Likewise, reading temperature values will wait for active conversions to finish before returning a value.
Initial Release
After extensive rewriting, this tested library of functions that have been used as part of the refrigeration project aboard http://www.sv-zanshin.com are ready for public consumption.