pflib v3.9.0-rc3-11-g2537d8f
Pretty Fine HGCROC Interaction Library
Loading...
Searching...
No Matches
zcu_optolink.h
1#ifndef ZCU_OPTOLINK_INCLUDED
2#define ZCU_OPTOLINK_INCLUDED 1
3
4#include <memory>
5
6#include "pflib/OptoLink.h"
7#include "pflib/zcu/UIO.h"
8#include "pflib/zcu/lpGBT_ICEC_ZCU_Simple.h"
9
10namespace pflib {
11namespace zcu {
12
14 public:
15 ZCUOptoLink(const std::string& name = "singleLPGBT", int ilink = 0,
16 bool isdaq = true);
17
18 virtual int ilink() { return ilink_; }
19 virtual bool is_bidirectional() { return isdaq_; }
20 virtual void reset_link();
21 virtual void run_linktrick();
22
23 virtual bool get_rx_polarity();
24 virtual bool get_tx_polarity();
25 virtual void set_rx_polarity(bool polarity);
26 virtual void set_tx_polarity(bool polarity);
27
28 virtual std::map<std::string, uint32_t> opto_status();
29 virtual std::map<std::string, uint32_t> opto_rates();
30
31 virtual lpGBT_ConfigTransport& lpgbt_transport() { return *transport_; }
32
33 ::pflib::UIO& coder() { return coder_; }
34
35 // setup various aspects
37 virtual int get_elink_tx_mode(int elink);
38 virtual void set_elink_tx_mode(int elink, int mode);
39
40 virtual void capture_ec(int mode, std::vector<uint8_t>& tx,
42 virtual void capture_ic(int mode, std::vector<uint8_t>& tx,
44
45 private:
47 ::pflib::UIO transright_;
48 ::pflib::UIO coder_;
49 std::string coder_name_;
50 int ilink_;
51 bool isdaq_;
52};
53
54} // namespace zcu
55} // namespace pflib
56
57#endif // ZCU_OPTOLINK_INCLUDED
Definition UIO.h:15
Definition lpGBT.h:16
This version of the fast control code interfaces with the CMS Fast control library which can be contr...
Definition Backend.cxx:3