peary::interface::Endpoint
peary::interface::Endpoint
Communication interface endpoint. More…
#include <peary/interfaces/Endpoint.hpp>
Public Types
| Name | |
|---|---|
| using RegisterType | reg_t |
| using DataType | data_t |
| using std::pair< RegisterType, DataType > | pair_t |
| using std::vector< DataType > | vector_t |
Public Functions
| Name | |
|---|---|
| Endpoint(const Endpoint & ) =delete | |
| Endpoint & | operator=(const Endpoint & ) =delete |
| Endpoint(Endpoint && ) =delete | |
| Endpoint & | operator=(Endpoint && ) =delete |
| std::string | info() constReturn human-readable endpoint information. |
| data_t | write(const data_t & value)Write a single data word to a device which does not contain internal registers. |
| vector_t | write(const vector_t & values)Write multiple data words to a device which does not contain internal registers. |
| pair_t | write(const pair_t & regData)Write a single data word to a device containing internal registers. |
| vector_t | write(const reg_t & reg, const vector_t & values)Write multiple data words to a specific register of a device containing internal registers. |
| std::vector< pair_t > | write(const std::vector< pair_t > & regDataVec)Write multiple data words to multiple registers of a device containing internal registers. |
| data_t | read()Read a single data word from a device which does not contain internal registers. |
| vector_t | read(unsigned int count)Read multiple data words from a device which does not contain internal registers. |
| vector_t | read(const reg_t & reg, unsigned int count)Read a single data word from a specific register of a device containing internal registers. |
Protected Functions
| Name | |
|---|---|
| Endpoint(const std::string & info) | |
| virtual | ~Endpoint() =default |
| virtual data_t | write_impl(const data_t & ) |
| virtual vector_t | write_impl(const vector_t & ) |
| virtual pair_t | write_impl(const pair_t & ) |
| virtual vector_t | write_impl(const reg_t & , const vector_t & ) |
| virtual std::vector< pair_t > | write_impl(const std::vector< pair_t > & ) |
| virtual data_t | read_impl() |
| virtual vector_t | read_impl(const unsigned int ) |
| virtual vector_t | read_impl(const reg_t & , const unsigned int ) |
Detailed Description
template <typename InterfaceTag ,
typename RegisterType ,
typename DataType >
class peary::interface::Endpoint;
Communication interface endpoint.
Template Parameters:
- InterfaceTag Tag for the type of communication interface, used for locking
- RegisterType Type for register addresses
- DataType Type for register values
This class represents an endpoint of communication in Peary. It implements a locking mechanism on an interface- type basis, meaning there can only be one communication per type of interface going on simultaneously.
Public Types Documentation
using reg_t
using peary::interface::Endpoint< InterfaceTag, RegisterType, DataType >::reg_t = RegisterType;
using data_t
using peary::interface::Endpoint< InterfaceTag, RegisterType, DataType >::data_t = DataType;
using pair_t
using peary::interface::Endpoint< InterfaceTag, RegisterType, DataType >::pair_t = std::pair<RegisterType, DataType>;
using vector_t
using peary::interface::Endpoint< InterfaceTag, RegisterType, DataType >::vector_t = std::vector<DataType>;
Public Functions Documentation
function Endpoint
Endpoint(
const Endpoint &
) =delete
function operator=
Endpoint & operator=(
const Endpoint &
) =delete
function Endpoint
Endpoint(
Endpoint &&
) =delete
function operator=
Endpoint & operator=(
Endpoint &&
) =delete
function info
inline std::string info() const
Return human-readable endpoint information.
Return: Endpoint information as string
function write
inline data_t write(
const data_t & value
)
Write a single data word to a device which does not contain internal registers.
Return: The data word read back from the device (if applicable)
function write
inline vector_t write(
const vector_t & values
)
Write multiple data words to a device which does not contain internal registers.
Return: A vector containing the data words read back from the device (if applicable)
function write
inline pair_t write(
const pair_t & regData
)
Write a single data word to a device containing internal registers.
Return: A pair containing the register address and the data word read back from the device (if applicable)
function write
inline vector_t write(
const reg_t & reg,
const vector_t & values
)
Write multiple data words to a specific register of a device containing internal registers.
Return: A vector containing the data words read back from the device (if applicable)
function write
inline std::vector< pair_t > write(
const std::vector< pair_t > & regDataVec
)
Write multiple data words to multiple registers of a device containing internal registers.
Return: A vector of pairs, each containing a register address and the corresponding data word read back from the device (if applicable)
function read
inline data_t read()
Read a single data word from a device which does not contain internal registers.
Return: The data word read from the device
function read
inline vector_t read(
unsigned int count
)
Read multiple data words from a device which does not contain internal registers.
Return: A vector containing the data words read from the device
function read
inline vector_t read(
const reg_t & reg,
unsigned int count
)
Read a single data word from a specific register of a device containing internal registers.
Return: A vector containing the data words read from the specified register
Protected Functions Documentation
function Endpoint
inline Endpoint(
const std::string & info
)
function ~Endpoint
virtual ~Endpoint() =default
function write_impl
inline virtual data_t write_impl(
const data_t &
)
Reimplemented by: peary::interface::I2CEndpoint::write_impl, peary::interface::IPSocketEndpoint::write_impl, peary::interface::LoopbackEndpoint::write_impl
function write_impl
inline virtual vector_t write_impl(
const vector_t &
)
Reimplemented by: peary::interface::LoopbackEndpoint::write_impl
function write_impl
inline virtual pair_t write_impl(
const pair_t &
)
Reimplemented by: peary::interface::AXI4LiteEndpoint::write_impl, peary::interface::SerialMemoryEndpoint::write_impl, peary::interface::I2CEndpoint::write_impl, peary::interface::LoopbackEndpoint::write_impl
function write_impl
inline virtual vector_t write_impl(
const reg_t & ,
const vector_t &
)
Reimplemented by: peary::interface::I2CEndpoint::write_impl, peary::interface::LoopbackEndpoint::write_impl
function write_impl
inline virtual std::vector< pair_t > write_impl(
const std::vector< pair_t > &
)
Reimplemented by: peary::interface::LoopbackEndpoint::write_impl
function read_impl
inline virtual data_t read_impl()
function read_impl
inline virtual vector_t read_impl(
const unsigned int
)
Reimplemented by: peary::interface::I2CEndpoint::read_impl, peary::interface::LoopbackEndpoint::read_impl
function read_impl
inline virtual vector_t read_impl(
const reg_t & ,
const unsigned int
)
Reimplemented by: peary::interface::AXI4LiteEndpoint::read_impl, peary::interface::SerialMemoryEndpoint::read_impl, peary::interface::IPSocketEndpoint::read_impl, peary::interface::I2CEndpoint::read_impl, peary::interface::LoopbackEndpoint::read_impl
Updated on 2026-01-30 at 22:01:05 +0100