PCI Commands
Syntax
PCI_RESET
ABORT_READOUT
BOOT_EEPROM
READ_HEADER
RESET_CONTROLLER
INITIALIZE_IMAGE_ADDRESS
WRITE_COMMAND
Type
24-bit integer
Required Headers
CController.h
Remarks
This Host Command Vector Register ( HCVR ) is used to send commands to the PCI board only. Commands sent through this resister have assigned values and do not represent ascii characters, as do the controller commands. Vector commands generally represent commands that must be executed immediately, thus interrupting the PCI boards processing. Click here for a complete description of the PCI command list.

COMMAND DESCRIPTION VALUE REPLY
PCI_RESET This instructs the PCI board to reset the DSP program counter (PC) back to its initial start position, thus “restarting” the PCI firmware. This command has no arguments. 0x8077 'DON'
ABORT_READOUT Causes the controller to stop an exposure countdown OR readout; depending on what the controller is currently doing. Also stops the PCI board from expecting image data from the controller. This command has no arguments. 0x8079 'DON'
BOOT_EEPROM This instructs the PCI board to ?. 0x807B '?'
READ_HEADER ? 0x81 '?'
RESET_CONTROLLER This instructs the PCI board to instruct the controller to reset itself. This command has no arguments. 0x87 'SYR'
INITIALIZE_IMAGE_ADDRESS This command writes the physical address of the image buffer to the PCI board. The address is written in two 16-bit parts, the first argument for this command is the lower 16-bits and the second argument is the upper 16-bits. 0x91 '?'
WRITE_COMMAND This instructs the PCI board to read and execute all parameters that have been written to the Command Data Register. This is the command that results in the execution of the normal ascii commands. This command has up to six arguments, which are the normal ascii commands and their arguments. See the “Controller Commands” document for a description of the ascii controller commands. 0xB1 '?'
Example
        // Demonstrates how to reset the controller.

        #include <iostream.h>
        #include "CController.h"
        using namespace std;
        using namespace arc;

        CController cController;

        try {
            // .... open driver, initialize, etc ....

            lReply = cController.PCICommand( RESET_CONTROLLER );

            if ( lReply != SYR )
                throw std::runtime_error( "RESET_CONTROLLER failed!" );

            // .... do something else ....
        }
        catch ( std::exception &e )
        {
            cerr << "Exception Occurred: " << e.what() << endl;
        }

© Astronomical Research Cameras, Inc.