|
SatCat5
|
Thin wrapper for access via UDP/IP through udp::Dispatch.
Handler for ConfigBus network commands. This protocol allows a local ConfigBus to be commanded remotely over Ethernet or UDP, depending on how it is instantiated.
This server is equivalent to the ConfigBus host defined in "cfgbus_host_eth.vhd", but this server implemented in software. This can be used to implement mixed local/remote control, provide diagnostics, etc. The local ConfigBus can be shared between local and remote operation.
The driver only supports memory-mapped local ConfigBus (i.e., an instance of the cfg::ConfigBusMmap class). Support for masked writes is optional, and disabled by default. Set SATCAT5_PROTOCFG_SUPPORT_WRMASK = 1 to enable this feature.
Refer to cfgbus_host_eth.vhd for details of the packet format.
Definition at line 68 of file net_cfgbus.h.
#include <net_cfgbus.h>
Public Member Functions | |
| ProtoConfig (satcat5::udp::Dispatch *iface, satcat5::cfg::ConfigBusMmap *cfg, unsigned max_devices=satcat5::cfg::DEVS_PER_CFGBUS) | |
Protected Member Functions | |
| void | frame_rcvd (satcat5::io::LimitedRead &src) override |
| Event handler to process incoming frames and respond. | |
Protected Attributes | |
| satcat5::cfg::ConfigBusMmap *const | m_cfg |
| ConfigBus instance. | |
| satcat5::net::Dispatch *const | m_iface |
| Registered iface. | |
| satcat5::net::Type const | m_acktype |
| Type for replies. | |
| const unsigned | m_max_devices |
| Max # of devices. | |
| satcat5::net::Type | m_filter |
| Incoming packet filter. | |
Private Attributes | |
| satcat5::net::Protocol * | m_next |
| Linked list of Protocols. | |