|
| | MelsecSerialClient ()=default |
| |
| Status | configure (const ProtocolConfig &config) noexcept |
| | Stores protocol settings and validates the static configuration.
|
| |
| void | set_rs485_hooks (const Rs485Hooks &hooks) noexcept |
| | Installs optional RS-485 TX begin/end hooks used by the async workflow.
|
| |
| bool | busy () const noexcept |
| | Returns whether a request is currently in flight.
|
| |
| std::span< const std::byte > | pending_tx_frame () const noexcept |
| | Returns the encoded frame that should be sent to the UART layer.
|
| |
| Status | notify_tx_complete (std::uint32_t now_ms, Status transport_status=ok_status()) noexcept |
| | Advances the state machine after the transport finished sending the pending frame.
|
| |
| void | on_rx_bytes (std::uint32_t now_ms, std::span< const std::byte > bytes) noexcept |
| | Feeds received bytes into the response decoder.
|
| |
| void | poll (std::uint32_t now_ms) noexcept |
| | Checks timeouts for the current in-flight request.
|
| |
| void | cancel () noexcept |
| | Cancels the in-flight request and clears transient state.
|
| |
| Status | async_batch_read_words (std::uint32_t now_ms, const BatchReadWordsRequest &request, std::span< std::uint16_t > out_words, CompletionHandler callback, void *user) noexcept |
| | Starts contiguous word read (0401).
|
| |
| Status | async_read_extended_file_register_words (std::uint32_t now_ms, const ExtendedFileRegisterBatchReadWordsRequest &request, std::span< std::uint16_t > out_words, CompletionHandler callback, void *user) noexcept |
| | Starts extended file-register word read.
|
| |
| Status | async_direct_read_extended_file_register_words (std::uint32_t now_ms, const ExtendedFileRegisterDirectBatchReadWordsRequest &request, std::span< std::uint16_t > out_words, CompletionHandler callback, void *user) noexcept |
| | Starts direct extended file-register word read.
|
| |
| Status | async_link_direct_batch_read_words (std::uint32_t now_ms, const LinkDirectDevice &device, std::uint16_t points, std::span< std::uint16_t > out_words, CompletionHandler callback, void *user) noexcept |
| | Starts Jn\\... link-direct word read over device extension specification.
|
| |
| Status | async_batch_read_bits (std::uint32_t now_ms, const BatchReadBitsRequest &request, std::span< BitValue > out_bits, CompletionHandler callback, void *user) noexcept |
| | Starts contiguous bit read (0401 bit path).
|
| |
| Status | async_link_direct_batch_read_bits (std::uint32_t now_ms, const LinkDirectDevice &device, std::uint16_t points, std::span< BitValue > out_bits, CompletionHandler callback, void *user) noexcept |
| | Starts Jn\\... link-direct bit read over device extension specification.
|
| |
| Status | async_batch_write_words (std::uint32_t now_ms, const BatchWriteWordsRequest &request, CompletionHandler callback, void *user) noexcept |
| | Starts contiguous word write (1401).
|
| |
| Status | async_write_extended_file_register_words (std::uint32_t now_ms, const ExtendedFileRegisterBatchWriteWordsRequest &request, CompletionHandler callback, void *user) noexcept |
| | Starts extended file-register word write.
|
| |
| Status | async_direct_write_extended_file_register_words (std::uint32_t now_ms, const ExtendedFileRegisterDirectBatchWriteWordsRequest &request, CompletionHandler callback, void *user) noexcept |
| | Starts direct extended file-register word write.
|
| |
| Status | async_link_direct_batch_write_words (std::uint32_t now_ms, const LinkDirectDevice &device, std::span< const std::uint16_t > words, CompletionHandler callback, void *user) noexcept |
| | Starts Jn\\... link-direct contiguous word write over device extension specification.
|
| |
| Status | async_batch_write_bits (std::uint32_t now_ms, const BatchWriteBitsRequest &request, CompletionHandler callback, void *user) noexcept |
| | Starts contiguous bit write (1401 bit path).
|
| |
| Status | async_link_direct_batch_write_bits (std::uint32_t now_ms, const LinkDirectDevice &device, std::span< const BitValue > bits, CompletionHandler callback, void *user) noexcept |
| | Starts Jn\\... link-direct contiguous bit write over device extension specification.
|
| |
| Status | async_extended_batch_read_words (std::uint32_t now_ms, const QualifiedBufferWordDevice &device, std::uint16_t points, std::span< std::uint16_t > out_words, CompletionHandler callback, void *user) noexcept |
| | Starts helper qualified word read over module-buffer access.
|
| |
| Status | async_extended_batch_write_words (std::uint32_t now_ms, const QualifiedBufferWordDevice &device, std::span< const std::uint16_t > words, CompletionHandler callback, void *user) noexcept |
| | Starts helper qualified word write over module-buffer access.
|
| |
| Status | async_random_read (std::uint32_t now_ms, const RandomReadRequest &request, std::span< std::uint32_t > out_values, CompletionHandler callback, void *user) noexcept |
| | Starts native random read (0403).
|
| |
| Status | async_link_direct_random_read (std::uint32_t now_ms, std::span< const LinkDirectRandomReadItem > items, std::span< std::uint32_t > out_values, CompletionHandler callback, void *user) noexcept |
| | Starts native Jn\\... random read (0403 + device extension specification).
|
| |
| Status | async_random_write_words (std::uint32_t now_ms, std::span< const RandomWriteWordItem > items, CompletionHandler callback, void *user) noexcept |
| | Starts native random word/dword write (1402 word path).
|
| |
| Status | async_random_write_extended_file_register_words (std::uint32_t now_ms, std::span< const ExtendedFileRegisterRandomWriteWordItem > items, CompletionHandler callback, void *user) noexcept |
| | Starts extended file-register random word write.
|
| |
| Status | async_link_direct_random_write_words (std::uint32_t now_ms, std::span< const LinkDirectRandomWriteWordItem > items, CompletionHandler callback, void *user) noexcept |
| | Starts native Jn\\... random word write (1402 + device extension specification).
|
| |
| Status | async_random_write_bits (std::uint32_t now_ms, std::span< const RandomWriteBitItem > items, CompletionHandler callback, void *user) noexcept |
| | Starts native random bit write (1402 bit path).
|
| |
| Status | async_link_direct_random_write_bits (std::uint32_t now_ms, std::span< const LinkDirectRandomWriteBitItem > items, CompletionHandler callback, void *user) noexcept |
| | Starts native Jn\\... random bit write (1402 + device extension specification).
|
| |
| Status | async_multi_block_read (std::uint32_t now_ms, const MultiBlockReadRequest &request, std::span< std::uint16_t > out_words, std::span< BitValue > out_bits, std::span< MultiBlockReadBlockResult > out_results, CompletionHandler callback, void *user) noexcept |
| | Starts native multi-block read (0406).
|
| |
| Status | async_link_direct_multi_block_read (std::uint32_t now_ms, const LinkDirectMultiBlockReadRequest &request, std::span< std::uint16_t > out_words, std::span< BitValue > out_bits, std::span< MultiBlockReadBlockResult > out_results, CompletionHandler callback, void *user) noexcept |
| | Starts native Jn\\... multi-block read (0406 + device extension specification).
|
| |
| Status | async_multi_block_write (std::uint32_t now_ms, const MultiBlockWriteRequest &request, CompletionHandler callback, void *user) noexcept |
| | Starts native multi-block write (1406).
|
| |
| Status | async_link_direct_multi_block_write (std::uint32_t now_ms, const LinkDirectMultiBlockWriteRequest &request, CompletionHandler callback, void *user) noexcept |
| | Starts native Jn\\... multi-block write (1406 + device extension specification).
|
| |
| Status | async_register_monitor (std::uint32_t now_ms, const MonitorRegistration &request, CompletionHandler callback, void *user) noexcept |
| | Starts monitor registration (0801).
|
| |
| Status | async_register_extended_file_register_monitor (std::uint32_t now_ms, const ExtendedFileRegisterMonitorRegistration &request, CompletionHandler callback, void *user) noexcept |
| | Starts extended file-register monitor registration.
|
| |
| Status | async_link_direct_register_monitor (std::uint32_t now_ms, const LinkDirectMonitorRegistration &request, CompletionHandler callback, void *user) noexcept |
| | Starts native Jn\\... monitor registration (0801 + device extension specification).
|
| |
| Status | async_read_monitor (std::uint32_t now_ms, std::span< std::uint32_t > out_values, CompletionHandler callback, void *user) noexcept |
| | Starts monitor read (0802) using the most recent registration.
|
| |
| Status | async_read_extended_file_register_monitor (std::uint32_t now_ms, std::span< std::uint16_t > out_words, CompletionHandler callback, void *user) noexcept |
| | Starts extended file-register monitor read.
|
| |
| Status | async_read_host_buffer (std::uint32_t now_ms, const HostBufferReadRequest &request, std::span< std::uint16_t > out_words, CompletionHandler callback, void *user) noexcept |
| | Starts host-buffer read (0613).
|
| |
| Status | async_write_host_buffer (std::uint32_t now_ms, const HostBufferWriteRequest &request, CompletionHandler callback, void *user) noexcept |
| | Starts host-buffer write (1613).
|
| |
| Status | async_read_module_buffer (std::uint32_t now_ms, const ModuleBufferReadRequest &request, std::span< std::byte > out_bytes, CompletionHandler callback, void *user) noexcept |
| | Starts module-buffer byte read (0601).
|
| |
| Status | async_write_module_buffer (std::uint32_t now_ms, const ModuleBufferWriteRequest &request, CompletionHandler callback, void *user) noexcept |
| | Starts module-buffer byte write (1601).
|
| |
| Status | async_read_cpu_model (std::uint32_t now_ms, CpuModelInfo &out_info, CompletionHandler callback, void *user) noexcept |
| | Starts CPU-model read.
|
| |
| Status | async_remote_run (std::uint32_t now_ms, RemoteOperationMode mode, RemoteRunClearMode clear_mode, CompletionHandler callback, void *user) noexcept |
| | Starts remote RUN (1001).
|
| |
| Status | async_remote_stop (std::uint32_t now_ms, CompletionHandler callback, void *user) noexcept |
| | Starts remote STOP (1002).
|
| |
| Status | async_remote_pause (std::uint32_t now_ms, RemoteOperationMode mode, CompletionHandler callback, void *user) noexcept |
| | Starts remote PAUSE (1003).
|
| |
| Status | async_remote_latch_clear (std::uint32_t now_ms, CompletionHandler callback, void *user) noexcept |
| | Starts remote latch clear (1005).
|
| |
| Status | async_unlock_remote_password (std::uint32_t now_ms, std::string_view remote_password, CompletionHandler callback, void *user) noexcept |
| | Unlocks remote-password-protected access (1630).
|
| |
| Status | async_lock_remote_password (std::uint32_t now_ms, std::string_view remote_password, CompletionHandler callback, void *user) noexcept |
| | Locks remote-password-protected access (1631).
|
| |
| Status | async_clear_error_information (std::uint32_t now_ms, CompletionHandler callback, void *user) noexcept |
| | Starts clear error information (1617) for serial/C24 targets.
|
| |
| Status | async_remote_reset (std::uint32_t now_ms, CompletionHandler callback, void *user) noexcept |
| | Starts remote RESET (1006).
|
| |
| Status | async_read_user_frame (std::uint32_t now_ms, const UserFrameReadRequest &request, UserFrameRegistrationData &out_data, CompletionHandler callback, void *user) noexcept |
| | Starts user-frame registration-data read (0610).
|
| |
| Status | async_write_user_frame (std::uint32_t now_ms, const UserFrameWriteRequest &request, CompletionHandler callback, void *user) noexcept |
| | Starts user-frame registration-data write (1610, subcommand 0000).
|
| |
| Status | async_delete_user_frame (std::uint32_t now_ms, const UserFrameDeleteRequest &request, CompletionHandler callback, void *user) noexcept |
| | Starts user-frame registration-data delete (1610, subcommand 0001).
|
| |
| Status | async_control_global_signal (std::uint32_t now_ms, const GlobalSignalControlRequest &request, CompletionHandler callback, void *user) noexcept |
| | Starts C24 global-signal ON/OFF control (1618).
|
| |
| Status | async_initialize_c24_transmission_sequence (std::uint32_t now_ms, CompletionHandler callback, void *user) noexcept |
| | Starts C24 transmission-sequence initialization (1615).
|
| |
| Status | async_deregister_cpu_monitoring (std::uint32_t now_ms, CompletionHandler callback, void *user) noexcept |
| | Starts programmable-controller CPU monitoring deregistration (0631).
|
| |
| Status | async_loopback (std::uint32_t now_ms, std::span< const char > hex_ascii, std::span< char > out_echoed, CompletionHandler callback, void *user) noexcept |
| | Starts loopback using hexadecimal ASCII payload bytes.
|
| |
Asynchronous MC protocol client for UART / serial integrations.
The intended MCU-side workflow is:
- call
configure()
- start an
async_* request
- transmit
pending_tx_frame() with the board UART layer
- call
notify_tx_complete() when TX finishes
- feed received bytes with
on_rx_bytes()
- call
poll() from the main loop or scheduler for timeout handling
Output spans passed to async_* requests must remain valid until the completion callback fires or until the request is cancelled.
Definition at line 37 of file client.hpp.