Developer Application Interface (ARC API) v4.5.8
ARC, Inc. GenIV Application Interface
arc::gen4 Namespace Reference

Namespaces

namespace  fits
 
namespace  image
 

Classes

struct  arcDev_t
 
class  CArcAlertPacket
 
class  CArcBase
 
class  CArcBoardMap
 
class  CArcCommandPacket
 
class  CArcDebugStreamBuffer
 
class  CArcDevice
 
class  CArcDisplay
 
class  CArcDLoadPacket
 
class  CArcFitsFile
 
class  CArcImage
 
class  CArcImageAssembler
 
class  CArcImagePacket
 
class  CArcLog
 
class  CArcPacket
 
class  CArcPacketFactory
 
class  CArcPCIeBase
 
class  CArcStatusPacket
 
class  CArcStringList
 
class  CArcSystem
 
class  CArcTimer
 
class  CArcVersion
 
struct  commonBuffer_t
 
struct  imageAssemblerChannels_t
 
struct  imageBuffer_t
 
struct  imageDataHeader_t
 
struct  imagePacketHeader_t
 
struct  packetHeader_t
 
struct  throwArcGen4OutOfRange
 
struct  throwFormat_t
 

Concepts

concept  uint32Type
 

Typedefs

using pStringList_t = std::unique_ptr< arc::gen4::CArcStringList >
 
using pSysState_t = std::shared_ptr< sysState_t >
 
using pImageBuffer_t = std::shared_ptr< arc::gen4::imageBuffer_t >
 
using commonBufferList_t = std::array< std::unique_ptr< arc::gen4::commonBuffer_t >, iCommonBufferListCount >
 
using pCommonBufferList_t = std::unique_ptr< commonBufferList_t >
 
using pStatusPacket_t = std::unique_ptr< arc::gen4::CArcStatusPacket >
 
using exposeListener_t = std::function< void(float)>
 
using readListener_t = std::function< void(std::uint32_t, float)>
 
using alertHandler_t = std::function< void(const std::string &)>
 ‍** Convenience ( compact ) definition for command log handler More...
 
using fileProgressListener_t = std::function< void(const std::uint32_t, const std::uint32_t)>
 
using savePacketsTuple_t = std::tuple< bool, const std::string, arc::gen4::packetFileType_e >
 
using pImageAssembler_t = std::shared_ptr< arc::gen4::CArcImageAssembler >
 
using dataSection_t = std::pair< imageDataHeader_t *, std::uint16_t * >
 
typedef std::queue< std::string >::size_type qsize_t
 
using pLogger_t = std::weak_ptr< arc::gen4::CArcLog >
 
using arcDevHandle_t = HANDLE
 
using versionUpdateData_t = std::pair< float, std::int32_t >
 

Enumerations

enum class  cmds_e : const std::uint32_t {
  DONE = _u32( 0x444F4E45 ) , EROR = _u32( 0x45524F52 ) , REDO = _u32( 0x5245444F ) , BUSY = _u32( 0x42555359 ) ,
  IVPF = _u32( 0x49565046 ) , TOUT = _u32( 0x544F5554 ) , ROUT = _u32( 0x524F5554 ) , STOP = _u32( 0x53544F50 ) ,
  CRDY = _u32( 0x43524459 ) , TDL = _u32( 0x0054444C ) , GCC = _u32( 0x00474343 ) , GCA = _u32( 0x00474341 ) ,
  GCVA = _u32( 0x47435641 ) , GSS = _u32( 0x00475353 ) , GBMP = _u32( 0x47424D50 ) , GAMP = _u32( 0x47414D50 ) ,
  DIM = _u32( 0x0044494D ) , SEX = _u32( 0x00534558 ) , RET = _u32( 0x00524554 ) , PEX = _u32( 0x00504558 ) ,
  CET = _u32( 0x00434554 ) , REXM = _u32( 0x5245584D ) , EXM = _u32( 0x0045584D ) , SYN = _u32( 0x0053594E ) ,
  GPXC = _u32( 0x47505843 ) , AVC = _u32( 0x00415643 ) , DVC = _u32( 0x00445643 ) , EVC = _u32( 0x00455643 ) ,
  GVPC = _u32( 0x47565043 ) , AMC = _u32( 0x00414D43 ) , SSA = _u32( 0x00535341 ) , EBTL = _u32( 0x4542544C ) ,
  RDBT = _u32( 0x52444254 ) , RDT = _u32( 0x00524454 ) , RDTC = _u32( 0x52445443 ) , EPCL = _u32( 0x4550434C ) ,
  RPSC = _u32( 0x52505343 ) , RFM = _u32( 0x0052464D ) , WFM = _u32( 0x0057464D ) , EFM = _u32( 0x0045464D ) ,
  LEDS = _u32( 0x4C454453 ) , RTSG = _u32( 0x52545347 ) , EDBL = _u32( 0x4544424C ) , RWDC = _u32( 0x52574443 ) ,
  RRV = _u32( 0x00525256 ) , GSSM = _u32( 0x4753534D ) , BRI = _u32( 0x00425249 ) , RWTR = _u32( 0x52575452 ) ,
  WTD = _u32( 0x00575444 ) , RWWG = _u32( 0x52575747 ) , RVR = _u32( 0x00525652 ) , WVD = _u32( 0x00575644 ) ,
  SHUT = _u32( 0x53485554 ) , IIA = _u32( 0x00494941 ) , CIB = _u32( 0x00434942 )
}
 
