*************************************************************************** *************************************************************************** Changes For Version 1.10 *************************************************************************** *************************************************************************** -=========================================================================- Package : com.dalsemi.onewire.* Class : * Since : 0.00 Description: Removed unnecessary import statements from numerous classes. Updated calls to static methods to use the Classname instead of the instance variable. -=========================================================================- Package : com.dalsemi.onewire.adapter Class : DSPortAdapter Since : 0.00 Description: Removed errant ';' in .equals(Object), which rendered the equals comparison moot. -=========================================================================- Package : com.dalsemi.onewire.adapter Class : LSerialAdapter, USerialAdapter Since : 0.00 Description: The logic for exclusive access was incorrect. Also fixed a bug which prevented opening and re-opening a port. -=========================================================================- Package : com.dalsemi.onewire.adapter Class : SerialService Since : 0.00 Description: Fixed memory leak in exclusive access. -=========================================================================- Package : com.dalsemi.onewire.application.file Class : OWFileDescriptor Since : 0.00 Description: Fixed major bug in Path parsing and decoding of the contents of the directory page. -=========================================================================- Package : com.dalsemi.onewire.container Class : MemoryBankEEPROM Since : 0.00 Description: Modified to support the DS2431. -=========================================================================- Package : com.dalsemi.onewire.container Class : MemoryBankNVCRCPW, MemoryBankScratchCRCPW Since : 0.00 Description: Modified to support both the DS1977 and the Thermochron8k. -=========================================================================- Package : com.dalsemi.onewire.container Class : MemoryBankScratch, MemoryBankScratchEx Since : 0.00 Description: PageLength was ignored and assumed to be 32 during the read- back verify of the Write Scratchpad. -=========================================================================- Package : com.dalsemi.onewire.container Class : MemoryBankScratchEE Since : 0.00 Description: Enhanced to be generalized for other EEPROM devices, e.g. to allow the EEPROM Write time to be configurable. -=========================================================================- Package : com.dalsemi.onewire.container Class : MemoryBankScratchSHAEE Since : 0.00 Description: The E/S byte, according to the datasheet, must always be the value 0x5F (for a normal copy operation). The upper bits that are hardcoded to 1's, were really don't cares on some variations of the SHA EE devices. This fix (using 0x5F) works for all SHA EE device types. -=========================================================================- Package : com.dalsemi.onewire.container Class : MemoryBankSHAEE Since : 0.00 Description: Fixed minor bug when writing to page 3 of SHA EE device. -=========================================================================- Package : com.dalsemi.onewire.container Class : MissionContainer Since : 1.00 Description: Added support for getting the sample as a raw integer value. -=========================================================================- Package : com.dalsemi.onewire.container Class : OneWireContainer1C Since : 1.10 Description: Added container for 1-Wire 4K-bit EEPROM, DS28E04. -=========================================================================- Package : com.dalsemi.onewire.container Class : OneWireContainer21 Since : 0.00 Description: Worked around a calendar bug when getting a timestamp for a sample. -=========================================================================- Package : com.dalsemi.onewire.container Class : OneWireContainer29 Since : 1.00 Description: Fixed max speed bug, previous container reported the max speed was standard speed instead of overdrive. -=========================================================================- Package : com.dalsemi.onewire.container Class : OneWireContainer2D Since : 1.00 Description: Added container for EEPROM memory, DS2431. -=========================================================================- Package : com.dalsemi.onewire.container Class : OneWireContainer37 Since : 1.00 Description: VerifyPassword used to throw an exception if the password was incorrect. Now it returns false. -=========================================================================- Package : com.dalsemi.onewire.container Class : OneWireContainer3A Since : 1.10 Description: Added container for addressable switch, DS2413. -=========================================================================- Package : com.dalsemi.onewire.container Class : OneWireContainer41 Since : 1.00 Description: Fixed Humidity Resolutions, incorrectly reported the digital (not analog) resolution. Updated use of Calendar object to workaround a discrepancy in Visual J#'s implementation. Fixed the starting time offset calculation when rollover occurs. Fixed temperature compensation formula for the immediate humidity conversions (logged work, just immediate had a problem). -=========================================================================- Package : com.dalsemi.onewire.utils Class : Convert Since : 1.00 Description: Added ConvertException, for handling bad input data. -=========================================================================- Package : com.dalsemi.onewire.utils Class : Address Since : 0.00 Description: Updated isValid function to support the pin-selectable Address scheme of the DS28E04. -=========================================================================- Package : com.dalsemi.onewire Class : OneWireAccessProvider Since : 0.00 Description: Added getVersion method and a default Main to print version. -=========================================================================- Package : com.dalsemi.jib Since : 0.00 Description: Removed support for the Java-powered iButton. -=========================================================================- Package : com.dalsemi.container.OneWireContainer16 Since : 0.00 Description: Removed support for the Java-powered iButton. -=========================================================================- *************************************************************************** *************************************************************************** Changes Prior to version 1.10 *************************************************************************** *************************************************************************** -=========================================================================- Package : com.dalsemi.onewire.adapter Class : DSPortAdapter Since : 0.00 Description: Implemented .toString() and .equals(Object) methods. -=========================================================================- Package : com.dalsemi.onewire.adapter Class : USerialAdapter, LSerialAdapter Since : 0.00 Description: Modified to use RXTX instead of javax.comm -=========================================================================- Package : com.dalsemi.onewire.adapter Class : NetAdapter Since : 1.00Beta Description: Fixed sign extension problem with getbyte() method. Also, changed timeout for Multicast packets from 1 second to 1/2 second to speed up discovery. -=========================================================================- Package : com.dalsemi.onewire.adapter Class : NetAdpaterConstants Since : 1.00Beta Description: Fixed sign extension problem success and failure return codes. -=========================================================================- Package : com.dalsemi.onewire.adapter Class : NetAdapter Since : 1.00Beta Description: Fixed potential bug where the hosts could be stopped, but leaves the adapter exclusively locked. -=========================================================================- Package : com.dalsemi.onewire.application.file Class : OWFile, OWFileDescriptor Since : 1.00Beta Description: Added getStartPage() function, which returns the memory page that a file starts on. -=========================================================================- Package : com.dalsemi.onewire.application.sha Class : SHAiButtonUser33 Since : 1.00Beta Description: Added more checks to return value of Read Authenticated Page command. Added support for Refresh Scratchpad command, to correct a partial write to a DS1961S/DS2432. -=========================================================================- Package : com.dalsemi.onewire.application.sha Class : SHADebitUnsigned Since : 1.00Beta Description: Implemented error recovery steps in the event of a partial write to a DS1961S/DS2432. -=========================================================================- Package : com.dalsemi.onewire.application.tag Class : SAXParser Since : 1.00Beta Description: Changed SAXParser from strictly using MinML to taking the XML library as a parameter, with default set to nanoxml (now included with 1-Wire API). -=========================================================================- Package : com.dalsemi.onewire.application.tag Class : TaggedDevice Since : 1.00Beta Description: Implemented .toString(), .equals(Object), and hashCode(). -=========================================================================- Package : com.dalsemi.onewire.application.tag Class : TaggedDevice Since : 1.00Beta Description: Case insensitivity for all tag names and properties. -=========================================================================- Package : com.dalsemi.onewire.jib Class : CommandAPDU Since : 1.00Alpha Description: Default APDU length changed from 4 to 5, to ensure that LC field is set properly. -=========================================================================- Package : com.dalsemi.onewire.jib Class : JibComm Since : 1.00Alpha Description: Added support for Smart Power Delivery. -=========================================================================- Package : com.dalsemi.onewire. Class : MemoryBankScratch Since : 1.00Alpha Description: CheckSpeed() function fails to notice that the adapter's speed has been changed. After the scratchpad memory bank set the speed once, it never checks to see if it got changed by another thread. As a quick fix, the function was modified to go ahead and verify that the device was at the right speed if the adapter was set for any speed other than the device's max speed. Future versions may include some sort of AdapterChangeEventListener interface. -=========================================================================- Package : com.dalsemi.onewire. Class : MemoryBankSHAEE Since : 1.00Alpha Description: Fixed bug where updating pages 2 and 3 in the same write caused an exception. Refactored MemoryBank by moving absolutely addressed functions (like Load First Secret, Compute Next Secret, Read Scratchpad, etc) into new Scratchpad MemoryBank class. -=========================================================================- Package : com.dalsemi.onewire. Class : MemoryBankScratchSHAEE Since : 1.00 Description: New Scratchpad MemoryBank for DS1961S/DS2432 with the absolutely addressed functions (like Load First Secret, Compute Next Secret, Read Scratchpad, etc), refactored from the MemoryBankSHAEE class. -=========================================================================- Package : com.dalsemi.onewire. Class : OneWireContainer Since : 0.00 Description: Implemented .equals(Object, .toString(), and .hashcode(). -=========================================================================- Package : com.dalsemi.onewire. Class : OneWireContainer10 Since : 0.00 Description: Fixed numerous points of failure due to byte sign-extension problems -=========================================================================- Package : com.dalsemi.onewire. Class : OneWireContainer1F Since : 1.00Alpha Description: Added retry loop to all device operations. This should fix most "Verify on Command Incorrect" errors. -=========================================================================- Package : com.dalsemi.onewire. Class : OneWireContainer20 Since : 0.00 Description: Simplified some redundant logic. Corrected setPower method, was setting wrong bit -=========================================================================- Package : com.dalsemi.onewire. Class : OneWireContainer21 Since : 1.00Alpha Description: Fixed bug with the setting of the device's valid temperature range. Default setting for a device with no range code in the address was wrong. -=========================================================================- Package : com.dalsemi.onewire. Class : OneWireContainer30 Since : 1.00Beta Description: Added getMemoryBanks function. Implemented a new memory bank to represent this part, MemoryBankEEPROMblock. -=========================================================================- Package : com.dalsemi.onewire. Class : OneWireContainer33 Since : 1.00Alpha Description: Added support for Refresh Scratchpad command. Fixed bug that occurred when writing to page 3 of the device. Completely refactored MemoryBank support, moved absolute addressed functions into new scratchpad memory bank class. -=========================================================================- Package : com.dalsemi.onewire. Class : Convert Since : 1.00Beta Description: Fixed numerous bugs. Converting from a byte array to a long or int could've caused an ArrayIndexOutOfBoundsException. Check for NaN was wrong in the toString(double) and toString(float) methods. Numerous problems corrected in toString(double) and toString(float). Numerous documentation problems were correct also. -=========================================================================- Package : com.dalsemi.onewire.application.monitor Class : AbstractDeviceMonitor, DeviceMonitor, DeviceMonitorEvent, DeviceMonitorEventListener, DeviceMonitorException, NetworkDeviceMonitor Since : 1.00Final Description: Added. Intended as a replacement for com.dalsemi.onewire.utils monitoring class. Adds support for more flexible searching options. -=========================================================================- Package : com.dalsemi.onewire.application.tag Class : Level Since : 1.00Final Description: Added. Intended to represent a TaggedDevice that can sense a digital voltage level. -=========================================================================- Package : com.dalsemi.onewire. Class : MemoryBankEEPROM, MemoryBankEEPROMblock, MemoryBankEEPROMstatus Since : 1.00Final Description: Added. New EEPROM memory banks. -=========================================================================- Package : com.dalsemi.onewire. Class : MemoryBankNVCRCPW, MemoryBankScratchCRCPW Since : 1.00Final Description: Added. New memory banks for password-protected devices. Namely, the DS1977 and DS1922/DS2422. -=========================================================================- Package : com.dalsemi.onewire. Class : MissionContainer, Since : 1.00Final Description: Added. New interface for data logging devices. -=========================================================================- Package : com.dalsemi.onewire. Class : PasswordContainer Since : 1.00Final Description: Added. New interface for password protected devices. -=========================================================================- Package : com.dalsemi.onewire. Class : OneWireContainer41, , Since : 1.00Final Description: Added. New OneWireContainer class for DS1922/DS2422. -=========================================================================- Package : com.dalsemi.onewire. Class : OneWireContainer37 Since : 1.00Final Description: Added. New OneWireContainer class for DS1977. -=========================================================================- Package : com.dalsemi.onewire. Class : OneWireContainer29 Since : 1.00Final Description: Added. New OneWireContainer class for DS2408. -=========================================================================- Package : nanoxml.sax.*, org.xml.sax.* Class : nanoxml library Since : 1.00Final Description: Added. Intended as XML library for use with the 1-Wire tagging libraries included in the package com.dalsemi.onewire.application.tag. -=========================================================================- Package : com.dalsemi.onewire. Class : MemoryCache, OWFile, OWFileDescriptor, OWFileInputStream, OWFileOutputStream Since : 1.00Alpha Description: Removed. Functionality replaced by classes in the package com.dalsemi.onewire.application.file. -=========================================================================- Package : com.dalsemi.onewire. Class : OneWireMonitor, OneWireMonitorEvent, OneWireMonitorEventListener Since : 1.00Alpha Description: Removed. Functionality replaced by classes in the package com.dalsemi.onewire.application.monitor. -=========================================================================- Package : com.dalsemi.onewire. Class : NetworkDeviceState, NetworkMonitor, NetworkMonitorEvent, NetworkMonitorEventListener Since : 1.00Alpha Description: Removed. Functionality replaced by classes in the package com.dalsemi.onewire.application.monitor. -=========================================================================- *************************************************************************** *************************************************************************** Changes Prior to version 1.00Final *************************************************************************** *************************************************************************** -=========================================================================- Package : com.dalsemi.onewire.adapter Class : NetAdapter,NetAdapterHost,NetAdapterconstants, MulticastListener Since : 1.00Beta Description: Added support classes for a TCP/IP connection to a remote DSPortAdapter and automatic discovery of host connections that are reachable by multicast. -=========================================================================- Package : com.dalsemi.onewire.adapter Class : LSerialAdapter Since : 1.00Beta Description: Added support class for DS9097E serial adapter. -=========================================================================- Package : com.dalsemi.onewire.container Class : MemoryBankSBM Since : 1.00 Beta Description: New memory bank for use with DS2438 (OneWireContainer26). -=========================================================================- Package : com.dalsemi.onewire.utils Class : Convert Since : 1.00Beta Description: Added new utility class containing generic conversion functions such as byte[]<->int, byte[]<->long, and celsius<->degrees fahrenheit. -=========================================================================- Package : com.dalsemi.onewire.application.file Class : OWFile,OWFileDescriptor,OWFileInputStream,OWFileOutputStream Since : 1.00 Alpha Description: These classes were moved out of the utils package. The implementation remains in the utils package, but is marked as deprecated. In the next release, the OWFile* classes in the utils package will be removed. -=========================================================================- Package : com.dalsemi.onewire.application.file Class : OWFileNotFoundException, OWSyncFailedException Since : 1.00 Alpha Description: Since a lot of the I/O functionality (including File I/O) is missing from the J2ME CLDC, the OWFile utilities should not be dependent on the Java2 File I/O for functionality. Implemented OWFileNotFoundException and OWSyncFailedException to replace missing classes. -=========================================================================- Package : com.dalsemi.onewire.application.file Class : OWFile, OWFileInputStream, OWFileOutputStream Since : 1.00 Alpha Description: Get IO exceptions reading device in multi-threaded application. Problem was a LastPageRead global flag not getting cleared when done with an Exclusive session. Solution : Added clearLastPageRead() method in MemoryCache class and made a call to it before any IO in the OWFileDescriptor methods. -=========================================================================- Package : com.dalsemi.onewire.adapter Class : SerialService Problem : CleanupByThread did not remove a thread's exclusive lock. Since : 0.00 Description: If CleanupByThread was called with a thread that had exclusive use of the serial service, the method did not release the lock. Solution : Added removal of lock if the thread is the current owner of the exclusive lock. -=========================================================================- Package : com.dalsemi.onewire Class : OneWireAccessProvider Problem : Doesn't add NetAdapter to the list of supported adapters. Since : 0.00 Description: NetAdapter, a recent DSPortAdapter addition, was not included in the enumeration of adapters. Solution : Added NetAdapter to the enumeration of adapters. -=========================================================================- Package : com.dalsemi.onewire.container Class : SerialService Problem : J2ME CLDC doesn't support Thread.getName(). Since : 0.00 Description: Debug message ouput uses Thread.getName(), which isn't supported by J2ME CLDC devices. Solution : Replaced with Thread.toString(). -=========================================================================- Package : com.dalsemi.onewire.application.sha Class : SHADebitUnsigned Problem : EEPROM DS1961S device's memory could become corrupted if communication is interrupted, rendering the debit file useless. Since : 0.00 Description: Since the DS1961S/DS2432 is a battery-less EEPROM device, sudden loss of power could cause an EEPROM bit to be half-written (i.e. on the borderline of being a 1 or a 0) or the writing of the user's account data could become interrupted. Solution : Two sectors of 8 bytes each are used to store the account data, while the actual TMEX file length indicates which sector holds the current amount. If it is determined that there was an error in writing to the devious during a previous transaction, it is now possible to revert to the last known good value. -=========================================================================- Package : com.dalsemi.onewire.application.sha Class : SHADebit Problem : Format of a debit file has changed. Since : 0.00 Description: An app note detailing the format of a Digital certificate will be released shortly after this release which details a new layout for the monetary certificate. This app note is AN151. Solution : Format of debit file has been changed in SHADebit and the new format is shown in the JavaDocs. This version of SHADebit will be incompatible with user tokens initialized with previous versions. -=========================================================================- Package : com.dalsemi.onewire.container Class : OneWireContainer10, OneWireContainer28 Problem : Each temperature device had it's own implementation of toFahrenheit() and toCelsius(). Since : 0.00 Description: Each of the temperature containers implemented it's own copy of toFahrenheit() and toCelsius(), and they weren't consistent. Some used floats, others used doubles. Solution : Deprecated methods in the containers and changed them to call Convert.toFahrenheit(), etc. -=========================================================================- Package : com.dalsemi.onewire.container Class : OneWireContainer26 Problem : Did not implement standard MemoryBanks with it's memory. Since : 0.00 Solution : Added the implementation of getMemoryBanks() -=========================================================================- Package : com.dalsemi.onewire.container Class : OneWireContainer33 Problem : Did not return all memory banks in enumeration. Since : 0.00 Solution : Added the last memory bank to the enumeration of memory banks in the implementation of getMemoryBanks() -=========================================================================- Package : com.dalsemi.onewire.container Class : OneWireContainer21 Problem : Error in JavaDocs. Since : 0.00 Description: Call to (new Date(System.currentTimeMillis())).getTime() seemed a bit much in usage example. Solution : Replaced with (System.currentTimeMillis()). -=========================================================================- Package : com.dalsemi.onewire.container Class : OneWireContainer21 Problem : Need to distinguish between DS1921H/Z devices and other Thermochron models. Since : 0.00 Description: No method exists to differentiate between the models of Thermochrons. It can be done through parsing a special 12-bit field of the part's 1-Wire Net Address. Solution : Override OneWireContainer's setupContainer() method to call setThermochronVariables() method which parses a special 12-bit field of the Thermochron's 1-Wire net Address and sets the following variables: 1) partNumber: DS1921L-F50 = physical range -40 to +85, operating range -40 to +85. DS1921L-F51 = physical range -40 to +85, operating range -10 to +85. DS1921L-F52 = physical range -40 to +85, operating range -20 to +85. DS1921L-F53 = physical range -40 to +85, operating range -30 to +85. DS1921H = physical range 15 to 46, operating range -40 to +85 DS1921Z = physical range -5 to 26, operating range -40 to +85 (All temps in degrees Celsius) 2) temperatureRangeLow - low temp. of temp. range 3) temperatureRangeWidth - temp. range width 4) temperaturResolution - temp resolution 5) isDS1921HZ - boolean true if part is DS1921H or Z. -=========================================================================- Package : com.dalsemi.onewire.container Class : OneWireContainer21 Problem : Method getName() only retrieves "DS1921", not the whole Dallas Semiconductor partName. Since : 1.00 Alpha Description: getName() returns a hard-coded string. Solution : Have getName() return the variable partNumber (as mentioned above. -=========================================================================- Package : com.dalsemi.onewire.container Class : OneWireContainer21 Problem : Method getDescription() does not indicate physical or operating temperature ranges. It also does not indicate the temperature resolution or the histogram bin width. Since : 1.00 Alpha Description: getDescription() returns a hard-coded string instead of a dynamically generated one. Solution : Have getDescription() return a dynamically generated string made up of the above ranges, resolution, and bin width. Include new methods that get the operating range, the physical range, and resolution and the histogram bin width. The new methods are: getPhysicalRangeLowTemperature() getPhysicalRangeHighTemperature() getOperatingRangeLowTemperature() getOperatingRangeHighTemperature() getTemperatureResolution() getHistogramBinWidth() -=========================================================================- Package : com.dalsemi.onewire.container Class : OneWireContainer21 Problem : The encodeTemperature() and decodeTemperature() methods need updating for new DS1921H and DS1921Z Thermochrons. Since : 1.00 Alpha Description: The DS1921H and DS1921Z Thermochrons have different ranges and different temperature resolutions that affect how their temperatures are encoded and decoded. Solution : Updated the encodeTemperature() and decodeTemperature() to reflect the new parts according to their respective datasheets. -=========================================================================- Package : com.dalsemi.onewire.container Class : OneWireContainer21 Problem : No clear way to download the Histogram and Logs correctly with the new DS1921H and DS1921Z Thermochron's having different temperature ranges, different histogram bin widths, and different temperature resolutions. Also, the starting temperature for the first histogram bin width is different (1 bin lower) for the H and Z than for other Thermochrons. Since : 1.00 Alpha Description: The DS1921H and DS1921Z Thermochrons are different in design as described above, making it necessary to create new methods to retrieve the histogram bin width, the temperature resolution, and the different starting temperatures of the first histogram bin before downloading the temperature histogram. Solution : Created the following new methods: getTemperatureResolution() (also updated the other similar methods for the TemperatureContainer) getHistogramBinWidth() getHistogramLowTemperature() -=========================================================================- Package : com.dalsemi.onewire.container Class : OneWireContainer21 Problem : JavaDocs updates Since : 1.00 Alpha Description: JavaDocs need to reflect the new methods and most importantly, to reflect the change in how to retrieve a Thermochron's mission results. Solution : Implemented new JavaDocs for the new methods and updated the "dumpMission" tutorial section. -=========================================================================- Package : com.dalsemi.onewire.container Class : OneWireContainer27 Problem : Implementation of all clock features. Since : 1.00 Alpha Description: OneWireContainer27 inherited all clock features from OneWireContainer24, but was missing the interrupt features. Solution : Changed OneWireContainter27 to extend OneWireContainer and implement correct clock functionality. -=========================================================================- Package : com.dalsemi.onewire.utils Class : OWFile, OWFileDescriptor, OWFileInputStream, OWFileOutputStream Problem : OWFile utilities not J2ME-CLDC-compliant. Since : 1.00 Alpha Description: Since a lot of the I/O functionality (including File I/O) is missing from the J2ME CLDC, the OWFile utilities should not be dependent on the Java2 File I/O for functionality. Solution : Implemented OWFileNotFoundException and OWSyncFailedException to replace missing classes. Removed all other dependencies on Java2 I/O. -=========================================================================- Package : com.dalsemi.onewire.utils Class : OneWireMonitor Problem : OneWire exceptions can put OneWireMonitor in a bad state. Since : 1.00 Alpha Description: An occasional short on the 1-Wire bus (a non-fatal exception) could put the OneWireMonitor into a bad state. Solution : Modified the exception handling to check for 1-Wire shorts and only end the loop if there was a more serious exception. -=========================================================================- Package : com.dalsemi.onewire.container Class : JibComm Problem : Possible 'blivet' CRC bug Since : 0.00 Description: In the CAPI, a workaround for a Blivet bug exists with a CRCCorrection table. Solution : Although the CRC blivet has never been seen using the Java API (as far as we know), the workaround was included just incase. -=========================================================================- Package : com.dalsemi.onewire.container Class : OneWireContainer16 Problem : Load and select operations sometimes fail, leaving the button unavailable for communication. Since : 0.00 Description: The button runs bytecodes for each of these operations, more time may be needed to terminate. Solution : Added methods 'set/getSelectRunTime' and 'set/getLoadRunTime' so that more time can be assigned to complete these operations. -=========================================================================- Package : com.dalsemi.onewire.container Class : OneWireContainer16 Problem : Error checking incorrect in 'setRunTime' Since : 0.00 Description: We were checking the current runTime value to see if it was in error, not the input runTime value. Solution : Corrected the bug. -=========================================================================- Package : com.dalsemi.onewire.container Class : OneWireContainer16 Problem : Sometimes when reading response data from the button, the button does not have enough time to run and becomes unavailable. Since : 0.00 Description: One longer responses, the button could not finish in time for the interruption. Solution : Added method 'setReadingRunTime' to allow for increases in the amount of runTime given on reading packets. -=========================================================================- Package : com.dalsemi.onewire.container Class : JibComm Problem : We could have methods useful to the user in this class. Since : 0.00 Description: Class is package private. Solution : Make class public. -=========================================================================- Package : com.dalsemi.onewire.container Class : JibComm Problem : Minimum runtime and runtime multiplier might need to be changed on different set-ups. Since : 0.00 Description: Minimum runtime value and runtime multiplier value were 'static final'. Solution : Changed to static and added methods 'setRuntimeMultiplier' and 'setMinimumRuntime'. -=========================================================================- Package : com.dalsemi.onewire.container Class : JibComm Problem : Can't get debug output without me sending a special build out to people. Since : 0.00 Description: Class was package private, debug variable was private. Solution : With class public, make 'doDebugMessages' variable public. -=========================================================================- Package : com.dalsemi.onewire.container Class : JibComm Problem : Sometimes when reading response data from the button, the button does not have enough time to run and becomes unavailable. Since : 0.00 Description: One longer responses, the button could not finish in time for the interruption. Solution : Added min_read_runtime to allow the button to use longer periods of time to read packets from the button if needed. -=========================================================================- Package : com.dalsemi.onewire.container Class : JibComm Problem : Sometimes we are kicked out of overdrive, then can't talk to button. Since : 0.00 Description: In our select buffer, we were using an overdrive-select command. Solution : We can use a normal-select command, and not lose any speed at overdrive and not lose the button when kicked out of overdrive. -=========================================================================- Package : com.dalsemi.onewire.container Class : JibComm Problem : When correcting a POR, sometimes button would not respond afterwards. Since : 0.00 Description: Button did not have enough time to correct POR. Solution : Added an adjustment, so that on retries to correct POR, more time is given, making further failure very unlikely. -=========================================================================- Package : com.dalsemi.onewire.container Class : JibComm Problem : Sometimes, on retries, our input data was horribly altered. Since : 0.00 Description: We were recycling the input buffer for output data, without regard to the possibility of retries. Solution : Put the output data in its own buffer. -=========================================================================- Package : com.dalsemi.onewire.container Class : JibComm Problem : Failure to recieve large amounts of data. Since : 0.00 Description: Near the end of recieving large amounts of data (>140 bytes) the button would not send data, causing us to report failure. Solution : There appears to be a problem in the button where it reports that more data still needs to be read, but 0 bytes are available to read. This can be fixed by giving the button a little more time to read, so it can shuffle its buffers around to make data available. -=========================================================================- Package : com.dalsemi.onewire.container Class : MemoryBankSHAEE Problem : Needed computeNextSecret without writing partial secret. Since : 0.00 Description: Current computeNextSecret function required partial secret as a parameter. Some applications could write partial secret to memory and later execute computeNextSecret. Solution : Added method: void computeNextSecret(int addr) -=========================================================================- Package : com.dalsemi.onewire.container Class : MemoryBankSHAEE Problem : Error in CopyScratchpad - uses strong pull-up twice without reset. Since : 1.00B Description: Strong pull-up was used for both calculating the mac and doing the eeprom write with copy scratchpad. Because of an uncleared bit, an extra "TouchBit" is added to the routine for changing the power level. As long as a reset is performed before the next strong pull-up, it will work normally, otherwise communication errors occur. Solution : Removed strong pull-up from mac computation. Mac computation should still proceed fine without it. -=========================================================================- Package : com.dalsemi.onewire.container Class : MemoryBankSHAEE Problem : Switch to strong pull-up was done improperly. Since : 1.00B Description: Using the CONDITION_AFTER_BYTE flag for setting strong pull-up requires the use of the putByte command to set the level. Instead of putByte, dataBlock was used with a length of 1 byte, which caused the level to not be set until the next time someone called putByte. Solution : Changed dataBlock with length of 1 to putByte command. -=========================================================================- Package : com.dalsemi.onewire.utils com.dalsemi.onewire.application.file Class : OWFile Problem : Constructor OWFile(OWFile parent, String child) did not work. Since : 0.01 Description: The constructor did not correctly create the new path with the child since the seperator was missing. Solution : Added the path seperator if it is not provided by the parent. -=========================================================================- Package : com.dalsemi.onewire.container Class : ClockContainer Problem : Error in JavaDocs. Since : 0.00 Description: Call to writeDevice(byte[]) had the parameter missing in the sample code. Solution : Changed "writeDevice()" to "writeDevice(state);". -=========================================================================- Package : com.dalsemi.onewire.container Class : OneWireContainer Problem : doSpeed throws exception when it should fall back. Since : 0.00 Description: doSpeed sometimes throws exception if it cannot find the part after switching to overdrive. It should try to fall back to regular speed before throwing exception. Solution : Added try-catch around adapter.isPresent() calls and attempt to fallback if there is an error. -=========================================================================- Package : com.dalsemi.onewire.container Class : OneWireContainer21 Problem : Sample rate of zero on newly missioned Thermochron. Since : 0.00 Description: If clock is started, memory is cleared, then mission is setup, the sample rate is set to zero regardless of what is written to the device. Solution : Clock needs time to start before clearing the memory. In clearMemory(), if the clock is not started it is first started and then a 751ms delay is added before the memory is cleared. -=========================================================================- Package : com.dalsemi.onewire.container Class : OneWireContainer23 Problem : MemoryBanks returned from getMemoryBanks() indicated power delivery is not necessary. Since : 0.00 Description: Solution : Set the boolean flag "powerDelivery" to true before adding the memory bank to the vector. -=========================================================================- Package : com.dalsemi.onewire.container Class : OneWireContainer0F Problem : Size of memory bank and number of pages available was incorrect. Since : 0.00 Description: Solution : The size of the EPROM memory bank was updated to '4' and the number of pages '32'. -=========================================================================- Package : com.dalsemi.onewire.container Class : OneWireContainer18 Problem : NullPointerException in setupContainer(adapter,byte[]) Since : 0.00 Description: Due to crazy chain of constructor calling super- constructor, which then called deferred method setupContainer which accesses a private variable that won't be initialized until super-constructor is finished. Solution : Checked to see if the private variable, private_address, was initialized before using it. If uninitialized, go ahead and initialize it. Removed "declare and initialize" line and initialized it to null. -=========================================================================- Package : com.dalsemi.onewire.container Class : OneWireContainer18 Problem : Incorrect target address. Since : 0.00 Description: In an effort to make super-fast data-page writes, an import step was skipped - reading the scratchpad to retrieve the target address. Solution : Put back in retrieval of target address as well as a check to make sure that what was read from the scratchpad matches exactly what was written. -=========================================================================- Package : com.dalsemi.onewire.container Class : MemoryBankSHAEE Problem : The method "needsPowerDelivery()" returned false. Since : 0.00 Description: The SHA EE iButton (DS1961S) requires power delivery for EEPROM writes. Solution : Changed needsPowerDelibery() to return true. -=========================================================================- Package : com.dalsemi.onewire.container Class : MemoryBankSHAEE Problem : The method "copyScratchpad()" does not provider power delivery. Since : 0.00 Description: The SHA EE iButton (DS1961S) requires power delivery for EEPROM writes. Solution : Modified the calls for data blocks to provide strong pullup after sending the last byte of the copy scratchpad command. -=========================================================================- Package : com.dalsemi.onewire.container Class : MemoryBankSHAEE Problem : The method "copyScratchpad()" computes the authorization MAC in software and does not allow for use of a hardware authorization coprocessor. Since : 0.00 Description: If the secret was not known by the memory bank object, it would not be able to compute the necessary MAC. This is much less secure than having the MAC stored in a hardware coprocessor. Solution : copyScratchpad was overloaded to allow for the MAC as a paramter: copyScratchpad(int addr, byte[] auth, int authStart) -=========================================================================- Package : com.dalsemi.onewire.container Class : MemoryBankSHAEE Problem : Inconsistent and confusing method names. Since : 0.00 Description: Some of the names of the methods (as well as their paramaters) didn't match the methods of other memory banks. Also, some methods that took in an "address" paramater would treat that as an absolute address and other methods as a relative address. Solution : Methods were renamed for a consistent scheme across all memory banks and all address paramaters are treated as relative to the beginning of the memory bank. -=========================================================================- Package : com.dalsemi.onewire.container Class : MemoryBankSHAEE,OneWireContainer33 Problem : Used custom SHA computation methods. Since : 0.00 Description: Solution : Changed custom ComputeSHA methods to use SHA utility class in com.dalsemi.onewire.utils. -=========================================================================- Package : com.dalsemi.onewire.container Class : JibComm Problem : Read registers before written. Since : 0.00 Description: Sometimes micro is read before it can finish writing it's registers. Solution : Added check to see if micro is done writing, if not the class waits with a minimum amount of time. -=========================================================================- Package : com.dalsemi.onewire.container Class : JibComm Problem : Part sometimes ignores 1-Wire communication. Since : 0.01 Description: If an APDU fails, the part is unreachable by 1-Wire communication. Solution : Do a POR and try again. POR = return to normal speed, reset, send to overdrive, and select. -=========================================================================- Package : com.dalsemi.onewire.application.utils Class : OWFileOutputstream Problem : Throws exception from constructor if file creation fails, but does not free cached resources. Since : 0.01 Description: If the creation of a file fails in OWFileOutputStream's constructor, an exception is thrown causing the object not to be allocated. Caller module is then not able to free the resources allocated by OWFileOutputStream in it's cache. Solution : Added try-catch around creation method call. Resources are then freed automatically and exception is re-thrown. -=========================================================================- Package : com.dalsemi.onewire.application.utils Class : MemoryCache Problem : Invalid CRC reported in second or higher memory bank of a filesystem that spans multiple memory banks. Since : 0.01 Description: The 'local' page number was being used instead of the filesystem page number for CRC checking. Solution : Use filesystem page number. -=========================================================================- Package : com.dalsemi.onewire.application.utils Class : MemoryCache Problem : NullPointerException when reading unprogrammed ERPOM pages. Since : 0.01 Description: The page length byte was being sign extended when the msbit was set. Solution : Add off the sign extension. -=========================================================================- Package : com.dalsemi.onewire.adapter Class : USerialAdpater Problem : Method putByte does not check the echo of each byte written to the 1-Wire net. Since : 0.00 Description: For early early detection of 1-Wire errors, it is important that each byte is checked for the appropriate echo. Solution : Added check to see if what was written matches exactly what was read. -=========================================================================- Package : com.dalsemi.onewire.container Class : SHAiButton Description: Deleted Class: Made obsolete by SHA transaction architecture in com.dalsemi.onewire.application.sha. -=========================================================================- Package : com.dalsemi.onewire.container Class : HumidityContainer Description: Added class: Common interface for all Humidity 1-Wire Devices. -=========================================================================- Package : com.dalsemi.onewire.container Class : OneWireContainer22 Description: Added class: 1-Wire container for the DS1822. -=========================================================================- Package : com.dalsemi.onewire.container Class : OneWireContainer24 Description: Added class: 1-Wire container for the DS2415/DS1904. -=========================================================================- Package : com.dalsemi.onewire.container Class : OneWireContainer27 Description: Added class: 1-Wire container for the DS2417. -=========================================================================- Package : com.dalsemi.onewire.utils Class : IOHelper Description: Added class: Common read/write I/O routines for reading and writing hex values as strings. -=========================================================================- Package : com.dalsemi.onewire.utils Class : SHA Description: Added class: SHA computation utility class. -=========================================================================- Package : com.dalsemi.onewire.application.sha Class : SHAiButtonCopr Description: Added class: Container for DS1963S acting as a coprocessor in SHA transactions. -=========================================================================- Package : com.dalsemi.onewire.application.sha Class : SHAiButtonCoprVM Description: Added class: Simulated coprocessor in SHA transactions without hardware DS1963S. -=========================================================================- Package : com.dalsemi.onewire.application.sha Class : SHAiButtonUser Description: Added class: Abstract super-class acting as root of all user's in SHA transactions (users = iButtons with account information). -=========================================================================- Package : com.dalsemi.onewire.application.sha Class : SHAiButtonUser18 Description: Added class: Container for DS1963S acting as a user token in SHA transactions. -=========================================================================- Package : com.dalsemi.onewire.application.sha Class : SHAiButtonUser33 Description: Added class: Container for DS1961S acting as a user token in SHA transactions. -=========================================================================- Package : com.dalsemi.onewire.application.sha Class : SHATransaction Description: Added class: Abstract super-class of all SHATransaction types. -=========================================================================- Package : com.dalsemi.onewire.application.sha Class : SHADebit Description: Added class: SHATransaction that performs user authentication, data verification, account debiting, data signing, and updating of a signed account file stored on a SHAiButtonUser. -=========================================================================- Package : com.dalsemi.onewire.application.sha Class : SHADebitUnsigned Description: Added class: SHATransaction that performs user authentication, account debiting, and updating of an unsigned account file stored on a SHAiButtonUser. -=========================================================================- Package : com.dalsemi.onewire.application.utils Class : OWFile,OWFileDescriptor,OWFileInputStream, OWFileOutputstream Description: Added support for multi-device files. This includes major enhancements over previous release of the OWFile I/O API. -=========================================================================- Package : com.dalsemi.onewire.application.utils Class : OneWireAccessProvider Description: Added support for runtime installation of user- specified adapter object (setOverrideAdapter). -=========================================================================- Package : com.dalsemi.onewire.application.tag Class : XML Description: This class provides several XML utility functions. -=========================================================================- Package : com.dalsemi.onewire.application.tag Class : SAXParser Description: Encapsulates the underlying SAX1 parser implementation. -=========================================================================- Package : com.dalsemi.onewire.application.tag Class : TagHandler Description: Parses XML 1-Wire Tagging documents and creates the appropriate vectors of TaggedDevices and OWPaths. -=========================================================================- Package : com.dalsemi.onewire.application.tag Class : TagParser Description: Instantiates TagHandler and starts XML parsing of a given InputStream. -=========================================================================- Package : com.dalsemi.onewire.application.tag Class : TaggedDevice Description: Base class for 1-Wire tagged device that is a repository for XML parsed data per device. It is extended for each individual type of tagged device. -=========================================================================- Package : com.dalsemi.onewire.application.tag Class : TaggedActuator Description: Interface class for all actuators to implement -=========================================================================- Package : com.dalsemi.onewire.application.tag Class : TaggedSensor Description: Interface class for all sensors to implement -=========================================================================- Package : com.dalsemi.onewire.application.tag Class : Contact Description: A TaggedDevice implementing the TaggedSensor interface and functioning as a sensor that detects the tagged device's presence on the 1-Wire bus. -=========================================================================- Package : com.dalsemi.onewire.application.tag Class : D2A Description: A TaggedDevice implementing the TaggedActuator interface and functioning as an actuator with 256 selections of potentiometer wiper settings. -=========================================================================- Package : com.dalsemi.onewire.application.tag Class : Event Description: A TaggedDevice implementing the TaggedSensor interface and functioning as a sensor that detects that activity has occurred on a 1-Wire switch. -=========================================================================- Package : com.dalsemi.onewire.application.tag Class : Humidity Description: A TaggedDevice implementing the TaggedSensor interface and functioning as a sensor that detects humidity. -=========================================================================- Package : com.dalsemi.onewire.application.tag Class : Switch Description: A TaggedDevice implementing the TaggedActuator interface and functioning as an actuator with 2 selections of switch settings (on and off). -=========================================================================- Package : com.dalsemi.onewire.application.tag Class : Thermal Description: A TaggedDevice implementing the TaggedSensor interface and functioning as a sensor that detects temperature. -=========================================================================- Package : All Class : All Problem : The links to datasheets in the JavaDocs are wrong. Since : 0.00 Description: dalsemi.com has gone away and all datasheets are now located on Maxim's website. Solution : Update all links to point to new home on Maxim site. -=========================================================================- Global: -=============- Problem : The JAVA docs were not complete. Since : 0.00 Description: Solution : Added many more comments, examples and hyper links. -=============- Package: com.dalsemi.onewire com.dalsemi.onewire.OneWireAccessPrivider (not-TINI) -=============- Problem : "Error" exception generated on Win32 if TMEX native drivers not loaded correctly in enumerateAdapters method. Since : 0.00 Description: Solution : Catch "Error" exception -=============- com.dalsemi.onewire.OneWireAccessPrivider -=============- Problem : 1-Wire in use exception in getAdapter and getDefaultAdapter methods. Since : 0.00 Description: Get an exception indicating the adapter was in use when calling one of these methods. Solution : Added a blocking call to beginExclusive and then a call to endExclusive in a 'finally' block. -=============- Problem : Could not add user defined adapters. Since : 0.00 Description: Solution : Added check in enumerateAdapters method to look in the onewire.properties file for 'onewire.register.adapter0' to 'onewire.register.adapter15' that indicates a fully qualified class file that is an adapter class to be included in the enumeration. -=============- Package: com.dalsemi.onewire.container com.dalsemi.onewire.container.OneWireConatiner.java, OneWireContainer04.java, OneWireContainer04.java, OneWireConatiner08.java, OneWireConatiner06.java, OneWireConatiner0A.java, OneWireConatiner09.java, OneWireConatiner0C.java, OneWireConatiner0A.java, OneWireConatiner12.java, OneWireConatiner0B.java, OneWireConatiner14.java, OneWireConatiner0C.java, OneWireConatiner1A.java, OneWireConatiner0F.java, OneWireConatiner20.java, OneWireConatiner12.java, OneWireConatiner20.java, OneWireConatiner13.java, OneWireConatiner20.java, OneWireConatiner14.java, OneWireConatiner20.java, OneWireConatiner18.java, OneWireConatiner20.java, OneWireConatiner1A.java, OneWireConatiner20.java, OneWireConatiner1D.java, OneWireConatiner20.java, OneWireConatiner20.java, OneWireConatiner20.java, OneWireConatiner21.java, OneWireConatiner20.java, OneWireConatiner23.java, -=============- Problem : Inconsistant operation of getMemoryBanks method. Since : 0.00 Description: getMemoryBanks returns a MemoryBank for the 1-Wire Address for these containers but not the others even though all devices have a 1-Wire Address. Solution : Removed MemoryBank for the 1-Wire Address in the enumeration returned from getMemoryBanks since this information is redundant with Address methods in OneWireContainer and DSPortAdapter. -=============- com.dalsemi.onewire.container.OneWireContainer04.java -=============- Problem : Throws did not match ClockContainer interface on some method. Since : 0.00 Description: The following methods needed to have, 'throws 'OneWireException' add: getClockAlarm, setClockAlarm, SetClockRunEnable, setClockAlarmEnable. -=============- com.dalsemi.onewire.container.OneWireContainer12.java -=============- Problem : Changing state of one latch would change state of other. Since : 0.00 Description: Solution : Added code in setLatchState and readDevice to only change the state of one latch at a time. -=============- Problem : Could not set the conditional search conditions. Since : 0.00 Description: Solution : Added method setSearchConditions -=============- Problem : Poor performance. Since : 0.00 Description: Speed checking with the adapter method 'doSpeed' was being performed too often. Solution : Added method setSpeedCheck(boolean) to enable or disable speed checking. -=============- Problem : More static final bytes added for easier use. Since : 0.00 Description: Solution : Define constants for easier reading. -=============- com.dalsemi.onewire.container.OneWireContainer16.java -=============- Problem : Missing constructors to be consistent with other OneWireContainers. Since : 0.00 Description: Solution : Added constructors. -=============- Problem : Correct expected run time entries. Since : 0.00 Description: Needed to check to make sure the run time parameter being passed was from 0 to 15. Solution : Created a check to look at the limits of the run time parameter. -=============- com.dalsemi.onewire.container.OneWireContainer1F.java -=============- Problem : Could not take advantage of the smart-on feature to detect if devices on branch without doing a search. Since : 0.01p2 Description: Solution : Created the method 'getLastSmartOnDeviceDetect' to return a boolean if devices were found on the branch during a smart-on operation. -=============- Problem : If adapter was left in overdrive and then this container's methods were called a communication exception (OneWireIOException) would be thrown indicating device not present Since : 0.00 Description: Speed checking was not implemented. Solution : Added method setSpeedCheck(boolean) to enable or disable speed checking. -=============- com.dalsemi.onewire.container.OneWireContainer1D.java -=============- Problem : getAlternateName doesn't need to be there because it returns and empty string. Since : 0.00 Description: getAlternateName returns an empty string. Solution : Deleted the method in this container. -=============- com.dalsemi.onewire.container.OneWireContainer21.java -=============- Problem : getClockAlarm method would hang on the TINI platform. Since : 0.01p2 Description: The methods Calendar.roll() and Calendar.add() are not supported on TINI so a loop to calculate alarms would never end. Solution : Change logic of method to not use unsupported Calendar methods. -=============- Problem : Exceptions listed in throws but never thrown. Since : 0.00 Description: getAlarmStatus method throws OneWireIOException and OneWireException, but does not. Solution : Removed throws statement from the method. -=============- com.dalsemi.onewire.container.OneWireContainer26.java -=============- Problem : Poor performance. Since : 0.01p2 Description: Speed checking with the adapter method 'doSpeed' was being performed too often. Solution : Added method setSpeedCheck(boolean) to enable or disable speed checking. -=============- com.dalsemi.onewire.container.OneWireContainer28.java -=============- Problem : Method doTemperatureConvert would not produce good temperature results. Since : 0.00 Description: Solution : Utilized the adapters 'primed' feature with the adapter startPowerDelivery method to make sure the power is delivered immediately after the next communication byte. -=============- com.dalsemi.onewire.container.JibComm.java -=============- Problem : More information for debugging. Since : 0.00 Description: Solution : Created if statements using a static Boolean to change if debug was necessary. -=============- Problem : Correct expected run time entries. Since : 0.00 Description: Needed to check to make sure the run time parameter being passed was from 0 to 15. Solution : Created a check to look at the limits of the run Time parameter. -=============- com.dalsemi.onewire.container.MemoryBankNV.java com.dalsemi.onewire.container.MemoryBankEPROM.java -=============- Problem : Get java.lang.ArrayIndexOutOfBoundsException exception from method 'readPagePacket' Since : 0.01p2 Description: If the length read back from the device was being sign extended and the desired OneWireException was not being thrown Solution : Make sure length byte did not get sign extended -=============- com.dalsemi.onewire.container.MemoryBankNV.java, com.dalsemi.onewire.container.MemoryBankNVCRC.java -=============- Problem : CRC16 not correct. Since : 0.00 Description: The CRC16 was being computed on the local page number instead of the absolute page number in the device. Solution : Changed CRC16 calculation to use the device absolute page. -=============- com.dalsemi.onewire.container.MemoryBankAppReg.java, com.dalsemi.onewire.container.MemoryBankEPROM.java, com.dalsemi.onewire.container.OTPMemoryBank.java (and all classes that implement these interfaces) -=============- Problem : The isPageRedirected() method didn't match JAVA standard naming convention. Since : 0.00 Description: The method isPageRedirected() was deprecated. Solution : To deprecate isPageRedirected() and make a new method getRedirectedPage(), also changed comments for the method. -=============- Classes that implement PagedMemoryBank Interface. -=============- Problem : The haveExtraInfo() method didn't match with JAVA naming standard. Since : 0.00 Description: The method haveExtraInfo() was deprecated. Solution : Deprecate haveExtraInfo() and make a new method hasExtraInfo(). -=============- com.dalsemi.onewire.container.MemoryBankAppReg.java, com.dalsemi.onewire.container.MemoryBankEE.java, com.dalsemi.onewire.container.MemoryBankEPROM.java, com.dalsemi.onewire.container.MemoryBankNV.java, com.dalsemi.onewire.container.MemoryBankScratch.java -=============- Problem : Offset parameter in writePagePacket method ignored. Since : 0.00 Description: Solution : Use offset -=============- com.dalsemi.onewire.container.SHAiButton.java -=============- Problem : No, quick way for TINI to create SHA button objects. Since : 0.00 Description: In TINI there was a need to only create allocation for the SHA button and initialize parameters later. Solution : A new constructor was added with no parameters and a setiButton method was created to initialize the parameters. -=============- Package: com.dalsemi.onewire.adapter com.dalsemi.onewire.adapter.UParameterSettings.java (non-TINI only) -=============- Problem : REGULAR 1-Wire line settings were not optimal Since : 0.01p2 Description: REGULAR 1-Wire line settings did not conform to Application Note 132. Solution : Change REGULAR 1-Wire line settings to Slew rate = 1.37V/us, tlow = 10us, tDSO = 8us. -=============- com.dalsemi.onewire.adapter.UAdapterState.java (non-TINI only) -=============- Problem : FLEX 1-Wire line settings were not optimal Since : 0.01p2 Description: FLEX 1-Wire line settings did not conform to Application Note 132. Solution : Change FLEX 1-Wire line settings to Slew rate = 0.83V/us, tlow = 12us, tDSO = 10us. -=============- com.dalsemi.onewire.adapter.SerialService.java (non-TINI only) -=============- Problem : Occasional timeouts waiting for serial communication. Since : 0.01p2 Description: Solution : Increased timeout in readComWait method to dynamically change with the number of bytes expected. -=============- com.dalsemi.onewire.adapter.TMEXAdapter.java (non-TINI only) -=============- Problem : Static initializer would through an exception on platforms that did not set the "java.library.path" system property. Since : 0.00 Description: There is no condition to check for a null "java.library.path". Solution : Check to see if "java.library.path" is null and if so assume that the native drivers are available. -=============- Package: com.dalsemi.onewire.utils com.dalsemi.onewire.utils.OneWireMonitor.java -=============- Problem : killMonitor method returned before Thread death. Since : 0.00 Description: Thread would not end before main thread resulting in the application hanging on exit. Solution : Synchronize setting of the keepRunning flag and then waiting for the thread to die. -=============- com.dalsemi.onewire.utils.Address.java -=============- Problem : Slow manipulation of strings and shifting longs. Since : 0.00 Description: There was a faster way to do string addresses and long shifts. Solution : Changed the address to hex and converted to string after and also changed shifts. -=============- Examples: debit.java -=============- Problem : Since : 0.00 Description: Changed the code to match the change in the SHAiButton file for just allocating space and initializing parameters later. Solution : -=============- ADContainerDemo.java, OWC16Test.java, OWMemUtil.java, SetDefault.java -=============- Problem : java.io.DataInputStream.readLine deprecated+ Since : 0.00 Description: When compiling using DataInputStream to read a line the warning for deprecation appeared. Solution : Use BufferedReader instead of DataInputStream. -=============- OWDump.java, OWMemUtil.java, -=============- Problem : com.dalsemi.onewire.container.PagedMemoryBank.haveExtraInfo has been deprecated. Since : 0.00 Description: When compiling using haveExtraInfo, warning for deprecation appeared. Solution : Used hasExtraInfo instead of haveExtraInfo. -=============-