ASIMET PRECIPITATION MODULE COMMAND SET
The following commands are available on the RS-485 communications link to the PRC module. See "ASIMET MODULE OPERATIONS" document for instructions on how to hook up this link to your PC and RS-485 adapter.
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).
A Address acknowledge - returns address of module, terminated by <crlfetx> - e.g. #PRC01A PRC01<crlfetx> - NOTE: PRC01 is the default address of the PRC module; it may be changed by the 'U' command but any failure of BB_RAM will result in the use of the default address. In the event of BB_RAM failure, a message is sent to the RS- 232 console port on startup. In addition, use of defaults is reported in the 'L' command. B Output both calibrated and raw values - outputs both calibrated and raw data values, as follows: PRC : counts<crlfetx> - example: #PRC01B 26.31 : 2265<crlfetx> - PRC is precipitation level in mm; raw values are 12-bit counts direct from PICPRC front end. - C language format: "%7.2f : %7d\r\n\x03" C Output calibrated data - outputs calibrated value, in mm, as follows: RH% degc<crlfetx> - example: #PRC01C 35.24<crlfetx> - C language format: "%7.1f\r\n\x03" 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 Dallas RTC chip. The 'D' command accepts a fixed format string of exactly 19 characters representing date and time. For example, sending the following command: #PRC01D1996/01/18 10:35:15 will set the date to 18 January 1996 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.
F PCMCIA card access (only if FLASH card installed) - there are 5 'F' commands available for accessing the Intel Type II+ 4 megabyte FLASH memory card used for data storage. These commands allow reading the card contents via the RS-485 command link, storing BB_RAM contents for archival purposes, and FLASH card erasure. - the lowest 128 kilobyte block of the FLASH card is reserved for system information. As of the current revision (VOSPRC v1.0), only stored BB_RAM contents reside here, beginning at byte 257 (100h) and continuing for 1024 bytes (4FFh). The rest of the 128 kilobyte block reads as all FFh. This block may be erased without affecting data stored in the rest of the FLASH card. FB - Read any 512 byte block, hex - any 512 byte block from 1 to 8192 may be chosen as the starting block. Block 1 is the default starting point. - blocks are formatted as 32 bytes (64 ASCII characters) of HEX-ASCII per line by 16 lines per 512 byte block. - example (default start block - note BB_RAM info stored by 'FS'): #PRC01FB Start block #  -> (hit ENTER here for default) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF57484F492F47454F464600FFFFFFFFFF4D4B3100FFFFFFFF FFFFFFFFFFFFFFFF30303100FFFFFFFF31354D415239350041495200FFFFFFFF FFFFFFFFFFFFFFFF53422D324100FFFFFFFFFFFFFFFFFFFF2D00FFFFFFFFFFFF 2D00FFFFFFFFFFFF47454F464600FFFFFFFFFFFFFFFFFFFF5454384250520000 FFFFFFFFFFFFFFFF312E3100FFFFFFFF30344150523935002D00FFFFFFFFFFFF 2D00FFFFFFFFFFFFFFFFFFFFFFFFFFFF2D00FFFFFFFFFFFFFFFFFFFFFFFFFFFF 4E4F2043414C00FF425052303100FFFF25372E326600FFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF - to read the next block, hit ENTER. - to quit, hit X followed by ENTER. - Note 1: Blocks 1, 2, and 3 contain the 1024 bytes of BB_RAM image, if written by the 'FS' command below. The BB_RAM image begins at the middle of block 1 and ends in the middle of block 3. - Note 2: The first DATA record is written at block 257 (above the first 128 Kbyte reserved system info area at card physical address 20000h). FR - Read data record, formatted - any 256 byte record from 1 to 15872 may be chosen as the starting record. Record 1 is the default starting point. - records are formatted as 1 line of date and time followed by 60 minutes of PRC readings in mm sent as 10 lines of 6 minutes each. Readings occur on the minute, beginning with minute 0 and ending at minute 59, with the record written to the FLASH card at 59 minutes, 01 seconds of each hour. - example (default start record): #PRC01FR Start record # -> 1996/01/09 09:59:00 21.53 21.50 21.50 21.53 21.53 21.50 21.50 21.50 21.45 21.42 21.45 21.45 21.55 21.53 21.55 21.55 21.55 21.45 21.55 21.58 21.55 21.60 21.53 21.55 21.53 21.50 21.45 21.53 21.58 21.60 21.62 21.60 21.55 21.50 21.53 21.48 21.58 21.58 21.50 21.48 21.48 21.53 21.45 21.48 21.50 21.50 21.48 21.45 21.50 21.42 21.40 21.38 21.42 21.45 21.45 21.45 21.40 21.38 21.38 21.33 - to read the next record, hit ENTER. - to quit, hit X followed by ENTER. - Note 1: values of ??? indicates no reading was available from the PICPRC for that minute; each minute's data is placed at a fixed location in the storage array corresponding to the minute when the data was acquired. Values of Na indicates an unused portion of the FLASH card has been accessed. This value corresponds to the all FFh condition of the erased FLASH card. - Note 2: The first data record is written at block 257 (above the first 128 Kbyte reserved system info area at card physical address 20000h). Using the 'FB' command above and selecting block 257 as the start block, you may inspect the packed binary format of the data at record 1. Since each block is 512 bytes long, you will see data from 1 records at a time. - See document PRCFLASH for FLASH card internal storage format. FS - Store BB_RAM constants - on startup, 1024 bytes of the BB_RAM are read into system RAM and mapped onto a data structure of miscellaneous system information and calibration constants. This area of system RAM may be modified using the 'U' command, and the BB_RAM may then be re-written with the modified information. As an additional backup for possible data processing use later, this information may also be written out, in binary format, to the system/info area of the FLASH memory card. - example: #PRC01FS System info written to PCMCIA<crlfetx> - NOTE: The system/info area must be erased prior to each use of the 'FS' command. - the system area may be read in HEX-ASCII format by reading blocks 1, 2, and 3 with the 'FB' command above, or as part of the binary dump of the entire FLASH card using the 'XMODE' command below. - See document PRCFLASH for FLASH card internal storage format.
FE - Erase entire card (Y/N) - use ONLY if you wish to erase the entire FLASH card. This command takes several seconds to complete. After each 128 Kbyte block erase, a dot (.) is sent, followed by a "Cleared" message when done. - upon entry, you are prompted "Do you really want to erase? Y/[N]" The default response is NO; in fact any response other than uppercase Y will abort with "Aborting<crlfetx>". - example: #PRC01FE Do you really want to erase? Y/[N]<crlf> Y Erasing Flash Card................................<crlf> Cleared<crlfetx> - upon completion, the next hour record will be written at record 1. FI - Erase system/info area (Y/N) - this command allows erasure of the system area ONLY, and in particular, the BB_RAM info stored with the 'FS' command above. The data area will NOT be erased by this command. - upon entry, you are prompted "Do you really want to erase system info? Y/[N]" The default response is NO; in fact any response other than uppercase Y will abort with "Aborting<crlfetx>" - example: #PRC01FI Do you really want to erase system info? Y/[N]<crlf> Y Erasing...System info cleared<crlfetx> H Help - #PRC01H - 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: A - Address acknowledge B - Output both raw and cal C - Output calibrated data D - Set RT clock date/time: 'YY/MM/DD HH:MM:SS' F - PCMCIA card access FB - Read any block, hex FR - Read data record, formatted FS - Store BB_RAM constants FE - Erase entire card (Y/N) FI - Erase system/info area (Y/N) H - Display Help message I - Report ID information L - Report ID, serial #, cal info, etc. P - Enter polled test mode R - Output raw data T - Enter test mode U - Update BB_RAM constants - password 'OK' XMODE - XMODEM Dump PCMCIA card via console Note: 'F' and 'XMODE' not present unless FLASH card is installed
I Report ID information - #PRC01I - displays the text information stored in BB_RAM, 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>. 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 battery-backed RAM and PCMCIA card status. Normally, after an initial <crlf>, 8 lines of info are provided, as follows: #PRC01L<crlf> module id from BB_RAM<crlf> module serial number from BB_RAM<crlf> firmware name and version number from program FLASH EPROM<crlf> crystal frequency from EPROM calibration date from BB_RAM<crlf> current date and time<crlf> PRC cal constants A, B, C, D if PCMCIA card installed - PCMCIA card status<crlf> PCMCIA card 1 hour records used, available<crlfetx> - example normal response (8 lines plus initial <crlf>): PRC01 001 VOS51PRC v1.0 2.4576 Mhz NO CAL 95/04/10 11:23:35 PRC: 0.00000e+00 2.40000e-02 0.00000e+00 0.00000e+00 PCMCIA CARD present - CARD OK! Records used: 125; available: 7811 - the last line is terminated by <crlfetx>. P Enter polled test mode - responds with individual scans of data in the 'B' command response format, except <crlf> terminator only. Upon receipt of any character except ESC, another scan of PRC data is sent. For example: #PRC01P 24.62 : 2065<crlfetx> send <cr> (or other character) 24.62 : 2065<crlf> send <cr> (or other character) 24.62 : 2065<crlf> . . - the command terminates on receipt of an ASCII ESC (1Bh) character. The last scan sent is terminated by <crlfetx>. R Output raw value (currently same as 'B' command) - outputs both calibrated and raw data values, as follows: RH% degc : counts counts<crlfetx> - example: #PRC01R 24.75 : 2075<crlfetx> - C language format: "%7.2f : %7d\r\n\x03" - raw data is directly from PICPRC front end. T Enter test mode - responds with continuous scans of data in the 'B' command response format, except <crlf> terminator only. For example: #PRC01T 24.75 : 2075<crlf> 24.75 : 2075<crlf> 24.75 : 2075<crlf> 24.75 : 2075<crlf> . . - the command terminates on receipt of an ASCII ESC (1Bh) character. The last scan sent is terminated by <crlfetx>. U Update BB_RAM contents - enters the update mode after confirmation of 'OK' password. New BB_RAM 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. #PRC01UOK. 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, up to 8 sets of calibration constants, display entire info area, and exit with or without update. - the '0' choice for 'Exit without update' leaves the module RAM and BB_RAM 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. XMODE XMODEM Dump PCMCIA card via console --- only if FLASH card installed --- --- description TBD ---