(New Feature) Added a find file option to the "NewFileVar" parameter of NewFile(). See the CRBasic help for details.
(New Feature) Added result codes to CPIFileSend(). See the CRBasic help for details.
(New Feature) Added MQTTPublish() to the CRBasic instruction set.
(New Feature) Added SDMSIO2R() to the available CRBasic instructions. This controls the relays on the SDM-SIO2R device.
(New Feature) The .csipasswd file must be updated with Device Configuration Utility. The data logger will no longer accept .csipasswd files sent with web API commands or from the RTMC Web Publisher. Clients using the RTMC Web Publisher to publish directly to a datalogger must now configure the .csipasswd with Device Configuration Utility.
(New Feature) ClockSet() now supports a structure as the source parameter.
(New Feature) Added an optional parameter to BrHalf4W() to return the voltage of V1.
(New Feature) Added an optional parameter to CDM_BrHalf4W() to return the voltage of V1. Volt100 Series must also be running an OS built after 9/1/22.
(New Feature) Added an optional parameter to BrFull6W() to return the voltage of V1.
(New Feature) Added an optional parameter to CDM_BrFull6W() to return the voltage of V1. Volt100 Series must also be running an OS built after 9/1/22.
(New Feature) Added #undef to allow reuse of constants at compile time.
(New Feature) Added IncludeSection() to the available CRBasic instructions.
(New Feature) Added optional parameters to AvgRun() which allow its use in a function or subroutine.
(New Feature) Added optional parameters to MaxRun() which allow its use in a function or subroutine.
(New Feature) Added optional parameters to MinRun() which allow its use in a function or subroutine.
(New Feature) Added StdDevRun() to the CRBasic instruction set.
(New Feature) Improved Status.ProgSignature to account for changes to Include files when calculating the unique signature value.
(New Feature) The WatchdogTimer() instruction can now output the remaining time until the expiration of the last programmed interval.
(New Feature) Added a "MQTT Auto-Publish Data" setting to the MQTT settings.
(New Feature) Added the ability to send a web.obj.gz file that contains a CRBasic program, and several Include files to a selected drive (CPU, USR, CRD). For example, cpu.web.obj.gz. This allows a data logger to easily extract a main CRBasic program and multiple include files from one web.obj.gz file.
(New Feature) Added SortSpaIndexed() to the CRBasic instruction set.
(Minor) Fixed the output array of WindVector() when repetitions are used, ensuring coherence between the data and labels.
(Minor) Fixed the transmit time offset when Line SHEF format is used in GOESTable().
(Minor) ModbusClient() will wait to receive a response through its sequence mailbox, rather than utilizing polling.
(Minor) Fixed 'Dim' declared structures no longer appear as 'Public'.
(Minor) Fixed a timeout issue when the Logger is the FTP server and large files are being moved over a slow communication link.
(Minor) To handle NAN inputs, the SIN, COS, and TAN functions now return NAN.
(Minor) Fixed an intermittent Modbus data gap when an SDM-SIO1A/SIO4A port is used.
(Minor) Fixed the issue with the control ports state when using the "stop program and retain data" option. The control ports now return to the default state. This means PWM will stop driving and output ports are changed to inputs.
(Minor) PWM() now checks for a 0 or 1 in the duty cycle parameter.
(Minor) Fixed a rare intermittent data spike in measurements, which was observed in a single known application, by addressing the presence of fast measurements that consumed nearly the entire scan duration.
(Minor) DNS changed to try IPV4 first before IPV6.
(Minor) If the MQTT State is in the “Connection retry wait” mode the retry event will take place at a set interval of 6015820mS (~100 minutes) or when MQTTConnect() is called in a CRBasic program.
(Minor) Fixed the extra records returned by the HTTP response to the data query API commands.
(Minor) Optimized the reconnection process for PakBusTCP Clients when connection drops occur in resource-intensive applications.
(Minor) Fixed a MQTT memory leak that occurred when a connection to a broker failed.
(Minor) When the SerilInChk() is executed all the buffered data in the comport minion will be processed.
(Minor) When a framing error is detected on the CPI bus the measurements returned from the CDM device will be NAN.
(Minor) Fixed using a Const in StationName().
(Minor) Fixed a compiler issue for measurements without excitation and repetitions. Surpassing the available channels will result in a compile error.