Main PC200W Interface Enhancement - Added "Give feedback on PC200W" menu item.
Main PC200W Interface Bug Fix - Fixed an issue where an access violation could occur if the delete key was pressed and held while the user okayed the "Delete Logger?" prompt.
Main PC200W Interface Bug Fix - Fixed an issue where the max time online dialog was not showing when monitoring or collecting data.
View Enhancement - Added a new option "View
Lock TimeStamp Column" which will lock the timestamp column on the left of the data in the grid for all files that have a timestamp. This setting is global for all open tables, and persistent due to being stored in the inifiles.
View Enhancement - Created a new common axis for the line graph to show up on the right. Assignment of series to the right Y-axis is made using the popup menu accessed by right clicking a selection in the selection panel and clicking "assign to right axis". Single click selection of a series in independent axis mode has been re-instituted. Clicking on a selection will show its y-axis on the side to which it is assigned. Grid lines only appear by default for the left axes.
View Enhancement - Improved performance when working with array-based data files.
View Enhancement - You can now deselect columns that were created in a group of multiple columns by clicking their header.
View Enhancement - Y Axes on the line graph are now shown in scientific notation when the values are smaller than 0.0001 or greater than 999,999,999.
View Enhancement - The printout will now include the full header if "Show Full Header" is enabled.
View Enhancement - You can now clear an associated FSL file in the Array Definitions Dialog.
View Enhancement - You can now move the graph cursor left and right with the arrow keys. Moving the graph cursor to the edge of the visible data will cause the file to scroll in that direction.
View Enhancement - New selection mechanism that lets View Pro selections be made with the keyboard using the grid selection cursor with the arrow keys. Hit the space bar to select a whole column, or hold down the shift key and move the selection cursor with the arrow keys to select data.
View Enhancement - A "Copy Selection" menu item has been added to the popup menu on the grid view.
View Enhancement - Added two menu items, "Check All" and "Uncheck All", to the right click popup menu of the selection panel on the line graph.
View Enhancement - Improved Excel export and added column names.
View Enhancement - Added print/print preview capability for the Hex file viewing window.
View Enhancement - Modified the behavior of the Reset Grid button.
View Bug Fix - Fixed CSIDFT UShort values that were loading incorrectly.
View Bug Fix - Fixed zoom/undo zoom causing graph scale problem for Y Axes
View Bug Fix - Changes to the selection definition made in the Selection Definition dialog are now prompting updates to the associated line graph if there is one.
View Bug Fix - Refreshing a TOA5 file while the graph is open will no longer cause all selections axes to overwrite each other, nor will changing the line graph options or plotting options.
View Bug Fix - Files with an unrecognized file format will now automatically open as text.
View Bug Fix - TOB1 fractional values now shown with sufficient resolution.
View Bug Fix - Made more room for the X Axis on the line graph to prevent labels being cut off.
View Bug Fix - Fixed mixed array data array number parsing problem.
View Bug Fix - Mouse wheel now scrolls the data grid.
View Bug Fix - Fixed column labels for mixed array files where two columns were labeled ''.
View Bug Fix - Fixed a problem where the line graph number of records was on less than the number of records selected.
View Bug Fix - Fixed timestamp formating problem when generating a timestamp for a mixed array data file with no FSL loaded.
View Bug Fix - Fixed a problem where the line graph plotting for some files caused all of the data to be plotted only in a thin portion on the left side of the screen, leaving a large gap to the right.
View Bug Fix - Fixed a problem where INFs & NANs at beginning of file wouldn't graph.
View Bug Fix - Fixed a problem where the "Open FSL File?" dialog was coming up behind View Pro when an array based file was opened from outside of View Pro.
View Bug Fix - Fixed a bug that caused an access violation that occurred with an empty TOB3 file.
View Bug Fix - Removed system tray icons for dialog windows.
View Bug Fix - Using the mouse wheel in the grid will now move the vertical scrollbar rather than the grid "cursor".
View Bug Fix - Fixed issue with ASCII printable files missing the first record in the grid, and mixed array binary files missing the first two records in the grid.
View Bug Fix - Fixed an issue where the last column of a mixed array data file was missing the last column after being associated with an FSL file.
CardConvert Enhancement - Added a command line option to CardConvert.
CardConvert Enhancement - Changed the Source and Destination Filename displays to show long filenames with the '..' in the middle instead of the end. This make it easier to see the actual filename.
CardConvert Enhancement - Changed append file check such that file headers that match with warnings append without asking user. Files with severe warning or errors do not append. Log messages are shown in both cases but the user is not asked.
Device Configuration Utility Enhancement - Added a new item, "Off-Line Mode" in the file menu that will be enabled for many device types. When the user selects this menu item, the program will enter a session in an off-line mode. The values displayed will be derived summary files stored in the library and referenced in the individual device descriptions.
Device Configuration Utility Enhancement - Support has been added for Campbell Scientific's wireless sensors and wireless sensor base.
Device Configuration Utility Enhancement - Added support for the CS450 device type.
Device Configuration Utility Enhancement - Added stub support files for the CS120
Device Configuration Utility Enhancement - Redesigned the settings editor panel used to edit the settings.
Device Configuration Utility Enhancement - Added code to set the time stamp for spectral or time series data for the AVW2xx when read from the sensor to match the computer time when the measurement began.
Device Configuration Utility Enhancement - Added a button to the AVW2xx diagnosis panel (both on-line and off-line mode) that will allow the user to export the data being displayed in a tab separated file that is suitable for import into MS excel or open office calc.
Device Configuration Utility Enhancement - Added a button on the "Net Services" table of the CR1000/CR3000/CR8xx deployment panel that, when clicked, will bring up a dialog that will allow the user to edit the .csipasswd file on the connected datalogger. If there is no file present, it will create it.
Device Configuration Utility Bug Fix - Fixed a problem with loading an OS to an SDM SIO1.
Device Configuration Utility Bug Fix - Fixed a bug for float and double component types where the max and min values were enforced when they were not specified in the description. This enforcement was not a problem for most types because the default max and min values were set to the full range of a given type. However, for floating point values, the min value was being set to the smallest possible positive value for that type rather than being set to the most negative possible value for that type. The result of this bug was that, when the user attempted to set negative values, these would be rejected.
Device Configuration Utility Bug Fix - Changed the way that locales are managed so that they no longer depend upon the selected language.
Device Configuration Utility Bug Fix - Fixed a bug where the application event dispatcher was being deleted before the one shot timer for the application. This could cause an access violation when the timer attempted to dispatch events when there was no dispatcher.
Device Configuration Utility Bug Fix - Simplified the regular expression used to check the neighbor lists for the various ports on the NL100. The regular expression used previously would fail the check for when used with "1 5 10-20".
Device Configuration Utility Bug Fix - Fixed a bug with string setting components where, if the component value was set directly, the changed flag for that component was not set. This showed up with the CR1000 deployment panel as a failure to set the PakBus/TCP Password setting.
Server Enhancement - Changed the logon transaction so that the password is no longer sent to the server. This fixes an issue where the password was being sent in clear text.
Server Enhancement - Added code to tolerate some warnings that can result from trying to determine whether data can be appended to an existing file. If warnings are generated, these will be logged in the transaction log.
Server Enhancement - Added code that will allow a failure to initialize the TAPI layer to be tolerated. If the tapi layer can not be initialized, all transactions and operations associated with it will now either fail (in the case of dialing) or will return empty lists of tapi lines and/or country codes. This addresses issues that we have encountered with customers being unable to run LoggerNet when the TAPI service is disabled.
Server Enhancement - Added support for a new LgrNet setting, minConfigRewriteInterval, that controls the minimum interval at which the server will automatically attempt to overwrite its configuration file. The default value for this setting has been set to 15 minutes which is larger by a factor of three from the old interval that was used. These changes address complaints from customers with large networks who had observed that the server would appear to "lock up" for up to thirty seconds while the operation was taking place
Server Enhancement - Added code to support the new LgrNet Logon Ex transaction. This transaction should be much more secure than the old logon transaction because the password is not transmitted but rather a digest derived from the password and a server generated random number will be sent. This new transaction uses the same features as the CRAM MD5 authentication protocol used with email servers.
Server Enhancement - Added code to ensure that the sysinifiles directory is backed up when a snapshot is created under the windows version. This will ensure that the taskmaster.ini file as well as other ini files will get backed up and, subsequently, restored.
Server Enhancement - Implemented an optional parameter for the device clock set command that allows the client to specify the time to which the device clock should be set.
Server Enhancement - Added support for the CRS450 device type. This device is a CS450 pressure transducer with datalogger capabilities.
Server Enhancement - Modified the code that records logon attempts in the transaction log so that the IP address of the client is printed along with the application name and user name.
Server Enhancement - Added support for the three new LgrNet settings: applicationDir, workingDir, and dirSeparator.
Server Bug fix - Changed the code that checks the input buffer for a full duplex echo operation so that, if bytes are received but none of these matches the first byte of the echo pattern, these bytes will be read from the buffer, thrown away but the watch dog timer for the operation will not be reset. This has the potential to address a "stuttering" effect that can occur on a link with a lot of latency where the responses from previous communication attempts get processed before the expected response is received.
Server Bug fix - Fixed a bug associated with serial port support (likely TAPI as well) that could lead to a lock-up.
Server Bug fix - Added code to ignore the hangup delay setting on the PakBus port when it is connected through a phone link. This is needed because, once the "off-line" message is sent to the connected logger, the logger is free to shut down the link from its side. It does little good for us to try to maintain that link under these circumstances and has actually caused a crashing/lockup problem.
Server Bug fix - Fixed a bug with the XPB (used with CR10X-PB, CR23X-PB, and CR510-PB loggers) implementation of the program file send transaction where the logger transaction timeout was not cleared after receiving a response to a previous send command. If there was a delay in sending the next command, the transaction could time out.
Server Bug fix - Fixed a bug where, if communications for an RF-TD base became disabled while a send network description operation was active, that operation would not get removed from the base. The result of this bug was that no new network description could be sent thereafter to the RFbase until the loggernet server was shut down.
Server Bug fix - Fixed a bug with the BMP1 send network description operation where, if the operation is interrupted because of max time on-line expiration, the operation reference kept by the RF base device object was not cleared. This prevented any future attempts to send the network description for that device.
Server Bug fix - Changed the server build script for Linux so that the 64 bit file offsets will be used by the run time library rather than the default of 32 bit file offsets.
Server Bug fix - Fixed a potential bug that could occur if a check for duplicate records was posted but then abandoned by its client (the particular case being addressed was data collection), That check would not get removed from the queue of other checks and, as a result, all new records processing would get stuck for this collect area.
Server Bug fix - Added a state to the BMP1 data polling operation to recognize when we are waiting for a check on the newest record. Also added code in the BMP1 message handler that will prevent us from processing an incoming message when we are not in a state where we are looking for that message.
Server Bug fix - Added virtual methods to the base PakBus node class that can be called when messages are sent to start or end a PakBus session. These methods have been overloaded in class Bmp5::Datalogger to ensure that the clock schedule is honored. This addresses a problem that has been observed with various Fat Spaniel customers that can result in their station times being reported as off.
Server Bug fix - Added a new timeout for BMP1 transactions. The timer for this condition starts when a message is posted for a BMP1 transaction to send. It will get cleared when the router is ready to send that message and it will get reset when any other transaction has a chance to send a message. The purpose of this timer is to guard against the rather rare cases where the RF-TD base can get stuck in a mode where it does not ever raise its RxRdy bit.
Server Bug fix - Fixed a problem in the base class that implements the PakBus serial packet protocol where, if communications became disabled, all links were immediately abandoned with no attempt to send "off-line" serial packet messages. On most link types, this was relatively harmless. However, on RF95 type links, this could lead to problems because the datalogger would not drop the CS I/O ME line so the subsequent attempt to "undial" the link was doomed to fail.
Server Bug fix - Fixed a bug where the hangup delay setting was not honoured for the PakBus/TCP server device type.
Server Bug fix - Added an optimization to the code that generates the parts of the configuration XML structure associated with device and collect area settings. The SettingCollection class as well as the Setting class will now cache the XML structure when the settings are read or are generated for the first time. From that time forward, the only parts of the structure that have to be changed are the parts associated with settings that have changed. This has the potential to address a problem where it was taking upwards of 2 minutes to generate the XML structure.
Server Bug fix - Added a optimization with the statistics collections used by devices. Previously, the statistics table name was generated each time that it was needed from the device name and the statistics type name. This could represent a significant CPU load each time that statistics needed to be updated.
Server Bug fix - Added code to the operation in the cache thread that checks for the uniqueness of "new" records received from BMP1 and PakBus dataloggers that will catch any exception thrown during that operation and ensure that the "client" collect area gets the notification that the check is complete. Also added code in this event to post a failure message in the comms logs since otherwise, the error could slip by unnoticed. This may have been the cause of some lockups.
Server Bug fix - Fixed a bug where, if a session was closed on which a clock set transaction was waiting (not yet active), that transaction would not get deleted. The result of this was that, when the clock set was complete, the server would attempt to report the outcome for a transaction and session that was no longer valid. This could lead to a crash
Server Bug fix - Fixed a bug associated with restoring device and collect area settings where, if a setting was not stored in the configuration file when the network map was restored, the cached_xml reference for that setting would not be set when the setting needed to be written. The result of this bug was that, under some conditions, attempts to save the network map would fail.
Server Bug fix - Fixed a bug in the CoraServer destructor that would throw an exception resulting in a Linux segment violation when the server was not startable (this was due to a file write permissions error in one test case but can also be due to exceeding file system quotas).
Server Bug fix - Fixed a bug where automated clock check/sets were not working for NTCIP-ESS type devices.
Server Bug fix - Added code in the link failure event handler for the root level device class (serial ports, TCP serial ports, etc.) to avoid calling on_link_failure() or changing the line state if an open is pending. This code was already setting a one second timer following which it would report an open failure (this delay was to avoid resource exhaustion that could occur under some race conditions). If another request was made while the delay was pending, that second open attempt could get prematurely clobbered when the timed failure event was handled.