Orion
high-rate readout
frontend.hpp
1 
5 #pragma once
6 
7 #include "itk/types.hpp"
8 #include "itk/fec/chip.hpp"
9 
10 
11 namespace itk {
12 
18 template<class IChip>
19 class FrontEnd : public IChip {
20 public:
21  using Chip = IChip;
22  using Commander = IChip::Commander;
23 
25  virtual int check_com() = 0;
26 
28  virtual void configure() = 0;
29 
30  // Properties
31 
34  virtual netio_tag_t get_tx_fid() = 0;
35  virtual void set_tx_fid(netio_tag_t fid) = 0;
36 
39  virtual netio_tag_t get_rx_fid() = 0;
40  virtual void set_rx_fid(netio_tag_t fid) = 0;
41 
44  virtual Commander* get_cmdr() = 0;
45  virtual void set_cmdr(Commander* cmdr) = 0;
46 
47 }; // FrontEnd
48 
49 } // itk
Interface definition for FrontEnd.
Definition: frontend.hpp:19
virtual netio_tag_t get_rx_fid()=0
Get receiver FELIX id (fid).
virtual void configure()=0
Configure front-end via cmdr.
virtual int check_com()=0
Check communication.
virtual Commander * get_cmdr()=0
Get commander for sending commands.
virtual netio_tag_t get_tx_fid()=0
Get transmiter FELIX id (fid).
Common types and constants definitions.