(Major) This OS release has many improvements to overall system stability over release 1.0.
(New Feature) The terminal 'F' command now displays predefined constants as well as setting names.
(New Feature) The CPIStatus table now displays CDM OS versions.
(New Feature) Modbus is now supported.
(New Feature) AVW200() is now supported.
(New feature) Quadrature() is now supported.
(New Feature) External GPS devices can be connected to COMC1 through COMC7.
(New Feature) GetDataRecord(), AcceptData(), SendData(), and GetVariables() are now supported.
(New Feature) Structures are now supported with StructureType/EndStructureType.
(New Feature) PortBridge() now supports the SDM-SIO1A and the SDM-SIO4A.
(Major) Settings of Type String are updated correctly when using SetSetting(). For example, SetSetting(“IPAddressEth”,”192.168.1.1”). In OS version 1.0, string settings were only updated when the fist character of the string was changed, or after factory defaults were applied.
(Major) The CommsMode option is set correctly when SerialOpen() is placed between BeginProg and Scan. In Granite 9/10 OS version 1.0, the CommsMode state would alternate between RS485 and Not Configured on subsequent program restarts.
(Major) The streaming options in HTTPPost() are supported.
(Major) Before creating a WIFI 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) (Granite 10) Fixed CAN not working on ports 2-4.
(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) Flag an error if string operand to *,\,/,mod operators.
(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) SFTP key authentication is supported.
(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) Resolved a clock issue that could set an erroneous Station Date/Time on program startup.
(Minor) The Granite 9 now pass all the SDI-12 Verifier tests.
(Minor) RS-485 half-duplex operation now correctly handles transmit and preparing the interface for reception.