(New Feature) Structures are now supported with StructureType/EndStructureType.
(New Feature) The CPIStatus table now displays CDM OS versions.
(New Feature) PortBridge() now supports the SDM-SIO1A and the SDM-SIO4A.
(New Feature) USB Configuration setting. This controls USB enumerating as a virtual comport and a virtual ethernet port (RNDIS) or a virtual comport only.
(New Feature) The terminal 'F' command now displays predefined constants as well as setting names.
(New Feature) The data logger now accepts a default program with. DLD or .CRB file extensions.
(New Feature) FTPClient() now supports pem formatted Public and Private keys for SFTP connections.
(Major) Settings of Type String are updated correctly when using SetSetting(). For example, SetSetting(“IPAddressEth”,”192.168.1.1”). In previous OS versions, string settings were only updated when the fist character of the string was changed, or after factory defaults were applied.
(Major) Updated SMSSend() to handle arrays. Warning - This update changed how SMSSend() was implemented in the operating system. Upgrading to this OS will also require the CRBasic programs running old instances of SMSSend() to be updated.
(Major) Improved streaming options in HTTPPost().
(Major) The CommsMode option is set correctly when SerialOpen() is placed between BeginProg and Scan. Prior to this change the CommsMode state would alternate between RS485 and Not Configured on subsequent program restarts.
(Major) Before creating a Wi-Fi host network, the data logger now checks for an existing network with the same SSID. If a network with the same SSID as the data logger already exists, the data logger will not create a host network.
(Major) The first GOES self-timed transmission now transmits when expected.
(Major) Added format option 0 to GOESTable() to allow for the pseudo-binary use of FP2 data. This change matches the data output that was available in format option 0 of GOESData() used in older Campbell Scientific GOES/METEOSAT radios.
(Minor) Improved Ethernet communication speeds with an RV50/RV50x.
(Minor) PortBridge() was updated to prevent a memory leak that could occur if a TCP connection handle was specified for one of the bridge ports, but the TCP connection was not successful.
(Minor) CRBasic now flags an error if a *, \, /, mod operator is used with a variable of Type String.
(Minor) CRBasic now checks for divide by zero errors.
(Minor) Files with a wild card name are uploaded correctly by LoggerNet scheduled file collection.
(Minor) WaitDigTrig() flags a compile error if it is declared inside a loop within a Scan.
(Minor) A variable of Type Double can now be aliased.
(Minor) The compiler was updated to allow spaces in Alias() array declarations.
(Minor) The compiler was updated to generate an error when quotes are used to declare an Alias. Example: Alias V = “newName” (error), Alias V = newName (correct).
(Minor) The size of an array index is set to the expected value when an expression uses constants of Type Long. For example: Const A as Long = 1, Const B as Long = 2, myArray(A+B).
(Minor) Replace() performs boundary checks correctly on strings larger than 24 bytes.
(Minor) Encryption() with option 0 returns the correct length of the original input.
(Minor) TOA5 format options in TableFile() display "NAN" instead of null for floating point numbers.
(Minor) Settings are retained when updating the datalogger OS using a web.obj.gz file.
(Minor) PWM() allows the Period parameter to be a variable of Type Float.
(Minor) Double-precision now uses a maximum resolution of 15 digits instead of 14.
(Minor) Improved CDM module support.
(Minor) ModbusSlave() now outputs the correct response to a function 6 command.
(Minor) SetSetting() now sets and reads the RadioNetID setting for the CR6-RF407.
(Minor) Move() now works with multidimensional arrays in a loop.
(Minor) The data logger Station Name setting does not accept slash characters.
(Minor) VibratingWire() now allows the begin and end frequency parameters to be variables. When variables are used the program will compile in SequentialMode.
(Minor) Case statements now evaluate a floating-point NAN.
(Minor) For GOES Table output, the “/” placeholder character now works as expected when using decimation.
(Minor) For GOES Table output containing historical values (Number of Values > 1) and using decimation, the most recent readings are now included.
(Minor) GOES Table format option 3, ASCII Comma separated, now includes the trailing comma after the end of each line.
(Minor) FTPClient() no longer waits until a new record is recorded before sending data when using values less than 0 in the NumRecs/TimeIntoInterval and Interval parameters.
(Minor) Fixed a brownout condition that could cause a minion processor to get stuck in a low power state. Symptom was a minion fault error appearing in compile results after recovering from the brownout condition.