9enum class CascadeProp {
18using CascadePropInfo = std::tuple<std::string, uint8_t, uint8_t, RegSize>;
19using CascadePropMap = std::unordered_map<CascadeProp, CascadePropInfo>;
26 CdtCascadeAPI(RMMAPI* rmmApi,
int ring,
int node, std::string name, TiaBoardVersion tia_board_version);
29 rmmStatus writeDefaultProperties(std::initializer_list<CascadeProp> props,
bool clearUnmappedBits =
false);
36 const CascadePropInfo* getPropPtr(CascadeProp prop)
const;
39 CascadePropMap propMap_ = CascadePropMap{
40 {CascadeProp::FilterXSize, CascadePropInfo(
"filter_xsize", 0, 3,
RegSize(0b111, 3))},
41 {CascadeProp::FilterXDuration, CascadePropInfo(
"filter_xsize", 4, 8,
RegSize(0b11111111, 5))},
42 {CascadeProp::FilterYSize, CascadePropInfo(
"filter_xsize", 12, 3,
RegSize(0b111, 3))},
43 {CascadeProp::FilterYDuration, CascadePropInfo(
"filter_xsize", 16, 8,
RegSize(0b11111111, 5))},
44 {CascadeProp::FilterSkew, CascadePropInfo(
"filter_xsize", 24, 8,
RegSize(0b11111111, 1))},
45 {CascadeProp::FilterEMIStop, CascadePropInfo(
"filter_base", 16, 10,
RegSize(0b1111111111, 16))},
CdtCascadeAPI(RMMAPI *rmmApi, int ring, int node, std::string name, TiaBoardVersion tia_board_version)
Constructor for the CdtCascadeAPI class.
Definition CdtCascadeAPI.cpp:16
rmmStatus writeProperty(CascadeProp prop, uint32_t val)
Writes a cascade Property to hardware.
Definition CdtCascadeAPI.cpp:60
rmmStatus writeDefaultProperty(CascadeProp prop)
Gets a property from memory, writes it into hardware.
Definition CdtCascadeAPI.cpp:121
RMMResult readProperty(CascadeProp prop)
Reads a cascade Property from hardware.
Definition CdtCascadeAPI.cpp:38