peary::utils
peary::utils
Namespaces
| Name |
|---|
| peary::utils::dispatcher_impl |
Classes
| Name | |
|---|---|
| class | peary::utils::pixel Basic pixel class. |
| struct | peary::utils::pearyRawDataWord Represents a raw data word. |
| class | peary::utils::register_t Class to represent a register configuration. |
| struct | peary::utils::SI5345_REG_T Struct to represent a register in the SI5345. |
| class | peary::utils::memory_map Class to represent a memory map. |
| class | peary::utils::dictionary Dictionary class for storing elements for lookup. |
| class | peary::utils::Dispatcher Command dispatcher class. |
| class | peary::utils::Exception Base exception class for Peary. |
| class | peary::utils::LogicError Exception class for logic errors. |
| class | peary::utils::RuntimeError Exception class for runtime errors. |
| class | peary::utils::InvalidCommandError Exception class for invalid commands. |
| class | peary::utils::DictionnaryError Exception class for dictionary errors. |
| class | peary::utils::InvalidArgumentError Exception class for invalid arguments. |
| class | peary::utils::MissingImplementationError |
| class | peary::utils::LFSR Linear Feedback Shift Register (LFSR) class. |
| struct | peary::utils::string_hash Hash for std::unordered_map. |
Types
| Name | |
|---|---|
| enum class | Polarity { LOW = 0, HIGH = 1}Enum class to represent the polarity of a signal. |
| enum class | Direction { OUT = 0, IN = 1}Enum class to represent the direction of a signal. |
| using std::map< std::pair< uint16_t, uint16_t >, std::unique_ptr< pixel > > | pearydata Map of pixel data. |
| using std::vector< pearydata > | pearydataVector Vector of pearydata. |
| using std::vector< pearyRawDataWord > | pearyRawData Represents a vector of raw data words. |
| using std::vector< pearyRawData > | pearyRawDataVector Represents a vector of raw data. |
| template <typename V > using std::unordered_map< std::string, V, string_hash, std::equal_to<> > | string_hash_map Unordered string map using hashes for fast lookup. |
| using std::unordered_set< std::string, string_hash, std::equal_to<> > | string_hash_set Unordered string set using hashes for fast lookup. |
Functions
| Name | |
|---|---|
| template <typename T1 ,typename T2 > std::ostream & | operator«(std::ostream & os, const register_t< T1, T2 > & rg)Overloaded output operator for register_t. |
| bool | check_flock(const std::string & semaphore)Function to check for lock on semaphore. |
| bool | acquire_flock(const std::string & semaphore)Function to acquire lock on semaphore. |
| void | release_flock(const std::string & semaphore)Function to release semaphore lock. |
| void | make_directories(const std::string & path)Create directories recursively. |
| void | mDelay(uint32_t ms)Delay for a specified number of milliseconds. |
| std::string | trim(const std::string & s)Trims the leading and trailing white space from a string. |
| uint8_t | reverseByte(uint8_t byte)Efficiently reverse the bit order of 8-bit word. |
| template <typename T > T | from_string(const std::string & x)Converts a string to any type. |
| std::string | from_string(const std::string & x)Converts a string to a std::string (identity function with check). |
| template <typename T > std::string | to_string(const T & x, int digits =0)Converts a value of type T to a string. |
| template <typename T > std::string | to_string(const std::vector< T > & x, const std::string & sep, int digits =0)Converts a vector of values of type T to a string, with elements separated by a specified separator. |
| template <typename T > std::string | to_string(const std::vector< T > & x, int digits =0)Converts a vector of values of type T to a string, with elements separated by commas. |
| std::string | to_string(const std::string & x, int =0)Converts a std::string to a std::string (identity function). |
| std::string | to_string(const char * x, int =0)Converts a C-style string to a std::string (identity function). |
| template <typename T > std::vector< T > & | split(const std::string & s, std::vector< T > & elems, char delim)Splits a string into a vector of elements based on a delimiter. |
| template <typename T > std::string | to_bit_string(const T data, int length =-1, bool baseprefix =false)Converts a value of type T to a binary string representation. |
| template <typename T > std::string | to_hex_string(const T i, int length =-1, bool baseprefix =true)Converts a value of type T to a hexadecimal string representation. |
| template <typename T > std::string | listVector(std::vector< T > vec, const std::string & separator =", “, bool hex =false)Converts a vector of type T to a string, with elements separated by a specified separator. |
| template <typename T1 ,typename T2 > std::string | listVector(std::vector< std::pair< T1, T2 » vec, const std::string & separator =”, “, bool hex =false)Converts a vector of pairs of type T1 and T2 to a string, with elements separated by a specified separator. |
| template <typename T1 > std::string | listVector(std::vector< std::pair< std::string, T1 » vec, const std::string & separator =”, “, bool hex =false)Converts a vector of pairs of type string and T1 to a string, with elements separated by a specified separator. |
Types Documentation
enum Polarity
| Enumerator | Value | Description |
|---|---|---|
| LOW | 0 | |
| HIGH | 1 |
Enum class to represent the polarity of a signal.
enum Direction
| Enumerator | Value | Description |
|---|---|---|
| OUT | 0 | |
| IN | 1 |
Enum class to represent the direction of a signal.
using pearydata
using peary::utils::pearydata = typedef std::map<std::pair<uint16_t, uint16_t>, std::unique_ptr<pixel> >;
Map of pixel data.
This typedef defines a map where the key is a pair of row and column indices and the value is a unique pointer to a pixel object.
using pearydataVector
using peary::utils::pearydataVector = typedef std::vector<pearydata>;
Vector of pearydata.
This typedef defines a vector that contains multiple pearydata maps.
using pearyRawData
using peary::utils::pearyRawData = typedef std::vector<pearyRawDataWord>;
Represents a vector of raw data words.
This typedef defines a vector that contains multiple raw data words.
using pearyRawDataVector
using peary::utils::pearyRawDataVector = typedef std::vector<pearyRawData>;
Represents a vector of raw data.
This typedef defines a vector that contains multiple pearyRawData vectors,
using string_hash_map
template <typename V >
using peary::utils::string_hash_map = typedef std::unordered_map<std::string, V, string_hash, std::equal_to<> >;
Unordered string map using hashes for fast lookup.
using string_hash_set
using peary::utils::string_hash_set = typedef std::unordered_set<std::string, string_hash, std::equal_to<> >;
Unordered string set using hashes for fast lookup.
Functions Documentation
function operator«
template <typename T1 ,
typename T2 >
std::ostream & operator<<(
std::ostream & os,
const register_t< T1, T2 > & rg
)
Overloaded output operator for register_t.
Parameters:
- os The output stream to print to
- rg The register_t object to print
Template Parameters:
- T1 The type of the register address
- T2 The type of the register mask
Print the register information to an output stream.
This function is used to print the register information to an output stream.
function check_flock
bool check_flock(
const std::string & semaphore
)
Function to check for lock on semaphore.
Parameters:
- semaphore The name of the semaphore to check
Return: True if the semaphore is locked, false otherwise
function acquire_flock
bool acquire_flock(
const std::string & semaphore
)
Function to acquire lock on semaphore.
Parameters:
- semaphore The name of the semaphore to lock
Return: True if the lock was acquired successfully, false otherwise
function release_flock
void release_flock(
const std::string & semaphore
)
Function to release semaphore lock.
Parameters:
- semaphore The name of the semaphore to unlock
function make_directories
void make_directories(
const std::string & path
)
Create directories recursively.
Parameters:
- path The path to the directory to be created
function mDelay
inline void mDelay(
uint32_t ms
)
Delay for a specified number of milliseconds.
Parameters:
- ms The number of milliseconds to wait
Uses usleep() to wait for the specified time in milliseconds.
function trim
std::string trim(
const std::string & s
)
Trims the leading and trailing white space from a string.
Parameters:
- s The string to be trimmed
Return: A new string with leading and trailing white space removed
function reverseByte
uint8_t reverseByte(
uint8_t byte
)
Efficiently reverse the bit order of 8-bit word.
Parameters:
- byte The byte to be reversed
Return: The byte with its bits reversed
function from_string
template <typename T >
inline T from_string(
const std::string & x
)
Converts a string to any type.
Parameters:
- x The string to be converted.
Template Parameters:
- T The type to which the string should be converted.
Return: An object of type T with the value represented in x.
function from_string
inline std::string from_string(
const std::string & x
)
Converts a string to a std::string (identity function with check).
Converts a string to a uint8_t (identity function with check).
Converts a string to a uint32_t (identity function with check).
Converts a string to a int32_t (identity function with check).
Converts a string to a uint64_t (identity function with check).
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
function to_string
template <typename T >
inline std::string to_string(
const T & x,
int digits =0
)
Converts a value of type T to a string.
Parameters:
- x The value to be converted.
- digits The number of digits to be used for formatting (default is 0, which means no padding).
Template Parameters:
- T The type of the value to be converted.
Return: A string representation of the value x, formatted with leading zeros if digits > 0.
function to_string
template <typename T >
inline std::string to_string(
const std::vector< T > & x,
const std::string & sep,
int digits =0
)
Converts a vector of values of type T to a string, with elements separated by a specified separator.
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
function to_string
template <typename T >
inline std::string to_string(
const std::vector< T > & x,
int digits =0
)
Converts a vector of values of type T to a string, with elements separated by commas.
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
function to_string
inline std::string to_string(
const std::string & x,
int =0
)
Converts a std::string to a std::string (identity function).
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
function to_string
inline std::string to_string(
const char * x,
int =0
)
Converts a C-style string to a std::string (identity function).
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
function split
template <typename T >
std::vector< T > & split(
const std::string & s,
std::vector< T > & elems,
char delim
)
Splits a string into a vector of elements based on a delimiter.
Parameters:
- s The string to be split.
- elems A reference to a vector where the split parts will be stored.
- delim The delimiter character used to split the string (default is ‘,’).
Template Parameters:
- T The type of the elements in the vector.
Return: A vector of elements of type T, containing the split parts of the string.
function to_bit_string
template <typename T >
std::string to_bit_string(
const T data,
int length =-1,
bool baseprefix =false
)
Converts a value of type T to a binary string representation.
Parameters:
- data The value to be converted.
- length The length of the binary string (default is -1, which means the full length of the type).
- baseprefix If true, adds a “0b” prefix to the binary string (default is false).
Template Parameters:
- T The type of the value to be converted.
Return: A string representation of the value in binary format, with leading zeros if length > 0.
function to_hex_string
template <typename T >
std::string to_hex_string(
const T i,
int length =-1,
bool baseprefix =true
)
Converts a value of type T to a hexadecimal string representation.
Parameters:
- i The value to be converted.
- length The length of the hexadecimal string (default is -1, which means the full length of the type).
- baseprefix If true, adds a “0x” prefix to the hexadecimal string (default is true).
Template Parameters:
- T The type of the value to be converted.
Return: A string representation of the value in hexadecimal format, with leading zeros if length > 0.
function listVector
template <typename T >
std::string listVector(
std::vector< T > vec,
const std::string & separator =", ",
bool hex =false
)
Converts a vector of type T to a string, with elements separated by a specified separator.
Parameters:
- vec The vector to be converted.
- separator The separator to be used between elements (default is “, “).
- hex If true, converts the elements to hexadecimal format (default is false).
Template Parameters:
- T The type of the elements in the vector.
Return: A string representation of the vector, with elements separated by the specified separator and formatted with leading
Helper function to return a printed list of an integer vector, used to shield debug code from being executed if debug level is not sufficient
function listVector
template <typename T1 ,
typename T2 >
std::string listVector(
std::vector< std::pair< T1, T2 >> vec,
const std::string & separator =", ",
bool hex =false
)
Converts a vector of pairs of type T1 and T2 to a string, with elements separated by a specified separator.
Parameters:
- vec The vector of pairs to be converted.
- separator The separator to be used between elements (default is “, “).
- hex If true, converts the elements to hexadecimal format (default is false).
Template Parameters:
- T1 The type of the first element in the pair.
- T2 The type of the second element in the pair.
Return: A string representation of the vector of pairs, with elements separated by the specified separator and formatted
function listVector
template <typename T1 >
std::string listVector(
std::vector< std::pair< std::string, T1 >> vec,
const std::string & separator =", ",
bool hex =false
)
Converts a vector of pairs of type string and T1 to a string, with elements separated by a specified separator.
Parameters:
- vec The vector of pairs to be converted.
- separator The separator to be used between elements (default is “, “).
- hex If true, converts the second element to hexadecimal format (default is false).
Template Parameters:
- T1 The type of the second element in the pair.
Return: A string representation of the vector of pairs, with elements separated by the specified separator and
Updated on 2025-11-14 at 11:31:23 +0100