modbus::request::write_multiple_coils class

request write multiple coils class

Encode, decode, and execute write multiple coils request

Structure: [ (Header...) ] [ Function (1 byte) ] [ Starting Address (2 bytes) ] [ Quantity of outputs (2 bytes) ] [ Byte count N (1 byte) ] [ Output value (N x 1 bytes) ]

Base classes

class modbus::internal::request

Constructors, destructors, conversion operators

write_multiple_coils(const address_t& address = address_t{}, const write_num_bits_t& count = write_num_bits_t{}, std::initializer_list<block::bits::data_type> values = {}) explicit noexcept

Public functions

auto encode() -> packet_t override
void decode(const packet_t& data) override
auto execute(table* data_table) -> internal::response::pointer override
auto response_size() const -> packet_t::size_type override
auto byte_count() const -> std::uint8_t
auto dump(std::ostream& os) const -> std::ostream& override
auto address() const -> const address_t&
auto count() const -> const write_num_bits_t&
auto values() const -> const block::bits::container_type&

Function documentation

modbus::request::write_multiple_coils::write_multiple_coils(const address_t& address = address_t{}, const write_num_bits_t& count = write_num_bits_t{}, std::initializer_list<block::bits::data_type> values = {}) explicit noexcept

Parameters
address output address
count count
values coil values

request::write_multiple_coils constructor

packet_t modbus::request::write_multiple_coils::encode() override

Returns packet format

Encode write single_coil packet from given data

void modbus::request::write_multiple_coils::decode(const packet_t& data) override

Parameters
data data to be appended
Returns packet format

Decode write single coil packet

internal::response::pointer modbus::request::write_multiple_coils::execute(table* data_table) override

Returns packet format

Encode write bits packet

packet_t::size_type modbus::request::write_multiple_coils::response_size() const override

Returns response size

Get response size for error checking on client

std::uint8_t modbus::request::write_multiple_coils::byte_count() const

Returns byte count

Byte count

std::ostream& modbus::request::write_multiple_coils::dump(std::ostream& os) const override

Parameters
os ostream
Returns ostream

Dump to string

const address_t& modbus::request::write_multiple_coils::address() const

Returns address

Get address

const write_num_bits_t& modbus::request::write_multiple_coils::count() const

Returns address

Get address

const block::bits::container_type& modbus::request::write_multiple_coils::values() const

Returns value

Get value