Orion
high-rate readout
emulator.hpp
Go to the documentation of this file.
1 // ╭─╮╭─╴╷╭─╮┌─╮
2 // ╰─╯╵ ╵╰─╯╵ ╵
8 #pragma once
9 
10 #include "itk/logger.hpp"
11 #include "itk/utils.hpp"
12 
14 
15 
16 namespace itk::itkpix::emu::dummy {
17 
18 extern itk::Logger log;
19 
20 class Emulator {
21 public:
22 
23  typedef std::function<void(const uint64_t* data, size_t size)> OnDataCallback;
24  typedef std::function<void(const uint64_t data)> OnServiceCallback;
25 
26  Emulator(uint8_t chip_id) {
27  log.trace("create Emulator(chip_id: 0x{:x})", chip_id);
28  }
29 
30  ~Emulator() {
31  log.trace("destroy Emulator()");
32  }
33 
34  inline void reset() {
35  log.trace("reset()");
36  }
37 
38  inline void send_cmds(const std::span<const uint16_t> cmds) {
39  log.trace("send_cmds(cmds: [{}])", itk::utils::to_string(cmds));
40  }
41 
42  inline void callback_on_data(OnDataCallback on_data) {
43  log.trace("callback_on_data(on_data)");
44  }
45 
46  inline void callback_on_service(OnServiceCallback on_service) {
47  log.trace("callback_on_service(on_service)");
48  }
49 
50 }; // Emulator
51 
52 } // itk::itkpix::emu::dummy
Definition: emulator.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.
uint16_t size
Definition: fragheader.hpp:5
Logger definitions.
ITk common utilites.