template<constants::function_code function_code>
modbus::request::base_read_bits class

base request read bits class

Encode, decode, and execute read coils request

Structure : [ (Header...) ] [ Function (1 byte) ] [ Starting Address (2 bytes) ] [ Quantity of bits (2 bytes) ]

Base classes

class modbus::internal::request

Constructors, destructors, conversion operators

base_read_bits(const address_t& address = address_t{}, const read_num_bits_t& count = read_num_bits_t{}) explicit noexcept

Public functions

auto encode() -> packet_t override
void decode(const packet_t& packet) override
auto execute(table* data_table) -> internal::response::pointer override
auto byte_count() const -> std::uint16_t
auto response_size() const -> packet_t::size_type override
auto address() const -> const address_t&
auto count() const -> const read_num_bits_t&
auto dump(std::ostream& os) const -> std::ostream& override

Function documentation

template<constants::function_code function_code>
modbus::request::base_read_bits<function_code>::base_read_bits(const address_t& address = address_t{}, const read_num_bits_t& count = read_num_bits_t{}) explicit noexcept

Parameters
address address requested
count count requested

request::base_read_bits constructor

template<constants::function_code function_code>
packet_t modbus::request::base_read_bits<function_code>::encode() override

Returns packet format

Encode read bits packet from given data

template<constants::function_code function_code>
void modbus::request::base_read_bits<function_code>::decode(const packet_t& packet) override

Parameters
packet packet to decode
Returns packet format

Decode read bits packet

template<constants::function_code function_code>
internal::response::pointer modbus::request::base_read_bits<function_code>::execute(table* data_table) override

Returns packet format

Encode read bits packet

template<constants::function_code function_code>
std::uint16_t modbus::request::base_read_bits<function_code>::byte_count() const

Returns byte count

Byte count

template<constants::function_code function_code>
packet_t::size_type modbus::request::base_read_bits<function_code>::response_size() const override

Returns response size

Get response size for error checking on client

template<constants::function_code function_code>
const address_t& modbus::request::base_read_bits<function_code>::address() const

Returns address

Get address

template<constants::function_code function_code>
const read_num_bits_t& modbus::request::base_read_bits<function_code>::count() const

Returns count

Get count

template<constants::function_code function_code>
std::ostream& modbus::request::base_read_bits<function_code>::dump(std::ostream& os) const override

Parameters
os ostream
Returns ostream

Dump to string