Orion
high-rate readout
commander.hpp
Go to the documentation of this file.
1 
5 #pragma once
6 
7 #include "itk/fec/commander.hpp"
8 
9 
10 namespace itk::star {
11 
16 class Commander : public itk::Commander {
17 public:
18 
24  virtual void abc_write_reg(uint16_t addr, uint32_t data, uint8_t hcc_id = 0xF, uint8_t abc_id = 0xF) = 0;
25 
30  virtual void hcc_write_reg(uint16_t addr, uint32_t value, uint8_t hcc_id = 0xF) = 0;
31 
36  virtual void abc_read_reg(uint16_t addr, uint8_t hcc_id = 0xF, uint8_t abc_id = 0xF) = 0;
37 
41  virtual void hcc_read_reg(uint16_t addr, uint8_t hcc_id = 0xF) = 0;
42 
47  virtual void bcr_l0a_tag(uint8_t bcr, uint8_t mask, uint8_t tag) = 0;
48 
52  virtual void l0a_tag(uint8_t mask, uint8_t tag) = 0;
53 
55  virtual void bcr() = 0;
56 
58  virtual void idle() = 0;
59 
63  virtual void fast_cmd(uint8_t bc, uint8_t cmd) = 0;
64 
65 }; // Commander
66 
67 } // star
Commander interface to send 16 bit commands over e-link.
Definition: commander.hpp:18
Star Commander interface.
Definition: commander.hpp:16
virtual void abc_write_reg(uint16_t addr, uint32_t data, uint8_t hcc_id=0xF, uint8_t abc_id=0xF)=0
Writing ABC 'write register' command.
virtual void hcc_read_reg(uint16_t addr, uint8_t hcc_id=0xF)=0
Writing HCC 'read register' command.
virtual void l0a_tag(uint8_t mask, uint8_t tag)=0
Writing L0A trigger.
virtual void bcr()=0
Writing BCR.
virtual void fast_cmd(uint8_t bc, uint8_t cmd)=0
Writing fast command frame.
virtual void abc_read_reg(uint16_t addr, uint8_t hcc_id=0xF, uint8_t abc_id=0xF)=0
Writing ABC 'read register' command.
virtual void bcr_l0a_tag(uint8_t bcr, uint8_t mask, uint8_t tag)=0
Writing BCR and L0A trigger.
virtual void hcc_write_reg(uint16_t addr, uint32_t value, uint8_t hcc_id=0xF)=0
Writing HCC 'write register' command.
virtual void idle()=0
Writing 'idle' frame.