enum class  IOCtrlCode_e : std::uint32_t {
  READ_BAR = 0x01 , READ_BAR64 , WRITE_BAR , WRITE_BAR64 ,
  READ_CFG_8 , READ_CFG_16 , READ_CFG_32 , READ_CFG_64 ,
  WRITE_CFG_8 , WRITE_CFG_16 , WRITE_CFG_32 , MEM_MAP ,
  MEM_UNMAP , COMMONBUFFER_PA , COMMONBUFFER_SIZE , COMMONBUFFER_RING_BUFFERS
}
 
enum class  errorCodes_e : std::uint32_t {
  eNoError = 0 , eInvalidParameterCount , eInvalidParameter , eRangeError ,
  eTimeOut , eExecutionError , eCommandNotFound , eInvalidBoardNumber ,
  eInvalidDimenForColsPerChan , eErrorCodeCount
}
 
enum class  flashMemoryId_e : std::uint32_t {
  FLASH_MEMORY_FIRMWARE_BLOCK_ID = 0 , FLASH_MEMORY_MAC_ADDR_BLOCK_ID , FLASH_MEMORY_NETWORK_BLOCK_ID , FLASH_MEMORY_ID_BLOCK_ID ,
  FLASH_MEMORY_USER_BLOCK_ID , FLASH_MEMORY_CHIP_ID
}
 
enum class  synImgSource_e : std::uint32_t { eNone = 0 , eARC420 , eARC440_GRADIENT , eARC440_NOISE }
 
enum class  processPriority_e {
  RealTime , High , AboveNormal , Normal ,
  Other
}
 
enum class  packetFileType_e : std::uint32_t { text , binary }
 

Functions

template<typename... Args>
void throwArcGen4Error (const throwFormat_t<> tFormat, Args &&... args)
 
template<typename... Args>
void throwArcGen4InvalidArgument (const throwFormat_t<> tFormat, Args &&... args)
 
template<typename... Args>
void throwArcGen4LengthError (throwFormat_t<> tFormat, Args &&... args)
 
GEN4_CARCDEVICE_API const std::string sysStateToString (pSysState_t pSysState)
 
std::ostream & operator<< (std::ostream &tStream, const arc::gen4::CArcImagePacket &rPacket)
 

Variables

constexpr auto ARC440_INVALID_CHANNEL_ADDRESS = _u32( 0x00000099 )
 
constexpr std::uint32_t BAR = 2
 
constexpr std::uint32_t DEVICE_CLEAR_SEND_RECV_REG = 0x2F0
 
constexpr std::uint32_t DEVICE_CLEAR_SEND_RECV = 1
 
constexpr std::uint32_t DEVICE_PIXEL_COUNTER_REG = 0x40
 
constexpr std::uint32_t DEVICE_RESET_PIXEL_COUNTER_REG = 0x220
 
constexpr std::uint32_t DEVICE_RESET_PIXEL_COUNTER = 1
 
constexpr std::uint32_t DEVICE_BUFFER_0_BYTES_RECVD_REG = 0x320
 
constexpr std::uint32_t DEVICE_BUFFER_0_STATUS_REG = 0x340
 
constexpr std::uint32_t DEVICE_BUFFER_1_BYTES_RECVD_REG = 0x330
 
constexpr std::uint32_t DEVICE_BUFFER_1_STATUS_REG = 0x350
 
