μHAL
RegisterDecoderController Class Reference

#include <controllers.h>

Inheritance diagram for RegisterDecoderController:
Collaboration diagram for RegisterDecoderController:

Public Member Functions

void set_devinfo (const struct sdb_device_info &devinfo) override
 
virtual void encode_params () override
 
void write_general (const char *name, decoders::data_type value)
 
void write_channel (const char *name, unsigned pos, decoders::data_type value)
 
- 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 &)
 

Protected Member Functions

 RegisterDecoderController (struct pcie_bars &bars, const struct sdb_device_info &devinfo, RegisterDecoder *pdec)
 
- 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 ()
 

Private Attributes

RegisterDecoderpdec
 

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
 

Detailed Description

Controller base class which can use the register fields as decoded by a RegisterDecoder to write into a device's registers. Any register field that should be exposed as writable should be decoded by the rf_ prefixed functions from RegisterDecoder, instead of the functions from util-bits.h.

Member Function Documentation

◆ encode_params()

virtual void RegisterDecoderController::encode_params ( )
inlineoverridevirtual

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

Implements RegisterController.

Reimplemented in afc_timing::Controller.

◆ set_devinfo()

void RegisterDecoderController::set_devinfo ( const struct sdb_device_info devinfo)
inlineoverridevirtual

Reimplemented from RegisterController.


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