μHAL
sys_id::Controller Class Reference
Inheritance diagram for sys_id::Controller:
Collaboration diagram for sys_id::Controller:

Public Member Functions

 Controller (struct pcie_bars &)
 
- Public Member Functions inherited from RegisterController
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 &)
 

Public Attributes

uint8_t base_bpm_id = 0
 
bool prbs_reset = false
 
uint16_t step_duration = 1
 
uint8_t lfsr_length = 2
 
bool bpm_pos_distort_en = false
 
bool sp_distort_en = false
 
uint8_t sp_mov_avg_samples
 
distortion_levels setpoint_distortion
 
distortion_levels posx_distortion
 
distortion_levels posy_distortion
 
- Public Attributes inherited from RegisterDecoderBase
const device_match_fn match_devinfo_lambda
 

Protected Member Functions

void set_devinfo_callback () override
 
void encode_params () override
 
- Protected Member Functions inherited from RegisterController
 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 ()
 

Protected Attributes

std::unique_ptr< struct wb_fofb_sys_id_regs > regs_storage
 
struct wb_fofb_sys_id_regs & regs
 
- 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()

void sys_id::Controller::encode_params ( )
overrideprotectedvirtual

Child classes must implement this function to encode their configuration parameters into hardware registers

Implements RegisterController.

◆ set_devinfo_callback()

void sys_id::Controller::set_devinfo_callback ( )
overrideprotectedvirtual

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

Reimplemented from RegisterController.

Member Data Documentation

◆ base_bpm_id

uint8_t sys_id::Controller::base_bpm_id = 0

First BPM ID whose position will be stored in SYSID acquisitions; MAX_NUM_CTE BPMs will be stored

◆ bpm_pos_distort_en

bool sys_id::Controller::bpm_pos_distort_en = false

Enable PRBS-based distortion on BPM positions

◆ lfsr_length

uint8_t sys_id::Controller::lfsr_length = 2

Set length of internal LFSR. Must be at least 2

◆ posx_distortion

distortion_levels sys_id::Controller::posx_distortion

Distortion levels to apply on X position for each PRBS state

◆ posy_distortion

distortion_levels sys_id::Controller::posy_distortion

Distortion levels to apply on Y position for each PRBS state

◆ prbs_reset

bool sys_id::Controller::prbs_reset = false

Enable PRBS reset via trigger

◆ setpoint_distortion

distortion_levels sys_id::Controller::setpoint_distortion

Distortion levels to apply on setpoint for each PRBS state

◆ sp_distort_en

bool sys_id::Controller::sp_distort_en = false

Enable PRBS-based distortion on accumulator setpoints

◆ sp_mov_avg_samples

uint8_t sys_id::Controller::sp_mov_avg_samples

Set moving average samples for FOFBAcc distortion

◆ step_duration

uint16_t sys_id::Controller::step_duration = 1

Duration of each PRBS step. Must be at least 1


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