August 08, 2012
- Increased table definition memory size from 10,240 to 15,360 bytes.
- Increased intermediate storage memory from 80 to 126 values. This is memory used for table processing like min, max & avg and also DIM variables.
- Fixed public.fieldname(1,1) which was not working in previous operating systems.
- Fixed a bug where a public variable at maximum character length of 16 with a unit assignment were concatenated.
- Fixed GOES Instruction where when a baud rate of 300 was selected or programmed an incorrect compile error was reported.
- Changed GOES instruction to remove the compiler channel checking. The compiler now will allow any channel for the ST and R without consideration for the baud rate. However, channels cannot exceed 566, so the compiler does check if the channel is greater than 566.
- Improved SDI-12 to add data retention. Now the data will be available even after the SDI-12 measurement sequence has ended. This feature allows retrieval of SDI-12 data via a terminal emulator.
- Changed SDI-12 to add 100usec delay just after transmitting values to drive the SDI-12 line low before tri-stating the line.
- Added read-only Status Table setting called SerialNum. This new value will contain the product serial number.
- Changed SerialInput() and Print() instructions to support 4800 baud.
- Improved Print() instruction to allow it to transmit out the C2 port.
- Changed ModBusMaster Instruction to allow ModBusAddr, ModBusStart & ModBusLength parameters to be variables. The ModBusMaster instruction will now allocate the maximum memory, which takes away from the number of public variables. It will allocate 16 + 3 values...the 3 is extra space needed for the instruction and the 16 is space allocated for the maximum number of registers that can be requested at run time. At run time any ModBusLength variable greater than 16 will be ignored and only 16 values will be requested, also the StatusTable.varoutofbound will be incremented.
- Changed ModBusMaster and ModBusSlave instructions so that the ModBusAddr can be a variable and not just a fixed value. A ModBusAddr greater than 127 will be ignored or masked.
- Fixed the radio duty cycle modes 1 Sec and 8 Sec, so that the radio Long Header is not sent. These two duty cycle modes have been incorrectly sending the Long Header.
- Changed SendData() instruction one-way data to report the link state as "off-line" (0x08) where previously the link state was ready (0xa).
- Changed SetValue(), GetValue() and SendGetData(), so that they wait for 8 seconds when the radio is configured for the 8 Sec mode. Previously, in this mode the instructions have only been waiting for 4 seconds. Note: the 8 Sec Long Header modes have been correctly waiting for 8 seconds.
- Modified Getvalue() and SetValue() instructions so the "swath" parameter can be a public variable, previously only a constant was allowed for this parameter.
- Added partial record data retrieval function in PakBus data collection. We now only respond with one table, even if the data collection asks for more than one table.
- Added new MaxTXPacket setting that allows control over the maximum packet size transmitted by the datalogger.
- Modified the datalogger's response to the SDI-12 aI! command to return the Campbell manufacture name, etc.
- Fixed the SDI-12 receiver UART to detect false start bits. The SR50 wrongly produces a 5u second pulse, either when it enables or disables its UART, or when transitioning from an input to output (or vice-versa).
- Changed SDI12Recorder() so that SDI-12 D commands can be sent; i.e., aD0! can be sent and behaves like the 0R0! Command.
- Fixed a problem with back-to-back print instructions. The second print was aborting the transmission of the last character sent by the previous print.