MC Protocol Serial C++ 0.2.3
MC protocol serial library for MCU-oriented environments
Loading...
Searching...
No Matches
qualified_buffer.hpp File Reference
#include <array>
#include <cstddef>
#include <cstdint>
#include "mcprotocol/serial/span_compat.hpp"
#include "mcprotocol/serial/status.hpp"
#include "mcprotocol/serial/string_view_compat.hpp"
#include "mcprotocol/serial/types.hpp"

Go to the source code of this file.

Classes

struct  mcprotocol::serial::QualifiedBufferWordDevice
 Parsed U...\\G... or U...\\HG... qualified word device. More...
 

Namespaces

namespace  mcprotocol
 
namespace  mcprotocol::serial
 
namespace  mcprotocol::serial::detail
 

Enumerations

enum class  mcprotocol::serial::QualifiedBufferDeviceKind : std::uint8_t { mcprotocol::serial::G , mcprotocol::serial::HG }
 Qualified buffer-memory family used by helper U... accessors. More...
 

Functions

constexpr const char * mcprotocol::serial::qualified_buffer_kind_name (QualifiedBufferDeviceKind kind) noexcept
 Returns "G" or "HG" for the helper device kind.
 
constexpr std::uint32_t mcprotocol::serial::qualified_buffer_word_to_byte_address (std::uint32_t word_address) noexcept
 Converts a qualified word address to the corresponding module-buffer byte address.
 
constexpr char mcprotocol::serial::detail::ascii_upper (char value) noexcept
 
constexpr bool mcprotocol::serial::detail::is_separator (char value) noexcept
 
bool mcprotocol::serial::detail::parse_u32_chars (std::string_view text, int base, std::uint32_t &out_value) noexcept
 
bool mcprotocol::serial::detail::parse_u32_auto (std::string_view text, std::uint32_t &out_value) noexcept
 
Status mcprotocol::serial::parse_qualified_buffer_word_device (std::string_view text, QualifiedBufferWordDevice &out_device) noexcept
 Parses a helper qualified device string such as U3E0\\G10 or U3E0\\HG20.
 
Status mcprotocol::serial::make_qualified_buffer_read_words_request (const QualifiedBufferWordDevice &device, std::uint16_t word_length, ModuleBufferReadRequest &out_request) noexcept
 Builds a module-buffer read request for a helper qualified word range.
 
Status mcprotocol::serial::encode_qualified_buffer_word_values (std::span< const std::uint16_t > words, std::span< std::byte > out_bytes, std::size_t &out_size) noexcept
 Encodes helper qualified word values into little-endian module-buffer bytes.
 
Status mcprotocol::serial::make_qualified_buffer_write_words_request (const QualifiedBufferWordDevice &device, std::span< const std::uint16_t > words, std::span< std::byte > byte_storage, ModuleBufferWriteRequest &out_request, std::size_t &out_byte_count) noexcept
 Builds a module-buffer write request for helper qualified word access.
 
Status mcprotocol::serial::decode_qualified_buffer_word_values (std::span< const std::byte > bytes, std::span< std::uint16_t > out_words) noexcept
 Decodes little-endian module-buffer bytes into helper qualified word values.