constexpr std::uint32_t DEVICE_BUFFER_STATUS_DIRTY_MASK = 1
 
constexpr std::uint32_t DEVICE_BUFFER_STATUS_CLEAN_MASK = 1
 
constexpr std::uint32_t DEVICE_BUFFER_STATUS_COMPLETE_MASK = 2
 
constexpr std::uint32_t DEVICE_BUFFER_STATUS_OVERFLOW_MASK = 4
 
constexpr std::uint32_t DEVICE_BUFFER_STATUS_CLEAR = 7
 
constexpr std::uint32_t DEVICE_STATUS_REG = 0x100
 
constexpr std::uint32_t DEVICE_STATUS_ALERT_MASK = 0x2
 
constexpr std::uint32_t DEVICE_STATUS_IMAGE_ADDRESS_ERROR_MASK = 0x80
 
constexpr std::uint32_t DEVICE_ALERT_PACKET_REG = 0x2000
 
constexpr std::uint32_t CLEAR_IMAGE_ADDRESS_ERROR = 4
 
const std::array< const std::string, static_cast< size_t >(errorCodes_e::eErrorCodeCount)> sErrorCodeDetails
 
constexpr auto iCommonBufferListCount = 2
 
constexpr auto ARC_CTRL_ID = 33460
 
constexpr auto MAP_FAILED = ( uint8_t* )0
 
constexpr auto ARC_MAX_PATH = _MAX_PATH
 

Typedef Documentation

◆ pStringList_t

using arc::gen4::pStringList_t = typedef std::unique_ptr<arc::gen4::CArcStringList>

Convenience ( compact ) definition for common buffer list pointer

Definition at line 177 of file CArcStringList.h.

◆ pSysState_t

using arc::gen4::pSysState_t = typedef std::shared_ptr<sysState_t>

Convenience ( compact ) definition for a shared pointer to the system state type

Definition at line 28 of file ArcSysState.h.

◆ pImageBuffer_t

using arc::gen4::pImageBuffer_t = typedef std::shared_ptr<arc::gen4::imageBuffer_t>

Convenience ( compact ) definition for image buffer type pointer

Definition at line 95 of file CArcDevice.h.

◆ commonBufferList_t

Convenience ( compact ) definition for common buffer list

Definition at line 123 of file CArcDevice.h.

◆ pCommonBufferList_t

using arc::gen4::pCommonBufferList_t = typedef std::unique_ptr<commonBufferList_t>

Convenience ( compact ) definition for common buffer list pointer

Definition at line 127 of file CArcDevice.h.

◆ pStatusPacket_t

using arc::gen4::pStatusPacket_t = typedef std::unique_ptr<arc::gen4::CArcStatusPacket>

Convenience ( compact ) definition for status packet pointer

Definition at line 136 of file CArcDevice.h.

◆ exposeListener_t

using arc::gen4::exposeListener_t = typedef std::function<void( float )>

Convenience ( compact ) definition for expose listener

Parameters
firstParam- The current elapsed exposure time in seconds

Definition at line 141 of file CArcDevice.h.

◆ readListener_t

using arc::gen4::readListener_t = typedef std::function<void( std::uint32_t, float )>

Convenience ( compact ) definition for readout listener

Parameters
firstParam- The current pixel count
secondParam- The current read time in seconds

Definition at line 148 of file CArcDevice.h.

◆ alertHandler_t

using arc::gen4::alertHandler_t = typedef std::function<void( const std::string& )>

‍** Convenience ( compact ) definition for command log handler

Convenience ( compact ) definition for alert handler

Parameters
firstParam- Alert message

Definition at line 160 of file CArcDevice.h.

◆ fileProgressListener_t

using arc::gen4::fileProgressListener_t = typedef std::function<void( const std::uint32_t, const std::uint32_t )>

Convenience ( compact ) definition for optional alert function Convenience ( compact ) definition for file progress listener

Parameters
firstParam- The number of bytes read
secondParam- The total number of bytes expected

Definition at line 174 of file CArcDevice.h.

◆ savePacketsTuple_t

using arc::gen4::savePacketsTuple_t = typedef std::tuple<bool, const std::string, arc::gen4::packetFileType_e>

Save packets tuple types

Parameters
firstParam- Set to true to enable saving image packets, false to disable.
secondParam- The filename for the saved packet data. May be empty string ("") if previously set and only want to enable or disable the packet saving. Non-empty value will update the current filename. (default: "")
thirdParam- The data file format, text or binary, as defined by arc::gen4::packetFileType_e. Packets are only revoverable from binary files. (default: text)

