13 uint32_t
bitmask(uint32_t highbit, uint32_t lowbit)
18 uint32_t tmp = lowbit;
24 return ~(i << highbit << 1) & (i << lowbit);
34 for (
size_t bit = 31; bit > 0; bit--)
36 if ((1U << bit) & mask)
43 if ((1U << msb) & reg)
48 res = res | (reg & mask);
60 int32_t
get_m1(dunedaq::cib::daq::iols_trigger_t &t)
65 int32_t
get_m2(dunedaq::cib::daq::iols_trigger_t &t)
67 uint32_t m2_lsb = t.pos_m2_lsb;
68 uint32_t m2_msb = t.pos_m2_msb;
69 uint32_t m2 = (m2_msb << 15) | m2_lsb;
74 int32_t
get_m3(dunedaq::cib::daq::iols_trigger_t &t)
82 if (s.size() >= 2 && s[0] ==
'0' && (s[1] ==
'x' || s[1] ==
'X'))
89 auto [ptr, ec] = std::from_chars(s.data(), s.data() + s.size(),
out, 16);
92 return ec == std::errc{} && ptr == s.data() + s.size();
bool parse_hex(std::string_view s, std::uint32_t &out)
uint32_t bitmask(uint32_t highbit, uint32_t lowbit)
int32_t get_m3(dunedaq::cib::daq::iols_trigger_t &t)
int32_t cast_to_signed(const uint32_t reg, const uint32_t mask)
int32_t get_m1(dunedaq::cib::daq::iols_trigger_t &t)
int32_t get_m2(dunedaq::cib::daq::iols_trigger_t &t)
FELIX Initialization std::string initerror FELIX queue timed out