Protocols

Protocols defines how stream and memory traffic are carried, framed, and acted on between software and firmware endpoints. These pages are mostly rogue.protocols.*-first, but they also call out the small number of common pyrogue.protocols.* wrappers and Python-only helpers where that is how users usually encounter the protocol.

Most deployments combine multiple protocol layers. A typical stack starts with hardware or a socket transport, adds reliability or framing, then adds a transaction protocol such as SRP before it connects into a Memory or Stream topology.

Subtopics

  • Use UDP Protocol for lightweight datagram transport endpoints.

  • Use RSSI Protocol for ordered, reliable delivery over packet links.

  • Use Network Wrapper for the common pyrogue.protocols.UdpRssiPack wrapper that assembles a typical UDP/RSSI transport stack.

  • Use SRP Protocol for register and memory transaction transport over streams.

  • Use Packetizer Protocol for framing, virtual channels, and packet routing control.

  • Use Batcher Protocol for batching and unbatching transforms on stream traffic.

  • Use Xilinx Protocols for XVC and related Xilinx JTAG-over-network support.

  • Use EPICS V4 Access for EPICS PV integration helpers.

  • Use UART Memory for UART-backed memory access paths.

  • Use GPIB Control for SCPI-style instrument control over GPIB.

These protocol pages are most useful alongside Stream Interface and Memory Interface, where link construction and transaction flow are covered end to end.