LoggerNet Server SDK Patch 4.5
Updated: 10-10-2017
Support for the CR1000X datalogger is now available via updated versions of coralib3.dll and coralib3d.dll.
The sample C++ applications now target Visual Studio 2015, with MFC and WindowsSDK support in place.
Versioning and descriptions were updated to current requirements.
The underlying encryption library has changed from axTLS to mbedTLS.
Added support for the new Device Collect Area Rename transaction. The server interface version has been incremented to 1.12.04 to report this.
Added code to save and restore the reported station name for PakBus dataloggers. Also added code to clear the flag that indicates that we are polling for datalogger info when such an operation is closed down. This addresses an issue where the station name written to new data file headers was an empty string if the first attempt to get compile results after starting the server failed.
Fixed a bug where the overloaded versions of on_callback_wait_end() were not called because the signature of the method was changed. This manifested itself as a problem handling call-back with a phone modem connection, where the connection was established and abandoned after a two-minute interval because the modem's callback ring timer was never cleared.
Fixed a bug for BMP5 dataloggers where an access violation could occur when testing to see if a closing operation was a get compile results op.
Changed the BMP5 file synch operation so the directory request will include a wild card if there is no given file specification. This addresses a problem with recent datalogger operating systems where the datalogger fails to enumerate the files if no colon or pattern was given.
Changed the various error counters mapped from the status table to signed integers and set their default value to -1 to indicate that the value is unknown. Also set the process string for this to a value of "error_counter" in order for the status monitor to be able to apply special formatting for these that will leave negative values as blank.
Changed the statistic that maps the datalogger lithium battery voltage so that this is initialized to a value of NaN and changed the process string of these to "battery_voltage" so that the status monitor can leave NaN values as blank and not be inclined to format these values with three fixed decimal digits.
Added the ability to register string values in the statistics table and created a status table map for the CR300's new LithiumBattery value which gets reported as a string rather than a floating point voltage value.
Changed the description for the CR300 "LithiumBattery" statistic to "Lith Batt Volt".
Added support for the new defaultScheduleEnabledExpr setting for PakBus dataloggers.
Added code to the challenge/responder component used for authenticating PakBus/TCP links with a PakBus/TCP password so the delayed start timer is shut down when invalid authentication data has been received from the datalogger before starting the challenge. Failure to do this was causing a crash when the delayed start event was processed and the authenticator was no longer in a state to do anything.
Fixed a bug in the file synch poll operation where the client acknowledgement was sent after the polling process was notified. That order could result in the operation being deleted when trying to send the client acknowledgement and lead to an attempt to access released storage.
Added code to the timed method for PakBus routers that periodically checks the validity of the current transaction focus so if there is no route available for that transaction, the transaction will be considered invalid, an error (unreachable) will be reported, and the current focus cleared.
Implemented a new collect mode, backfill by interval, for the BMP5, BMP3, and BMP1 versions of the logger query transaction. The server interface version has been set to 1.12.06 to reflect this support.
Changed code that was recently introduced in the PakBus router that will invalidate transactions if there is no router to carry them out so that this rule will not be applied to hello transactions.
Changed the code that handles the case where the datalogger reports that the file is inaccessible or the name is invalid so that the file is removed from the get queue and is also removed from the files history. This will allow us to "rediscover" the file on a future poll if the file really is inaccessible. This addresses an issue where it would appear that the datalogger was removing the file between the time that we got the directory and the time we started asking for the file. In this case, the file name would get stuck in the get queue and we would ask for it over and over without giving up.