CardConvert - Changed the filename sort function so that numbers sort correctly. This allows the Append option to keep the data in the correct order.
CardConvert - Made a change so when appending to the output file, that filename is not added to the view file list each time an input file is read.
Connect Screen - Added an indicator next to the station name that will appear when the station communication status is in a critical state.
Connect Screen - Added a check for Status table errors. The icon for the Station Status button will change to indicate that there are status table errors. After the user clicks on the button and opens the Station Status dialog, the button image will change back to normal.
Connect Screen - Fixed a problem with the erroneous creation of backup files.
Connect Screen - Fixed an issue where empty data files could be created, containing the header, but no records.
Connect Screen - Fixed an issue where the user could create an access violation by scrolling though the table list in the Table Monitor very fast.
Connect Screen - Fixed a bug in the Table Monitor where if the value for the status field LastSlowScan had a negative size for the first element, a range check error would be reported.
Connect Screen - Fixed an issue where multidimensional string arrays sometimes did not expand properly.
Connect Screen - Changed default behavior of the Show Units checkbox. It is now checked by default.
CoraScript - Added the defaultScheduleEnabledExpr setting to specify whether a new collect area should have its scheduleEnabled set to true
CoraScript - Added a new collect mode to the logger-query command that will allow the user to specify that the query should backfill relative to the newest record time stamp based upon an interval given in seconds.
CRBasic Editor - Added support for the "Double" type on variables. This includes highlighting and lists.
CRBasic Editor - Added a compile menu option for conditional compiling so that Include files are compiled into the code and displayed in a new window. This uses the -i command line instead of the -p option.
CRBasic Editor - Added a search box in the Instruction Panel.
CRBasic Editor - Fixed a range check error that could occur if you add a subroutine name and there was not already a name there.
CRBasic Editor - Modified the Editor to mark the menu item when the Display on Startup selection is made.
CRBasic Editor - Fixed a problem that was changing syntax highlighting when text was selected.
CRBasic Editor - Several changes were made to improve how .dld files are loaded. This also fixes a related timing bug where the Editor would load the last program used in front of a program that was opened by ShortCut.
CRBasic Editor - Fixed a problem finding the closing "}".
CRBasic Editor - Fixed a problem when using the F2 key that gave a range check error and unexpectedly launched the help.
CRBasic Editor - Modified the Editor to move the cursor to the end of the line when the comment continuation functionality is used.
CRBasic Editor - When a recent file does not exist, the error message will now indicate the file does not exist.
CRBasic Editor - The Editor is now forced to the foreground when you open a CRBasic file using Windows Explorer.
CRBasic Editor - Fixed #IF family of instructions. The # symbol and #IFDEF will now highlight properly
CRBasic Editor - Fixed an issue where the Find dialog would not be visible because it was displayed offscreen.
CRBasic Editor - Fixed an issue that prevented the Program Send dialog from retrying server connections.
CRBasic Editor - Increased the buffer space for paths.
CRBasic Editor - Changed all extensions on temporary files from '.xxx' to '.tmp'. The former can trigger a response from anti-virus software.
CRBasic Editor - Improved the error message when precompile does not run properly. Also improved it to use standard load if the compile result file will not load as UTF8. This helps when some Asian characters sets are used.
Device Configuration Utility - Added the ability to modify the CS240DM.
Device Configuration Utility - Added the ability to modify the CH201.
Device Configuration Utility - Added the ability to modify the CR300-CELL200 and CR310-CELL200 datalogger.
Device Configuration Utility - Added the ability to modify the CS475A radar level sensor.
Device Configuration Utility - Added the ability to modify the NL241 Wi-Fi network link interface.
Device Configuration Utility - Added a new “Data Collection” panel to allow downloading of data from dataloggers in the field.
Device Configuration Utility - Added USB drivers (RNDIS) for the CR6-series datalogger.
Device Configuration Utility - Added “Radio Enable” setting to the deployment panel for the CR6- and CR300-series dataloggers with internal radios.
LoggerNet Server - The underlying encryption library has changed from axTLS to mbedTLS.
LoggerNet Server - Added support for the new Device Collect Area Rename transaction. The server interface version has been incremented to 1.12.04 to report this.
LoggerNet Server - 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.
LoggerNet Server - 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.
LoggerNet Server - 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.
LoggerNet Server - 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.
LoggerNet Server - 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.
LoggerNet Server - 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.
LoggerNet Server - 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.
LoggerNet Server - Changed the description for the CR300 "LithiumBattery" statistic to "Lith Batt Volt".
LoggerNet Server - Added support for the new defaultScheduleEnabledExpr setting for PakBus dataloggers.
LoggerNet Server - 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.
LoggerNet Server - 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.
LoggerNet Server - 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.
LoggerNet Server - 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.
LoggerNet Server - 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.
LoggerNet Server - 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.
Network Planner - Added code for CRVW channel properties to enforce the maximum string length for the channel engineering units.
Network Planner - Fixed a bug in the code that generated settings for the CRVW where the channel baseline frequency and channel baseline temperature were both written to the same component (baseline frequency).
Network Planner - Added code for a CRVW channel to ensure that the thermistor enabled property for a channel is read from the XML properties.
RTMC - Updated the mbedTLS framework to the latest version 2.5.1.
RTMC - Fixed an issue where data alarms were never reporting an alarm if they had never received data .
RTMC - Fixed an issue with a published project that uses the subtraction operand.
RTMC - Fixed an issue with precision not being honored with arrays.
RTMC - Added an option to disable web sockets in the publisher. Web sockets will be enabled by default and can be configured for each website.
RTMC - Added the EmailRelay option to email profiles. This new option allows the user to send emails though Campbell Scientific’s EmailRelay service.
RTMC - Fixed an issue with a published project that uses the subtraction operand.
RTMC - Fixed and issue where some images were being abandoned on the disk in the temp directory. Animated images are now copied to a temp location and then loaded. This allows animated images from a URL to be loaded as well as animated images to be overwritten. We now try the TEMP directory, then the TMP directory, and if those aren't defined in the environment, then we create an image_cache folder in the RTMC working directory.
RTMC - Added a new Julian Date option to FormatTime. The option is specified by using a %J. The software now allows %J for Julian Date and %j for specifying Julian Day.
RTMC - Fixed an error with the CS110 where sounds were overlapping with each other.
RTMC - Fixed an issue where Boolean values were always displayed as False.
RTMC - Fixed an issue where a zero-length string caused labels to overlap.
RTMC - Fixed an issue when setting a negative value to the scale max in RTMC standard.
RTMC - Fixed an issue where a series that was marked as hidden and then published broke the resulting project.
RTMC - Fixed an issue where null components could be reported when accessing the ownerComponent of a web query.
Short Cut - Redesigned the user experience and GUI interface.
Short Cut - Fixed when Alias is called on an existing array. It now updates the index along with the name. When searching for the Alias associated with a CRBasic array element, now does not return the Alias (name, object, or units) if the Alias is disabled.
Short Cut - Modified the program to prevent ground wires from being moved from G terminal to Ground terminal and prevent Ground wires from being moved to G terminal. With preferred grounds, all grounds are in a common group.
Short Cut - Fixed an issue where the input location ID was showing up for CRBasic type of dataloggers in the summary for labels created by used defined expressions.
Short Cut - Added a custom check to look for and prevent SDI-12 and Pulse channels on channel pairs for the CR6. Also on the control ports for the CR1000X. These are not allowed but are outside the normal rules for channel pairs .
Short Cut - Modified to allow multiple decimal chars when editing a string field (like an IP address).
Short Cut - Enhanced to allow manual setting of high resolution for long data type.
Short Cut - Added new functionality: when loading a saved program, add any new channel types that are found in the DLF file. For example, switchclosure channels were added to the CR6. This was needed as we learned that switch closure connections on control ports are different than on U terminals (U terminal switch to ground and C port switch to 5V). So a new switchclosure channel type was added, and the C ports were removed from the pulse channel type. Caveats: Using the C ports requires a U port to be configured as a 5V source, as the CR6 has no 5V terminal. Since the C ports are only used when the U terminals are full, the user probably will not have one available. Also, when a saved program is loaded, the old pulse channel definitions are still used, so they will continue to be allocated and will not work. This will not be addressed as it is very unlikely to occur. The work-around is to start a new Short Cut program. We also added a new channel type of SDI-12 to the CRx000 and CR10X family of loggers. This is so the data connection could be moved instead of being on a fixed port. This required updated sensor files and datalogger files. This will allow updated datalogger and sensor files to work with new channel types.
Short Cut - Fixed an issue when making the working directory save work.
Short Cut - Modified the set buffer parameter of Scan instruction for some dataloggers with sub-second scans.
Short Cut - Fixed RepBlockArray aliases to have the current units if the user has edited the units since an alias was created.
Short Cut - Fixed server login. Login will not be reattempted multiple times, only when the program is sent from Short Cut.
Short Cut - Increased the font size by 2 for the wiring diagram visual and text display.
Status Monitor - Added support for string status field values, specifically the Lithium battery status in CR300 series dataloggers.