Definition at line 54 of file CArcImageAssembler.h.

◆ pImageAssembler_t

Convenience ( compact ) definition for image assembler pointer

Definition at line 181 of file CArcImageAssembler.h.

◆ dataSection_t

using arc::gen4::dataSection_t = typedef std::pair<imageDataHeader_t*, std::uint16_t*>

Convenience ( compact ) definition for image packet data section.

Parameters
param1- Image data header pointer.
param2- Image pixel data pointer.

Definition at line 54 of file CArcImagePacket.h.

◆ qsize_t

typedef std::queue<std::string>::size_type arc::gen4::qsize_t

Defines the API logging queue size type

Definition at line 39 of file CArcLog.h.

◆ pLogger_t

using arc::gen4::pLogger_t = typedef std::weak_ptr<arc::gen4::CArcLog>

Convenience ( compact ) definition for log pointer

Definition at line 162 of file CArcLog.h.

◆ arcDevHandle_t

using arc::gen4::arcDevHandle_t = typedef HANDLE

System dependent device handle

Definition at line 53 of file CArcSystem.h.

◆ versionUpdateData_t

using arc::gen4::versionUpdateData_t = typedef std::pair<float, std::int32_t>

Version update data type.

Parameters
firstParam- Major version number. Example: 4.5
secondParam- Minor version number. Example: 2

Definition at line 32 of file CArcVersion.h.

Enumeration Type Documentation

◆ cmds_e

enum class arc::gen4::cmds_e : const std::uint32_t
strong
Enumerator
DONE 

Command completed successfully

EROR 

Command error

REDO 

Resend last command

BUSY 

Controller is busy

IVPF 

Command has invalid packet format

TOUT 

Command timed-out; no reply

ROUT 

Controller is sending image data

STOP 

Stop the current exposure/readout

CRDY 

Controller ready. Usage: CRDY

TDL 

Test data link to controller. Usage: TDL <number>

GCC 

Get command count. Usage: GCC <'L' for local>

GCA 

Get command at a specific index. Returns command name and description as a string. Example: "description | name and args". Usage: GCA <index> <'L' for local>

GCVA 

Get command value at a specific index. Returns the command ASCII value. Example: 0x0054444C. Usage: GCVA <index> <'L' for local>

GSS 

Get system state. See arc::gen4::sysState_t. Usage: GSS

GBMP 

Get board map. Returns bits 31-28: board number, 27-0: board product number. Invalid board value: 0x03FF0000. Example: ARC-420 timing board returns 0x80000420. Usage: GBMP

GAMP 

Get address map. Returns list of slot (board number), SPI register address and temperature register address for each board. Usage: GAMP

DIM 

Get or set image dimensions. Usage: DIM [<columns> <rows>]

SEX 

Start an exposure. Usage: SEX <exposure time, 10s of usec>

RET 

Read elapsed exposure time ( 10s of usec ). Usage: RET

PEX 

Pause exposure. Usage: PEX <exposure time, ms>

CET 

Change exposure time. Usage: CET <10s of usec>

REXM 

Read expose mode list

EXM 

Enable expose mode

SYN 

Enable/Disable synthetic image. Usage: SYN <synImgSource_e mode> <0 or 1>

GPXC 

Get pixel count. Usage: GPXC

AVC 

Assign ARC-440 virtual channel(s). <virtToPhys> bits 23-16: physical channel, Bits 15-0: virtual channel. Usage: AVC <boardNumber> [<enableBits> <virtToPhy 0> ...]

DVC 

Assign the default ARC-440 virtual channel(s). Usage: DVC

EVC 

Enable ARC-440 video channel(s). Each bit represents one channel. Usage: EVC <boardNumber> [<enable bits>]

GVPC 

Get ARC-440 video pixel counts (for debug only). Usage: GCA <index> <'L' for local>

AMC 

Set ARC-440 ADC mode bits ( = 0x4 -> ADC test pattern ). Usage: AMC <boardNumber> <4-bit value>

SSA 

Set ARC-440 signal averaging. Usage: SSA <1-255>

EBTL 

Enable board temperature loop. Must be enabled to read board temperatures. Usage: EBTL <enable>

RDBT 

Read board temperature. Usage: RDBT <boardNumber>

RDT 

