18 template<
typename IRegMem,
typename ICommander>
21 using RegMem = IRegMem;
22 using Commander = ICommander;
23 using reg_t = RegMem::reg_t;
31 virtual reg_t
get(
const RegMem ®mem)
const = 0;
36 virtual void set(RegMem ®mem, reg_t value)
const = 0;
42 virtual void read(RegMem ®mem, Commander &cmdr)
const = 0;
49 virtual void write(RegMem ®mem, Commander &cmdr, reg_t value)
const = 0;
Interface definition for register.
Definition: register.hpp:19
virtual void read(RegMem ®mem, Commander &cmdr) const =0
Write command sequence to read register value from the chip. Does not send commands over e-link.
virtual reg_t get(const RegMem ®mem) const =0
Get register value from the memory.
virtual void write(RegMem ®mem, Commander &cmdr, reg_t value) const =0
Set register value in memory and write commands sequence to modify register value in chip to cmdr buf...
virtual std::string get_desc() const =0
Get register description.
virtual std::string get_name() const =0
Get register name.
virtual ~Register()=default
Default destructor.
virtual void set(RegMem ®mem, reg_t value) const =0
Set register value into the memory.
virtual uint16_t get_addr() const =0
Properties.