ATEsystem.PIRIS-driver: ATEsystem_PIRIS Namespace Reference

ATEsystem.PIRIS

ATEsystem.PIRIS-driver  1.0.1
ATEsystem.PIRIS-driver
ATEsystem_PIRIS Namespace Reference

Classes

class  CPirisEthernet
 
class  CPirisMain
 
class  CPirisSerial
 
class  DataID
 
class  DataParams
 
class  DataPosition
 
class  DataState
 
class  ErrorCluster
 
class  Factory
 
class  FocusZoomIris
 
class  PirisDevice
 
class  SmartPointer
 
class  StatusEx
 
class  Utils
 
class  Version
 

Typedefs

typedef int16_t Status_t
 
typedef int16_t DevID_t
 
typedef SmartPointer< IDeviceIPiris
 
typedef IDevice *(* CreateDeviceFn) (void)
 

Enumerations

enum  Mode : uint8_t { SERIAL = 0, ETHERNET = 1 }
 
enum  Status : int16_t {
  SUCCESS = 0, GENERAL_ERROR = -1, OPEN_FAILED = -2, CLOSE_FAILED = -3,
  ALREADY_OPEN = -4, DEVICE_IS_BUSY = -5, DEVICE_IS_CLOSED = -6, INVALID_DEVICE = -7,
  WRITE_ERROR = -8, READ_ERROR = -9, SCAN_FAILED = -10, INTERNAL_ERROR = -11,
  RX_TIMEOUT = -12, DEV_SET_FAILED = -13, WRONG_MODE = -14, DEVICE_NOT_EXIST = -15,
  PARSE_ANSWER_FAIL = -16, UNDEFINED_ERROR = -20
}
 
enum  State : int8_t { UNKNOWN = 0, CLOSED = 1, BUSY = 2, READY = 3 }
 
enum  PirisDeviceType : uint8_t { ETHERNET_DEVICE = 0, ETHERNET_PYLON = 1, ETHERNET_CAMERA = 2, SERIAL_UART = 3 }
 
enum  VerboseLevel : uint8_t { NONE = 0, BASIC = 1, FULL = 2 }
 
enum  YesNoNA : uint8_t { NOT_AVAILABLE = 0, YES = 1, NO = 2 }
 

Functions

std::ostream & operator<< (std::ostream &os, const Status stat)
 
std::ostream & operator<< (std::ostream &os, const PirisDeviceType type)
 
virtual Status Open (const PirisDevice &dev, VerboseLevel verbose=VerboseLevel::NONE)=0
 
virtual Status Close ()=0
 
virtual std::tuple< StatusEx, DataIDReadID ()=0
 
virtual std::tuple< StatusEx, DataPositionReadPosition ()=0
 
virtual std::tuple< StatusEx, DataParamsReadParams ()=0
 
virtual std::tuple< StatusEx, DataStateReadState ()=0
 
virtual StatusEx DevReset ()=0
 
virtual StatusEx DevHoming ()=0
 
virtual StatusEx SetAbsolute (uint16_t focus=0, uint16_t zoom=0, uint16_t iris=0, bool ir_filter=false)=0
 
virtual StatusEx SetAbsolute (const FocusZoomIris< uint16_t > &values, bool ir_filter=false)=0
 
virtual StatusEx SetRelative (int16_t focus=0, int16_t zoom=0, int16_t iris=0)=0
 
virtual StatusEx SetRelative (const FocusZoomIris< int16_t > &values)=0
 
virtual YesNoNA GetFwPollSupport ()=0
 
virtual VerboseLevel GetVerboseLevel ()=0
 
virtual void SetVerboseLevel (VerboseLevel level)=0
 
virtual ~IDevice ()=0
 
virtual Status close (bool ignore_err=false)=0
 
virtual Status write (const std::string data)=0
 
virtual Status read (std::string &data)=0
 
virtual Status flush (bool ignore_err=false)=0
 
virtual void remove ()=0
 
virtual ~IComm ()=0
 

Variables

Interface IDevice
 
Interface IComm
 

Typedef Documentation

◆ CreateDeviceFn

typedef IDevice*(* ATEsystem_PIRIS::CreateDeviceFn) (void)

Factory helper function pointer.

◆ DevID_t

typedef int16_t ATEsystem_PIRIS::DevID_t

Unique device ID, that can be any device manipulated with.

◆ IPiris

IPiris Smart Pointer is main object, that represents single PIRIS device. No need to delete after.

◆ Status_t

typedef int16_t ATEsystem_PIRIS::Status_t

Numerical representation of status. 0 is OK, everything else means error.

Enumeration Type Documentation

◆ Mode

enum ATEsystem_PIRIS::Mode : uint8_t

