μHAL
orbit_intlk.h
1#ifndef ORBIT_INTLK_H
2#define ORBIT_INTLK_H
3
4#include <memory>
5
6#include "controllers.h"
7#include "decoders.h"
8
9namespace orbit_intlk {
10
11/* forward declaration */
12struct orbit_intlk_regs;
13
14class Core: public RegisterDecoder {
15 std::unique_ptr<struct orbit_intlk_regs> regs_storage;
16 struct orbit_intlk_regs &regs;
17
18 void decode() override;
19
20 public:
21 Core(struct pcie_bars &);
22 ~Core() override;
23};
24
26 std::unique_ptr<struct orbit_intlk_regs> regs_storage;
27 struct orbit_intlk_regs &regs;
28
29 void encode_params() override;
30 void write_params() override;
31
32 public:
33 Controller(struct pcie_bars &);
35
36 bool enable{}, clear{};
37 bool min_sum_enable{};
38 bool pos_enable{}, pos_clear{}, ang_enable{}, ang_clear{};
39
40 int32_t min_sum{};
41 int32_t pos_max_x{}, pos_max_y{}, ang_max_x{}, ang_max_y{};
42 int32_t pos_min_x{}, pos_min_y{}, ang_min_x{}, ang_min_y{};
43};
44
45} /* namespace orbit_intlk */
46
47#endif
Definition: controllers.h:7
Definition: decoders.h:97
Definition: orbit_intlk.h:25
void write_params() override
Definition: orbit_intlk.cc:160
void encode_params() override
Definition: orbit_intlk.cc:139
Definition: orbit_intlk.h:14
void decode() override
Definition: orbit_intlk.cc:85
Definition: orbit_intlk.cc:21
Definition: pcie-defs.h:19