μHAL
sysid.h
1#ifndef SYS_ID_H
2#define SYS_ID_H
3
4#include <memory>
5#include <vector>
6
7#include "controllers.h"
8#include "decoders.h"
9
10namespace sys_id {
11
12/* forward declaration */
13struct wb_fofb_sys_id_regs;
14
16 public:
17 distortion_levels(size_t);
18 std::vector<int16_t> prbs_0, prbs_1;
19};
20
21class Core: public RegisterDecoder {
22 std::unique_ptr<struct wb_fofb_sys_id_regs> regs_storage;
23 struct wb_fofb_sys_id_regs &regs;
24
25 void decode() override;
26 void read_monitors() override;
27 void decode_monitors() override;
28
29 public:
30 Core(struct pcie_bars &);
31 ~Core();
32
33 void print(FILE *, bool) const override;
34
35 distortion_levels setpoint_distortion;
36 distortion_levels posx_distortion, posy_distortion;
37};
38
40 protected:
41 std::unique_ptr<struct wb_fofb_sys_id_regs> regs_storage;
42 struct wb_fofb_sys_id_regs &regs;
43
44 void set_devinfo_callback() override;
45 void encode_params() override;
46
47 public:
48 Controller(struct pcie_bars &);
50
53 uint8_t base_bpm_id = 0;
54
56 bool prbs_reset = false;
58 uint16_t step_duration = 1;
60 uint8_t lfsr_length = 2;
62 bool bpm_pos_distort_en = false;
64 bool sp_distort_en = false;
67
74};
75
76} /* namespace sys_id */
77
78#endif
Definition: controllers.h:7
Definition: decoders.h:97
Definition: sysid.h:39
uint8_t sp_mov_avg_samples
Definition: sysid.h:66
uint16_t step_duration
Definition: sysid.h:58
bool prbs_reset
Definition: sysid.h:56
bool sp_distort_en
Definition: sysid.h:64
uint8_t lfsr_length
Definition: sysid.h:60
distortion_levels setpoint_distortion
Definition: sysid.h:69
void encode_params() override
Definition: sysid.cc:129
distortion_levels posy_distortion
Definition: sysid.h:73
bool bpm_pos_distort_en
Definition: sysid.h:62
void set_devinfo_callback() override
Definition: sysid.cc:124
distortion_levels posx_distortion
Definition: sysid.h:71
uint8_t base_bpm_id
Definition: sysid.h:53
Definition: sysid.h:21
void decode_monitors() override
Definition: sysid.cc:62
void read_monitors() override
Definition: sysid.cc:59
void decode() override
Definition: sysid.cc:66
Definition: sysid.h:15
Definition: pcie-defs.h:19