Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Welcome & Goals

genicam-rs provides pure Rust building blocks for the GenICam ecosystem with an Ethernet-first focus (GigE Vision) and first-class support for Windows, Linux, and macOS.

Who is this book for?

  • End‑users building camera applications who want a practical high‑level API and copy‑pasteable examples.
  • Contributors extending transports, GenApi features (incl. expression nodes), and streaming—who need a clear mental model of crates and internal boundaries.

What works today

  • Device discovery over GigE Vision (GVCP) on a selected network interface.
  • Control path: reading/writing device memory via GenCP over GVCP; fetching the device’s GenApi XML.
  • GenApi: NodeMap with common node kinds (Integer/Float/Enum/Bool/Command/SwissKnife), ranges, access modes, and selector-based addressing.
  • CLI (gencamctl) for common operations: discovery, feature get/set, streaming, events, chunks, and benchmarks.
  • Streaming (GVSP): packet reassembly, resend handling, MTU/packet sizing & delay, and stats (evolving).

Details evolve fast—check examples and release notes for the latest capabilities.

What’s coming next

  • Additional GenApi nodes (e.g., Converter, complex formulas), dependency evaluation/caching improvements.
  • USB3 Vision transport.
  • GenTL producer (.cti) and PFNC/SFNC coverage.

How this book is organized

  • Start with Quick Start to build, test, and run the first discovery.
  • Read the Primer and Architecture to get the big picture.
  • Use Crate Guides and Tutorials for hands‑on tasks.
  • See Networking and Troubleshooting when packets don’t behave.