DT80/81/85 v8.08 FIRMWARE RELEASE NOTES ======================================= IMPORTANT: PLEASE READ ALL THE INFORMATION BELOW to ensure a trouble free upgrade occurs. Documentation ------------- The features present in this release of the DT80 firmware are described in the following documents: - DT80/81/85 User's Manual (revised edition, version UM0085-B3). This revision of the User's Manual is applicable to version 8.08 of the DT8x firmware. A copy of this document (PDF format) is included in this firmware package, and will be installed onto the logger's internal flash disk during the firmware upgrade process. It may then be accessed via the logger's built-in web interface. Alternatively, the manual is available as a separate download from the Support area of the of the dataTaker website, www.datataker.com. In addition, the known issues list (included in this firmware package) describes issues or problems that have been identified with the operation of the current release, along with work-arounds where possible. Upgrade procedure ----------------- Refer to the instructions in the DT80 User's Manual. Note that the upgrade package (.dxf file) may now automatically install files onto the logger's internal flash disk during the firmware upgrade process. Please ensure that you have the correct upgrade file for your logger: - DT80-8080001.dxf for DT80/80G/81/82E/85/85G Series 2 - DT80-8080001-series1.dxf for DT80/81/85 Series 1 Files with a "-usbdisk" suffix contain the same firmware, but are designed for installation using a USB memory device. ** NOTE: Before starting the upgrade, please ensure that there is sufficient free space on the logger's internal disk (type DIR"B:"). In particular: - DT80-8080001-usbdisk and DT80-8080001-series1-usbdisk packages temporarily require 10MB free space during installation ** NOTE: After the upgrade completes, it is recommended that you clear your web browser's cache, to ensure that the latest version of the dEX web interface is loaded. For example, in Internet Explorer 7 or 8 you would select "Delete browsing history" from the "Tools" menu, then select "Temporary Internet Files". Verifying the upgrade --------------------- After the upgrade has completed, check the version displayed on the LCD display. The top line should read "DT80 V8.08". Alternatively, send the TEST0 command, which should indicate "Version 8.08.0001". Firmware Change History ----------------------- Version 8.08, 16 Nov 2010 ========================= Firmware: --------- - ADD: COPYD dest= argument can now contain dynamically replaceable parts. The following codes may be inserted into a dest= string: (#1780) - ?(timestamp) - will be replaced by the time (yyyymmddThhmmss) at which the unload operation started - ?(seq) - will be replaced by a 3-digit sequence number. Note: this number is not necessarily unique. - ?(serial) - will be replaced by the 6-digit logger serial number - ?(n$) - will be replaced by the value of string variable #n - ?(nCV) - will be replaced by the value (integer part only) of channel variable #n For example: COPYD dest=ftp://srv.com/mydata/SN?(serial)/?(seq)_?(timestamp).csv would create a filename similar to the following on the FTP server: mydata/SN081234/007_20100522T100005.csv The default filename specification is unchanged, and is equivalent to ?(seq)_?(timestamp) Note: The above feature is not documented in user manual UM0085-B3 - ADD: Now recognises Series 3 product codes (DT82E-3, DT82I-3, DT80-3, DT80G-3, DT80L-3, DT80GL-3, DT85-3, DT85G-3, DT85L-3, DT85GL-3) - ADD: New channel PWR5V for controlling isolated 5V output on series 3 hardware (PWR5V=1 to turn on). Note that power output will only be on while the analog section is powered, so if you want power to persist beyond the end of a measurement then P21=1 is required. - CHANGE: Renamed 1SSPWR channel to PWR12V (1SSPWR will still work, however) - ADD: Added support for RTD temperature reference, 5..7HSC, 3PE on series 3 hardware - ADD: New 2-wire measurements for all resistance channel types: 1*R(2W), 1+R(2W), 1-R(2W), 1R(2W). Excitation is fixed at 200uA, so the II channel option is invalid. These wiring configurations will only work on series 3 hardware. - ADD: HRESET is now accepted as a synonym for SINGLEPUSH (#725) - ADD: INIT is now accepted as a synonym for RESET (#725) - CHANGE: CSV unloads to FTP server are now buffered to a temporary file on compact flash card, same as is currently done for DBD format unloads. The FTP transfer is not started until the entire file has been written. This minimises the transfer time. - ADD: If an FTP unload fails, it will now be retried up to two additional times, with 60 seconds delay between attempts. If all three attempts fail the unload will be abandoned. - CHANGE: Adjusted the allocation of processing resources so that sampling has higher priority than unloads or web accesses, so that the schedule rate stays closer to the desired value. Continuous schedules will now be throttled if an unload is in progress, ie. some time will be given to the unload after each schedule execution, so the sample rate will decrease during the unload. Note however if you use a very fast timed schedule (eg RA10T) then a background unload may never complete unless you halt or slow the schedule. - CHANGE: Reduced the delay at the start of an unload. - ADD: An FTP URI may now be specified as the second argument of the COPY command, which allows an arbitrary file to be pushed to an FTP server. Note however that because COPY is a foreground command, logging will stop for the duration. - ADD: If the second argument of the COPY command ends in a slash, a file with the same name as the source file will be created. - FIX: It could sometimes become impossible to connect to command/modbus servers following change to FTP server profiles (#2611) - FIX: Possible corruption of folder names if an attempt is made to create an invalid file/folder path eg one containing multiple ':' characters (#2691) - CHANGE: Invalid pathnames now result in an "invalid path" file IO error message, rather than "error code 10" - FIX: Command server could sometimes become unresponsive if an ethernet connection was closed then immediately reopened. (#2693) - FIX: COPYD where format = CSV, dest = a location on a USB memory device, and the USB device is not inserted, no longer crashes the logger (#2679) - FIX: All column headings are now printed for unloads of CSV data where the heading row is longer than 2KB (#2671) - FIX: Logger could enter a continuous reboot cycle if a dEX configuration was loaded, then an NTP profile setting was changed manually, then the logger was reset (#2657) - FIX: Incorrect channel shown for SDI12SEND 4 command, on DT81/82E (#2353) - CHANGE: If a host application such as DeTransfer sends a probe to detect whether a logger is present, the logger will reply to it but the active comms port will NOT change. The active port will only change when a regular character is received. (#2639) - CHANGE: Job name is now only inserted in COPYD destination path if a) job=* merge=n is specified, or b) dest=b:/a:/d: is specified. (#2632) - FIX: Crash associated with background NTP update thread (#2614) - FIX: Web server may stop responding if ethernet interface is reset (eg. following profile or IP address change) in conjunction with heavy web traffic (#2611) - FIX: With P28=2 (keep 12V output on while asleep), 12V power output was actually switching off briefly following each wakeup (#2343) - FIX: Possible sw exception if ethernet cable disconnected (or modem powered down) at the same time as logger goes to sleep (#2624) - FIX: Analog state (AS) channel was always returning 0 (#2613) - FIX: Serial triggered schedule timestamps were not quite matched properly to serial message data - FIX: 29SV was being updated for web unloads; it is now only updated for command processor unloads. - FIX: SW exception if you unload alarms to file but there is no source alarm store (#2633) dEX Configuration Builder Version 1.12 -------------------------------------- - CHANGE: updated to support series 3 logger models, and DT82I-2. - ADD: Ability to import dex files between series 2 and 3 variants of the same model. - FIX: SDI-12 channels were available even if the logger did not support it. - FIX: Digital out channels available for Logger events (Alarms) now matches the capability of the loggers - FIX: the default resistance value in RTDs was not updating when switching between measurements - FIX: impossible to remove a logger event action if the application area was to small (mouse could not click the red X). - FIX: DT81-2 loggers were reporting the wrong wiring in the digital bit in/out. - CHANGE: Output the 2W option for 2 wire resistance measurements on series 3 logger. - CHANGE: hide excitation control for 2W wiring configurations - FIX: Error dialog was not being triggered when the configuration loaded from a logger originated on a different logger model. (#2635) - FIX: If a wiring list was too tall for the screen the wiring list now has a scroll bar to view obscured diagrams. dEX Web Interface Version 3.07 ------------------------------ no changes dEX Customiser Version 3.04 --------------------------- no changes Logger Home Page version 3.04: ------------------------------ no changes Classic web UI version 3.04: ---------------------------- no changes Version 8.06, 20 Jul 2010 ========================= Firmware: --------- - CHANGE: Default src option setting for COPYD, DELD and web unload is now src=ABD, i.e. search for source store files on all logger drives. This was preventing display of chart data, and causing an error when COPYD/DELD used with default options, in the case where the job was configured to log to A:. (#2594) - FIX: Improved logging speed (#2589) - FIX: Spurious "no current job" error when DELD used in alarm/if/do statement (#2585) - FIX: SW exception if REMOVEMEDIA command used while logging to USB memory device (#2586) - FIX: "Error accessing storefile" message when copyd del=y arc=y command is used to unload (with delete) from an archive file (#2584) - FIX: COPYD del=y arc=y command was failing to physically delete source archive files (#2593) - FIX: Incorrect COPYD error message and 29SV status if DNS lookup fails (#2454) - CHANGE: When doing a merge=N unload, the "Unload complete" or "Unload aborted" message is now generated at the end of the unload command, rather than after each destination file. This is now consistent with the behaviour of 29SV. - CHANGE: Removed error position indicator ([.....]) from runtime COPYD errors eg "no matching storefiles". Indicator is still present for syntax errors eg "invalid parameter" - FIX: no error message reported if copyd/deld cmd with invalid params used inside IF/ALARM/DO (#2363) - FIX: If a change was made to a dEX configuration that logs to A: drive, and the configuration was then activated, then any previously logged data was not being deleted. This caused the logger to reject the new configuration. (#2592) - FIX: dEX applications were unable to communicate with the logger when Chrome or Safari web browsers were used (JSON-RPC calls were not working). (#2306) - FIX: Incorrect handling of \ and " characters in JSON-RPC messages (#2457) - FIX: Possible sw exception if a configuration is activated while a previous configuration is running (#2467) - FIX: Possible lockup if real time data is returned while an unload is in progress and a network dropout occurs (#2452) - FIX: Possible analog measurement fault error if immediate channel or RESET command executed while job is running (#2425) - FIX: Modbus connections were not being accepted if the logger's modbus server was restarted (eg by changing a modbus related profile setting), while a modbus connection was active (#2469) - FIX: missing error msg for invalid Modbus-TCPIP packets (#2367) - FIX: possible eventual refusal to accept incoming web/modbus/ftp connections following Ethernet or PPP interface disconnect (#1692) - FIX: unable to access FTP links in dEX (eg user's manual) using Google Chrome (#2540) - FIX: FTP data socket was not being closed if a client accessing the logger's FTP server sent an unexpected QUIT command. This would eventually lead to the logger refusing further network connections (#2541) - FIX: unable to browse FTP file listing in Firefox (#2548) - CHANGE: Increased FTP client rx/tx timeouts from 30s to 120s to allow a better chance of recovery from a wireless network dropout. Connect timeout is now 60s. - FIX: If a temporary network dropout occurs while the logger is navigating and creating directories on an FTP server then commands could be sent out of order, resulting in a failed transfer (#2402) - FIX: Logger was not disconnecting from the FTP server following an error while navigating and creating directories on an FTP server. (#2402) - CHANGE: Logger no longer attempts to send a QUIT command to the FTP server after an error occurs. If the error was due to a network timeout then attempting to send a QUIT will just launch a new round of retransmissions. QUIT is now only sent following a successful transfer. - FIX: Spurious blank lines in FTP diagnostic (P56=8) output - CHANGE: Logger will now continue to poll for a DHCP server after assigning itself a link-local (169.254.x.x) address. 6 attempts are made at 10s intervals, then it will continue to check every 5 min. (#2269) - FIX: Logger will now avoid assigning itself link-local addresses from the reserved ranges (169.254.0.x and 169.254.255.x) - FIX: Incorrect DHCP renew/rebind timing when DHCP server explicitly specifies renew/rebind times - FIX: DHCP rebind (broadcast lease renewal request following failure of directed renewal request) was not being performed - FIX: Incorrect DHCP rx timeout handling - FIX: sw exception if stats/manip applied to T/D channels - FIX: fixed some anomalies/inconsistencies in channel option validity checks: - internal meas/SV/SDI12 accept channel factor for scaling - LT disallowed for digitals (hangover from DT800) - R disallowed for CALC/references - SSPWR/SSPORT treated the same as other digital outputs eg DSO/WARN/RELAY - analog options disallowed for kernel-based internal meas eg IBAT - GLxx disallowed for internal meas - BR treated same as TR/TZ - FIX: spurious error message in if/alarm if T/D channel is used with a >< or <> operator where the first setpoint is specified as just hours, or hours:minutes (#2368) - FIX: references to time/date channels used in alarm tests will now expect time/date setpoints (#2390) - FIX: spurious error message if CV and numeric setpoints used eg: if(1cv><2cv,3) (#2392) - CHANGE: removed battery screen on LCD for models with no internal battery charger; also removed VBAT/IBAT from free format TEST display (#2372) dEX Configuration Builder Version 1.09 -------------------------------------- - ADD: help menu now has "known issues", "release notes" and "user's manual", plus web and email links (#2405,2550). - CHANGE: added some helpful instructions next the CEM count when the CEM count is more than zero. - FIX: Make config editor work in Chrome/Safari browsers (#2335) - ADD: Measurements and Schedules can now rename using the Rename menu item in the Edit menu. - CHANGE: Add warning popup that appears when user edits comms settings - CHANGE: Generate informative error messages when failing to load profiles or version info - CHANGE: Error messages when loading an incompatible dex file are now more specific (#2514). - FIX: PT3xx measurements were not being imported properly from old configuration versions. - FIX: Moving a reference was causing the drop down control to show the wrong channel (#2530). - FIX: The validation in the units control was marking valid values as invalid (#2543). - FIX: The scaling multiplier had an incorrect limit applied to it. It was increased to +/-1e37 (#2559). - FIX: adding a new scaling function will now ensure that it is visible in the list (#2560). - FIX: Prohibit references and calcs from being used as temp. zero or temp. refs (#2562) - FIX: Exponential values can now be entered for span/polynomial coefficients (#2558). - FIX: Span/polynomial selection was being lost when another span was deleted (#2557) - FIX: A superfluous current type wiring type was removed (#2545). - FIX: Incorrect logger code generated when triggering a while on a CV (#2301). - FIX: Autonames for the statistical channels were not allowed to be long enough and so it was possible to generate non-unique names (#2538). - FIX: Prevent measurements that are referred to, from being moved to immediate schedule (#2483) - FIX: Prevent a user from deleting measurement referred to by other calcs and refs in the config (#2483) - FIX: A reference can no longer be moved into the "On logger activation" schedule (#2274). - CHANGE: Present unconfigured measurements to the user in one list rather than subsequent error messages. - FIX: Cause CALC channels to be updated when measurements are renamed - FIX: When moving a tree node up or down the schedule it moves to will be expanded to make it easier to see what has been done (#2465). - FIX: File save failure was reported as a success (#2525). - FIX: Make sure the delay measurement names are unique (#2512) - FIX: Current measurement default units has been reset to "" because it currently shares a channel type with the unrelated Current Loop type (#2254). - CHANGE: The about dialogue box has been reformatted to more easily "select and copy" the version information making bug reporting that much simpler. - FIX: Make sure a deleted polynomial/span is removed from all measurements to which it is applied (#2233) - FIX: Make stats and events mutually exclusive for programmatic "measurements" (#2176) - FIX: The white space inside matching quotes of channel names in an calculation will now be preserved (#2476). - FIX: Make delay channels always working channels (#2479) - FIX: Escape < & > chars in logger error messages (#2480) - FIX: unique names for measurements enforcement was not working when loading a config from a file (#2482). - FIX: Units are now added to every config regardless whether or not they are blank (#2396). - FIX: restriction of extended character set in measurement names has been removed (#2181). - ADD: CEM count now stored in the configuration. - FIX: All two wire resistance logger code generation was not correct (#2299). - FIX: References to manual channels was not generating correct logger code (#2324). - FIX: Malformed JSON messages were causing the application to crash. (#2412). - FIX: Reference channel was not transforming properly when saving to the logger (#2324). - FIX: A text field in the logger event conditions was not read-only (#2436). - FIX: Removed menu item "Work offline" (#2419). - FIX: The warning message given to the user when deleting a schedule that has measurement in it was not informative enough as to the consequences of saying "ok" (#2417). - FIX: the Logger Event's "Condition must be true for" untis was not displaying valid options. - FIX: Generate correct XML & cmd lang for '+' terminal voltage bridge measurements - FIX: Ensure that measurement names are unique across the whole configuration. - FIX: Ensure that poly/span coefficient changes apply to the correct poly/span (#2066) - FIX: Correct error that prevents importing non-analog channels with alarms (#2384) - FIX: Ensure unique measurement names when loading a job (#2354) - FIX: Make profiles for http port and http doc root read only (#2228) - FIX: Moving a channel across schedules no longer causes a crash (#2332) - FIX: Overhaul comms and error handling. The config editor now detects all the comms error modes that the flash player can report to it. In addition, error messages contain more information that should be helpful when diagnosing communications problem. See bugs #2102 #2142 #2143. - FIX: Make it so that immediate schedule with alarms and manual channels can be restored from disk or logger. - FIX: Channels added to the "on logger activation" were set to log by default. They are now set to not log (#2344). - FIX: Channels in the "on logger activation" schedule did not have their "log this" checkbox disabled until another channel was added to a triggered schedule. - FIX: Reference channel drop down list was not limiting its length to a sensible maximum length (#2355). dEX Web Interface Version 3.07 ------------------------------ - ADD: the mimcs are no longer simply deleted when a change to the logger's configuration is detected (via the SHA1 hash). Instead the user will be presented with a dialogue box to allow them to choose remapping/deletion options for the data sources of non-chart mimics and chart traces. Addtionally, if the user has changed the configuration, but it has not changed the channel table names, then the user will not be prompted with a dialogue box - instead the remapping of the mimics will occur automatically using the channel name as the matching criteria. - ADD: If the mimics are in a READ_ONLY state, then a user will now be notified that the configuration has changed and any automatic changes that are possible will happen, but the user will not be presented with the "orphaned mimics" dialogue. Instead a simple message popup will inform the user that they should get their administrator to fix the problem. - CHANGE: updated the status bar error messages for some communications errors (#2539). - ADD: When the mimics are "read only" the mimic's page title will state "read only". - FIX: corrected a spelling error in the add mimic dialogue box (#2502). - FIX: exponent values were not converted properly in a mimics (#2513). - FIX: Slow chart data re-load if the user moves away from the mimic screen for time longer than the time-window for a chart (#2464). Note: this bug will still be a problem if the logger's time and the PCs time is not synchronised. - FIX: Chart mimics were not using start=yyyy-mm-ddThh:mm:ss when loading the initial data if using recalled mimics (#2464). - FIX: Chart backfilling now uses a relative time to optimise data retrieval times (#2255). - FIX: a race condition existed when the application starts resulting in the application's main screen remaining invisible. The user was not prompted as the failure. - CHANGE: various changes to the text in the application to now refer to the "logger monitor" rather than the "web-interface". - ADD: "Delete all mimics..." button added. - CHANGE: added extra information system to the About dialogue box. - FIX: Mimic custom label could be lost during mimic remapping (#2610). - CHANGE: Disabled custom labels for charts (#2610) dEX Customiser Version 3.04 --------------------------- - FIX: An IO error message was displaying during startup when no _mimics.txt file was found. - FIX: the index.html file was not displaying the customiser when it loaded. Logger Home Page version 3.04: ------------------------------ - CHANGE: the background image is now fixed (won't scroll with the content). - CHANGE: the low speed connection is now titled "Monitor the logger" to match the high speed connection. Classic web UI version 3.04: ---------------------------- no changes Version 8.02, 01 Apr 2010 ========================= Firmware: --------- - CHANGE: Fixed format real time and logged data will now use the old numeric values (99999.9, -9e9 etc.) for "error" data values. This works around a Delogger crash when reading textual error values (OverRange etc.). (#2307) - FIX: Delogger "program change" messages were not being sent for DELDATA, DELALARMS and DELJOB commands (#2321) - FIX: Commands following an unload command on the same line were not waiting until completion of the unload (#2305) - CHANGE: Various improvements to P56=32 packet capture facility - FIX: When deleting data, we no longer return an error if no storefiles exist. This prevents Delogger warnings when changing a schedule with no loggable channels. (#2321) - FIX: SW exception if 29SV changed during unload (#2329) dEX Configuration Builder Version 1.01 -------------------------------------- no changes dEX Web Interface Version 3.02 ------------------------------ - CHANGE: small reorganisation of the computer settings for the Service log. - CHANGE: Mimic dialogues now get scroll bars if the screen size of the computer is small instead of losing access to the whole dialogue. - FIX: port number is now sent with a retrieve data request (#2315). dEX Customiser Version 3.02 --------------------------- - FIX: Full screen disable option was not working properly when changed in dEX settings (#2297). Version 8.00, 17 Mar 2010 ========================= Firmware: --------- ---Logging/unload - ADD: COPYD command - extract data from dbd file(s), possibly convert format, and output to comms/file/ftp. See user manual for details. - ADD: LISTD command - show logged record counts and other information. See user manual for details. - ADD: DELD command - delete data from DBD file. See user manual for details. - CHANGE: COPYDATA, MOVEDATA, ARCHIVE, U, A, DIRJOB, DELDATA, DELALARMS commands now work as alternative (deprecated) front ends to the COPYD/LISTD/DELD commands - CHANGE: storefiles are now always created on job entry, even if logging is not enabled, unless a zero size is set eg RA(DATA:0R)1S (#1315) - CHANGE: Format of auto-generated unload destination filenames is now sightly different eg 005_20100219T110046.DBD. The 005_ is a sequence number whose main purpose is to avoid the slow directory searching that occurs when there are many similarly named files (#1020) - CHANGE: textual error values are now returned in realtime and logged data: OverRange, UnderRange, RefError, Error, OpenCircuit, NotYetSet replaces 99999.9, -99999.9, 8e9, -8e9, 9e9, -9e9 respectively. - CHANGE: web unloads may now proceed in parallel with a command processor unload and/or other web unloads. Note that command processor unloads will still be processed sequentially. - ADD: new web unload options to support multi-format unload and chart mimics - CHANGE: web unload estimate now works for dbd/fixed/free format web unloads, and is more accurate for CSV unloads. (#1639) - CHANGE: P38 (decimal point char) and P41 (number of decimal places in timestamps) now affect CSV format unload data. If P38 is set to 44 (comma) then the CSV separator is changed to semi-colon. This allows CSV format data to be opened when running in a European locale. (#1946) - CHANGE: for MIXED format output (includes CSV/fixed format) the maximum number of digits after the decimal point is now 6 (was 12). Note that the number of significant digits is still limited to P32 (default 8). This reduces the number of times inexact floating point values such as 1.3 are represented as 1.3000002 or similar in the data, while still preserving 8 significant digits for large integers. - CHANGE: 29SV now represents the status of the last command processor unload (to any destination), rather than the status of the last FTP transfer. Added a couple of error codes for local file errors. ---Display - ADD: new profile settings (n=1..10) - FUNCTION Fn_LABEL="label text" - FUNCTION Fn_COMMAND="command text" - CHANGE: FUNCTION= command is now deprecated but still works as a front end to the new function key profile settings. - ADD: new profile settings: - DISPLAY/AUTOSCROLL_INTERVAL=0 - interval between autoscroll of channel screens (0=disable) - DISPLAY/AUTOSCROLL_DELAY=30S - delay after last keypress before autoscroll starts - DISPLAY/AUTOACK_DELAY=0 - timeout before auto-acknowledging popups that are normally persistent (0=disable) - CHANGE: P18 (autoscroll interval) and P19 (status screen display) are now ignored. When autoscroll is enabled using the profile settings only the channel screens are displayed. - ADD: additional default function key: "Auto Ethernet IP" - CHANGE: extended ASCII degree and mu symbols (176,181) are now mapped onto the corresponding LCD characters when displaying on the LCD - CHANGE: progress indicator is now shown on LCD only for unloads to USB device - CHANGE: LCD progress indicator now shows source store progress numerically eg. 1/3 indicates store 1 of 3 is being unloaded. Bar graph shows progress of the store being unloaded. - CHANGE: LCD bargraphs now have single pixel resolution (80 pixels total) - CHANGE: LCD now indicates "Aborted" for aborted unload, and for failed unload gives an error code. Also blinks Attn for the duration of the error popup. - ADD: added "Run ONINSERT?" prompt when a memory stick containing an oninsert job is inserted. Default is Yes (5s timeout). Pressing any key other than OK will prevent oninsert being loaded. (#853) ---Time - ADD: now supports SNTP (simple network time protocol) for synchronising the DT80 system time to an NTP server. - ADD: new profile settings for configuring background NTP clock adjustment. - ADD: new command: NTP This will perform an immediate NTP query and if necessary a time adjustment. - CHANGE: 26SV and 27SV are now used to indicate NTP request status and time discrepancy between logger's time and source clock time as at the last successful NTP request. - FIX: on wake or bootup, when time is restored from RTC it is no longer truncated to the nearest second. - ADD: any jump in system time, due to T/D command or NTP jump correction, will now be recorded in event log. ---Startup - CHANGE: new profile setting: STARTUP/RUN (#1270,#1254) This controls auto-loading of jobs on cold reset. Possible settings are: - CURRENT_JOB - reload the job that was active at the time of reset, if any. This is the default - NONE - do not load any job - - load the specified job. This could be used if you have a multi-job setup and you want the logger to revert to the "home" job on reset. - CHANGE: RUNJOBONRESET"job" command is now deprecated. It will perform the equivalent of PROFILE STARTUP RUN=job - CHANGE: DELONRESET command is now deprecated. It will perform the equivalent of PROFILE STARTUP RUN=NONE - CHANGE: onreset job and profile settings are no longer backed up to flash memory (#674) ---Calculations - ADD: "reference channels" may now be defined (&chan) - see user manual for details. - ADD: new channel type: CALC(opts)=expr This is similar to a CV except that it does not read or write to any particular CV location. It can however be logged and referenced like any other channel. An expression must be specified. - CHANGE: Error values eg OverRange now propagate through expressions so that if any input is overrange then the result is overrange. Also, integer expressions now produce an integer result, although if the result is assigned to a CV it will still end up as floating point. - CHANGE: arguments to the mod (%) operator are no longer converted to integers, eg 7.5%2 now returns 1.5 rather than 1.0 - FIX: if an expression error was detected it would sometimes cause a spurious error to be reported for a subsequent valid expression (#1636) - FIX: expression parser now correctly indicates the position in the expression where the error was detected (#1550) ---Modbus Master - ADD: new channel type: nMODBUS - see user manual for details - CHANGE: the FUNCTION profile setting for serial ports can now also be set to MODBUS_MASTER - CHANGE: data format parameters for the SETMODBUS command changed slightly - ADD: new channel options for MODBUS: (see user manual for details) - ADn or AD"addr" (device address) - Rt:rrr:b (register number) - MBxx (data type) - MEx (word order) - TOn (timeout) - RTn (retries) - MUIDn (Modbus unit id) - =m..nCV (set block of CVs) - ADD: new expression format (MODBUS only): =m..nCV (read block of CVs and write to device) ---Alarms - ADD: == (equal) and != (not equal) can now be used in alarm expressions eg if(3st==7) rather than if(3st><6.5,7.5). Should normally only be used with an integer value on the RHS as floating point representation may approximate non-integer values. - ADD: alarm channels may now include an expression, provided that the whole channel definition is enclosed in brackets, eg. IF((CALC=&2CV+3)>10)"boo" - ADD: new channel option: LM (log measurement) - if set for an alarm channel eg IF(1V(LM)>2) then the alarm value will be logged and returned - CHANGE: for alarms, the W and NL options no longer prevent alarm text being logged. They do prevent the alarm value being logged, although note that for alarms the default is to not log the value anyway. (#602) ---Other - ADD: added support for DT82E product - CHANGE: updated help files, added new help files: UNLOAD, SYSTEMVARS, EXPRESSIONS - CHANGE: job text is no longer preprocessed into uppercase - CHANGE: quotes are now optional for pathname and profile parameters, eg: DIR b:\\jobs; profile ethernet ip_address=auto - ADD: you can now reset all profile keys in a section to defaults using PROFILE SECT= (cf. PROFILE SECT KEY= to set a single key to default) - CHANGE: channel names may now be up to 24 characters long, schedule names up to 20 characters. - ADD: new channel option: SRn - applies span n in reverse. May also be used in expressions eg. 1CV=SR1(2CV) - CHANGE: removed profile settings: - STORE/DEFAULT_DATA_STORE_SIZE - STORE/DEFAULT_ALARM_STORE_SIZE - PARAMETERS/P6 - PARAMETERS/P18 - PARAMETERS/P19 - SWITCHES/V - FIX: DSO delay now works the same as DELAY/PAUSE, ie delays longer than 20ms do a background wait so other threads can run. (#2042) - CHANGE: minimum DSO delay is now 1ms rather than 10ms (#1925) - ADD: new channel option: PT (precise timing), valid for DELAY, DSO, WARN and RELAY channel types. If specified then a precise delay (+/- 1ms) will always be performed, at the expense of locking up the logger for the duration. If not specified then behaviour is as currently, ie. precise delay for times of 20ms or less, otherwise a background delay (+/- 16ms) is performed (#2200) - CHANGE: Logger will now make up to 10 attempts to contact DHCP server (40 seconds total), rather than 2. This can help in certain network configurations where a DHCP server is not available until some time after startup. (#1916) - CHANGE: command server UDP port is now fixed (port 7700) so that logger can be detected regardless of profile settings. TCP port is still configurable. (#2185) - CHANGE: actions taken when profiles are set (eg Ethernet port reset when Ethernet profiles set) will now only occur if the value is actually changed (#2188) - CHANGE: RESET command will now also reset comms overrides (PH/PS), comms password and SETMODBUS settings (#1738) - FIX: Ethernet port sometimes did not work following reset ("No cable" indicated on display) (#2018) - FIX: SW exception on receipt of invalid HTTP request line (#1911) - FIX: Under some circumstances web server was not responding to HTTP requests (#2079) - CHANGE: PPP connections via USB port no longer require username/password - FIX: PASSWORD command is now accepted even if user is not logged in (#1604) - FIX: password timeout is now independent of system time changes and sleep - CHANGE: improved SERVICEDATA "chkdsk" output, and added information about largest contiguous free block. This gives an indication of how fragmented the disk is. - CHANGE: the schedule timestamp that is reported and logged is now, for serial triggered schedules ONLY, the time at which the trigger data was added to the serial sensor buffer, as opposed to the time at which the schedule is actually processed. (#1934) - FIX: if more than one serial-triggered schedule is present then they will now be processed according to whose trigger string occurred first. (#900) - FIX: serial triggered schedules were sometimes not running if there were multiple copies of the trigger string in the buffer (#1943) - FIX: a serial-triggered schedule could sometimes be triggered twice, leading to a spurious timeout error (#1797) - FIX: ST channels were being returned as floating point rather than integer dEX Configuration Builder Version 1.01 -------------------------------------- Initial release dEX Web Interface Version 3.01 ------------------------------ - ADD: chart mimic type added - CHANGE: minor updates to other mimic configuration dialogs - ADD: unload format (DBD/CSV) can be selected on Retrieve screen - CHANGE: added port shifting algorithm to support DtUsb - ADD: Flash player version is now in the About dialogue. - CHANGE: added a default second mimic page for charts - CHANGE: estimated retrieval time now uses whole minutes when less than 60 minutes remaining except for the last 30 seconds. - ADD: Navigation bar added to the application. - FIX: The auto update of an out of date FlashPlayer will now work with Windows, Mac and Linux or browser (#2259). - ADD: Created front page menu option to launch configuration builder - CHANGE: Updated the page title. - ADD: updated profile list to include DISPLAY, FUNCTION, NTP, STARTUP, LOCALE - CHANGE: updated company name in HTML UI footers Version 7.14, 11 Feb 2010 ========================= Firmware: --------- - ADD: added support for DT82 product, in particular: - 2 analog channels - 3 o/d digitals, 1 active/SDI12 digital - no serial sensor port - no phase encoder - no CEM20 support - AS1231 terminal and AS1229 kernel assembly numbers - ADD: now recognises DT85L product type and assembly numbers (AS1232/AS1233 for kernel/terminal) - ADD: 'E' or 'L' product option suffixes will now be interpreted as indicating the "low power" hardware variant (no internal battery charger) - FIX: SW exception on receipt of invalid HTTP request line (#1911) - FIX: Under some circumstances web server was not responding to HTTP requests (#2079) - CHANGE: EEPROM write buffer reduced to 16 bytes to work around apparent bug in CAT25080VI part Web UI (version M2.15, N1.15): ------------------------------ no changes Version 7.12, 20 Nov 2009 ========================= Firmware: --------- - FIX: On some units, Ethernet port sometimes did not work following reset ("No cable" indicated on display) (#2018) Web UI (version M2.15, N1.15): ------------------------------ no changes Version 7.10, 17 Sep 2009 ========================= Firmware: - FIX: a response is now sent for every DEL character received, including back to back DELs. This issue was causing Deload unloads to fail. (#1947) - FIX: PASSWORD command is now accepted even if user is not logged in (#1604) - FIX: password timeout is now independent of system time changes and sleep - CHANGE: Logger will now make up to 10 attempts to contact DHCP server (40 seconds total), rather than 2. This can help in certain network configurations where a DHCP server is not available until some time after startup. (#1916) - FIX: memory leak for any command (eg DIRJOB, DELDATA) where the specified job does not exist. This could eventually cause a software exception. (#1975) Web UI (version M2.15, N1.15): ------------------------------ no changes Version 7.08, 26 June 2009 ========================== Firmware: ---Communications - ADD: Ethernet interface now supports automatic configuration via DHCP. This is controlled via the ETHERNET/IP_ADDRESS profile, which may be set to either: aaa.bbb.ccc.ddd (an IP address): - IP address, subnet mask, gateway and DNS server settings are set from profile AUTO: (new default setting) - Ethernet interface is always powered up (except sleep) - On startup, wake and cable connect, logger will attempt to contact a DHCP server and request IP address and other parameters. - If successful, these values will be used, overriding any profile settings. - If DHCP fails then logger will give itself a link-local IP address (169.254.x.y), subnet = 255.255.0.0, no gateway, DNS servers as per profile. In this mode the logger cannot communicate beyond the local subnet. - ADD: There is now a fourth status screen on LCD which shows current Ethernet mode (auto/manual/disabled), IP address and cable state - ADD: new profile setting: ETHERNET/ENABLE=YES,NO (default=YES). (Setting the IP address to 0.0.0.0 will also disable the port.) - CHANGE: serial sensor, host and USB ports now offer mostly equivalent functions. Port function is controlled by the following profile settings - SERSEN_PORT/FUNCTION: serial sensor port function (default=SERIAL) - HOST_PORT/FUNCTION: host port function (default=COMMAND) - USB_PORT/FUNCTION: USB port function (default=COMMAND) Each of the above may be set to either: - COMMAND: accepts ASCII commands or PPP connections - PPP: accepts PPP connections only (improved security for dial-in modems) (#245) - SERIAL: for use with nSERIAL channel only; port is powered down if no nSERIAL channel defined - MODBUS: accepts modbus requests (MODBUS_SERVER/SERSEN_ADDRESS, MODBUS_SERVER/HOST_ADDRESS or MODBUS_SERVER/USB_ADDRESS must also be set) - DISABLE: port is powered down Ports are numbered 1 (sersen), 2 (host) and 3 (USB), for the purpose of nSERIAL and nSSPORT channels, and SSDIRECT n and CLOSEDIRECTPPP n commands, and also default PPP IP addresses (see below). - CHANGE: each serial port now has fixed default serial settings. Previously the default settings changed depending on the port function, which was found to be confusing. The defaults are: Serial sensor port: RS232,1200,8,N,1,NOFC Host port: RS232,57600,8,N,1,SWFC USB port: not applicable - ADD: PPP is now supported on serial sensor and USB ports, as well as the host RS232 port. Added profiles to allow logger and remote IP addresses to be set for each port; default settings are as follows: - PPP/SERSEN_IP_ADDRESS = 1.0.0.1 (new) - PPP/SERSEN_REMOTE_IP_ADDRESS = 1.0.1.1 (new) - PPP/HOST_IP_ADDRESS = 1.0.0.2 (renamed - was PPP/IP_ADDRESS; default was 1.2.3.4) - PPP/HOST_REMOTE_IP_ADDRESS = 1.0.1.2 (renamed - was PPP/REMOTE_IP_ADDRESS; default was 1.2.3.1) - PPP/USB_IP_ADDRESS = 1.0.0.3 - PPP/USB_REMOTE_IP_ADDRESS = 1.0.1.3 Note that host port default PPP addresses have changed. Existing host port PPP users will therefore need to either change their Detransfer etc connection to point to 1.0.0.2, or change the logger profile to point back to 1.2.3.4. No changes are required to the Windows PPP network connection setup. The three ports all use the same username/password, set using PPP/USER and PPP/PASSWORD profiles. - CHANGE: improved the process of switching in and out of PPP mode (for ports with FUNCTION=COMMAND); it is no longer necessary to set up a login script to send "CLIENT" on connection. The logger will now begin the PPP connection process if it sees something that looks like a PPP packet, or it sees "CLIENT" at any time. (#898) - CHANGE: host port is now powered down if disabled, which saves a few mA - FIX: PPP connection will now be closed in the event of USB cable disconnect or modem carrier loss (#1106) - FIX: USB cable connect/disconnect was not always being detected properly (it should turn on backlight when connected) - FIX: host port was always initialising RTS ON. It is now only turned on if HWFC is enabled. - FIX: possible web server lockup if connections are terminated unexpectedly (#1525) - FIX: added timeout to reclaim sockets following unexpected disconnections, preventing situations where the web server could eventually begin refusing requests. (#1708) - FIX: SS port in RS485 mode would stop responding to Modbus polls (due to transmitter stuck on) after a couple of hours' operation. (#1709) - FIX: failed PPP uart transmissions (eg due to hwfc timeout following rs232 cable disconnect) were sometimes preventing any further PPP transmissions - CHANGE: on receipt of "CLIENT" or any PPP packet, logger will now begin PPP connection negotiations actively; previously it waited for the other side to make the first move. This helps the two ends resync following an unexpected logger reset. - FIX: FTP client sockets will now be freed even if extra input is received after they are closed. This prevents socket leak. (#866) - FIX: serial sensor rx timeout was not reverting to default value (10s) - FIX: logger output was not being suppressed when a modem was connected but not online (#1842) - FIX: possible truncation of long USB output strings following wake (#1678) ---Settings - CHANGE: changes to profile settings now take effect immediately; SINGLEPUSH is no longer required. The following are some things to be aware of when changing particular settings: - ETHERNET/xxx: All open sockets on Ethernet port will be disconnected and Ethernet port will be restarted (possibly launching a new DHCP query) - SERSEN_PORT/xxx, HOST_PORT/xxx, USB_PORT/xxx: PPP session if any is terminated, then setting is changed. Port will be disabled (powered down if possible) if FUNCTION is set to SERIAL or DISABLED, otherwise it will be enabled (for SERIAL, the port will be enabled if and when a nSERIAL channel is subsequently defined). - FTP_SERVER/xxx, COMMAND_SERVER/xxx, HTTP_SERVER/xxx, MODBUS_SERVER/xxx: All TCPIP connections to the relevant server will be terminated and the server will be stopped then restarted (or not, if SUPPORTED=NO or PORT=0 was set). - PARAMETERS/xx, SWITCHES/xxx: the indicated parameter/switch is set immediately. So if you want to set a parameter temporarily (until next RESET or reboot) then send Pxx=yy. If you want to set a parameter permanently, send PROFILE "PARAMETERS" "xx"="yy". - CHANGE: profile listing no longer indicates changed (*) if a profile is explicitly set to the default value. Previously it did, which could be confusing. - ADD: new profile setting STARTUP/MAINTAIN_OUTPUTS (default=NO). If set to YES then digital outputs 1..8DSO and 1RELAY will retain their state (and, for 5..8DSO, their output-enable state) across cold start (SINGLEPUSH, firmware upgrade, exception). If logger power is lost (external and main battery), or the hardware reset button is pressed, then digital outputs will revert to default states but will be restored when power is restored. If lithium battery power is lost then the digital states will not be restored. RESET command will reset outputs to default values. - CHANGE: default setting for P15 parameter is now 0 (allow sleep if battery powered AND usb not connected AND ethernet is disabled) - CHANGE: P51 (time interval format) default changed to 6 (hhh:mm:ss.ttt). - CHANGE: default setting for HOST_MODEM/INIT profile is now "AT". It is recommended that a modem be pre-configured before connecting it to the DT80. - CHANGE: default setting for HOST_MODEM/SEND_BANNER_ON_CONNECT profile is now "NO" ---Channels - ADD: increased number of channels and channel variables to 1000 each (#1466,#1469) - ADD: increased number of string variables to 50 (ie 1..50$) (#1655) - CHANGE: /r switch no longer applies to channels in the immediate schedule - they will now always be returned unless NR or W channel option is used. - CHANGE: 29SV can now be manually set to a value. This allows you to reset 29SV to 0 before starting an FTP operation, which can simplify the code required to test it. - FIX: scaling options eg polynomials were not working for SERIAL and SDI12 channel types (#1854) - FIX: LT channel option is now valid for HSC and PE channel types only (#1694) - FIX: LM135/235/335 channels no longer accept 3W/4W channel options - FIX: data/digital manipulation options now work with sysmon channel types eg VBAT (#1668) - FIX: removed the restriction which prevented 1F(2V). This restriction related to DT80 Series 1 hardware characteristics. (#1715) - CHANGE: removed OLE and DDE channel options - CHANGE: removed P45 (add DDE/OLE prefix) - ADD: A single channel variable reference may now be used wherever a date or time string is expected, eg: T=1CV D=2CV DT=[2CV,1CV] U(1CV)(1CV,2CV) U[2CV,1CV] IF(T>1CV)"boo" CV value is in seconds since midnight for time values, seconds since base date for date values (#1804) - FIX: Error is now reported if time/date values have trailing erroneous characters eg. T=12:09xxx - FIX: CVs were being set to incorrect values when set via Modbus Write Coils command (#1835) - FIX: initial reading with DF option was sometimes incorrect (#1676) - FIX: possible incorrect initial relay state on geologger units, leading to increased power consumption prior to a measurement (#1691) - FIX: incorrect REFT reading if P36 set to units other than degC (#1703) - FIX: OR/XOR/AND/NOT now have lower precedence than relational operators in expressions (#1885) - FIX: SW exceptions in the event of an analog subsystem fault. ---Network - ADD: TCP/IP loopback interface enabled. Logger can now talk to itself (eg FTP) using address 127.0.0.1; note this provides a way of unloading to a file on internal or USB drive. - CHANGE: SSI #reading command now outputs just the text (timestamp, value, units); it no longer includes
 HTML tags.

- FIX: %nn sequences in URIs are now handled properly. These are required where 
FTP usernames/filenames contain special chars such as '@' and ' ' (#1666)

- FIX: FTP server now reports file time instead of year if the file is less than 
one year old. (#838)

- FIX: large event and error log files were not being returned properly via the 
web interface (#1818)

- FIX: event and error logs returned via the web interface now have their MIME 
type set to "text/plain" so that the browser displays them correctly if you 
enter the request directly into the browser. (#1818)

- FIX: continuous reboots if http server port set to 0 (#1712)

- FIX: HTML "HEAD" requests are now handled properly, ie. identically to "GET" 
except that only headers are returned (no body)

- FIX: crash if a HTTP_SERVER profile setting is changed in the web UI command 
window (#1727, #1897)

---Unload/Data

- CHANGE:  U "ftp-uri" syntax (unload current job to ftp) now works. (Previously 
the URI would have been interpreted as a job name, so to do an ftp unload you 
needed to specify U"job" "ftp-uri".) The rule is now that to be interpreted as 
an FTP URI the string must either a) be preceded by a job and/or schedule spec, 
or b) contain at least one "/" character.

- FIX: possible lockup while copying large data file to USB memory device 
(#1792, #1323, #994)

- FIX: errors and file system corruption if data copied to USB stick while doing 
web accesses (#1687)

- FIX: incorrect rounding when outputting numeric values in text format (#1734)

- FIX: when P41=0, time values were showing one decimal place rather than none 
(#1711)

- ADD: ISO format time values for unload U[] or date/time setting DT=[] can now 
be specifed in either existing format (yyyy/mm/dd,hh:mm:ss,0.ttt), regular 
format (yyyy/mm/dd,hh:mm:ss.ttt), or true ISO8601 format 
(yyyy-mm-ddThh:mm:ss.ttt). (#653)

- ADD: BEGIN and END can be used for ISO format unload specifiers (#328)

---Other

- CHANGE: all error messages (those beginning with Exx) are now also written to 
event log

- CHANGE: significantly reduced overall memory usage; prevents problems which 
coud arise when unloading jobs with many hundreds of channels, for example.

- FIX: the DIRTREE command now reports long filenames in both fixed and free 
format modes (#1471)

- ADD: Allow leading + in output redirection file name (eg SERVICEDATA 
"+file.txt"), which will append to the specified file rather than overwriting 
it.

- FIX: incorrect formatted mode output for ?n/?ALL commands

- FIX: incorrect free space listed following format of B: (#1702)

- FIX: improved the mechanisms for preventing possible disk corruption (lost 
clusters etc) if the power is interrupted during a disk write operation. A 
message is now written to the event log in the event that a file system 
auto-restore occurs. (#1714)

- CHANGE: erroneous command sequences sent by DeTransfer during firmware upgrade 
are now silently ignored. This prevents an error in event log on Detransfer 
firmware upgrade. (#748)

- FIX: firmware upgrade failure when DeTransfer "control message/date return" 
option is switched off. (#748)



Web UI (version M2.15, N1.15):

---General

- ADD: Added a control to hide/restore the main menu

- ADD: Created a graphical configuration tool for customising the functionality 
of the web UI. Settings will be saved to the logger.

- CHANGE: Menu items can be disabled, using the configuration tool.

- CHANGE: Some images and text can be customised, for re-branding purposes.

- FIX: Improved error messages for invalid "macros.txt" file (#1726).

- FIX: Older versions of the Flashplayer will now be prompted for upgrading 
instead of a grey screen (#1853).

---Status

- CHANGE: new profile settings are now recognised

---Retrieve

- FIX: now works with version 10 of the Flash player.

---Measurement

- ADD: up to 5 mimic pages can be defined.

- ADD: the layout (number of rows and columns) of a mimic page can be defined 
(min 1 x 1, max 4 x 4)

- ADD: mimics can now be locked to prevent modification by users.

- FIX: compass mimic needle was representing increasing angles as a 
anti-clockwise movement.  This is now clock-wise (#1654).
 
- FIX: units available in a mimic now change if the used changes the mimic's 
source channel variable (#1640).
 
- CHANGE: units display on a mimic is now more prominent (#1589).
 
- CHANGE: saved mimics reload is not more robust if the mimic definition file is 
corrupted.
 
- ADD: The threshold checkbox, when activated, now reveals a "variance" number 
entry field.  This will default to zero, ie., any change will be recorded.  If a 
value other than zero is entered as the variance changes to the channel variable 
will not be recorded until the variance has been reached (either plus or minus) 
(#1624).
 
- CHANGE: increased the relative size of the arrow on the compass mimic.

---Command

- ADD: The command port value will now be read from the logger.  Note that there 
is a limitation in the Flashplayer that will not allow port values below 1024 
(#1862).

- CHANGE: updated the error message for failing to connect to the logger when 
there is a network problem.

---Help

- ADD: Custom help pages can be added.

- CHANGE: videos wait for 5 seconds before play back begins to make playback 
better for slower network connections.

- CHANGE: updated introduction video

---Logger home

- CHANGE: Updated the look of the interface selector page. Allows selection of 
new web UI configuration tool



Version 7.06, 29 September 2008
===============================

Firmware:

- FIX: data logged immediately prior to entering sleep mode was sometimes not 
being written correctly to 128M internal compact flash card (#1723)


Web UI (version 1.16):

- no changes



Version 7.04, 1 May 2008
========================

Firmware:

- ADD: channels on attached CEM20 channel expansion modules can now be measured 
(DT80/85 series 2 only) - see user's manual

- ADD: FW channel type for vibrating wire sensors (DT80G/85G only)

- ADD: new command: HELP "topic"
  Displays contents of a help file, of which there are currently five (commands, 
  schedules, channels, alarms, settings) (#1344)

- CHANGE: We now allow resistance measurements on * terminal eg 1*R.
For example, on DT85G/DT80G this allows a vibrating wire input on +/- and a 
thermistor input on */# (#1326)

- ADD: new parameter P28 for controlling 12V output on DT85 & DT80/81 Series 2:
 P28=0  Auto CEM power (default). Logger ensures that 12V output is on prior to 
 CEM measurements and switches it off when measurements are comoplete.
 P28=1  12V on all the time
 P28=2  12V on all the time including while asleep
 P28=3  12V status not changed. CEMs if used are assumed to be externally 
 powered.
(#1543)

- ADD: SSDIRECT may now be used on the host port when the port function is set 
to COMMAND (as well as SERIAL). This allows you to connect via USB or Ethernet, 
type SSDIRECT 2, and then interact with a modem connected to the host port (eg 
send AT commands, assuming the modem is in command mode)

- ADD: new functions & constants (for use in expressions):
  - R2D(rad) - converts radians to degrees
  - D2R(deg) - converts degrees to radians
  - PI (=3.1415927)
  - E  (=2.7182818)

- ADD: hex (eg 0x3FF) constants may now be included in expressions

- CHANGE: Discontinuity records are no longer logged (#524, #627, #823, #1424)

- CHANGE: Significantly improved unload speed on USB/Ethernet (#1493)

- CHANGE: Significantly improved update rate for web UI mimics and channel list 
(#1585)

- CHANGE: changed command processing to allow commands to execute during 
background commands. The new rules are as follows:
  - 1. A sequence of commands *on the same command line* always executes 
  sequentially. So if you enter U HA A SATTN all on the one line (or include 
  them all in a single alarm eg DO{U HA A SATTN} then the HA A SATTN commands 
  will be blocked (held on a "pending" queue) until the U completes.
  - 2. If a background command (U/A/COPYDATA/MOVEDATA/ARCHIVE) is in progress 
  and you attempt to execute another background command then the new command 
  will be blocked until the first command completes. Because of Rule 1, any 
  commands that occur after the new command on the same command line will also 
  be blocked.
(#1456)

- CHANGE: when P8=1 (echo text received by cmd processor) and a command line is 
read from the pending queue, its source is indicated with a "P-" prefix, eg 
#P-USB

- CHANGE: Changed the way single ended channel sequences work: only terminals 
between the start and end terminal (inclusive) will now be generated, eg 1+..3-V 
will now generate 1+V,1-V,2+V,2-V,3+V,3-V and 3#..1#I will generate 3#I,2#I,1#I

- CHANGE: setting /H will now have no effect on other switches or parameters. 
Previously, setting /H would set /e/r/n/u P22=',' P24=CR P38='.' then restore 
them when /h was set, which was complicated and could cause unexpected behaviour 
depending on the logger's previous state. Now, if /H is set then:
  - all subsequent unloaded and realtime data will be in fixed format. All 
  formatting params/switches will be ignored.
  - command echo and command prompt will be inhibited
In particular, note that if data returns are on (/R) then they will stay on when 
/H is set. Note that Delogger, Detransfer and Deload all send /H/r so there 
should be no change to their operation. (#471)

- CHANGE: unloading to active comms port will now have no effect on other 
switches or parameters. Previously, /e/m/r/z would be set before the unload, 
then restored when it completed. We now explicitly inhibit command echo and 
messages while an unload is in progress.
Note that if data and alarm returns are on (/R/Z) then they will remain on 
during unload. This allows Delogger to update its views during unload (#1454)

- CHANGE: removed P31=4,5 and P39=4,5 formatting options, which had been 
deprecated for some time.

- CHANGE: text output formatting options now work a little differently:
   - for FFn, exactly n digits are printed after the decimal point (Previously 
   the number of decimal places could vary depending on P32 setting.) No more 
   than P32 significant digits are printed.
   - for FEn, exactly n digits are printed after the decimal point, and the 
   exponent uses a lower case 'e' and always includes the exponent sign (+ or -) 
   and two exponent digits. No more than P32 significant digits are printed.
   - for FMn, n significant digits are printed (P32 is ignored). Exponential 
   notation is used if the exponent is < -4 or >= n, otherwise floating point. 
   Any trailing zeroes after the decimal point are trimmed. In other words, 
   numbers are displayed more or less as they would in a calculator. (Previously 
   mixed format output was quite erratic.) (#417)

- CHANGE: P33 is now interpreted as the minimum field width. It will never cause 
values to be truncated; it will just add padding to short values

- CHANGE: error values are now output as strings rather than numbers. So an 
overrange value will always output "99999.9" and a not-yet-set value "-9e9", 
regardless of any formatting settings.

- CHANGE: RefError data state (ie error measuring thermocouple/bridge ref 
channel) is now returned as "8e9" (was "99999.9"). This makes it 
distinguishable from overrange (99999.9) value.

- ADD: new command: DELVIDEOS - deletes b:\www\videoHelp directory

- CHANGE: FTP server no longer converts arguments to upper case. This was 
causing any file uploaded to the logger (which didn't already exist) to have its 
filename stored as all uppercase.

- FIX: Detransfer connection failures when using modem. (#1280)

- FIX: Logger was blocking for up to 60s when USB cable connected but no active 
Detransfer connection on the PC. (#1236)

- FIX: ^ operator now has higher precedence than multiplicative operators 
(*,/,%) (#884)

- FIX: unnecessary parentheses no longer required in logical expressions (#1518)

- FIX: when commands are sent one char at a time, command processor would 
sometimes start interpreting the command before CR was entered (#1494)

- FIX: incorrect sign for R100 channel (internal shunt R) (#1501)

- FIX: spurious newline output after formatted mode real time alarm records

- FIX: if ^M or \13 was placed in an alarm string CRLF was being output rather 
than just CR.

- FIX: added 5ms delay prior to starting measurement delay for analog 
measurements, to allow for break before make pulse generation

- FIX: event/error log files are now backed up when their size reaches 32k, 
rather than 500 lines. This prevents a potential problem in the case where the 
memory backup battery is not functional (#1473)

- FIX: sw exception when processing an invalid http header (#1497)

- FIX: incorrect time values displayed with P39=2,3 (#964)

- FIX: maximum negative integer value not displayed properly (#172)

- FIX: Attn LED was not being turned off on RESET command (#930)

- FIX: SW exception on certain invalid web request headers (#1528)

- FIX: web unloads were sometimes returning no data in cases where a fast 
schedule had many channels (#1581)

- CHANGE: Unloads via HTTP now come with content-type header value of 
"text/csv". This would commonly cause the user agent to ask whether to save the 
unload to disk or open with the default spreadsheet app. (#1506)
 
- FIX:  message was appearing in the web UI command window 
when it is enabled (#1534)

- FIX: SW exception when very long pathnames reported via web interface (#1443)

- FIX: #measure SSI directive was not working for non-analog channels (#1533)


Web UI (Ver 1.16):

General

- CHANGE: The "Please wait" dialogue has been largely replaced with a "pulsator" 
(browser like) which shows activity by animation.  The "Please wait" dialogue 
will now come up after 30 seconds.  This will give the user an opportunity to 
cancel any pending communications.  Additionally, the menu is now disabled 
during most communications (#1449 and #1498).

- CHANGE: Rather than loading the mimics and macros during start up, they are 
now loaded when their respective screens are selected. (#1576).

- ADD: "Deep-linking" has been implemented.  As a result any screen in Montecito 
can now be bookmarked and thus the application can be started on any screen 
(#1489).

Status

- CHANGE: Storage - USB stick now uses "Free" and "Used" (#1429).

- CHANGE: Storage - Updating the Storage screen does not change the selected 
drive to B: (#1428).

- CHANGE: Status items (except Diagnostics) now "update" each time their menu is 
selected (#1368).

Retrieve

- FIX: Download timer now uses the system clock (#1514).

- CHANGE: Remove Transfer rate from Download status dialog, added time remaining 
and total bytes downloaded (#1513).

- FIX: the "Get" column check-boxes on the Advanced data grid were misbehaving. 
 Now they aren't (#1512).

- FIX: if the retrieve data was ready to go and the job was changed, the job 
change will now abort any retrieval attempted.

- FIX: the download timer was not showing sensible numbers.  Now it is (#1524).

- FIX: Incorrect unload request sent if "Select all" & "Select none" buttons 
were used (#1592).

Measurement

- CHANGE: default units for the mimics are now those defined in the program, 
ie., logger's (#1434).

- FIX: mimics that support threshold values have the threshold values displayed 
be default.

- CHANGE: For mimics that support colour:
  - Colour changes for any mimic that has a colour option is now done using the 
palette selection control.
  - Inactive colour is now grey be default.
(#1435, #1432)

- CHANGE: The saved mimics are not deleted when the logger job changes.  This 
enables a job to restart without losing the mimics (#1446).

- CHANGE: All mimics now handle strings as measurement values. (The only places 
the strings will be useful is the History and the Digital mimic.) (#1313).

- CHANGE: Update rate now added as tool tip to the mimic title-bar (#1458).

- CHANGE: Channel list and mimic channel selector now support numerical ordering 
eg. 9CV before 10CV (#1378).

- FIX: When history list mimic became full the newest entries were being deleted 
rather than the oldest. (#1479)

- CHANGE: Channel can now be changed in mimic configuration dialog (#1478).

- CHANGE: Removed mimic "Multiplier" field (#1433).

- CHANGE: Mimics now support a custom label to replace the channel name (#1482)

- CHANGE: all mimics now support fixed decimal places (#1487).

- CHANGE: Dial meter measured value now located in the top-left corner of the 
mimic, as with other mimics (#1504).

- FIX: significantly improved channel list processing time (#1510).

- CHANGE: All mimic types now have a tool-tip containing the measured value, the 
logger's time stamp and the data state on their current value control (#1530).

- CHANGE: The history list will now optionally:
1. show the time stamp for each value in the list (default: On).
2. only update when a value differs from the top of the history list (default: 
Off).
(#1531)

- CHANGE: State indicator layout has been changed to make the active state be 
less ambiguous (#1529).

- CHANGE: The thermometer, bar graph and dial meter mimics now have a consistent 
control called "Label steps" to set how many steps are on each scale.  Also note 
that to have a mimic that has 0, 10, 20, 30, 40, 50, 60, 70, 80, 90 and 100 as 
the labels the step count is 10 (#1537).

- CHANGE: The thermometer, bar graph and dial meter mimics now support three 
ranges.  These are set by four values: Maximum, Upper threshold, Lower 
threshold, Minimum.  The three ranges are (each with a colour):
* between Maximum and the Upper threshold;
* between the Upper and Lower thresholds; and
* betweem the Lower threshold and the Minimum (#1532).

- CHANGE: the threshold logic in the State mimic has been reversed, so the 
config dialogue layout matches the mimic layout.  Should be more intuitive to 
configure.

- FIX: Extra "\r"s are now stripped out from the mimics and channel list 
variables (#1545).

- CHANGE: Changed the term "variable" to "channel" in some dialogue boxes 
(#1629).

- FIX: closing the add mimic dialogue when the drop-down list is still active 
was causing erroneous behaviour (#1631).

Command

- CHANGE: command window now uses code page "ISO 8859-1" to allow display of 
extended ASCII characters (#1442).

- CHANGE: rearranged controls to a more logical fashion.

- CHANGE: better feedback for the user if the command window cannot connect to 
the logger (#1555).

Help

- ADD: on-line help videos for the enhanced web interface.



Version 7.02, 20 December 2007
==============================

- ADD: all new enhanced (Flash) web interface (Series 2 loggers only) - see 
user's manual. Existing (HTML) web interface is still supported.

- ADD: support for Series 2 hardware

- CHANGE: default TCP/UDP port for command interface is now 7700 (was 8)

- CHANGE: To format the internal drive it is now necessary to enter
     FORMAT"B:" DELETEALL
which is aimed at discouraging users from routinely reformatting their drive. 
Formatting the internal drive will delete the web interface files and event 
logs. To quickly clean out all jobs and their data, the DELALLJOBS command is 
now provided.

- ADD: new command: DELALLJOBS - unconditionally delete all jobs and data
This command will (1) halt and delete the current job, (2) delete all stored 
jobs and logged data, ie. everything under b:\jobs, and (3) delete the ONRESET 
job, if any.

- ADD: new command: SERVICEDATA "filename"
Generates a report containing various useful data and writes it to the specified 
file (if no filename specified then data will be returned via the active comms 
conduit). The report includes:
 - TEST
 - CHARAC
 - STATUS
 - parameters
 - PROFILE
 - event log
 - error log
 - current job
 - logged data (DIRJOB*)
 - DIRTREE
 - file system check
 - comms settings and statistics
 - task details
 - memory usage
 - TCP/IP socket usage
Note that this report is intended for human consumption, so we select /h mode 
for the duration of the report generation.

- ADD: if ?nn$ is included in alarm text string the value of nn$ will be 
substituted. (It is therefore no longer possible to output a CV value followed 
immediately by a $ symbol) (#886)

- ADD: If an error occurs when the logger connects to an FTP server then the 
error message is now also written to the event log (#922)

- ADD: new system variable 29SV - status of last FTP attempt (#922)
  0 = no FTP transfers have been attempted
  1 = FTP in progress
  2 = last FTP transfer was successful
  -1..-9 = connection error on last FTP attempt
  -10..-19 = transfer error on last FTP attempt

- ADD: new system variable 5SV: 1 if externally powered, 0 if battery

- ADD: TEST comand now displays the product number, options and series just 
above the serial number. In /H mode this string is returned as TEST29. 

- CHANGE: Firmware loader may now install files onto the internal disk during 
the firmware upgrade process. These include user manual, release notes nad web 
interface files.

- CHANGE: If an error occurs during firmware upgrade, the Sample and Attn LEDs 
will now turn on for 5s before logger restarts (in conjunction with the error 
msg on the display). This is mostly for the benefit of display-less DT81 users.

- CHANGE: Logger will now restart in the event of a timeout during a firmware 
upgrade. Previously the logger would continue to wait indefinitely. This state 
could be hard to break out of if you don't have physical access to the logger. 
The restart will also give you a chance to connect/disconnect the USB cable in 
order to change the port used for the upgrade.

- CHANGE: Following a successful upgrade, if there are any loader.s/firmware.bin 
files present then they will be deleted. This helps prevent surprises if 
bootstrap mode is entered some time in the future. (#656)

- CHANGE: The default drive for all file commands is now B: so you no longer 
need to specify it in filename strings.

- CHANGE: If logger wakes from FORCED sleep mode then this will now cause a COLD 
start rather than a sleep wakeup (warm start). This is not an unreasonable thing 
to do because schedule execution will have already been disrupted by the 
extended forced sleep period. Trying to resume a job with interdependent 
schedules may cause unexpected behaviour unless the job is carefully coded to 
tolerate large unexpected time gaps. (#1269)

- CHANGE: alarm text string syntax is now checked on entry (previously any 
string would be accepted, but could cause unexpected results when the alarm was 
activated). The aim is to make the syntax a little less ambiguous. In 
particular:
  - error if ? is followed by a letter [A-Za-z] other than [CNRUVcnruv]. So if 
  you use the old DT500 syntax (? rather than ?v) then you need to have a space 
  or symbol after the ?.
  - error if CV/string index out of range eg "?999"
  - error if CV index is followed by a letter [A-Za-z] other than [FEMfem]
  - error if the number after the F/E/M (if any) is outside the range 0-7

- CHANGE: SWITCHES/H profile setting is no longer supported. This means that 
SINGLEPUSH, RESET or // cmd will now always set /h mode. Setting /H in the 
profile was always problematic, given its semantics (changing /H affects other 
switches and parameters).

- CHANGE: default DOC_ROOT profile setting is now "B:\WWW\"

- CHANGE: removed ROM disk (C:); web interface files are now stored on B:

- CHANGE: HTTP server now supports persisistent connections (up to 4 
simultaneous connections)

- CHANGE: the REMOVEMEDIA command will now pause for 2s before removing power to 
the stick. Some devices (eg Transcend 2G) appear to do some internal write 
caching, and require some extra time to complete a write operation. It should 
now be possible to include REMOVEMEDIA immediately after a write command eg 
COPYDATA; REMOVEMEDIA (#1264)

- FIX: Added workaround for Promotional USB memory stick (VID/PID=0x1516/0x1603) 
which was returning a spurious "Write Protect" error (#1266)

- FIX: Added workaround for Kingston DataTraveller 1G memory stick 
(VID/PID=0x8ec/0x16) which requires a substantial amount of time following 
insertion (typ. 3-4 sec) before it can be successfully detected. (#1266)

- CHANGE: timezone field in .dbd file header (contains timezone offset in 
minutes) is now initialised to the special value -1 to indicate "local time". A 
value of 0 indicates that the timezone is GMT. This field is not yet used by 
anything, however.

- FIX: string variables were not being displayed properly in web interface 
channel list (#1154)

- FIX: possible lockup during "File" firmware upgrade if USB cable plugged in 
but Detransfer not connected (#1048)

- FIX: multiple error messages would sometimes be generated if there was an 
error in an alarm command string

- FIX: logger was going to sleep before reading ONRESET job if a memory stick 
was present at reset and the time taken to read it exceeded P17 sec (#1267)

- CHANGE: Improved reliability of detection of internal vs external power 
(#1278)

- FIX: /k setting was not being preserved across sleep (#1085)

- FIX: immediate schedule alarm channels were not being cleared in the event of 
an error

- FIX: incorrect value for AS channel when above threshold (#1265)

- FIX: incorrect STATUS4 output (#1279)

- FIX: SSI #include directive was not working if file was not located in 
DOC_ROOT directory

- FIX: memory allocation failures with 800-channel job when creating storefiles 
and unloading (#1282)

- FIX: profile strings set to "" were not being read correctly on startup 
(#1295)

- FIX: error reported if you COPYDATA a storefile which does not have both data 
and alarms (#1319)

- FIX: FTP server was reporting an error when browsing to an empty root 
directory (#1300)

- FIX: "SW Exception" would sometimes be incorrectly displayed for resets where 
no exception occurred.

- FIX: A page containing error message text is now generated in the event of a 
server error (#1283)

- FIX: browsing to a directory without appending a / to the URL now works. 
(#1284)

- FIX: Text output was not being copied to other open TCPIP connections if the 
active connection was closed.

- CHANGE: /B, /V and P6 are no longer returned (#1372, #474)



Version 6.22, 20 September 2007
===============================

- FIX: Spurious "external power disconnected" messages were sometimes appearing 
in the event log, particularly on DT85 units (#1249)

- FIX: Logger would sometimes fail to sleep, particularly on DT85 units (#1249)



Version 6.20, 5 September 2007
==============================

- CHANGE: Lower power consumption, due to additional settings for disabling 
unused hardware (described below), and reducing the time taken to wake from 
sleep.

- CHANGE: Ethernet port will not be enabled if the IP address is set to 0.0.0.0 
(which is the default)

- CHANGE: The IP, IPSN and IPGW commands will now all return 0.0.0.0 if the 
Ethernet port is not enabled.

- CHANGE: Removed parameter P5 (max sleep time). DT80 will now sleep 
indefinitely if there are no timed schedules.

- CHANGE: Parameters P3 (min sleep time) and P4 (start up time) are now 
specified in milliseconds. Defaults for DT80 are P3=1500, P4=800.

- ADD: New parameter P20 (backlight control) - see user manual

- ADD: New parameter P21 (analog power control) - see user manual

- CHANGE: Added extra conditions which will cause sleep to be inhibited: serial 
comms transmission in progress; PPP session active; within P17 sec of a Modbus 
request; partially entered job. (#217, #946)

- CHANGE: If P15=0/1 then we stay awake if Ethernet port is enabled (ie an IP 
address is set), regardless of whether or not a cable is actually connected. 
This avoids having the logger unexpectedly go to sleep if the Ethernet cable is 
temporarily disconnected for service.

- CHANGE: LCD is blanked if the logger wakes up due to a time based schedule, as 
it will usually be going straight back to sleep.

- ADD: Added an optional second parameter to SSDIRECT command: a string 
containing the character(s) to be sent at the end of each line (#1133)

- ADD: The message "Job cleared" is now output (if /h) if current job was 
cleared due to an error during entry of a new job.

- CHANGE: If there is an error in the BEGIN statement (eg /F set or job locked) 
then the remainder of job is ignored (until END or RESET). This now works the 
same as single-line jobs, where we ignore the remainder of the line if one of 
the above conditions are true.

- CHANGE: For temperature channels, the P36 setting at the time of channel 
definition is recorded and that is what the channel will measure in. Any 
subsequent changes to P36 will be ignored, at least as far as that channel is 
concerned. 

- CHANGE: Units strings for some time/date formats (P31=0, P39=1/2/3) are no 
longer generated

- CHANGE: Max length of poly/span units is now 10 chars (same as channel units); 
was 8 chars

- CHANGE: Format for ISO date set cmd (DT=) is now DT=[y/m/d,h:m:s] regardless 
of P40 setting

- CHANGE: Fixed format data records now have fixed format. All format-related 
parameter settings (eg P22/P24/P31/P33/P39/P40/P41/P45/P50/P51) are now ignored 
when in /H mode. The default values of these parameters will be used, except for 
P31. We now always use ISO format for date/time channels (P31=3). Note that 
Delogger currently forces P31=3 so there will be no change here. Also note that 
P32 is still respected - data values in fixed format records will have no more 
than P32 significant digits included (default=8). (#462)

- CHANGE: Fixed format data values no longer contain trailing zeroes, which can 
make them considerably more compact

- CHANGE: Improved representation of error values. For example the NotYetSet 
value will appear in a fixed format record as "-9e9" rather than 
"-8.9999995e+09"

- CHANGE: PROFILE commands are now error-checked (#421)

- CHANGE: The PROFILE command with no arguments will now display *all* profile 
settings, including SWITCHES and PARAMETERS sections

- CHANGE: When displaying profile settings, any key that has been explicitly set 
will be prefixed by a * character. This should remove the need for users to use 
TYPE "B:\\INI\\USER.INI" to see which settings have been changed.

- CHANGE: Default serial parameters for both host & sersen ports are now set 
according to configured port function:
   Command: RS232,57600,8,N,1,SWFC (default profile settings for host port)
   Serial: RS232,1200,8,N,1,NOFC (default profile settings for sersen port)
   Modbus: RS232,19200,8,E,1,NOFC
The above settings are what you will get if you have no profile settings in the 
HOST_PORT/SERSEN_PORT section, or if you just have a FUNCTION=xxx setting. If 
you have an explicit profile setting eg BPS=38400 then this will override the 
default baud rate listed above. PS= and PH= can still be used to modify settings 
at the job level.

- CHANGE: If a profile key is set using the PROFILE "sect" "key"="value" command 
then it will be entered into user.ini and marked as having been set, even if the 
value to which it is set is identical to the default value. To un-set a profile 
setting you need to delete the setting, using PROFILE "sect" "key"=

- ADD: New profile setting: [COMMAND_SERVER] PORT=n
Sets the port to use for TCP and UDP connections to the logger command server 
(default=8) (#1012)

- ADD: New profile setting: [FTP_SERVER] ALLOW_ANONYMOUS=YES/NO
If YES (default) then read-only anonymous FTP login is allowed; if NO then all 
logins must use configured username/password. (#1049)

- CHANGE: If a DEL character is received then all buffered characters for that 
port will be deleted. This is useful for the case where a host application is 
trying to automatically determine the host port baud rate by sending DEL 
characters at varying baud rates. This process can cause junk characters to be 
received; when the correct rate is found and a valid DEL character is received 
which will then cause the junk characters to be deleted. (#936, #722)

- CHANGE: Running schedules will now be halted (causing a discontinuity record 
to be written) prior to operations which cause storefiles to be forcibly closed, 
including various resets and forced sleep. (#1157)

- CHANGE: Max alarm text length is now 245 chars (was 200), which matches max 
alarm width in .dbd file.

- CHANGE: Attempting to set the alarm width schedule option greater than 245 is 
now an error; previously it was silently truncated

- CHANGE: Attempting to set alarm number greater than 255 is now an error. DBD 
file format stores alarm ID as a single byte; previously a larger alarm ID would 
be silently truncated to 8 bits when logged.

- FIX: Incorrect metadata was being written to .dbd file in some cases. (#863, 
#984)

- FIX: SW Exception on unload for certain channel option combinations eg 
1V(TRR,AV) (#1149)

- FIX: If end timestamp is unspecified in an unload cmd then it now defaults to 
the timestamp of the latest stored record (as at the time that the cmd is 
issued). Previously it defaulted to the current time, which made it awkward to 
unload from a storefile whose timestamps were in the future. (#1111)

- FIX: Logger was staying awake for P17 sec following a timer wakeup if the USB 
cable was connected

- FIX: SW Exception if a single / character entered (#1215)

- FIX: File upload to logger FTP server was sometimes failing with some fast FTP 
clients (#1202)

- FIX: An over-long command line during job entry will now prevent the job being 
created (as does any other error) (#1205)

- FIX: If there was an error during job entry then any schedules/channels 
created after the error would still exist in memory even though the job file was 
not created. We now clear the job once job entry is complete. (#1209)

- FIX: After operating for some time the web server would sometimes stop 
accepting connections (#1208)

- FIX: Large field width or precision values in serial sensor strings were 
causing a sw exception. Width/precision values > 99 will now be ignored and the 
default value (0) will be used (#1188)

- FIX: An error was being returned for do{DT=[2007/03/13,11:11:00]} (#1056)

- FIX: Invalid trailing characters on profile settings (other than whitespace) 
will now return an error (#1156)

- FIX: SW exception if CURJOB entered following output of an error message in 
formatted mode (#1152)

- FIX: OLE/DDE options no longer require user channel name (#496)

- FIX: Channel pairs such as 1V()(AV) now work in a more logical way - the first 
report value (ie the 1V() part) will return the value as at the last stats scan, 
or NotYetSet if there have been no stats scans since the last report scan. 
(#780)

- CHANGE: Improved output of realtime data so that incomplete schedule records 
are never generated (#20)

- FIX: Random characters on the end of logged alarm strings for some alarm width 
settings (#1130)

- FIX: In /H mode, a formatted mode record was not being output when PROFILE 
"sect" "key" command was entered (#1126)

- FIX: Commands from different sources were getting mixed up in some 
circumstances (#1063, #946)

- FIX: RESET command will now only disable the serial sensor port if its 
function is set to "serial" (#1121)

- FIX: Logger FTP client was sending extraneous text on the end of some commands 
(#1127)

- FIX: If a USB device was present then momentary accesses to it were being made 
even though the job was setup to log to the internal drive. This was causing "no 
media on A:" errors if a stick was present during wakeup.

- FIX: Power on self test was sometimes failing when internal battery was flat.



Version 6.18, 11 May 2007
=========================

- ADD: support for new DT85 logger (16 analog channels, more flexible input 
switching, general purpose power outputs, longer battery life)

- ADD: new SVs: (#40141)
20SV returns current day of month (1-31)
21SV returns current month (1-12)
22SV returns current year (1989-5999)

- ADD: allow 2SERIAL channel definition for serial sensor operations over the 
host RS232 port

- ADD: allow 2SERIAL schedule trigger

- ADD: SSDIRECT now accepts an optional serial port number (1 or 2).

- ADD: default serial sensor port settings can now be entered into the profile. 
Section name is "SERSEN_PORT", all key names are as for the host port, with one 
additional one: MODE=RS232/RS422/RS485

- ADD: 1SSPWR channel type for controlling DT85 switched 12V power output


- CHANGE: the function of the host or serial sensor port (command, serial sensor 
or Modbus) is now specified using the new FUNCTION profile key in the 
HOST_PORT/SERSEN_PORT section (see manual)

- CHANGE: SSDIRECT n command, nSERIAL channel definition and nSERIAL schedule 
trigger will now return an error if the indicated port has not been configured 
with FUNCTION=SERIAL in the profile (this setting is the default for sersen port 
but not for host)

- CHANGE: if SSDIRECT command is received while defining a job then the serial 
sensor commands that follow plus the ENDSSDIRECT are written to the job program 
file so that they will be processed if the job is reloaded from the file.

- CHANGE: ENDSSDIRECT command no longer takes a parameter. It will cancel 
passthrough mode on whichever conduit it was established on.

- CHANGE: Default setting for P0 (microvolts drift before recalibration) is now 
3

- CHANGE: Attenuators now default to OFF for the L (current loop) channel type

- CHANGE: P8=1 now also indicates the conduit on which the command was received, 
using a 3-letter code eg "TC2" (TCPIP connection #2), "HST" (host port), "FIL" 
(file) etc.

- CHANGE: command processor error messages are no longer written to event log.

- CHANGE: if an error is detected during job entry, we now continue to process 
the job text. Previously, all job text following the error was ignored, which 
was sometimes confusing. (When END is seen, the job will still only be saved and 
run if there were no errors.)

- CHANGE: in the ? (alarm poll) command, for DO alarms the condition is shown as 
"DO" rather than "NULL" and the current value column is not shown (#40377)

- CHANGE: added column for schedule in free-format ? command output

- CHANGE: ?0 is now accepted and will display all unnumbered alarms (#41091)

- CHANGE: Enabled 1SSPWR for modem power control (HOST_MODEM/EXT_POWER_SWITCH 
profile setting)


- FIX: Startup message (eg "Power loss") was getting stuck on the display if a 
"Cannot log" message was displayed before the startup message was acknowledged. 
Startup messages now have priority over "cannot log" messages. (#40784)

- FIX: Occasional assertion failure if logger sleeps while Ethernet connected 
(#41102)

- FIX: Calibration measurements VosShunt and Vos# had incorrect sign, leading to 
offset errors for shunt R calibration and # terminal measurements.

- FIX: logger was reporting "not characterised" if the MAC address contained any 
FF bytes (#41097)

- FIX: missing characters in uploaded file following FTP unload (#41093)

- FIX: lockup during RS232 or File firmware upgrade (not USB) if host port was 
previously set to HWFC (#41051)

- FIX: bootstrap/loader LCD display now says "DT8x" rather than "DT80"

- FIX: better error detection and reporting for commands that use storefile-spec 
eg. U (#41028)

- FIX: now displays the correct model number in "DT80 restarted" or "DT80 not 
characterised" LCD messages

- FIX: when P56=1, the "Triggered Schedule x" message was sometimes being output 
multiple times for one trigger

- FIX: error if FUNCTIONx= command strings contained a '}' character (#41100)

- FIX: incorrect data or crash if digital IOs accessed as registers via Modbus 
(#40947)

- FIX: Duplicated string values logged/returned when fast schedule used (#41101)

- FIX: passwords longer than 10 characters were being truncated differently when 
being set and tested (#41029)

- FIX: concatenated alarm statements (AND/OR/XOR) were not working properly 
(#41058)

- FIX: no error was being reported for certain incorrect schedule options 
(#41054)

- FIX: /k setting was not being preserved across sleep (#41085)

- FIX: LM135/235/335 sensors were reading incorrectly if temperature units set 
to other than Kelvin (#41089)

- FIX: Attn LED will now blink and LCD will display appropriate message if 
logger tries to log new records to a store that is full and has NOV option set. 
(#40508)

- FIX: potential problem where logger could incorrectly determine initial power 
status if real time clock had been reset

- FIX: maximum alarm text length is now 200 chars, as stated in manual, rather 
than 130

- FIX: alarm text exceeding the configured alarm width was not being truncated 
properly when unloading alarms (#41039)

- FIX: FF0 option was not being recognised during free format unload (#40987)

- FIX: "(nul)" was being displayed during free format unload of an empty string 
(#41071)

- FIX: channel name was not being displayed during free format unload of string 
channel (#41070)

- FIX: counter schedule triggers were not working (#40875)

- FIX: when loading a job from a file, an error was being reported if the last 
line of the file was not terminated by a CR character (#40971)

- FIX: incorrect timestamp was displayed on web page for second and subsequent 
option sets eg. REFT(TMN)(TMX) (#41067)

- FIX: user defined poly/span units were not being displayed on web interface 
(#40907)

- FIX: E98 error on RUNJOBONRESET on DT80 when job is over 8kbyte (#40879)

- FIX: assertion failure if measured cold or hot junction thermocouple voltage 
is exactly equal to the underrange threshold value (#40877)

- FIX: immediate schedule alarms will now be displayed in ?ALL

- FIX: an error will now be generated if a channel modifier is used with a 
non-analog channel type (eg 1*DS) (#41090)

- FIX: assertion failure if the calibration channel number (99) is used with a 
non-analog channel type (eg 99C). An error will now be generated (#40876)

- FIX: assertion failure if MODBUS_SERVER/TCPIP_PORT profile set to 8

- FIX: assertion failure under certain circumstances when unloading alarms 
(#41110)



Version 6.16, 21 March 2007
===========================

- FIX: high speed counter rollovers which occur while the logger is asleep were 
not being detected, leading to possible incorrect count values for HSC channels. 
(#41079)

- FIX: no automatic recalibrations were being performed following sleep (#41079)

- FIX: previous /u/n/e/r,P22,P24,P38 settings were not being restored properly 
on exit from /H mode if the logger had gone to sleep while in /H mode (#41079)


- FIX: if a 1SERIAL channel was configured to return the scanned value (as 
opposed to a status value) then when the channel was unloaded the data value and 
units were incorrect (#41066)

- FIX: potential problems if channel definitions change during a web access

- FIX: crash if web accesses a string variable before it has been scanned for 
the first time (#41068)

- CHANGE: web interface (#measure, #reading and #channeltable SSI directives) 
will now return "---" (not yet set), "OverRange", "UnderRange", "OpenCircuit" or 
"RefError" if the channel is in an error state, similar to what is shown on the 
LCD.

- FIX: possible lockup if many alarm actions are executed at the same time as 
entering commands via a comms port.

- FIX: triple push reset was not working correctly (#41074)


- FIX: possible memory corruption when web interface status page was displayed 
(#41059)

- FIX: if there were http accesses during a long unload then sampling/logging 
was stopping until the unload finished (#41060)

- CHANGE: added check to prevent custom web pages nesting SSI #include 
directives more than 3 deep

- FIX: alarm action commands were being discarded if a password was set (#41061)

- FIX: possible lockup during unload to FTP (#41062)

- CHANGE: X commands within a job definition are now buffered and will be 
actioned when END is seen, similar to the way G,H,LOGON,LOGOFF currently work. 
Previously, X commands were carried out immediately, which didn't do anything 
because the associated schedule was not yet active. (#41064)

- FIX: when running on battery power, logger was staying awake for P17 sec after 
waking to take a measurement, rather than immediately going to sleep (#41065)



Version 6.10, 9 March 2007
==========================

- ADD: an FTP URI (eg "ftp://user:pass@zoo.com/mydata") now be specified as a 
2nd argument to the U, A, COPYDATA, MOVEDATA, and ARCHIVE commands (see user 
manual)

- ADD: new profile settings [NETWORK] DNS_SERVER_1 and [NETWORK] DNS_SERVER_2 
for specifying a primary and secondary Domain Name Service (DNS) server (see 
user manual).

- ADD: U and A can now unload in unformatted mode. (#40812)

- ADD: LCD display will now auto-scroll if up/down key is held down for 2 sec 
(see user manual) (#40795)

- ADD: Serial sensor port now supports hardware and software flow control for 
RS232 mode.

- ADD: New commands: SSDIRECT and ENDSSDIRECT. These commands allow direct 
interactive control of a serial sensor device for configuration and testing 
purposes (see user manual).

- ADD: P56=8 will display FTP diagnostic messages; P56=16 will display modem 
diagnostics. P56 output will be returned regardless of /H or /m settings.

- ADD: if Func/Cancel key held down while a USB memory device is inserted, the 
logger will not attempt to mount the drive so it will report unrecognised". This 
allows a badly formatted device to be reformatted or examined.


- CHANGE: EXT_POWER_SWITCH profile setting can now be set to: NONE, 1RELAY or 
1DSO-4DSO. The old numeric values are also retained for compatibility. (#40903)

- CHANGE: For consistency with PH command, "HWFC", "SWFC" and "SWHW" are now 
accepted as synonyms for "HARDWARE", "SOFTWARE" and "BOTH" in HOST_PORT/FLOW 
profile setting

- CHANGE: default value of P26 is now 60 (previously 30) (#40908)

- CHANGE: host or Ethernet port is now assumed "disconnected" if data cannot be 
sent for P26 seconds. This prevents the logger locking up in the event of cable 
disconnection or other communications problem. (#40908)

- CHANGE: changed some of the automatic calibration measurements to improve 
accuracy of measurements when attenuators are used

- CHANGE: changed format of TEST command output to include extra calibration 
meaurements. Note that the definitions of the TEST record identifiers returned 
in formatted mode have not changed (eg. the overall pass/fail record is still 
TEST23).

- CHANGE: enabled "keepalives" for FTP server, which helps alleviate problems 
which may occur if a client program does not properly close the connection 
(keepalives were already enabled for Modbus and Cmdpro servers) (#40869)

- CHANGE: modem is no longer re-initialised on sleep wakeup.

- CHANGE: all command error messages are now saved to event log

- CHANGE: Following a reset which may have involved power loss (power-on reset, 
reset button, or wakeup), OR if USB cable is disconnected, we now suspend all 
output on the USB port until a character is received on USB. This works around 
the problem of Windows interpreting the DT80's unsolicited transmissions as 
being a mouse. (#40682)

- CHANGE: " may now be inserted in a string (eg profile value or serial sensor 
string) using \" notation. Also fixed a couple of cases where other escape 
sequences eg \} were not being handled properly.

- CHANGE: control characters (ASCII 1-31) in profile strings are no longer 
stripped out. Control chars and " are escaped when writing to user.ini (#40887)


- FIX: USB memory devices of size 1-2GB were not being formatted correctly by 
the logger, resulting in them not being able to be read by Windows. Also changed 
the parameters used when formatting large media to minimise the start-up delay.

- FIX: if two separate SDI-12 devices were sampled in the same schedule, the 
returned values for the second one would be duplicates of the first (#40925)

- FIX: Repeatedly issuing LOGON caused store files to be repeatedly opened. This 
resulted in E109 errors and then eventually an assertion failure.  (#40945)

- FIX: unpartitioned USB memory devices can now be mounted

- FIX: automatically attempt to re-mount drive after formatting a previously 
unrecognised card/stick

- FIX: free space on drives > 2GB is now reported correctly (#40753)

- FIX: analog input termination will now default OFF if attenuators are on (HV)

- FIX: ARCHIVE and COPYDATA commands were only transferring one alarm record 
(#40888)

- FIX: Correct units are now stored for channels with Poly/Span/Thermistor 
applied to them. (#40759)

- FIX: AS and digital channels are now unloaded correctly when 
poly/span/thermistor has been applied to them. (#40863)

- FIX: Logged text strings are now unloaded correctly. (#40595)

- FIX: Unload of schedules with long records was causing DT80 to crash (#40912)

- FIX: incorrect free/used disk space in 1-4SV and STATUS6-7

- FIX: When using U(fromTime) command, the DT80 occasionally returned all data 
in memory, rather than just requested records (#40941)

- FIX: The logger would attempt to create storage for schedules that contained 
no loggable channels, resulting in E118, E109 and E106 error messages. (#40929)

- FIX: Time constrained unload within alarm action command eg. DO{U(9:00)} was 
not working (#40969)

- FIX: Statistical functions were not working for integer channel types 
(C,HSC,DS etc) (#40962)

- FIX: the output used to control modem power is no longer reset by RESET 
command

- FIX: profile values are no longer automatically uppercased (section and key 
names are still uppercased on entry)

- FIX: possible erroneous behaviour if ^ or \ is the last char in a string 
parameter

- FIX: modified the way CD/DSR transitions are handled to improve reliability

- FIX: logger will report "not characterised" if MAC address is set to default 
value (00902dffffff) (#40948)

- FIX: Setting 19SV should now work correctly and cause the appropriate change 
to the serial sensor's RTS line. (#41011)

- FIX: Work around spurious serial sensor comms overrun errors which may occur 
(resulting in possible loss of received data) when operating at 115200 baud. 
Note that the maximum recommended baud rate for the serial sensor port is 57600 
baud.

- FIX: error if trailing backslash in PROFILE cmd (#40973)

- FIX: incorrect handling of %s serial sensor input action was sometimes causing 
duplicated characters in received string (#40880)

- FIX: serial sensor strings containing \r (set RTS state) were not working 
properly in some cases

- FIX: \c[nnn] in serial sensor string: timeout value (nnn) was being 
interpreted as seconds rather than ms (#40989)

- FIX: serial sensor %Ms input action eg "%3s" was not working in some cases

- CHANGE: Alarm action command strings will now be discarded if the command 
processor input buffer is full. This prevents a deadlock situation where the 
schedule can't proceed because it is waiting to write a command to the command 
buffer, and the command processor can't read and process a command because the 
schedule has not yet completed. This can arise if a schedule is issuing frequent 
commands, and you then do a long unload or copy operation.
Note that this only affects alarm action commands, because these are the only 
ones where deadlock is possible. Commands received on a comms port, or read from 
a file, or generated by a function key will never be discarded. 

- FIX: Server Side Include (SSI) directive #measure would only report 99999.9.  
This was because it reported the value of the sample channel prematurely. 
(#40995)

- FIX: SSI directive #reading channel="" now works (#40996)

- FIX: crash if invalid DT= command entered (#41026)

- FIX: erroneous behaviour including crashes during copy/move operation, 
particularly if a large number of alarms were logged (#41035)

- FIX: possible assertion failure (uart.c) if comms problem occurs while using 
PPP

- FIX: data manip (DF/DT/RC/RS/IB) and digital manip (TRR/TRF/TFR/TFF/TOR/TOF) 
channel options were being accepted in second and subsequent option sets. This 
is now an error. (#41034)

- FIX: when moving multiple files, if one failed then source data would not be 
removed for any subsequent file, even if the move succeeded.

- FIX: when an archive file was copied to A: or FTP and the destination file 
already existed, the destination file would be extended in size each time, 
effectively doubling the file size with each copy. (#41046)

- FIX: PS= and PH= commands were not accepted in a DO{} block (#41044)

- FIX: invalid storefile metadata was generated (leading to crash on unload) for 
channels where the channel factor is not a scaling factor and a manipulation 
option was used, eg 2R(TMN) (#41037)



Version 6.06, 16 June 2006
==========================

- FIX: HTTP server was sometimes causing memory corruption and crashes. (#40857)

- FIX: channel timestamps (as reported on web page channel list) were incorrect 
(#40847)

- FIX: serial sensor was hanging rather than timing out if it received a numeric 
value with no terminating character (#40854)

- FIX: digital/relay outputs are no longer reset on wake

- FIX: Web interface: added leading zero to the hour, minute and seconds of 
Update timestamp display on the Channels page.

- FIX: Web interface: added a conditional check for data and alarm stores on the 
Status page.  The data and alarms store will only be displayed if a data or 
alarm store has been defined.  Previously this was being displayed with -1 
records.

- CHANGE: Web interface: revised the Help page.

- CHANGE: user.ini (profile settings) and onreset.dxc (ONRESET job) files are 
now restored from flash on wake or reset, if they don't already exist on B: 
Previously, this check was done on reset only, which caused loss of profile 
settings on wake if the user.ini file had been cleared (eg by format"b:") 
(#40860)

- FIX: crash when going to sleep following wake following clearing user.ini 
(#40860)

- FIX: LCD backlight was not turning off when external power was removed 
(#40855)

- ADD: additional event log messages:
   - if user.ini/onreset.dxc are restored from flash
   - if starting due to triple push
   - if external power is connected or disconnected

- CHANGE: SDI12 - if the aI! (get information) command fails, we now try sending 
the a! (acknowledge active) command. If this succeeds we assume that the sensor 
is present and supports SDI12 version 1.0 only.

- FIX: certain USB memory devices were unable to be formatted and/or accessed in 
the DT80 (#40867, #40811)

- FIX: adjusted TCP parameters to avoid issues which may arise with heavy TCP/IP 
traffic over unreliable links (eg WiFi) (#40865)



Version 6.02, 04 May 2006
=========================

- ADD: DT81 support (1 analog channel, 4 digital, 1 phase encoder, no serial 
sensor, Power LED)

- ADD: Modbus server. The DT80 can now accept connections from a Modbus client 
(master) system via Ethernet, host port (PPP or RS232) and/or serial sensor port 
(RS232/422/485). The client system is able to read/write any DT80 channel 
variable or digital IO channel.

- ADD: command to setup non-default Modbus data formats and scaling factor:
  SETMODBUS m..nCV {format} {scaling}

- ADD: P56=4 debug setting; displays Modbus traffic

- ADD: new profile setting: [MODBUS_SERVER] TCPIP_PORT = 502 Specifies the TCP 
port on which to listen for modbus connections, which is normally port 502. If 
set to 0 then the TCPIP modbus server is disabled.

- ADD: new profile setting: [MODBUS_SERVER] SERSEN_ADDRESS = 0 If non-zero then 
the logger will listen for serial modbus messages (RTU format only, not ASCII) 
arriving on the serial sensor port, which are addressed to the specified address 
(1-247) or the broadcast address (0).

- ADD: new profile setting: [MODBUS_SERVER] HOST_ADDRESS = 0 Same as 
SERSEN_ADDRESS except that the host RS232 port is used.

- ADD: HTML pages for built-in web interface, which are stored on DT80 ROM disk 
(C:)

- ADD: support in web server for server side include (SSI) directives for 
inserting dynamic information into web pages

- ADD: files can now be retrieved from the logger's file system via HTTP using a 
URL of the form http://ip-addr/anyfile.cmd?b:/doc/man.pdf

- ADD: new profile setting [HTTP_SERVER] DOC_ROOT = C:\\WWW\\ to specify where 
web pages are located (allows custom web interface to be loaded onto B: drive)

- ADD: new profile setting [HTTP_SERVER] PORT = 80 to specify TCP port used by 
web server; disables server if set to 0.

- ADD: U* and A* syntax is now legal (unload all jobs)

- CHANGE: changed the way high volume unsolicited serial sensor traffic is 
handled to reduce the chance of getting out of sync when incoming data needs to 
be discarded. (#40792)

- CHANGE: Battery screen now displays NC if battery is not connected (#40642)

- CHANGE: Disabled file system "failsafe" mode for removable drive (A:); this 
allows a write-protected memory device to be mounted properly (#40783)

- CHANGE: FTP diagnostic output is now disabled by default. To enable, set P56=8 
(#40799)

- CHANGE: COPYDATA/MOVEDATA/ARCHIVE/U/A are now background operations. 
Acquisition and logging will continue while they are in progress, but any 
further *commands* (except Q) will be blocked until the operation completes. 
(#40583, #40803)

- CHANGE: ARCHIVE/COPYDATA/MOVEDATA will now report "FAILED" on LCD (rather than 
"Done") if they fail or are cancelled. If this occurs the timeout on the LCD 
message is extended to 10s (rather than 3s) (partial #40572)

- CHANGE: most profile settings are now case-insensitive.

- CHANGE: Literal { and } characters can now be included in serial sensor 
control string using \{ and \}. Also added \% for consistency (%% still works) 
(#40841)

- FIX: syntax error if COPYDATA/MOVEDATA/ARCHIVE/U/A in an alarm action string 
is followed by whitespace then another command (#40776)

- FIX: serial sensor input actions were not timing out if non-matching data 
continued to arrive (#40793)

- FIX: MOVEDATA will now ensure that only those records that were copied will be 
deleted. Previously records that were logged during the move operation would be 
sometimes not copied but deleted.

- FIX: Serial sensor input was being incorrectly parsed when inter-character 
gaps occurred at certain points in the string

- FIX: shutdown PPP interface gracefully before going to sleep and on 
CLOSEDIRECTPPP so that the other end will disconnect

- FIX: duplicated text output if logger went to sleep while Ethernet session 
connected (#40772)

- FIX: syntax error if comment char (' or `) immediately followed a command 
(#40806)

- FIX: digital input while condition not working for continuous schedules (eg 
RA:1~W) (#40804)

- FIX: crash if continuous schedule with while condition was redefined such that 
the while condition was removed (#40807)

- FIX: possible storefile corruption if data manip or digital manip options (eg 
DT) used (#40798)

- FIX: unnecessarily long pause before performing a storefile read operation 
(copy/unload) (#40808)

- FIX: a one-line job containing just REFT was not being recognised as a new job 
(#40802)

- FIX: E31 error was being generated when doing a COPYDATA/ARCHIVE operation and 
there was no data in the storefile (#40801)

- FIX: DELDATA/DELALARMS were failing if the storefile had no space allocated 
for data/alarms (#40820)

- FIX: for MOVEDATA, records are now only removed from storefile if the copy 
succeeds

- FIX: if ARCHIVE/COPYDATA/MOVEDATA fails (or is cancelled), the destination 
file that was being written to is now deleted

- FIX: INT channel option is now calculated over the whole report interval (n 
stats samples); it used to only use n-1 samples. (#40788)

- FIX: assertion failure if usb stick removed while logging to stick and there 
is an attention message on the LCD (#40779)

- FIX: no or few records would sometimes be returned when unloading from a 
storefile that is being rapidly logged to (#40594)

- FIX: DELDATA will now delete records from any storefile it finds in the 
specified job's directory, even if the storefile was not generated by the 
current version of the job. (#40817)

- FIX: spurious serial schedule triggers were occurring if null string specified 
eg RA1SERIAL"" (#40829)

- FIX: archive files are now deleted following a successful MOVEDATA (#40831)

- FIX: incorrect hash value was being written to storefile for some jobs, 
causing spurious "no data files" errors (#40840)

- FIX: COPYDATA"job"sched was not copying archive files (#40832)



Version 5.08, 01 Mar 2006
=========================

- ADD: new channel type SDI12, plus three new channel options ADn, Rn and CM. 
This channel type automatically queries an SDI-12 device and returns a single 
data value. See user manual (rev A1) for more details.

- ADD: new command  SDI12SEND n "string". This sends the indicated string on 
SDI-12 channel n (5-8) and displays (if /M/h) what was sent and what the 
response was.

- ADD: P56=2 debug param will display all SDI-12 transfers as they occur, in a 
similar format to that used by SDI12SEND.

- ADD: Increased number of CVs to 800 (#40348)

- ADD: Numeric input conversions in a SERIAL channel control string may now 
optionally be specified without a "destination" [nCV] spec. This will cause the 
converted value to become the return value of the SERIAL channel (#40699)

- ADD: Error msg context information ( indicator) is now also returned in 
fmt mode error msg strings so Delogger users can see it (double quotes are 
replaced by single quotes)

- ADD: Added support for 5th analog channel and LM35 temperature sensor on A0 
and later board sets (#40735, #40707)

- ADD: serial port mode (RS232/RS485/RS422) can now be specified in the PS= 
string, which is a more logical place than as a channel option. Also the PS= 
(and PH=) parameters can now be specified in any order, and all are optional.

- ADD: new command  PAUSE ms. This does the same thing as DELAY=ms except it is 
a command rather than a channel, so it can be used to insert a delay between two 
commands.

- ADD: certain command parameters can now optionally be preceded by whitespace 
(#40604). Also, a semicolon (;) can now optionally be used as a command 
delimiter.

- ADD: A degree of parameter checking is now performed on commands in an 
ALARM/DO statement when the job is entered. Previously parameters were not 
parsed until the command was actually executed (ie when the ALARM tests true).

- ADD: extended ascii open and close single and double quote characters (ascii 
0x91-0x94) are translated to standard ' and " characters. Helps when pasting 
code that has been accidentally subjected to auto-formatting in Word etc.

- ADD: write message to event log when entering and waking from forced sleep 
(the logger enters forced sleep mode if the power supply becomes critically low)

- CHANGE: Remove \x0 and \x1 serial sensor input & output actions. If used,
these would upset the operation of half duplex mode (RS485).

- CHANGE: \p serial sensor input & output action (print input buffer and erase) 
is now equivalent to \e, ie. it no longer prints anything. The whole serial 
sensor diagnostic output has been reworked, see below.

- CHANGE: serial sensor %G, %E input actions would previously only match input 
with an uppercase E 
(exponent) and %X would only match uppercase hex. Input conversions %f,g,G,e,E
are now all synonyms (match either case), as are %x,X.

- CHANGE: simplified serial sensor diagnostic output and hopefully made it a bit 
clearer. There is now only one setting to enable, P56=1. See user manual (rev 
A1) for more details.

- CHANGE: Modify the way auto-calibration is done for 3W resistance 
measurements, to improve accuracy (#40750)

- CHANGE: In text strings, \c (where c is not a digit) is now translated to c 
(previously \c, except if c=\). This is for consistency with the behaviour of ^c 
(where c is not in the range A-~).

- CHANGE: Serial schedule triggers are now checked (by searching the SS rx 
buffer) after completion of any schedule containing a SERIAL channel (as well as 
on receipt of SS data). This means that if the SERIAL channels don't remove all 
data from the buffer then the schedule may be immediately re-triggered (if the 
remaining data matches the trigger condition). So if multiple back-to-back 
messages are received, a serial-trigger schedule will be triggered multiple 
times until all buffered messages have been processed. (#40767)

- CHANGE: if DT80 enters forced sleep mode it will now sleep indefinitely (until 
woken by event) rather than waking every P5 mins

- CHANGE: commands are now echoed just prior to being executed, rather than as 
each character is received. This means that commands are displayed immediately 
before the output they produce, and when sending a large program the "job>" and 
"DT80>" prompts and any error messages appear at a point that you would expect, 
rather than being all jumbled up (#40621).

- CHANGE: extended ASCII chars (128-255) in the command stream are no longer 
converted to spaces. This allows them to be entered directly (eg using 
ALT-nnnn or a non-US keyboard), as an alternative to using escape sequences 
(\nnn or ^x) (#40701).

- CHANGE: Logger will now execute a TEST command (no output) on every cold 
start. If it fails then "Self test failed" is displayed on the LCD.

- CHANGE: default P32 setting (# significant digits in unloaded/returned data)
from 7 to 8

- FIX: Histogram option was dividing range into n-1 buckets rather than n. Also, 
if the value is *equal to* the upper limit it is now placed in the overrange 
bucket. This also prevents a division by zero crash which used to occur if the 
upper and lower limits were equal. (#40745)

- FIX: Assertion failure if RS defined at the end of the job rather than the 
beginning (#40729)

- FIX: schedules >=24 hours (when sync to midnight enabled ie /S) would run 
continuously. (#40739)

- FIX: SERIAL channel input conversions will read chars until a terminating char 
is seen, or specified/default width is reached, or 80 chars have been read, 
whichever happens first. So even if width is specified as %90s, it will still 
stop after 80, leaving remaining chars in rxbuf. (#40312)

- FIX: lockup if control characters in serial sensor \m[] match string (#40672)

- FIX: floating point values starting with "." are now recognised by serial
sensor "%f" input action (#40274)

- FIX: serial sensor scansets containing control characters, and negated
scansets containing only a single character (#40277)

- FIX: serial sensor string output action eg "%.9s" now truncates the string
correctly (#40280)

- FIX: serial sensor "0" output flag eg "%09.3f" now works correctly (#40281)

- FIX: Does not now clear job if you format A: (part #40736)

- FIX: logger was not calculating sleep time correctly if no time schedules were 
defined or if the time to next schedule execution was long (>1 hour). This 
caused the logger not to sleep when it should. (#40761)

- FIX: incorrect alarm text was being logged on falling edge of alarm, should be 
"ALARMn FALSE"

- FIX: serial sensor was not capturing latest rx data (including the data that 
triggered a serial schedule) when rx buffer was full. Newly arrived SS data will 
now overwrite old data. (#40766)

- FIX: channel factor was not being recognised for CV channel type (#40763)

- FIX: now returns overrange (99999.9) if R is too large to measure (ie  R>10500 
for I excitation, R>700 for II excitation) (#40744)

- FIX: problem with char following / in an expression not being uppercased

- FIX: problem with heavy ethernet traffic (especially UDP) disrupting memory 
stick operations (#40442)

- FIX: RESET command will now reset the job entry state (#40664)

- FIX: logger will now output a P24 char (CRLF) after schedule ID when /I 
selected (#40468)

- FIX: adjusted gain settings for F channel type to allow for the fact that only 
one amplifier stage is used. F(GL30MV) and F(A,GL300MV) will now give channel 
option error (#40651)

- FIX: crash when channel displayed on LCD and P33 (field width) is non-zero 
(#40666)

- FIX: discontinuity records are no longer logged when schedule rate is changed 
(#40678)

- FIX: widened DT80 100R shunt test limits to +/- 5% (#40688)

- FIX: Subseconds are now preserved when time/date values are converted to 
floating point values, eg assignment to CVs (#40547)

- FIX: DeTransfer unload command now works (#40665)

- FIX: Serial sensor port mode was reverting to RS232 on wakeup (#40773)



Version 5.06, 27 Sep 2005
=========================

First release for DT80

--End--