Read detector temperature. Usage: RDT <channel number>

RDTC 

Read detector temperature configuration. Usage: RDTC

EPCL 

Enable power supply current loop. Must be enabled to read power supply currents. Usage: EPCL <enable>

RPSC 

Read power supply currents. Usage: RPSC

RFM 

Read flash memory. Usage: RFM <boardNumber> <address>

WFM 

Write flash memory. Usage: WFM <boardNumber> <address> <count> <data>

EFM 

Erase flash memory. Usage: EFM <boardNumber> <block id>

LEDS 

Enable/Disable board LEDs. Usage: LEDS <1 for On, 0 for Off>

RTSG 

Read test global

EDBL 

Enable clock driver DC bias loop. Must be enabled to read ARC-430 DC bias values. Usage: EDBL <boardNumber> <enable>

RWDC 

Read/Write clock driver DC bias. Usage: RWDC <boardNumber> <channelNumber> [<voltage>]

RRV 

Read clock driver reference voltages. Usage: RRV <boardNumber>

GSSM 

Get/Set synchronization mode. Usage: GSSM [<primary = 0 or secondary = 1>]

BRI 

Board revision info. Usage: BRI <boardNumber>

RWTR 

Read/Write ARC-420 register. Usage: RWTR <reg addr> [<number>]

WTD 

Write ARC-420 DAC value. Usage: WTD <DAC#> <number> [<DAC#> <number>]

RWWG 

Read/Write waveform generator table. Usage: RWWG <address> [<number>]

RVR 

Read ARC-440 register. Usage: RVR <boardNumber> <reg addr> <optional arg>

WVD 

Write ARC-440 offset DAC. Usage: WVD <boardNumber> <16-bit value>

SHUT 

Control the shutter. Usage: SHUT <1 to open, 0 to close>

IIA 

Initialize image address ( private PCIe command ). Usage: IIA <pixel count>

CIB 

Clear image buffer ( private PCIe command ). Usage: CIB

Definition at line 39 of file ArcCommandDefs.h.

◆ IOCtrlCode_e

enum class arc::gen4::IOCtrlCode_e : std::uint32_t
strong

ARC-460 device I/O control command codes

Enumerator
READ_BAR 

Read any base address register

READ_BAR64 

Read 64-bits from any base address register

WRITE_BAR 

Write any base address register

WRITE_BAR64 

Write 64-bits to any base address register

READ_CFG_8 

Read a byte from any PCI(e) configuration space register

READ_CFG_16 

Read a word from any PCI(e) configuration space register

READ_CFG_32 

Read a dword from any PCI(e) configuration space register

READ_CFG_64 

Read a qword from any PCI(e) configuration space register

WRITE_CFG_8 

Write a byte to any PCI(e) configuration space register

WRITE_CFG_16 

Write a word to any PCI(e) configuration space register

WRITE_CFG_32 

Write a dword to any PCI(e) configuration space register

MEM_MAP 

(Windows Only) Map the common buffer

MEM_UNMAP 

(Windows Only) Un-Map the common buffer

COMMONBUFFER_PA 

Read the common buffer physical address

COMMONBUFFER_SIZE 

Read the common buffers actual size (not mapped size)

COMMONBUFFER_RING_BUFFERS 

Read the common ring buffer VA, PA and size for all buffers in the ring

Definition at line 88 of file ArcDeviceIOControl.h.

◆ errorCodes_e

enum class arc::gen4::errorCodes_e : std::uint32_t
strong
Enumerator
eNoError 

No or unknown error

eInvalidParameterCount 

Invalid parameter count. Too few or too many parameters.

eInvalidParameter 

Invalid parameter value(s)

eRangeError 

Parameter falls out of the expected range

eTimeOut 

An execution timeout occurred

eExecutionError 

An execution error occurred

eCommandNotFound 

Command not found or supported by controller

eInvalidBoardNumber 

Invalid board number

eInvalidDimenForColsPerChan 

Image dimensions invalid for current columns-per-channel

eErrorCodeCount 

The total number of error codes within this enumeration

Definition at line 51 of file ArcErrorDefs.h.

◆ flashMemoryId_e

enum class arc::gen4::flashMemoryId_e : std::uint32_t
strong
Enumerator
FLASH_MEMORY_FIRMWARE_BLOCK_ID 

The flash memory firmware storage block [address 0 to 0x2FFFF]

FLASH_MEMORY_MAC_ADDR_BLOCK_ID 

