file: vprc3cmd.html
22 Mar 2004

ASIMET PRECIPITATION MODULE VERSION 3.xx COMMAND SET

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: this module uses the VOSHPS type of sensor front-end. All PRC modules built after 1 Oct 98 will use this sensor front-end. Also reference the VOSHPS Front-End Module Command Set document.

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


        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 
                EEPROM will result in the use of the default address.  In 
                the event of EEPROM 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 : 38265<crlfetx>
                - PRC is precipitation level in mm; raw values are 16-bit 
                counts.
                - C language format: "%7.2f : %7u\r\n\x03"
        
        C       Output calibrated data
                - outputs calibrated value, in mm, as follows:
                PRC Level in mm<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 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:
        
                        #PRC01D2000/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.

        F       PCMCIA card access (only if FLASH card installed)
                - there are 5 'F' commands available for accessing the
                4 or 8 megabyte FLASH memory card used for data 
                storage.  These commands allow reading the card contents 
                via the RS-485 command link, storing EEPROM 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 (VOSPRC53 v3.1), only stored EEPROM 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 EEPROM info stored by 
                'FS'):
                #PRC01FB
                Start block # [1] ->            (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 
                EEPROM image, if written by the 'FS' command below.  The 
                EEPROM 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 # -> 
                2000/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 VOSHPS 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 FLASH Record Format for FLASH card internal storage format.
         
           FS - Store EEPROM constants
                - on startup, 1024 bytes of the EEPROM 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 EEPROM 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 FLASH Record Format 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 EEPROM 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:
        
                Firmware VOSPRC53 V3.1
                Module clock 2.4576 Mhz
                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 EEPROM 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 EEPROM 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 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'pdate 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>,
		8 lines of info are provided, as follows:
        
                #PRC01L<crlf>
                module id from EEPROM<crlf>
                module serial number from EEPROM<crlf>
                firmware name and version number from program EPROM<crlf>
                crystal frequency from EPROM
                calibration date from EEPROM<crlf>
                current date and time<crlf>
                PRC cal constants A, B, C, D
                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
                VOSPRC53 v3.1
                2.4576 Mhz
                NO CAL
                99/04/10 11:23:35
                PRC:  0.00000e+00  2.40000e-02  0.00000e+00  0.00000e+00
                EDI Intel-compatible 8MB PCMCIA CARD present - CARD OK!
                Records used: 125; available: 7811
        
                - the last line is terminated by <crlfetx>.
                - NOTE 1: after initial startup, cal constants (which reside in
                the VOSHPS sensor front-end) will not be displayed.  The message
                "Use 'Q'uery command to get constants from VOSHPS front end" will
                be displayed.  See 'Q' command below.
                - NOTE 2: if an Intel Type 2+ 4MB PCMCIA card is installed, the
                card present line will display:
                        Intel Type 2+ 4MB PCMCIA CARD present - CARD OK!
                - NOTE 3: if no PCMCIA card present, the last two lines will be
                replaced by "No PCMCIA card installed" message.
                 
        P       Enter polled test mode
                - responds with individual scans of data (see 'T' command
		below for 2 possible command response formats (depending on TFLAG value). 
		Followed by <crlf> terminator only. Upon receipt of any character 
		except ESC, another scan of PRC data is sent.  For example, if TFLAG = 0:
        
                #PRC01P 38065 : 24.62<crlfetx>
                        send <cr> (or other character)
                38065 : 24.62<crlf>
                        send <cr> (or other character)
                38065 : 24.62<crlf>
                .
                . 
                - the command terminates on receipt of an ASCII ESC (1Bh) 
                character. The last scan sent is terminated by <crlfetx>.

        Q       Query command retrieves cal constants from VOSHPS sensor front-end.
                - this command will take several seconds to execute; it must
                power up the VOSHPS board, wait for VOSHPS initialization, then
                request a set of cal constants.
                - the message "Requesting cal constants - " will be displayed
                immediately.  After the above noted delays, the message "OK!"
                will be appended if successful, "FAILED!" if not successful.
                - example: #PRC01Q Requesting cal constants - OK!
 
        R       Output raw value
                - outputs raw data values, as follows:
                counts<crlfetx>
                - example: #PRC01R 38075<crlfetx>
                - C language format: "%7u\r\n\x03"
        
        T       Enter test mode
                - responds with continuous scans of data in 2 possible formats,
		depending on the setting of the TFLAG under 'Software Information'
		in the UOK command ->

		1> for TFLAG = 1 -> Level in mm, raw counts, followed by <crlf> terminator only.
		(this is the 'B' command response format).
                For example:

                #PRC01T 24.75: 38075<crlf>
                24.75 : 38075<crlf>
                24.75 : 38075<crlf>
                .

		2> for TFLAG = 0 -> Raw counts : Level in mm, followed by <crlf> terminator only.
		(NOTE: this is NOT the 'B' command response format).
                For example:

                #PRC01T 38075 : 24.75<crlf>
                38075 : 24.75<crlf>
                38075 : 24.75<crlf>
                .

                - the command terminates on receipt of an ASCII ESC (1Bh) 
                character. The last scan sent is terminated by <crlfetx>.
        
        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. #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, VOSHPS calibration constants, 
                display entire info area, and exit with or without 
                update.
                - the '0' choice for 'Exit without update' leaves the module 
                RAM and EEPROM in its original state.
		- the '4' choice for 'Software Information' now includes 2 parameters
		related to operation.  The 'ONTIME' value may be set from 1 to 30 
		seconds of front-end board ON time.  This allows for precipitation
		gauge output stabilization before a reading is taken.  The 'TFLAG'
		parameter determines the order of cal/raw data output in the 'T'
		command.  A 1 sets for cal/raw order (normal ASIMET 'B' command
		output format), a 0 sets for raw/cal order (as in older Precip
		software versions).
                - the '8' choice for 'Enter VOSHPS cal constants' passes commands
                through the PRC C51 logger board to the VOSHPS sensor front-end 
                board vis RS-485.  There are some startup delays while the VOSHPS
                is powered up, as well as some half-duplex comms delays.  After 
                selecting '8' from the menu, it will take several seconds to get 
                the 'OK' prompt from the VOSHPS (if it fails to respond, try again
                after the menu re-displays).  At the OK prompt, you may read existing
                or write new cal constants only.  Unrecognized commands will result in
                a 'Bad command' response.  If you get stuck, enter 'Q' to quit VOSHPS
                update without making any changes.  For complete details on the 
                VOSHPS EEPROM Update command, see the document 
                "VOSHPS Front-End Module Command Set". 
                - 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 in RS232 mode only;
                   (only if FLASH card installed)

                The following description assumes PCPLUS for terminal software, 
                but any terminal program capable of XMODEM transfer should work.

                On entry, the module will prompt:
                  Set terminal speed for 38400 then hit any key

                After setting speed and hitting a key, you will see:
                  XMODEM Send Function
                  Waiting for start...

                Start a transfer (PgDn in PCPLUS) - on completion, you will see:
                  Sent 89 blocks - done
                  Restore terminal speed to 9600 then hit any key

                After resetting speed to 9600 baud and hitting a key, the module
                will send a "\r\n"

                Ignore occasional gibberish when changing baud rates!

                Note:  Only data record portion of FLASH card is dumped via 
                XMODEM;  See FLASH Record Format.


Revision history: