Enhancement - Added support for the GRANITE 6, GRANITE 9, and GRANITE 10 dataloggers.
Enhancement - Fixed an integer overflow error when calculating the expectedRecs by making it an Int64 and catching the exception if it is thrown.
Enhancement - Added the ability for the user to control the visibility of the symbol and line of their traces individually. This only affects the normal graph and xy plotter.
Enhancement - Fixed synchronizing the colors between the complex and normal series.
Enhancement - Custom and normal data collection has been improved.
CRBasic Editor - Added the ability to use CAN .dbc file for use with new CAN-FD read and write instructions
CRBasic Editor - Added support for CRB files and programs.
CRBasic Editor - Made it so that the parameter check for conditional parameter is not case sensitive.
CRBasic Editor - Fixed a problem with instruction search and last item in list (XOR).
CRBasic Editor - Changed the CRBasic editor to no longer try to write to HKEY_LOCAL_MACHINE hive when associating files which can require admin privileges.
CRBasic Editor - Added the ability to select a .DBC file and fill out parameters for CANRead and CANWrite on the GRANITE 10. This is similar to how the SDMCAN allows selecting of a .PCK file but it uses DBC2PCK.exe for the user.
CRBasic Editor - Added a small change to make the parsing of datalogger type on the first line more flexible.
CRBasic Editor - Optimized loading of the default template files to speed up the process.
CRBasic Editor - Fixed a bug where Compile, Save, and Send was not showing any loggers to send to with a dld extension. Now it shows a filtered list based on CRB or DLD extension.
CRBasic Editor - Fixed an MDI bug where part of MDI child form was hidden behind toolbar when the main form started maximized.
CRBasic Editor - Fixed an issue with editing an instruction with the insert edit dialog when using the insert instruction edit box. If a parameter has options, a selected option could show the comment for a previous option if the selected option does not have a comment.
CRBasic Editor - Modified the code to allow the "&" operator to be syntax highlighted.
CRBasic Editor - Fixed a problem where the instruction edit box would not show the comment for a parameter if that parameter used the rg#DefaultName? The look up for the comment needed the actual name to work.
CRBasic Editor - Modified to now allow the "File Save As" to set the correct extension. Fixed by setting the default extension.
Device Configuration Utility 2.23 - Add support for TX326.
Device Configuration Utility 2.23 - New settings added to the CR1000X, CR6, GRANITE 6, GRANITE 9, and GRANITE 10 dataloggers that allow the user to edit IPv6 domain name servers.
Device Configuration Utility 2.23 - Help for various settings in the ALERT205 have been updated.
Device Configuration Utility 2.23 - Added tooltips for labels in left panel controls.
Device Configuration Utility 2.22 - Added support for the GRANITE 6, GRANITE 9, and GRANITE 10 Measurement and Control Data-Acquisition Systems.
Device Configuration Utility 2.22 - Added support for the LevelVUE B10.
Device Configuration Utility 2.22 - Added support for the TX325 GOES transmitter.
Device Configuration Utility 2.22 - Updated AL200 settings and help.
Device Configuration Utility 2.22 - Moved some retired dataloggers to the ‘Datalogger (other)’ category.
Device Configuration Utility 2.22 - Minor bug fixes and help changes needed to improve the customer experience.
Device Configuration Utility 2.21 - Added support for the GRANITE series VOLT 108, VOLT 116 and TEMP 120.
Device Configuration Utility 2.21 - Reorganized the left panel so that an IP address is kept separate from a serial port name and so that you can specify the PakBus address of the datalogger that might be connected through a PakBus router.
Device Configuration Utility 2.19 - Added new baud rates for the RS-232 port that are faster than the 115,200 KBaud rate for the CR1000, CR3000, CR800 Series, CR6, and CR1000X. These baud rates will only be available with an OS update and can only be used with a very short cable.
Device Configuration Utility 2.19 - Added new settings for the CR300 series dataloggers including "Trusted Hosts", "NTP Server", and "PCAP".
Device Configuration Utility 2.19 - Added settings for external CELL2xx connected to a datalogger that cover roaming and over the air update pending.
Device Configuration Utility 2.19 - Added support in the deployment panel for the CR300, CR6, and CR1000X dataloggers so that external modem parameters can be edited through the datalogger.
Device Configuration Utility 2.19 - Added support in the deployment panel for the CR1000X, CR6, and CR300 datalogger types for settings that configure an optionally attached CELL-200 series modem.
Device Configuration Utility 2.19 - Extended the baud rates available for the CR300 Series RS-232 port so that rates of 230400 and 460800 can be specified.
Device Configuration Utility 2.19 - Added a "Trusted Host" setting for the CR1000X and CR6 dataloggers.
Device Configuration Utility 2.19 - Added a dialog that can be used for testing serial port connections with loop-back adapters. This can be accessed from the Help menu.
Device Configuration Utility 2.19 - Various minor bug fixes and help changes needed to improve the customer experience.
Device Configuration Utility 2.18 - Added "Manage OS" panel to facilitate datalogger operating system updates (CR300, CR1000X, CR6 dataloggers).
Device Configuration Utility 2.18 - Added a new setting for the CR6 to specify the behavior of the Wi-Fi configuration button (Join a Network/Create a Network/Disable).
Device Configuration Utility 2.18 - Added new settings for the CR6 and CR1000X that specify verify and beacon interval values for PakBus/TCP connections.
Device Configuration Utility 2.18 - Added a "Maximum TCP Segment Size" setting for the CRx000 families of dataloggers.
Device Configuration Utility 2.18 - Assigned a maximum value of 10 Amps to the current limit setting for the charge rate for the CH201.
Device Configuration Utility 2.18 - Removed the "factory-write" attribute from the serial number setting for the CS475A.
Device Configuration Utility 2.18 - Edited the setting help files for the CR300 and CR6 so that the help looks better on the settings web page.
Device Configuration Utility 2.18 - Increased the size limit for the CR300 setting that reports cellular state.
Device Configuration Utility 2.18 - Updated the graphics in the about box header.
Device Configuration Utility 2.18 - Removed enable expressions for the HTTP service port and the FTP service port settings. The position of the enabling values is not the same across all device types that use this file.
Device Configuration Utility 2.18 - Updated the help for the CRx000 setting that controls PCAP output.
Device Configuration Utility 2.18 - Added a warning in the instructions for the data recovery wizard that identifies the requirement for OS25 or newer for the CR1000, CR3000, and CR800 datalogger types.
Device Configuration Utility 2.18 - Added a custom version string parser for the CR300 that will ignore anything beyond the dash in the model. This resolves an issue where the CR300 reported its daughter board as a part of the OS version model.
Device Configuration Utility 2.18 - Updated the connect and OS send instructions for the MD485 to change references to the word "modem".
Device Configuration Utility 2.18 - Updated the wiring table in the connect instructions for the CS240DM.
Device Configuration Utility 2.18 - Updated mbed-tls to version 2.9.0
Device Configuration Utility 2.18 - Added key filters for the edit control used for floating point components so that the control will only accept characters associated with floating point values.
Device Configuration Utility 2.18 - Updated the certificate used for signing applications and USB drivers.
Device Configuration Utility 2.18 - Corrected grammar errors in connected and off-line modes for various device types.
Device Configuration Utility 2.18 - Disabled Configuration setting for control port-based com ports (e.g., COMC1, COMC3).
Device Configuration Utility 2.18 - Updated settings help for the NL240.
Device Configuration Utility 2.18 - Removed a reference to the CS I/O port for CR300 baud rate settings.
Device Configuration Utility 2.17 - Added support for CR300-CELL2XX internal cellular modems.
Device Configuration Utility 2.17 - Made numerous device setting changes, cosmetic improvements, and added other new minor capabilities and optimizations.
LoggerNet Server - Fixed a bug where the broadcast option of a Linux UDP socket was not set on the socket when it was opened.
LoggerNet Server - Changed the function that retrieves the IP interface addresses so that it can use the getifaddr() under posix implementations. This provides a better list of local interfaces than does the previous method.
LoggerNet Server - Added command line options for the loggernet daemon that will enable IPv6 service. (LNLinux)
LoggerNet Server - Changed the post install script so that the -U option is specified along with the useradd command that creates the loggernet user.
LoggerNet Server - Added a try/catch block in the posix TCP client component around the code that attempts connections on various resolved addresses. If a connection fails, the catch will ensure that the socket is closed and will allow us to attempt the next connection.
LoggerNet Server - Added a new value for to the respCode parameter of the Device Send File Status Notification and Device Send Program File Status Notification messages that will indicate that the logger reported that the file was incompatible. Added an optional parameter, explanation, that report the datalogger string that explains the reason for this incompatibility.
LoggerNet Server - Fixed a bug in the BMP5 file send operation where the datalogger explanation string was not read from the datalogger's response because the code was not reading the file offset from the body first. Also added code to ensure that the comms log messages recognize the incompatible file response code.
LoggerNet Server - Added a new collect area setting for ALERT2 sensor report areas that will control the data type that is used for the raw and processed values stored in the cache table.
LoggerNet Server - Changed the persistence values assigned to alert station sensor report collect areas so that they are all marked as user-defined. This will allow the user to rename or delete default areas.
LoggerNet Server - Changed the implementation of the device rename collect area transaction so that the notification for the collect area deletion is sent out before the new name is applied to the collect area.
LoggerNet Server - Changed the code that creates alert2 report areas so that, if the report value type is specified as an integer, the cache data type will be specified as an int4 rather than an int8.
LoggerNet Server - Fixed a bug in the alert2 report area where the table would not get recreated after the client had changed the report value data type setting.
LoggerNet Server - Changed the BMP5 enumerate files operation so that, if the client does not specify a preceding slash when it needs to limit the files sent, that slash will be provided automatically.
LoggerNet Server - Added code to log comms messages for the alert2 base when there is a communications failure
LoggerNet Server - Added code in the restore snapshot handler to work around a bug where, in older versions of backup files, files lengths were encoded as size_t (64 bits on 64 bit machines) instead of the expected uint4. The result was that, when attempting to restore the older file, the newer server would report it as corrupt. The validation code will now check the length encoding for the first file by reading eight bytes for the length and, if the least significant four bytes are zero, will expect all string lengths to be encoded with 64 bits instead of 32 bits.
LoggerNet Server - Fixed an oversight where the connection rules did not allow a CR1000X to be configured as a child to a CR800 router.
LoggerNet Server - Changed the current focus object state log messages produced so that they will include the destination address and transaction ids in the message. This will hopefully make it easier to track down problems with frozen focus.
LoggerNet Server - Fixed a bug where the alert2 base monitor command was not being removed when communications were disabled. This resulted in any attempt to delete the base while it was on-line getting stuck waiting for the base to go off-line.
LoggerNet Server - Changed the base PakBus router code so that, when a link is reported deleted and there are pending transactions that appear to use that link, a failure will be reported for those transactions. This may be of some use to customers who are experiencing problems with transactions getting stuck in the queue after a hello message timed out.
LoggerNet Server - Added code in the periodic save device handler for PakBus/TCP routers that will check the routes for any unrouted messages that have been enqueued for longer than one minute, require a static route, and there is a route for that static route's neighbour. When these conditions are satisfied, a delivery failure will be reported for that neighbour and port.
LoggerNet Server - Changed the log baler component to use the Csi::move_file() function to rename log files rather than the "C" run time version. The move_file() function can work with unicode file names while, apparently, the ::rename() expects multi-byte format.
LoggerNet Server - Changed the method that calculates the time stamp for an alert2 sensor report value so that, if the sensor report does not have a reported time stamp, the received time less any specified time offset will be used as the time stamp for the value.
LoggerNet Server - Fixed a bug where, if a table based collect area was renamed, the transactions that enumerate tables for data brokers and devices were not being updated.
LoggerNet Server - Removed the code that generates a default set of sensor reports when a new alert2 station is added. It is much simpler to allow the client to perform this as that leaves only one place where we have to worry about what those defaults should be.
LoggerNet Server - Changed the file control operation for BMP5 dataloggers so that, if an OS is being started, we will force the server to wait a minimum of 2.5 minutes (150 seconds) before attempting to restart the link to the datalogger.
LoggerNet Server - Added a watch dog timer for the communication command used to communicate with an ALERT2 base so that a beacon (\r\n) will be sent on the link if more than two minutes elapse without receiving any data on the link.
LoggerNet Server - Changed the rename() method for the base TableArea class for collect areas so that the tables written setting gets updated with the new name. This will ensure that the enabled state will be correctly reported to the table collator.
LoggerNet Server - Added an optional parameter to the LgrNet Restore Snapshot command that allows the client to specify the state of the LgrNet commEnabled state when the restoration is complete.
LoggerNet Server - Removed support for the NTCIP-RWIS version 1 and version 2 type stations. These relied on increasingly antiquated libraries that were difficult to update and rebuild for static linking and were not used by our customers.
LoggerNet Server - Fixed a bug in the windows version of TCP clients where socket handles could be leaked when trying more than one address to reach a named host. This manifested as a server lock-up on large networks where some sites failed to connect.
LoggerNet Server - Changed the PakBus/TCP server so that the max time on-line setting is ignored.
LoggerNet Server - Changed the parser for newer BMP5 datalogger table definitions so that, if only the table size has been changed, the new size is larger than the existing table.
LoggerNet Server - Overloaded the comm disabled handler for the BMP5 hangup delay operation as well as for the clock check/set operation in order to ensure that these operations are closed when communication becomes disabled.
LoggerNet Server - Added a new message that will be broadcast to all LgrNet session clients when a snapshot has been restored.
LoggerNet Server - Fixed a bug where the pakbus encryption key settings was not reported for any of the granite series loggers.
LoggerNet Server - Changed the way that IPv6 broadcasts are done when performing a UDP search. The behavior should match that of Device Configuration Utility.
LoggerNet Server - Changed the BMP5 implementation for the program file send transaction so that the program is not stopped when sending an OS to a CR300, CR6, CR1000X, GRANITE 9, GRANITE 6, or GRANITE 10 dataloggers.
LoggerNet Server - Changed the file synch so that the history now tracks when a file should be deleted but wasn't able to because of comm failures. This addresses a problem that was found on Mount Everest where the link was timing out before we had retrieved all of the files and none of the files that should have been deleted were ever deleted.
LoggerNet Server - Changed the file synch so that pending deletes take precedence over pending retrievals.
LoggerNet Server - Fixed a bug in the BMP5 set variable implementation that prevented the server from setting string variables that were declared with a size greater than or equal to 995. The implementation was producing a PakBus message that was unrouteable due to its size. The fix is to avoid attempting to fill all bytes of the variable with trailing nulls but to set the variable to the client specified value with at least one trailing null. If the result is too large, the transaction will be reported as a failure. Eventually, we will need to create a new transaction that can be used to transfer large objects for variable values.
LoggerNet Server - Removed the code that set the lastComPortId setting when handling an incoming socket for callback.
LoggerNet Server - Implemented the code that creates the new data file import collect area as well as settings to support that area type. Also implemented the code that parses data files and attempts to import their data into new or existing broker tables.
LoggerNet Server - Implemented support for the logger query EX transaction for BMP1, BMP3, and BMP5 (all table based) dataloggers.
LoggerNet Server - Fixed a bug in the LgrNet delete branch transaction where the incorrect outcome code was reported if the client specified an invalid device name.
LoggerNet Server - Fixed a bug that was introduced into the formatted data advise where the record number, file mark number, and time stamp were not being written to the notification message.
LoggerNet Server - Added code in the BMP5 implementation of the logger query ex transaction that will ensure that records are not repeated.
LoggerNet Server - Fixed a bug in the logger query ex transaction where the client specified station name was not applied.
LoggerNet Server - Changed the mechanism to track expected records within the logger query ex transaction.
LoggerNet Server - Fixed a bug in the BMP5 implementation of Logger Query EX that could result in collecting the entire table while collecting record range if the client's end record number was not in the table.
LoggerNet Server - Fixed a bug where received bytes from the cc proxy conn provider were not transmitted to the root level device. This only has impact on LoggerNet operating within the Campbell Cloud.
LoggerNet Server - Fixed a bug where the socket close method for the cc proxy conn provider got confused with the provider close method. As a result, the state of the provider was wrong when the connection to the proxy service was made.
LoggerNet Server - Fixed a bug in the default value of the CCProxyConnInfo setting where the datalogger IP address property was misnamed.
LoggerNet Server - Removed quotes from the timestamp pattern when formatting records for collected data.
LoggerNet Server - Added missing BMP3 implementation of the LoggerQueryEx transaction for linux.
LoggerNet Server - Fixed a bug in the LgrNet udp discover transaction where the serial number was being misreported as the OS version.
LoggerNet Server - Added code to print the table name in transaction log events that mark the receipt of records from logger query.
LoggerNet Server - Added code to ensure that the ranges of expected record numbers are ordered before sending the request to the datalogger. Also added code to clear the newest record if it happened to be reported by the datalogger.
LoggerNet Server - Changed the BMP5 implementation of logger query ex with the start-at-record option so that the calculated oldest record number for the table is used in place of the client's when the client's is determined not to be in the table.
LoggerNet Server - Changed the CCProxyConn device type so that it applies a five minute timeout while it is waiting for the proxy server to make a connection back to LoggerNet. It will advertise this interval in the connection request and also will advertise the current GMT epoch of when the timer was set.
LoggerNet Server - Added code to look for 'GRANITE9", "GRANITE10", and "GRANITE6" identifying strings in the terminal output when attempting to identify the protocol and model using terminal commands.
LoggerNet Server - Fixed a bug in the BMP5 implementation of logger query ex handling record fragments where the begin record number was not being specified for the p1 parameter.
LoggerNet Server - Added code in the CCProxyConn provider so that messages associated with listening for incoming connections from the loggernet proxy are logged in the communications log.
LoggerNet Server - Fixed a bug where the error handler for the CCProxyConn provider listener was not reporting any problems to the application.
LoggerNet Server - Changed the CCProxyConn device type so that it only binds to IPv4 interfaces while waiting for a connection from the proxy.
LoggerNet Server - Changed the CCProxyConn device so that it will look for a "failed" report from service-campbellsci-proxy as well as a "queued" message. Also added code that will set the watchdog timer after the connection request has been transmitted. This will allow us to work around the case where service-loggernet-proxy is not responding.
LoggerNet Server - Fixed a bug where the LoggerNet monitor view transaction would not fail if the client specified an invalid view ID.
Short Cut - Added support for GRANITE 6, GRANITE 9, GRANITE 10, GRANITE TEMP 120, GRANITE VOLT 108, and GRANITE VOLT 116
Short Cut - CDM and GRANITE modules now show the user-defined “Module Name” throughout Short Cut, including on the corresponding module tab, measurement grids, wiring diagram, wiring text, summary, and so forth.
Short Cut - Added the following new or updated sensor files: SkyVUE8 Ceilometer,SkyVUEPro (rebranded CS135),GPS16X-HVS GPS Receiver (Added support for the CR6, CR1000X, GRANITE 6, GRANITE 9, and GRANITE 10 dataloggers.),LevelVUEB10 Water-Level Continuous Flow Bubbler,CS547A Conductivity and Temperature Probe (Added support for the CR6 and CR1000X),TS100SS Aspirated Radiation Shield,Type B, E, J, K, N, R, S, and T thermocouples on the GRANITE TEMP 120,TS100SS Aspirated Radiation Shield,CS241 (2-wire) Class A RTD Back of PV Module Temperature Sensor,CS241 (4-wire) Class A RTD Back of PV Module Temperature Sensor, [CAN] - CAN Port Configuration, - DBC Read Signal, - DBC Write Signal, - Generic Read Signal, - Generic Write Signal, [CAN FD] -CAN FD Port Configuration, - DBC Read FD Signal, - DBC Write FD Signal, - Generic Read FD Signal, - Generic Write FD Signal
Short Cut - Replaced SC115 with USB was only done for the GRANITE 6,9,10. Other loggers are unchanged.
Short Cut - Added a search (filter) to the DBC display form to help find the specific signal. Added a display of the number of signals.
Short Cut - Fixed a bug where a double click to edit was locking the cursor and tool tip in drag mode.
Short Cut - Fixed a bug where the table name was not displayed for TD loggers.
Short Cut - Fixed some issues when mapping the datalogger integration for use in a mux file. For example the CDM may use different integration than the datalogger.
Short Cut - !!Note!!: Beginning with this version of Short Cut, CDM modules are no longer supported for the CR1000, CR3000, and CR800 series. CDM modules are still supported for the CR6 series and CR1000X series. However, the way the modules are programmed in CRBasic is handled differently. Therefore, for existing Short Cut program files, the modules will need to be removed and then added again.
RTMC - Fixed an issue where the fill and clear of scope was creating an out of bounds scale condition.
RTMC - Added a check to prevent out of bounds values from locking the application up.
RTMC - Added a console log that allows users and support to have more info when a data failure occurs.
RTMC - Resolved an issue where the graph would not refresh in QuickReports upon completing its' data acquisition.
RTMC - Fixed an issue if the series was not available an OleException was thrown. This happens in an extremely rare circumstance.
RTMC - Modified the code to make sure that the table uri is persisted, for QuickReports, to make it available for the dialogs and also the error given if no data is available.
RTMC - Added PostgreSQL and Oracle types to be populated as datasources.
View Pro - Fixed a problem with reading binary files containing values stored using IEEE8B.
View Pro - Fixed an issue when indexing TOB2 and TOB3 files that was skipping records when encountering an empty frame footer.
View Pro - Added the missing IEEE8L data type.
View Pro - Modified the main window to open in the maximized state if it was in that state before it was closed.
View Pro - Fixed an issue where IEEE8 values were not being added to the graph for TOB files.
View Pro - Fixed and Error parsing files that contained commas within quotes.