The flash memory MAC block (networking version only) [address 0x30000 to 0x30FFF]

FLASH_MEMORY_NETWORK_BLOCK_ID 

The flash memory network IP and port block (networking version only ) [address 0x31000 to 0x31FFF]

FLASH_MEMORY_ID_BLOCK_ID 

The flash memory factory set ID block (read only) [address 0x32000 to 0x32FFF]

FLASH_MEMORY_USER_BLOCK_ID 

The flash memory user block. The user may write anything to this block. [address 0x38000 to 0x3FFFF]

FLASH_MEMORY_CHIP_ID 

Refers to the entire flash memory (all blocks)

Definition at line 39 of file ArcFlashMemoryDefs.h.

◆ synImgSource_e

enum class arc::gen4::synImgSource_e : std::uint32_t
strong
Enumerator
eNone 

Disables synthetic image mode

eARC420 

Enables ARC-420 timing board image. These images have a fixed size of 2000x2000 pixels with 10 channels that form a checkerboard pattern.

eARC440_GRADIENT 

Enables ARC-440 video board gradient image. These images form a horizontal gradient with each enabled channel containing a single value. Channel values start at 255 and increase by 256. The image size is determined by the image dimensions set on the controller using the DIM command.

eARC440_NOISE 

Enables ARC-440 video board noise image. These images form a pseudo-random noise pattern. The image size is determined by the image dimensions set on the controller using the DIM command.

Definition at line 40 of file ArcSyntheticDefs.h.

◆ processPriority_e

enum class arc::gen4::processPriority_e
strong
Enumerator
RealTime 

Set the process to the highest possible priority. The threads of the process preempt the threads of all other processes, including operating system processes performing important tasks.

High 

The process performs time-critical tasks that must be executed immediately. The threads of the process preempt the threads of normal priority processes.

AboveNormal 

Process that has priority above Normal but below High priority.

Normal 

Process with no special scheduling needs.

Other 

Process has another priority that's not useful for the payload ID error issue.

Definition at line 193 of file CArcDevice.h.

◆ packetFileType_e

enum class arc::gen4::packetFileType_e : std::uint32_t
strong
Enumerator
text 

Saves the packets as text using the CArcPacket::toLogString() method. Packets cannot be recovered.

binary 

Saves the packets as binary objects that can be restored to image packets.

Definition at line 40 of file CArcImageAssembler.h.

Function Documentation

◆ throwArcGen4Error()

template<typename... Args>
void arc::gen4::throwArcGen4Error ( const throwFormat_t<>  tFormat,
Args &&...  args 
)

Throws a std::runtime_error with the specified message. The line number and function name are automatically appended to the message.

Parameters
tFormat- The string formattng and source location of the call.
args- The list of format arguments.
Exceptions
std::runtime_error

Definition at line 106 of file CArcBase.h.

◆ throwArcGen4InvalidArgument()

template<typename... Args>
void arc::gen4::throwArcGen4InvalidArgument ( const throwFormat_t<>  tFormat,
Args &&...  args 
)

Throws a std::invalid_argument with the specified message. The line number and function name are automatically appended to the message.

Parameters
tFormat- The string formattng and source location of the call.
args- The list of format arguments.
Exceptions
std::invalid_argument

Definition at line 138 of file CArcBase.h.

◆ throwArcGen4LengthError()

template<typename... Args>
void arc::gen4::throwArcGen4LengthError ( throwFormat_t<>  tFormat,
Args &&...  args 
)

Throws a std::length_error. The line number and function name are automatically appended to a fixed message.

Parameters
tFormat- The string formattng and source location of the call.
args- The list of format arguments.
Exceptions
std::length_error

Definition at line 201 of file CArcBase.h.

◆ sysStateToString()

GEN4_CARCDEVICE_API const std::string arc::gen4::sysStateToString ( pSysState_t  pSysState)

Prints the current system state values to a string.

Parameters
pSysState- A pointer to the system state
Exceptions
std::ios_base::failure

◆ operator<<()

std::ostream & arc::gen4::operator<< ( std::ostream &  tStream,
const arc::gen4::CArcImagePacket rPacket 
)

Output arc::gen4::CArcImagePacket::toLogString() to the specified stream.

Parameters
tStream- The output stream to place the output of toLogString() method.
Returns
The output stream.

Variable Documentation

◆ ARC440_INVALID_CHANNEL_ADDRESS

