PC400 4.1
Updated: 27-01-2011

  1. Main PC400 Interface Enhancement - Added "Give feedback on PC400" menu item.
  2. Main PC400 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.
  3. Main PC400 Interface Bug Fix - Fixed an issue where the max time online dialog was not showing when monitoring or collecting data.
  4. CRBasic Editor Enhancement - The CR200 precompiler can now produce .TDF files from within the CRBasic Editor and also can Show Labels.
  5. CRBasic Editor Enhancement - Removed the Silent Compressed File mode and the Always Create a Compressed File mode. The user can still manually create a compressed file via the Edit - Create Compressed File menu item. Sending a compressed file to the datalogger is controlled via the Compressed File checkbox on the Save and Send dialog.
  6. CRBasic Editor Enhancement - Enabled the Enter key for selecting instructions in the Instruction Panel. Previously the user had to double-click with the mouse.
  7. CRBasic Editor Enhancement - Added the SDMCAN processing to the CRBasic Editor. This includes adding the "Select .PCK Values" button to the SDMCAN instruction edit box. This new feature facilitates the use of the SDMCAN instruction in the CRBasic Editor.
  8. CRBasic Editor Enhancement - The search function now works as follows: If text is highlighted, the user can simply enter F3 or click the Find Next button and the text will be searched for without resorting to the find dialog. The last item searched for will be remembered even if the highlight has been removed. If the highlighted text is changed, the new text will sought after.
  9. CRBasic Editor Enhancement - Bookmarks are now persistent from one CRBasic session to another. Bookmarks are saved when the file is saved.
  10. CRBasic Editor Enhancement - Added functionality where the CRBasic Editor watches the hard drive copies of the files currently open in the Editor. If the date changes on one of the files (i.e., someone copies a new file over the existing one), a message is displayed in the Editor notifying the user that the underlying file has been changed and giving the user the option to reload from the underlying file
  11. CRBasic Editor Enhancement - Added functionality to provide the capability to open a read only screen of a program that is already open in the Editor. This gives the user with very large programs the ability to examine multiple areas of the program at the same time if desired.
  12. CRBasic Editor Enhancement - You can now continue an instruction onto multiple lines by placing the line continuation indicator (a single space followed by an underscore "_") at the end of the each line that is to be continued.
  13. CRBasic Editor Enhancement - Changed the default for the Run On StartUp option for the Compile, Save, and Send dialog to True
  14. CRBasic Editor Enhancement - The user can now turn the right margin line and the pagination lines off if desired.
  15. CRBasic Editor Bug Fix - Fixed a bug so that selecting a file that does not exist from the Recent Files list no longer gives an access violation. This only occurred when there were no other files open in the editor.
  16. CRBasic Editor Bug Fix - Fixed a bug so that ending a line with a comma will not hang CRBasic Editor for a Dim statement containing an array and multiple line initialization.
  17. CRBasic Editor Bug Fix - Fixed a bug so that the CTRL+F processing was extended to function properly when multiple files are open in the Editor. This eliminated a List Index Out of Bounds error.
  18. CRBasic Editor Bug Fix - Fixed a bug so that you no longer get an access violation when doing combinations of Ctrl+T, Ctrl+Q, and Ctrl+I.
  19. CRBasic Editor Bug Fix - Fixed a bug relating to closing the toolbar when the CRBasic Editor has pending edits. A Save dialog with Yes, No, and Cancel is displayed. If you select Cancel, the toolbar did not shutdown but it would when the CRBasic Editor was closed later. The shutdown is now aborted if cancel is pressed.
  20. CRBasic Editor Bug Fix - Fixed a bug where Rebuild Indentation could cause an access violation.
  21. CRBasic Editor Bug Fix - Fixed a bug so that multiple Public statements used to initialize arrays do not give a duplicate variable name error for "}".
  22. CRBasic Editor Bug Fix - Fixed a bug so that CRBasic will handle the variable scope and labeling issues created with function and subroutines containing local (Dim) variable declarations so that F9 and F10 display the variable lists properly depending on the cursor position.
  23. CRBasic Editor Bug Fix - Fixed a bug so that a duplicate name error is not displayed when a public variable and a dim variable declared in a function or subroutine have the same name
  24. CRBasic Editor Bug Fix - Fixed a bug so that entering a bookmark does not clear the Undo list.
  25. CRBasic Editor Bug Fix - Fixed a bug so that, for an instruction like If IfTime(245,300,Sec) Then PortSet(7,1), the PortSet instruction is not wiped out when you insert new values in the IfTime instruction.
  26. CRBasic Editor Bug Fix - Fixed a bug where if a statement with parameters is within an "inline" IF statement, the right-click(alt-click) did not bring up the parameter prompt screen.
  27. CRBasic Editor Bug Fix - The CRBasic Editor is now restored from minimized when you click on it from the LoggerNet Toolbar.
  28. 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.
  29. View Enhancement - reated 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.
  30. View Enhancement - Improved performance when working with array-based data files.
  31. View Enhancement - You can now deselect columns that were created in a group of multiple columns by clicking their header.
  32. 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.
  33. View Enhancement - The printout will now include the full header if "Show Full Header" is enabled.
  34. View Enhancement - You can now clear an associated FSL file in the Array Definitions Dialog.
  35. 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.
  36. 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.
  37. View Enhancement - A "Copy Selection" menu item has been added to the popup menu on the grid view.
  38. 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.
  39. View Enhancement - Improved Excel export and added column names.
  40. View Enhancement - Added print/print preview capability for the Hex file viewing window.
  41. View Enhancement - Modified the behavior of the Reset Grid button.
  42. View Bug Fix - Fixed CSIDFT UShort values that were loading incorrectly.
  43. View Bug Fix - Fixed zoom/undo zoom causing graph scale problem for Y Axes
  44. 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.
  45. 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.
  46. View Bug Fix - Files with an unrecognized file format will now automatically open as text.
  47. View Bug Fix - TOB1 fractional values now shown with sufficient resolution.
  48. View Bug Fix - Made more room for the X Axis on the line graph to prevent labels being cut off.
  49. View Bug Fix - Fixed mixed array data array number parsing problem.
  50. View Bug Fix - Mouse wheel now scrolls the data grid.
  51. View Bug Fix - Fixed column labels for mixed array files where two columns were labeled '[0]'.
  52. View Bug Fix - Fixed a problem where the line graph number of records was on less than the number of records selected.
  53. View Bug Fix - Fixed timestamp formating problem when generating a timestamp for a mixed array data file with no FSL loaded.
  54. 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.
  55. View Bug Fix - Fixed a problem where INFs & NANs at beginning of file wouldn't graph.
  56. 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.
  57. View Bug Fix - Fixed a bug that caused an access violation that occurred with an empty TOB3 file.
  58. View Bug Fix - Removed system tray icons for dialog windows.
  59. View Bug Fix - Using the mouse wheel in the grid will now move the vertical scrollbar rather than the grid "cursor".
  60. 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.
  61. 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.
  62. Split Enhancement - Added a progress bar to the runtime.
  63. Split Enhancement - Added the ability to use time ranges in the copy condition.
  64. Split Enhancement - Added new "Time Sync to First Record" option to the Other dialog.
  65. CardConvert Enhancement - Added a command line option to CardConvert.
  66. 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.
  67. 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.
  68. PakBus Graph Enhancement - Redesigned the settings editor panel used to edit the settings for PakBus devices.
  69. PakBus Graph Enhancement - Added controls to the toolbar that will allow the user to control the scaling factor for the canvas as a percentage.
  70. 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.
  71. Device Configuration Utility Enhancement - Support has been added for Campbell Scientific's wireless sensors and wireless sensor base.
  72. Device Configuration Utility Enhancement - Added support for the CS450 device type.
  73. Device Configuration Utility Enhancement - Added stub support files for the CS120
  74. Device Configuration Utility Enhancement - Redesigned the settings editor panel used to edit the settings.
  75. 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.
  76. 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.
  77. 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.
  78. Device Configuration Utility Bug Fix - Fixed a problem with loading an OS to an SDM SIO1.
  79. 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.
  80. Device Configuration Utility Bug Fix - Changed the way that locales are managed so that they no longer depend upon the selected language.
  81. 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.
  82. 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".
  83. 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.
  84. 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.
  85. 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.
  86. 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.
  87. 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
  88. 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.
  89. 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.
  90. 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.
  91. Server Enhancement - Added support for the CRS450 device type. This device is a CS450 pressure transducer with datalogger capabilities.
  92. 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.
  93. Server Enhancement - Added support for the three new LgrNet settings: applicationDir, workingDir, and dirSeparator.
  94. 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.
  95. Server Bug fix - Fixed a bug associated with serial port support (likely TAPI as well) that could lead to a lock-up.
  96. 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.
  97. 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.
  98. 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.
  99. 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.
  100. 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.
  101. 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.
  102. 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.
  103. 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.
  104. 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.
  105. 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.
  106. Server Bug fix - Fixed a bug where the hangup delay setting was not honoured for the PakBus/TCP server device type.
  107. 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.
  108. 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.
  109. 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.
  110. 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
  111. 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.
  112. 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).
  113. Server Bug fix - Fixed a bug where automated clock check/sets were not working for NTCIP-ESS type devices.
  114. 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.