file: hullcomsst.html
17 Apr 2002

ASIMET HullCom/SST Module System Version 1.x Command Set

See HullCom/SST Module System Description for details of this multi-part module.

See ASIMET MODULE OPERATIONS document for instructions on how to hook up the comms link to your PC and RS-485 adapter.
Refer to Latest Version Information for reference info on latest firmware version numbers.

Note: commands sent are indicated in BOLD, responses in normal text. <crlf> represents ASCII carriage return and line feed; <crlfetx> represents ASCII carriage return, line feed, ETX (03h).

    Command     Description

C Output sea surface temperature data - outputs the running average value for the most recent hour, in degrees C, as follows: degc<crlfetx> - example: #HST01C 13.555<crlfetx> - C language format: "%8.3f\r\n\x03" - IMPORTANT NOTE - the value returned is acquired from the SBE48 via the acoustic modems at some point in the first 15 minutes of the hour as determined by the internal clock (RTC). This acquisition occurs typically within the first minute of the hour, but the system will attempt to get a valid temperature for up to 15 minutes, before making 2 attempts to put the modems to sleep. If the RTC has passed 15 minutes into the hour, and no valid value has been acquired (either by the normal acquisition process or a 'T' command acquisition), the value 0.000 will be returned until the next 1 hour rollover, or a successful 'T' command acquisition. D Set RT clock date/time: 'YYYY/MM/DD HH:MM:SS' - on module startup, the date and time are initialized from the battery-backed RTC on the DS87C530 chip. The 'D' command accepts a fixed format string of exactly 19 characters representing date and time. For example, sending the following command: #HST01D2000/01/18 10:35:15 will set the date to 18 January 2000 at 10:35:15 AM. - the module returns <crlfetx> in acknowledgement. - the time will be set at the instant that the last digit is sent; thus you may enter the module address, command and first 16 characters of the date and time, and finally enter the 19th character in sync with your reference clock. The current date and time may be determined using the 'L' command. H Help - #HST01H - a multiple line response with text similar to the first line of each command description in this document as the help line, with each line terminated <crlf> and final line terminated <crlfetx>, as follows: Firmware HullCommSST v1.1 Module clock 2.4576 Mhz C - Output calibrated data D - Set RT clock date/time: 'YY/MM/DD HH:MM:SS' H - Display Help message I - Report ID information L - Report ID, serial #, cal info, etc. T - Enter test mode U - Update EEPROM constants - password 'OK' I Report ID information - #HST01I - displays the text information stored in EEPROM, with headers as follows, each line terminated in crlf: MODADR: ( 5 bytes text) module address MODMFG: (16 bytes text) module manufacturer MODMOD: (16 bytes text) model number MODSER: ( 8 bytes text) serial number MODDAT: ( 8 bytes text) manufacture date SENMFG: (16 bytes text) sensor manufacturer SENMOD: (16 bytes text) model number SENSER: ( 8 bytes text) serial number SENDAT: ( 8 bytes text) manufacture date SFTMFG: (16 bytes text) program origin SFTNAM: (16 bytes text) program name SFTREV: ( 8 bytes text) serial number SFTDAT: ( 8 bytes text) revision date CALFAC: (16 bytes text) calibration facility CALPER: (16 bytes text) calibration technician CALDAT: ( 8 bytes text) calibration date DATFRM: (64 bytes text) calibrated data output format DATDES: (64 bytes text) calibrated data description DATUNI: (64 bytes text) calibrated data units RAWFRM: (64 bytes text) raw data output format RAWDES: (64 bytes text) raw data description RAWUNI: (64 bytes text) raw data units - the last scan sent is terminated by <crlfetx>. - NOTE: this information resides in EEPROM. Most items are completed at time of manufacturing test, but may be modified using the 'U' command. Only module address is necessary for correct module operation. L Report ID, serial #, cal info, etc. - the 'L' command provides miscellaneous status information about the module in a multi-line response. The number of lines in the response may vary depending upon the EEPROM and PCMCIA card status. Normally, after an initial <crlf>, 6 lines of info are provided, as follows: #HST01L<crlf> module id from EEPROM<crlf> module serial number from EEPROM<crlf> firmware name and version from program EPROM<crlf> crystal frequency from EPROM configuration date from EEPROM<crlf> current date and time<crlf> - example normal response (6 lines plus initial <crlf>): HST01 001 HullCommSST v1.1 2.4576 Mhz 27FEB02 2002/03/07 11:23:35 - the last line is terminated by <crlfetx>. T Enter comms test mode - the test command is designed to test the complete system communications; thus it runs the complete sequence of: modem initialization, SBE48 wakeup, request SBE48 running average temperature, receive and display the SBE48 response. Since the modems run at 20 baud, the sequence is fairly slow. Initial startup, with modems in "training mode", usually results in a couple of retries to establish comms (this will vary depending on the quality (i.e. noisiness) of the acoustic path through the ship). - NOTE that while the SBE48 (which is pre-configured to average and internally log its data) is in "comms mode", it does NOT update the temperature value that is returned. Thus this command is principally used for testing communications. The initial temperature returned is valid at the moment, however. A pause of a couple of minutes before issuing another 'T' command will allow an update and result in a new temperature. - IMPORTANT NOTE On HullCom/SST module power-up, the modems will NOT be put to sleep until the next 1 hour rollover. You should check the internal clock (RTC) with the 'L' command to see how long you have until the new hour. Once the hour rolls over, you will have as little as 1 minute (under clean acoustic conditions) to send a 'T' command before the modems are put to sleep for the hour. Unless you have power control of the modems (it's a battery system...), there is NO way to wake up the modems until their sleep time expires (up to 1 hour). Issuing the 'T' command while the modems are awake holds off sleep for the duration of the current hour. Thus, if you issue a 'T' command at the 1 hour rollover then exit immediately, the module will still attempt to acquire a new temperature for up to 15 minutes, but will NOT put the modems to sleep for that hour. Example 1 - a good test sequence from a cold start: #HST01T Entering test mode...wait! Initializing local modem... Initializing remote modem... BAD response - retrying... Initializing remote modem... NO response - retrying... Initializing remote modem... Waking up SBE48... Requesting temperature (SA)... Parsing response... SST: 22.5404 Initializing local modem... Initializing remote modem... Waking up SBE48... Requesting temperature (SA)... Parsing response... SST: 22.5404 Exiting Test mode - the command terminates on receipt of an ASCII ESC (1Bh) character at any point. Example 2 - modems have been put to sleep for the hour: #HST01T Modems already sleeping! Check clock ('L' command) to see when wake up will occur Exiting test mode... - wait til the 1 hour rollover and try again then... U Update EEPROM contents - enters the update mode after confirmation of 'OK' password. New EEPROM values may be entered in this mode. - upon initial entry, you must send the letters OK after the command or the command is ignored, e.g. #HST01UOK. Upon receipt of the correct password, a set of prompts will be issued to allow entry of new module address, module manufacturer's info, sensor info, software info, calibration facility info, raw and calibrated output format info, display entire info area, and exit with or without update. Note that except for the module address, most of this info is free-format (and some of the info is not applicable to the HullCom/SST module). - the '0' choice for 'Exit without update' leaves the module RAM and EEPROM in its original state. - all responses to prompts must be terminated with <cr>. The final response from the module upon exit is <crlfetx>. NOTE 1: Upon completion, the newly updated module address will not take effect until the next reset or power-up.

Revision history: