Crate meadow

source ·
Expand description

meadow is an experimental robotics-focused publish/request middleware for embedded Linux. It is built with a high preference for catching errors at compile-time over runtime and a focus on developer ergonomics, and can natively operate on any serde-compatible data type.

It uses a star-shaped network topology, with a focus on ease-of-use and transparent design and operation. It is more similar to ZeroMQ than to higher-level frameworks like ROS/2, but uses a central coordination process similar to MOOS-IvP. Meadow currently supports the following messaging patterns over different transport protocols:

ProtocolPublishRequestSubscribeEncryption
TCPXXX
UDPXXX
QUICXXXX

Re-exports

Modules

  • Error types used by Meadow
  • Central coordination process, which stores published data and responds to requests
  • Message definitions for publish/request functions
  • Network-based utility module
  • Objects that publish and request strongly-typed data to named topics on the Host

Traits

  • Re-export of Serde’s Serialize and Deserialize traits A data structure that can be deserialized from any data format supported by Serde.
  • Re-export of Serde’s Serialize and Deserialize traits A data structure that can be serialized into any data format supported by Serde.

Derive Macros

  • Re-export of Serde’s Serialize and Deserialize traits
  • Re-export of Serde’s Serialize and Deserialize traits