Orion
high-rate readout
Public Types | Public Member Functions | List of all members
itk::Chip< IField > Class Template Referenceabstract

Interface definition for chip. More...

#include <chip.hpp>

Inheritance diagram for itk::Chip< IField >:
Inheritance graph
[legend]
Collaboration diagram for itk::Chip< IField >:
Collaboration graph
[legend]

Public Types

using Field = IField
 
using RegMem = IField::RegMem
 
using Register = IField::Register
 
using Commander = IField::Commander
 
using reg_t = IField::reg_t
 
using fld_t = IField::fld_t
 

Public Member Functions

virtual const Register * find_reg (uint16_t addr) const =0
 Register methods. More...
 
virtual const Register * find_reg (const std::string &name) const =0
 
virtual reg_t get_reg (uint16_t addr) const =0
 Get register value from the memory by register name, address or reference. More...
 
virtual reg_t get_reg (const Register &reg) const =0
 
virtual reg_t get_reg (const std::string &name) const =0
 
virtual void set_reg (uint16_t addr, reg_t value)=0
 Set register value in memory by register name, address or reference. Does not send any commands to chip. More...
 
virtual void set_reg (const Register &reg, reg_t value)=0
 
virtual void set_reg (const std::string &name, reg_t value)=0
 
virtual void read_reg (uint16_t addr)=0
 Write command sequence to Commander buffer to read register value from the chip, does not send commands over e-link. More...
 
virtual void read_reg (const Register &reg)=0
 
virtual void read_reg (const std::string &name)=0
 
virtual void write_reg (uint16_t addr, reg_t value)=0
 Set register value in memory and appends commands sequence to modify register value in chip to Commander buffer, does not send commands over e-link. More...
 
virtual void write_reg (const Register &reg, reg_t value)=0
 
virtual void write_reg (const std::string &name, reg_t value)=0
 
virtual const Field * find_fld (const std::string &name) const =0
 Field methods. More...
 
virtual fld_t get_fld (const Field &fld) const =0
 Get field value from the memory by field name or reference. More...
 
virtual fld_t get_fld (const std::string &name) const =0
 
virtual void set_fld (const Field &fld, fld_t value)=0
 Set field value in memory by field name or reference. Does not send any commands to chip. More...
 
virtual void set_fld (const std::string &name, fld_t value)=0
 
virtual void read_fld (const Field &fld)=0
 Write command sequence to Commander buffer to read register value from the chip, does not send commands over e-link. More...
 
virtual void read_fld (const std::string &name)=0
 
virtual void write_fld (const Field &fld, fld_t value)=0
 Set field value in memory and appends commands sequence to modify field value in chip to Commander buffer, does not send commands over e-link. More...
 
virtual void write_fld (const std::string &name, fld_t value)=0
 
virtual void configure ()=0
 Configures chip, actually sends command over e-link via Commander.
 
virtual void send ()=0
 Sends data accumulated in command buffer over the e-link.
 

Detailed Description

template<typename IField>
class itk::Chip< IField >

Interface definition for chip.

Template Parameters
IField- Field type.

Member Function Documentation

◆ find_fld()

template<typename IField >
virtual const Field* itk::Chip< IField >::find_fld ( const std::string &  name) const
pure virtual

Field methods.

Find field by name.

Parameters
name- register name.
Returns
a field pointer or nullptr if not found.

◆ find_reg()

template<typename IField >
virtual const Register* itk::Chip< IField >::find_reg ( uint16_t  addr) const
pure virtual

Register methods.

Find register by address or by name.

Parameters
addr- register address.
name- register name.
Returns
a register pointer or nullptr if not found.

◆ get_fld()

template<typename IField >
virtual fld_t itk::Chip< IField >::get_fld ( const Field &  fld) const
pure virtual

Get field value from the memory by field name or reference.

Parameters
fld- reference to the field.
name- field name.
Returns
a field value, if no field found, returns 0.

◆ get_reg()

template<typename IField >
virtual reg_t itk::Chip< IField >::get_reg ( uint16_t  addr) const
pure virtual

Get register value from the memory by register name, address or reference.

Parameters
addr- register address.
reg- reference to the register.
name- register name.
Returns
a register value, if no register found, returns 0.

◆ read_fld()

template<typename IField >
virtual void itk::Chip< IField >::read_fld ( const Field &  fld)
pure virtual

Write command sequence to Commander buffer to read register value from the chip, does not send commands over e-link.

Parameters
fld- reference to the field.
name- register name.

◆ read_reg()

template<typename IField >
virtual void itk::Chip< IField >::read_reg ( uint16_t  addr)
pure virtual

Write command sequence to Commander buffer to read register value from the chip, does not send commands over e-link.

Parameters
addr- register address.
reg- reference to the register.
name- register name.

◆ set_fld()

template<typename IField >
virtual void itk::Chip< IField >::set_fld ( const Field &  fld,
fld_t  value 
)
pure virtual

Set field value in memory by field name or reference. Does not send any commands to chip.

Parameters
fld- reference to the field.
name- field name.
value- field value to be set in memory.

◆ set_reg()

template<typename IField >
virtual void itk::Chip< IField >::set_reg ( uint16_t  addr,
reg_t  value 
)
pure virtual

Set register value in memory by register name, address or reference. Does not send any commands to chip.

Parameters
addr- register address.
reg- reference to the register.
name- register name.
value- register value to be set in memory.

◆ write_fld()

template<typename IField >
virtual void itk::Chip< IField >::write_fld ( const Field &  fld,
fld_t  value 
)
pure virtual

Set field value in memory and appends commands sequence to modify field value in chip to Commander buffer, does not send commands over e-link.

Parameters
fld- reference to the field.
name- field name.
value- field value to be set in chip.

◆ write_reg()

template<typename IField >
virtual void itk::Chip< IField >::write_reg ( uint16_t  addr,
reg_t  value 
)
pure virtual

Set register value in memory and appends commands sequence to modify register value in chip to Commander buffer, does not send commands over e-link.

Parameters
addr- register address.
reg- reference to the register.
name- register name.
value- register value to be set in chip.

The documentation for this class was generated from the following file: