Orion
high-rate readout
feconfig.hpp
Go to the documentation of this file.
1 
5 #pragma once
6 
7 #include "itk/db/strip/abc.hpp"
8 #include "itk/db/strip/hcc.hpp"
9 
10 extern itk::Logger logdb;
11 
12 namespace itk::db::star {
13 
16  struct abc_t {
17  uint8_t abc_id;
18  uint8_t hcc_ic;
19  abc::regmem_t* regmem;
20  abc::calib_t* calib;
21  };
22 
25  struct hcc_t {
26  uint32_t sernum;
27  uint8_t hcc_id;
28  hcc::regmem_t* regmem;
29  };
30 
33  struct frontend_t {
34  hcc_t* hcc;
35  std::vector<abc_t*> abcs;
36  netio_tag_t tx_fid;
37  netio_tag_t rx_fid;
38  };
39 
40  struct calib_t {
41  };
42 
43 
44  void dump(frontend_t& fe) {
45  logdb.info("Front-End");
46  if (!fe.hcc) { logdb.info(" hcc: nullptr"); } else {
47  logdb.info(" hcc_id: {}", fe.hcc->hcc_id);
48  }
49  logdb.info(" abcs.size: {}",fe.abcs.size());
50  for (auto& abc : fe.abcs) {
51  if (!abc) { logdb.info(" abc: nullptr"); } else {
52  logdb.info(" abc_id: {}", abc->abc_id);
53  }
54  }
55  logdb.info(" tx_fid: 0x{:x}", fe.tx_fid);
56  logdb.info(" rx_fid: 0x{:x}", fe.rx_fid);
57  }
58 
59 
60 } // itk::db::strip
Common constants and structures for ITkPix chip.
Logger class definition, wrapper around CoreLogger, adds templated methods for different logging leve...
Definition: logger.hpp:108
void info(fmt::format_string< Args... > fmt, Args &&...args)
Logs a message with information level.
Definition: logger.hpp:148
Common for HCC Star chip.
Definition: abc.hpp:26
Definition: abc.hpp:23
ABC star chip data structure.
Definition: feconfig.hpp:16
Definition: feconfig.hpp:40
Star chip front-end data structure.
Definition: feconfig.hpp:33
Definition: hcc.hpp:16
HCC star chip data structure.
Definition: feconfig.hpp:25