DT80/81/85 v7.04 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-A7). This revision of the User's Manual is applicable to version 7.04 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-7040002.dxf for DT80/80G/81/85/85G Series 2 - DT80-7040002-series1.dxf for DT80/81/85 Series 1 - DT80-7040002-videos.dxf for DT80/80G/81/85/85G Series 2, includes enhanced web interface video tutorials ** NOTE: Before starting the upgrade, please ensure that there is at least 10MB free space on the internal disk (type DIR"B:"). (If the DT80-7040002-videos.dxf package is being installed then 45MB of free space is required, assuming that the video tutorials are not already installed.) Note that any mimics created using the previous version of the enhanced web interface will need to be re-created after completing the upgrade. Verifying the upgrade --------------------- After the upgrade has completed, check the version displayed on the LCD display. The top line should read "DT80 V7.04". Alternatively, send the TEST0 command, which should indicate "Version 7.04.0002". Firmware Change History ----------------------- 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--