Orion
high-rate readout
cmdcallback.hpp
Go to the documentation of this file.
1 // ╭─╮╭─╴╷╭─╮┌─╮
2 // ╰─╯╵ ╵╰─╯╵ ╵
8 #pragma once
9 
10 #include <span>
11 
12 #include "itk/logger.hpp"
13 #include "itk/utils.hpp"
14 
16 
17 namespace itk::itkpix::cmd::dummy {
18 
19 extern itk::Logger log;
20 
26 public:
27  CommandCallback() = default;
28 
29  void idle() override {
30  log.trace("idle()");
31  }
32 
33  void sync() override {
34  log.trace("sync()");
35  }
36 
37  void trig(uint8_t bc, uint8_t tag) override {
38  log.trace("trig(bc: {}, tag: 0x{:02x})", bc, tag);
39  }
40 
41  void read_trig(uint8_t chip_id, uint8_t ext_tag) override {
42  log.trace("read_trig(chip_id: {}, ext_tag: 0x{:02x})", chip_id, ext_tag);
43  }
44 
45  void clear(uint8_t chip_id) override {
46  log.trace("clear(chip_id: {})", chip_id);
47  }
48 
49  void global(uint8_t chip_id) override {
50  log.trace("global(chip_id: {})", chip_id);
51  }
52 
53  void calib(uint8_t chip_id,
54  uint8_t edge_mode, uint8_t edge_delay, uint8_t edge_width,
55  uint8_t aux_mode, uint8_t aux_delay) override
56  {
57  log.trace("calib(chip_id: {}, "
58  "edge_mode: {}, edge_delay: {}, edge_width: {}, aux_mode: {}, aux_delay: {})",
59  chip_id, edge_mode, edge_delay, edge_width, aux_mode, aux_delay);
60  }
61 
62  void read_reg(uint8_t chip_id, uint16_t addr) override {
63  log.trace("read_reg(chip_id: {}, addr: 0x{:04x})", chip_id, addr);
64  }
65 
66  void write_reg(uint8_t chip_id, uint16_t addr, uint16_t data) override {
67  log.trace("write_reg(chip_id: {}, addr: 0x{:04x}, data: 0x{:04x})", chip_id, addr, data);
68  }
69 
70  void write_pix_start(uint8_t chip_id) override {
71  log.trace("write_pix_start(chip_id: {})", chip_id);
72  }
73 
74  void write_pix_next(uint16_t data) override {
75  log.trace("write_pix_next(data: 0x{:04x})", data);
76  }
77 
78  void on_warning(uint16_t frame) override {
79  log.trace("on_warning(frame: 0x{:04x})", frame);
80  }
81 
82  void on_error(uint16_t frame) override {
83  log.trace("on_error(frame: 0x{:04x})", frame);
84  }
85 
86 }; // CommandCallback
87 
88 } // itk::itkpix::cmd::dummy
Dummy command callback implementation.
Definition: cmdcallback.hpp:25
void write_pix_start(uint8_t chip_id) override
start multi-write command to PIX_PORTAL
Definition: cmdcallback.hpp:70
void write_reg(uint8_t chip_id, uint16_t addr, uint16_t data) override
write register command
Definition: cmdcallback.hpp:66
void calib(uint8_t chip_id, uint8_t edge_mode, uint8_t edge_delay, uint8_t edge_width, uint8_t aux_mode, uint8_t aux_delay) override
calibration command
Definition: cmdcallback.hpp:53
void sync() override
'sync' command
Definition: cmdcallback.hpp:33
void trig(uint8_t bc, uint8_t tag) override
trigger command
Definition: cmdcallback.hpp:37
void read_trig(uint8_t chip_id, uint8_t ext_tag) override
read trigger command
Definition: cmdcallback.hpp:41
void idle() override
'idle' command
Definition: cmdcallback.hpp:29
void global(uint8_t chip_id) override
global pulse command
Definition: cmdcallback.hpp:49
void on_warning(uint16_t frame) override
on_warning callback
Definition: cmdcallback.hpp:78
void read_reg(uint8_t chip_id, uint16_t addr) override
read register command
Definition: cmdcallback.hpp:62
void clear(uint8_t chip_id) override
clear command
Definition: cmdcallback.hpp:45
void write_pix_next(uint16_t data) override
next multi-write command to PIX_PORTAL
Definition: cmdcallback.hpp:74
void on_error(uint16_t frame) override
on_error callback
Definition: cmdcallback.hpp:82
Command callback interface for ITkPix.
Definition: cmdcallback.hpp:20
Logger class definition, wrapper around CoreLogger, adds templated methods for different logging leve...
Definition: logger.hpp:108
void trace(fmt::format_string< Args... > fmt, Args &&...args)
Logs a message with trace level.
Definition: logger.hpp:132
Templates for ITkPix emulator.
Logger definitions.
ITk common utilites.