μHAL
controllers.h
1#ifndef CONTROLLERS_H
2#define CONTROLLERS_H
3
4#include "decoders.h"
5#include "sdb-defs.h"
6
8protected:
9 RegisterController(struct pcie_bars &bars, const struct sdb_device_info &);
10
13 virtual void set_devinfo_callback() { }
14
17 virtual void encode_params() = 0;
18
21 virtual void unset_commands() { }
22
23public:
24 void set_devinfo(const struct sdb_device_info &) override;
25
28 virtual void write_params();
29};
30
36 RegisterDecoder *pdec;
37
38protected:
40 const struct sdb_device_info &devinfo, RegisterDecoder *pdec)
41 : RegisterController(bars, devinfo)
42 , pdec(pdec)
43 {
44 }
45
46public:
47 void set_devinfo(const struct sdb_device_info &devinfo) override
48 {
49 pdec->set_devinfo(devinfo);
50 pdec->get_data();
51 RegisterController::set_devinfo(devinfo);
52 }
53
54 virtual void encode_params() override { }
55
56 void write_general(const char *name, decoders::data_type value)
57 {
58 pdec->write_general(name, value, read_dest);
59 }
60 void write_channel(
61 const char *name, unsigned pos, decoders::data_type value)
62 {
63 pdec->write_channel(name, pos, value, read_dest);
64 }
65};
66
67#endif
Definition: controllers.h:7
virtual void encode_params()=0
virtual void set_devinfo_callback()
Definition: controllers.h:13
virtual void write_params()
Definition: controllers.cc:18
virtual void unset_commands()
Definition: controllers.h:21
Definition: decoders.h:36
Definition: controllers.h:35
virtual void encode_params() override
Definition: controllers.h:54
Definition: decoders.h:97
void get_data(bool=false)
Definition: decoders.cc:164
Definition: pcie-defs.h:19
Definition: sdb-defs.h:7