Orion
high-rate readout
commander.hpp
Go to the documentation of this file.
1 
5 #pragma once
6 
7 
8 namespace itk::itkpix::cmd {
9 
10 namespace intf {
15 class Commander : public itk::Commander {
16 public:
17 
19  virtual void idle() = 0;
20 
22  virtual void sync() = 0;
23 
27  virtual void trig(uint16_t bc, uint16_t tag) = 0;
28 
32  virtual void read_trig(uint8_t chip_id, uint8_t ext_tag) = 0;
33 
36  virtual void clear(uint8_t chip_id) = 0;
37 
40  virtual void global(uint8_t chip_id) = 0;
41 
49  virtual void calib(uint8_t chip_id,
50  uint8_t edg_mode, uint8_t edg_delay, uint8_t edg_width,
51  uint8_t aux_mode, uint8_t aux_delay) = 0;
52 
56  virtual void read_reg(uint8_t chip_id, uint16_t addr) = 0;
57 
62  virtual void write_reg(uint8_t chip_id, uint16_t addr, uint16_t data) = 0;
63 
66  virtual void write_pix_start(uint8_t chip_id) = 0;
67 
70  virtual void write_pix_next(uint16_t data) = 0;
71 
75  virtual void write_pix_portal(uint8_t chip_id, std::span<const uint16_t> data) = 0;
76 
80  virtual void trig_fw(uint count, uint delay) = 0;
81 
82 }; // Commander
83 
84 } // intf
85 
86 } // itk::itkpix::cmd
Commander interface to send 16 bit commands over e-link.
Definition: commander.hpp:18
ITkPix Commander interface.
Definition: commander.hpp:15
virtual void sync()=0
Writing 'sync' frame.
virtual void idle()=0
Writing 'idle' frame.
virtual void write_pix_start(uint8_t chip_id)=0
Writing 'write pixel' start command.
virtual void read_reg(uint8_t chip_id, uint16_t addr)=0
Writing 'read register' command.
virtual void clear(uint8_t chip_id)=0
Writing 'clear' command.
virtual void global(uint8_t chip_id)=0
Writing 'global' command.
virtual void write_reg(uint8_t chip_id, uint16_t addr, uint16_t data)=0
Writing 'write register' command.
virtual void write_pix_portal(uint8_t chip_id, std::span< const uint16_t > data)=0
Writing data block to pixel portal.
virtual void write_pix_next(uint16_t data)=0
Writing 'write pixel' next command.
virtual void read_trig(uint8_t chip_id, uint8_t ext_tag)=0
Writing 'trigger read' command.
virtual void trig(uint16_t bc, uint16_t tag)=0
Writing 'trigger' command.
virtual void calib(uint8_t chip_id, uint8_t edg_mode, uint8_t edg_delay, uint8_t edg_width, uint8_t aux_mode, uint8_t aux_delay)=0
Writing 'calib' command.
virtual void trig_fw(uint count, uint delay)=0
Writing firmware trigger command.