constexpr auto arc::gen4::ARC440_INVALID_CHANNEL_ADDRESS = _u32( 0x00000099 )
constexpr

Invalid ARC-440 channel address

Definition at line 127 of file ArcCommandDefs.h.

◆ BAR

constexpr std::uint32_t arc::gen4::BAR = 2
constexpr

ARC-460 PCIe base address register

Definition at line 28 of file ArcDeviceIOControl.h.

◆ DEVICE_CLEAR_SEND_RECV_REG

constexpr std::uint32_t arc::gen4::DEVICE_CLEAR_SEND_RECV_REG = 0x2F0
constexpr

ARC-460 PCIe clear send/recv buffer register

Definition at line 30 of file ArcDeviceIOControl.h.

◆ DEVICE_CLEAR_SEND_RECV

constexpr std::uint32_t arc::gen4::DEVICE_CLEAR_SEND_RECV = 1
constexpr

ARC-460 PCIe clear send/recv buffer

Definition at line 31 of file ArcDeviceIOControl.h.

◆ DEVICE_PIXEL_COUNTER_REG

constexpr std::uint32_t arc::gen4::DEVICE_PIXEL_COUNTER_REG = 0x40
constexpr

ARC-460 PCIe pixel count register

Definition at line 33 of file ArcDeviceIOControl.h.

◆ DEVICE_RESET_PIXEL_COUNTER_REG

constexpr std::uint32_t arc::gen4::DEVICE_RESET_PIXEL_COUNTER_REG = 0x220
constexpr

ARC-460 PCIe pixel count reset register

Definition at line 34 of file ArcDeviceIOControl.h.

◆ DEVICE_RESET_PIXEL_COUNTER

constexpr std::uint32_t arc::gen4::DEVICE_RESET_PIXEL_COUNTER = 1
constexpr

ARC-460 PCIe pixel count reset

Definition at line 35 of file ArcDeviceIOControl.h.

◆ DEVICE_BUFFER_0_BYTES_RECVD_REG

constexpr std::uint32_t arc::gen4::DEVICE_BUFFER_0_BYTES_RECVD_REG = 0x320
constexpr

ARC-460 PCIe common buffer 0 bytes available to read register

Definition at line 37 of file ArcDeviceIOControl.h.

◆ DEVICE_BUFFER_0_STATUS_REG

constexpr std::uint32_t arc::gen4::DEVICE_BUFFER_0_STATUS_REG = 0x340
constexpr

ARC-460 PCIe common buffer 0 status register

bit 0 - New data available if set to 1. Host clears, sets to 1, after the data has been read. (default = 0)
bit 1 - Set to 1 if this is that last buffer to contain image data. (default = 0)
bit 2 - Set to 1 if an overlap error occurred. The data wasn't read before the buffer was overwritten. (default = 0)
bits 31:3 - Unused

Definition at line 45 of file ArcDeviceIOControl.h.

◆ DEVICE_BUFFER_1_BYTES_RECVD_REG

constexpr std::uint32_t arc::gen4::DEVICE_BUFFER_1_BYTES_RECVD_REG = 0x330
constexpr

ARC-460 PCIe common buffer 1 bytes available to read register

Definition at line 47 of file ArcDeviceIOControl.h.

◆ DEVICE_BUFFER_1_STATUS_REG

constexpr std::uint32_t arc::gen4::DEVICE_BUFFER_1_STATUS_REG = 0x350
constexpr

ARC-460 PCIe common buffer 1 status register

bit 0 - New data available if set to 1. Host clears, sets to 1, after the data has been read. (default = 0)
bit 1 - Set to 1 if this is that last buffer to contain image data. (default = 0)
bit 2 - Set to 1 if an overlap error occurred. The data wasn't read before the buffer was overwritten. (default = 0)
bits 31:3 - Unused

Definition at line 55 of file ArcDeviceIOControl.h.

◆ DEVICE_BUFFER_STATUS_DIRTY_MASK

constexpr std::uint32_t arc::gen4::DEVICE_BUFFER_STATUS_DIRTY_MASK = 1
constexpr

ARC-460 PCIe common buffer status register dirty mask. If dirty, data is available.

Definition at line 57 of file ArcDeviceIOControl.h.

◆ DEVICE_BUFFER_STATUS_CLEAN_MASK

constexpr std::uint32_t arc::gen4::DEVICE_BUFFER_STATUS_CLEAN_MASK = 1
constexpr