Main operation mode, which depends on PIRIS device product version. Either RS232 (SERIAL) or ETHERNET.

Enumerator
SERIAL 
ETHERNET 

◆ PirisDeviceType

More specific device type. ETHERNET_DEVICE is standalone example case, ETHERNET_PYLON and ETHERNET_CAMERA means pylon cam instance opened elsewhere and passed to driver.

Enumerator
ETHERNET_DEVICE 
ETHERNET_PYLON 
ETHERNET_CAMERA 
SERIAL_UART 

◆ State

enum ATEsystem_PIRIS::State : int8_t

State machine status. Internal enum used to handle driver states.

Enumerator
UNKNOWN 
CLOSED 
BUSY 
READY 

◆ Status

enum ATEsystem_PIRIS::Status : int16_t

Main status output, any action returns this status. 0 is OK, everything else means error.

Enumerator
SUCCESS 
GENERAL_ERROR 
OPEN_FAILED 
CLOSE_FAILED 
ALREADY_OPEN 
DEVICE_IS_BUSY 
DEVICE_IS_CLOSED 
INVALID_DEVICE 
WRITE_ERROR 
READ_ERROR 
SCAN_FAILED 
INTERNAL_ERROR 
RX_TIMEOUT 
DEV_SET_FAILED 
WRONG_MODE 
DEVICE_NOT_EXIST 
PARSE_ANSWER_FAIL 
UNDEFINED_ERROR 

◆ VerboseLevel

Level of verbosity. FULL is used to debug, NONE is for production.

Enumerator
NONE 
BASIC 
FULL 

◆ YesNoNA

enum ATEsystem_PIRIS::YesNoNA : uint8_t

Simple 3 state logic handler.

Enumerator
NOT_AVAILABLE 
YES 
NO 

Function Documentation

◆ Close()

virtual Status ATEsystem_PIRIS::Close ( )
pure virtual

Close connection with PIRIS device.

Returns
Status class

◆ close()

virtual Status ATEsystem_PIRIS::close ( bool  ignore_err = false)
pure virtual

Close connection to PIRIS device. Must be overridden in child.

Parameters
ignore_errIf true, force quit connection and discard any exception
Returns
Status class

◆ DevHoming()

virtual StatusEx ATEsystem_PIRIS::DevHoming ( )
pure virtual

Perform a reset of lens of PIRIS device. It takes about 5-15 seconds and time depends on actual motor positions.

Returns
extended Satus class StatusEx

◆ DevReset()

virtual StatusEx ATEsystem_PIRIS::DevReset ( )
pure virtual

Perform a reset of whole PIRIS device. It takes about 5-15 seconds and time depends on actual motor positions.

Returns
extended Satus class StatusEx

◆ flush()

virtual Status ATEsystem_PIRIS::flush ( bool  ignore_err = false)
pure virtual

Flush comm rx/tx buffer of PIRIS device. Must be overridden in child.

Parameters
ignore_errIf true, discard any exception
Returns
Status class

◆ GetFwPollSupport()

virtual YesNoNA ATEsystem_PIRIS::GetFwPollSupport ( )
pure virtual

Return information about device FW, if it supports continuous poll (>=1.7.2) returns Yes. More in PDF manual

Returns
3 state logic enum can be Yes, No or NA

◆ GetVerboseLevel()

virtual VerboseLevel ATEsystem_PIRIS::GetVerboseLevel ( )
pure virtual

Return level of verbosity of current PIRIS instance.

Returns
Level of verbosity can be FULL, BASIC or NONE

◆ Open()

virtual Status ATEsystem_PIRIS::Open ( const PirisDevice dev,
VerboseLevel  verbose = VerboseLevel::NONE 
)
pure virtual

Open connection to PIRIS device.

Parameters
devPirisDevice class
Parameters
verboselevel of verbosity
Returns
Status class

◆ operator<<() [1/2]

std::ostream & ATEsystem_PIRIS::operator<< ( std::ostream &  os,
const Status  stat 
)

◆ operator<<() [2/2]

std::ostream & ATEsystem_PIRIS::operator<< ( std::ostream &  os,
const PirisDeviceType  type 
)

◆ read()

virtual Status ATEsystem_PIRIS::read ( std::string &  data)
pure virtual

Read data to PIRIS device. Must be overridden in child.

Parameters
dataASCII data defined by ATEsystem PIRIS protocol (datasheet)
Returns
Status class

◆ ReadID()

virtual std::tuple<StatusEx, DataID> ATEsystem_PIRIS::ReadID ( )
pure virtual

Read ID (name, FW version) from PIRIS device.

For compatibility reason it is obligated to call this method on every start, to set corret timeouts.

Returns
tuple of extended Satus class StatusEx and data container, yelding the payload

◆ ReadParams()

