μHAL
si57x_ctrl.h
1#ifndef SI57X_CTRL_H
2#define SI57X_CTRL_H
3
4#include <memory>
5
6#include "controllers.h"
7#include "decoders.h"
8
9namespace si57x_ctrl {
10
11struct wb_si57x_ctrl_regs;
12
15class Core: public RegisterDecoder {
16 std::unique_ptr<struct wb_si57x_ctrl_regs> regs_storage;
17 struct wb_si57x_ctrl_regs &regs;
18
19 void decode() override;
20
21 public:
22 Core(struct pcie_bars &);
23 ~Core() override;
24};
25
31 std::unique_ptr<struct wb_si57x_ctrl_regs> regs_storage;
32 struct wb_si57x_ctrl_regs &regs;
33
34 Core dec;
35
37 double fstartup;
39 double fxtal;
40
42 bool get_busy();
45 bool still_busy();
46
47 public:
50 Controller(struct pcie_bars &, double = 0);
52
53 void write_params() override;
58 bool read_startup_regs();
62 bool apply_config();
66 bool set_freq(double);
67};
68
69} /* namespace si57x_ctrl */
70
71#endif
Definition: controllers.h:35
Definition: decoders.h:97
Definition: si57x_ctrl.h:30
bool set_freq(double)
Definition: si57x_ctrl.cc:156
double fxtal
Definition: si57x_ctrl.h:39
double fstartup
Definition: si57x_ctrl.h:37
Controller(struct pcie_bars &, double=0)
Definition: si57x_ctrl.cc:70
bool still_busy()
Definition: si57x_ctrl.cc:87
bool get_busy()
Definition: si57x_ctrl.cc:81
bool read_startup_regs()
Definition: si57x_ctrl.cc:112
bool apply_config()
Definition: si57x_ctrl.cc:142
void write_params() override
Definition: si57x_ctrl.cc:99
Definition: si57x_ctrl.h:15
void decode() override
Definition: si57x_ctrl.cc:47
Definition: pcie-defs.h:19