μHAL
|
Public Member Functions | |
void | set_devinfo (const struct sdb_device_info &) override |
virtual void | write_params () |
![]() | |
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 () |
![]() | |
void | set_read_dest (auto &dest) |
RegisterDecoderBase (struct pcie_bars &, const struct sdb_device_info &) | |
virtual void | read () |
Additional Inherited Members | |
![]() | |
const device_match_fn | match_devinfo_lambda |
![]() | |
size_t | read_size |
void * | read_dest |
struct pcie_bars & | bars |
struct sdb_device_info | devinfo |
size_t | addr |
|
protectedpure virtual |
Child classes must implement this function to encode their configuration parameters into hardware registers
Implemented in acq::Controller, afc_timing::Controller, bpm_swap::Controller, fofb_cc::Controller, fofb_processing::Controller, fofb_shaper_filt::Controller, orbit_intlk::Controller, sys_id::Controller, trigger_iface::Controller, trigger_mux::Controller, and RegisterDecoderController.
|
overridevirtual |
Reimplemented from RegisterDecoderBase.
|
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.
|
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.
|
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.