11#ifndef TIMING_INCLUDE_TIMING_TOOLBOX_HPP_
12#define TIMING_INCLUDE_TIMING_TOOLBOX_HPP_
22#include <uhal/Node.hpp>
25#include <boost/format.hpp>
26#include <boost/format/group.hpp>
27#include <boost/static_assert.hpp>
28#include <boost/type_traits/is_signed.hpp>
29#include <boost/type_traits/is_unsigned.hpp>
30#include <boost/unordered_map.hpp>
62template<
typename T,
typename U>
72snapshot(
const uhal::Node& node,
const std::string& regex);
98std::vector<std::string>
129join(
const C& strings,
const std::string& delimiter =
" ");
137dec_rng(uint8_t word, uint8_t ibit, uint8_t nbits = 1);
144tstamp2int(uhal::ValVector<uint32_t> raw_timestamp);
160format_reg_table(T data, std::string title =
"", std::vector<std::string> headers = {
"Register",
"Value" });
181format_timestamp(uhal::ValVector<uint32_t> raw_timestamp, uint32_t clock_frequency_hz);
197 std::vector<std::string> counter_node_titles = {},
198 std::string table_title =
"",
199 std::vector<std::string> counter_labels = {},
200 std::string counter_labels_header =
"Cmd");
218vec_fmt(
const std::vector<T>& vec);
int64_t get_seconds_since_epoch()
CarrierType convert_value_to_carrier_type(uint32_t darrier_type)
bool map_value_comparator(typename M::value_type &p1, typename M::value_type &p2)
int64_t get_milliseconds_since_epoch()
std::string format_firmware_version(uint32_t firmware_version)
BoardType convert_value_to_board_type(uint32_t Board_type)
std::string format_reg_table(T data, std::string title, std::vector< std::string > headers)
Format reg-value table.
std::string vec_fmt(const std::vector< T > &vec)
std::string format_timestamp(uhal::ValVector< uint32_t > raw_timestamp, uint32_t clock_frequency_hz)
std::string strprintf(const char *fmt,...)
double convert_bits_to_float(uint64_t bits, bool is_double_precision=false)
std::vector< T > sanitize(const std::vector< T > &vec)
std::vector< std::string > shell_expand_paths(const std::string &path)
DesignType convert_value_to_design_type(uint32_t design_type)
std::string to_string(const T &v)
uint64_t tstamp2int(uhal::ValVector< uint32_t > raw_timestamp)
std::string format_counters_table(std::vector< T > counter_nodes, std::vector< std::string > counter_node_titles, std::string table_title, std::vector< std::string > counter_labels, std::string counter_labels_header)
Format reg-value table.
uint8_t dec_rng(uint8_t word, uint8_t ibit, uint8_t nbits=1)
std::map< std::string, uint32_t > Snapshot
std::string join(const C &strings, const std::string &delimiter)
Converts a vector of strings in a delimiter-separated string.
std::string shellExpandPath(const std::string &path)
T safe_enum_cast(const U &value, const std::vector< T > &valid, const T &def)
void throw_if_not_file(const std::string &path)
std::string short_vec_fmt(const std::vector< T > &vec)
std::string format_reg_value(T reg_value, uint32_t base)
void millisleep(const double &time_in_milliseconds)
Snapshot snapshot(const uhal::Node &node)
Walk & read the node structure.