23using CascadePropInfo = std::tuple<std::string, uint8_t, uint8_t, RegSize, uint32_t>;
35 CdtCascade(RMMAPI* rmmApi,
int ring,
int node, std::string name, TiaBoardVersion tia_board_version);
36 CdtCascade(RMMAPI* rmmApi,
int ring,
int node, std::string name);
37 uint32_t
readProperty(CascadeProp prop, rmmStatus* stat =
nullptr);
40 rmmStatus
setProperty(CascadeProp prop, uint32_t val);
47 CascadePropInfo searchPropInfo(CascadeProp prop);
51 CascadePropMap propMap_ = CascadePropMap{
52 {CascadeProp::FilterXSize, CascadePropInfo(
"filter_xsize", 0, 3,
RegSize(0b111, 3), 3)},
53 {CascadeProp::FilterXDuration, CascadePropInfo(
"filter_xsize", 4, 8,
RegSize(0b11111111, 5), 5)},
54 {CascadeProp::FilterYSize, CascadePropInfo(
"filter_xsize", 12, 3,
RegSize(0b111, 3), 3)},
55 {CascadeProp::FilterYDuration, CascadePropInfo(
"filter_xsize", 16, 8,
RegSize(0b11111111, 5), 5)},
56 {CascadeProp::FilterSkew, CascadePropInfo(
"filter_xsize", 24, 8,
RegSize(0b11111111, 1), 1)},
57 {CascadeProp::MeasClient, CascadePropInfo(
"meas_reset", 1, 1,
RegSize(0b1, 0), 0)},
58 {CascadeProp::DisableNeutron, CascadePropInfo(
"md_base", 1, 1,
RegSize(0b1, 0), 0)},
59 {CascadeProp::FilterEMIStop, CascadePropInfo(
"filter_base", 16, 10,
RegSize(0b1111111111, 16), 16)},
60 {CascadeProp::RsMask, CascadePropInfo(
"rs_mask_data", 0, 32,
RegSize(0xffffffff, 0xffffffff), 0xffffffff)},
61 {CascadeProp::Measurement, CascadePropInfo(
"meas_base", 0, 1,
RegSize(1, 1), 1)},
62 {CascadeProp::SimType, CascadePropInfo(
"sim_base", 1, 3,
RegSize(3, 0), 0)},
63 {CascadeProp::ResetSim, CascadePropInfo(
"sim_base", 0, 1,
RegSize(1, 0), 0)}};
65 rmmStatus checkError(
const char* functionName, rmmStatus stat,
const char* msg, ...);
CdtCascade(RMMAPI *rmmApi, int ring, int node, std::string name, TiaBoardVersion tia_board_version)
Constructor for the CdtCascade class.
Definition CdtCascade.cpp:16
rmmStatus writeProperty(CascadeProp prop, uint32_t val)
Writes a cascade Property to hardware.
Definition CdtCascade.cpp:83
rmmStatus setProperty(CascadeProp prop, uint32_t val)
Writes a cascade Property to program memory.
Definition CdtCascade.cpp:129
rmmStatus writeDefaultProperty(CascadeProp prop)
Gets a property from memory, writes it into hardware.
Definition CdtCascade.cpp:148
RMMResult getProperty(CascadeProp prop)
Reads a cascade Property from program memory.
Definition CdtCascade.cpp:108
uint32_t readProperty(CascadeProp prop, rmmStatus *stat=nullptr)
Reads a cascade Property from hardware.
Definition CdtCascade.cpp:54