μHAL
RegisterController Class Referenceabstract
Inheritance diagram for RegisterController:
Collaboration diagram for RegisterController:

Public Member Functions

void set_devinfo (const struct sdb_device_info &) override
 
virtual void write_params ()
 
- Public Member Functions inherited from RegisterDecoderBase
void check_devinfo_is_set () const
 
virtual void set_devinfo (const struct sdb_device_info &)
 

Protected Member Functions

 RegisterController (struct pcie_bars &bars, const struct sdb_device_info &)
 
virtual void set_devinfo_callback ()
 
virtual void encode_params ()=0
 
virtual void unset_commands ()
 
- Protected Member Functions inherited from RegisterDecoderBase
void set_read_dest (auto &dest)
 
 RegisterDecoderBase (struct pcie_bars &, const struct sdb_device_info &)
 
virtual void read ()
 

Additional Inherited Members

- Public Attributes inherited from RegisterDecoderBase
const device_match_fn match_devinfo_lambda
 
- Protected Attributes inherited from RegisterDecoderBase
size_t read_size
 
void * read_dest
 
struct pcie_barsbars
 
struct sdb_device_info devinfo
 
size_t addr
 

Member Function Documentation

◆ encode_params()

virtual void RegisterController::encode_params ( )
protectedpure virtual

◆ set_devinfo()

void RegisterController::set_devinfo ( const struct sdb_device_info new_devinfo)
overridevirtual

Reimplemented from RegisterDecoderBase.

◆ set_devinfo_callback()

virtual void RegisterController::set_devinfo_callback ( )
inlineprotectedvirtual

Child classes can implement this function to capture one-time values from hardware and perform any other necessary initialization

Reimplemented in acq::Controller, fofb_processing::Controller, fofb_shaper_filt::Controller, spi::Controller, and sys_id::Controller.

◆ unset_commands()

virtual void RegisterController::unset_commands ( )
inlineprotectedvirtual

Child classes can implement this function to unset any commands (e.g. reset commands) which cause side-effects on every write

Reimplemented in afc_timing::Controller, fmc250m_4ch::Controller, and lamp::Controller.

◆ write_params()

void RegisterController::write_params ( )
virtual

Child classes can implement this function when their write procedures require more than simply writing the regs structure

Reimplemented in bpm_swap::Controller, fmcpico1m_4ch::Controller, fofb_cc::Controller, fofb_processing::Controller, fofb_shaper_filt::Controller, orbit_intlk::Controller, pos_calc::Controller, si57x_ctrl::Controller, and trigger_iface::Controller.


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