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