ARC-460 PCIe common buffer status register clear dirty mask.

Definition at line 58 of file ArcDeviceIOControl.h.

◆ DEVICE_BUFFER_STATUS_COMPLETE_MASK

constexpr std::uint32_t arc::gen4::DEVICE_BUFFER_STATUS_COMPLETE_MASK = 2
constexpr

ARC-460 PCIe common buffer status register image complete mask.

Definition at line 59 of file ArcDeviceIOControl.h.

◆ DEVICE_BUFFER_STATUS_OVERFLOW_MASK

constexpr std::uint32_t arc::gen4::DEVICE_BUFFER_STATUS_OVERFLOW_MASK = 4
constexpr

ARC-460 PCIe common buffer status register buffer overflow mask.

Definition at line 60 of file ArcDeviceIOControl.h.

◆ DEVICE_BUFFER_STATUS_CLEAR

constexpr std::uint32_t arc::gen4::DEVICE_BUFFER_STATUS_CLEAR = 7
constexpr

ARC-460 PCIe common buffer status register clear all status bits.

Definition at line 61 of file ArcDeviceIOControl.h.

◆ DEVICE_STATUS_REG

constexpr std::uint32_t arc::gen4::DEVICE_STATUS_REG = 0x100
constexpr

ARC-460 PCIe status register

bit 0 - Set to 1 if reply (status packet) buffer contains old data (default = 1)
bit 1 - Set to 1 if an alert message is available (default = 0)
bit 2 - Set to 1 if the command buffer is available for writing (default = 1)
bit 7 - Set to 1 if the image buffer address is beyond the end addres of either common buffer (default = 0)
bit 8 - Set to 1 if a packet received form the controller timing board contains an incorrect ID (default = 0)
bit 9 - Set to 0 if fiber link 0 PLL is locked (default = 0)
bit 11 - Set to 1 if an unexpected packet is received from the controller timing board (default = 0)
bit 22:21 - PCIe generation. 1 = Gen1, 2 = Gen2, 3 = Gen3 (default = 1)

Definition at line 73 of file ArcDeviceIOControl.h.

◆ DEVICE_STATUS_ALERT_MASK

constexpr std::uint32_t arc::gen4::DEVICE_STATUS_ALERT_MASK = 0x2
constexpr

ARC-460 PCIe status register alert message mask

Definition at line 75 of file ArcDeviceIOControl.h.

◆ DEVICE_STATUS_IMAGE_ADDRESS_ERROR_MASK

constexpr std::uint32_t arc::gen4::DEVICE_STATUS_IMAGE_ADDRESS_ERROR_MASK = 0x80
constexpr

ARC-460 PCIe status register image buffer address error mask

Definition at line 76 of file ArcDeviceIOControl.h.

◆ DEVICE_ALERT_PACKET_REG

constexpr std::uint32_t arc::gen4::DEVICE_ALERT_PACKET_REG = 0x2000
constexpr

ARC-460 PCIe alert packet data register

Definition at line 78 of file ArcDeviceIOControl.h.

◆ CLEAR_IMAGE_ADDRESS_ERROR

constexpr std::uint32_t arc::gen4::CLEAR_IMAGE_ADDRESS_ERROR = 4
constexpr

ARC-460 PCIe status register clear any image buffer address error

Definition at line 80 of file ArcDeviceIOControl.h.

◆ sErrorCodeDetails

const std::array<const std::string, static_cast< size_t >( errorCodes_e::eErrorCodeCount )> arc::gen4::sErrorCodeDetails
extern

Error code string definitions. Can be used with error handling

◆ iCommonBufferListCount

constexpr auto arc::gen4::iCommonBufferListCount = 2
constexpr

The number of buffers that make up the common ring buffer

Definition at line 119 of file CArcDevice.h.

◆ ARC_CTRL_ID

constexpr auto arc::gen4::ARC_CTRL_ID = 33460
constexpr

ARC designator used as part of each PCIe device ioctl command

Definition at line 60 of file CArcSystem.h.

◆ MAP_FAILED

constexpr auto arc::gen4::MAP_FAILED = ( uint8_t* )0
constexpr

Error code for memory map failure

Definition at line 61 of file CArcSystem.h.

◆ ARC_MAX_PATH

constexpr auto arc::gen4::ARC_MAX_PATH = _MAX_PATH
constexpr

Maximum path size, in bytes

Definition at line 62 of file CArcSystem.h.