virtual std::tuple<StatusEx, DataParams> ATEsystem_PIRIS::ReadParams ( )
pure virtual

Read parameters (max values of motors, lens type) from PIRIS device.

Returns
tuple of extended Satus class StatusEx and data container, yelding the payload

◆ ReadPosition()

virtual std::tuple<StatusEx, DataPosition> ATEsystem_PIRIS::ReadPosition ( )
pure virtual

Read actual position of motors from PIRIS device.

Returns
tuple of extended Satus class StatusEx and data container, yelding the payload

◆ ReadState()

virtual std::tuple<StatusEx, DataState> ATEsystem_PIRIS::ReadState ( )
pure virtual

Read status (state of motors, motors are busy) from PIRIS device.

Returns
tuple of extended Satus class StatusEx and data container, yelding the payload

◆ remove()

virtual void ATEsystem_PIRIS::remove ( )
pure virtual

Remove PIRIS device. Must be overridden in child.

◆ SetAbsolute() [1/2]

virtual StatusEx ATEsystem_PIRIS::SetAbsolute ( uint16_t  focus = 0,
uint16_t  zoom = 0,
uint16_t  iris = 0,
bool  ir_filter = false 
)
pure virtual

Set focus, zoom, iris and ir filter values in absolute mode (every value is ranged from 0 to its max)

Parameters
focusfocus value
Parameters
zoomzoom value
Parameters
irisiris value
Parameters
ir_filterir filter value
Returns
extended Satus class StatusEx

◆ SetAbsolute() [2/2]

virtual StatusEx ATEsystem_PIRIS::SetAbsolute ( const FocusZoomIris< uint16_t > &  values,
bool  ir_filter = false 
)
pure virtual

Set focus, zoom, iris and ir by container class in absolute mode (every value is ranged from 0 to its max)

Parameters
focusfocus value
Parameters
zoomzoom value
Parameters
irisiris value
Parameters
ir_filterir filter value
Returns
extended Satus class StatusEx

◆ SetRelative() [1/2]

virtual StatusEx ATEsystem_PIRIS::SetRelative ( int16_t  focus = 0,
int16_t  zoom = 0,
int16_t  iris = 0 
)
pure virtual

Set focus, zoom, iris and ir filter values in relative mode (every next value has its base 0 from previous)

Parameters
focusfocus value
Parameters
zoomzoom value
Parameters
irisiris value
Parameters
ir_filterir filter value
Returns
extended Satus class StatusEx

◆ SetRelative() [2/2]

virtual StatusEx ATEsystem_PIRIS::SetRelative ( const FocusZoomIris< int16_t > &  values)
pure virtual

Set focus, zoom, iris and ir by container class in relative mode (every next value has its base from previous)

Parameters
focusfocus value
Parameters
zoomzoom value
Parameters
irisiris value
Parameters
ir_filterir filter value
Returns
extended Satus class StatusEx

◆ SetVerboseLevel()

virtual void ATEsystem_PIRIS::SetVerboseLevel ( VerboseLevel  level)
pure virtual

Set the level of verbosity of current PIRIS instance.

Parameters
levelLevel of verbosity can be FULL, BASIC or NONE

◆ write()

virtual Status ATEsystem_PIRIS::write ( const std::string  data)
pure virtual

Write data to PIRIS device. Must be overridden in child.

Parameters
dataASCII data defined by ATEsystem PIRIS protocol (datasheet)
Returns
Status class

◆ ~IComm()

IComm::~IComm ( )
pure virtual

◆ ~IDevice()

IDevice::~IDevice ( )
pure virtual

Variable Documentation

◆ IComm

Interface ATEsystem_PIRIS::IComm
Initial value:
{
public:
virtual Status open(const PirisDevice& dev, VerboseLevel verbose = VerboseLevel::NONE) = 0
Status
Definition: ATEsystem.PIRIS.h:160
VerboseLevel
Definition: ATEsystem.PIRIS.h:210
Definition: ATEsystem.PIRIS.h:212

Internal interface used to provide polymorphic communication functionality (Serial, Ethernet)

◆ IDevice

Interface ATEsystem_PIRIS::IDevice
Initial value:
{
public:
virtual Status Open(void* dev, PirisDeviceType type, VerboseLevel verbose = VerboseLevel::NONE) = 0
Status
Definition: ATEsystem.PIRIS.h:160
VerboseLevel
Definition: ATEsystem.PIRIS.h:210
PirisDeviceType
Definition: ATEsystem.PIRIS.h:198
Definition: ATEsystem.PIRIS.h:212
virtual Status Open(const PirisDevice &dev, VerboseLevel verbose=VerboseLevel::NONE)=0

Main public interface presenting all available methods, that can be called on each PIRIS object by user.

Generated by   doxygen 1.8.15