pflib v3.9.4-21-gd880bab
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, int ilink, bool isdaq);
16
17 virtual int ilink() { return ilink_; }
18 virtual bool is_bidirectional() { return isdaq_; }
19 virtual void reset_link();
20 virtual void run_linktrick();
21
22 virtual bool get_rx_polarity();
23 virtual bool get_tx_polarity();
24 virtual void set_rx_polarity(bool polarity);
25 virtual void set_tx_polarity(bool polarity);
26
27 virtual std::map<std::string, uint32_t> opto_status();
28 virtual std::map<std::string, uint32_t> opto_rates();
29
30 virtual lpGBT_ConfigTransport& lpgbt_transport() { return *transport_; }
31
32 ::pflib::UIO& coder() { return coder_; }
33
34 // setup various aspects
36 virtual int get_elink_tx_mode(int elink);
37 virtual void set_elink_tx_mode(int elink, int mode);
38
39 virtual void capture_ec(int mode, std::vector<uint8_t>& tx,
41 virtual void capture_ic(int mode, std::vector<uint8_t>& tx,
43
44 private:
46 ::pflib::UIO transright_;
47 ::pflib::UIO coder_;
48 std::string coder_name_;
49 int ilink_;
50 bool isdaq_;
51};
52
53} // namespace zcu
54} // namespace pflib
55
56#endif // ZCU_OPTOLINK_INCLUDED
Definition UIO.h:15
Definition lpGBT.h:17
This version of the fast control code interfaces with the CMS Fast control library which can be contr...
Definition Backend.cxx:3