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

Tutorials

This section walks you through typical workflows step by step.

The focus is a GigE Vision camera accessed over Ethernet, using:

  • The gencamctl CLI for quick experiments and ops work.
  • The genicam crate for Rust examples you can copy into your own code.

If you haven’t done so yet, first read:

They explain how to build the workspace and verify that your toolchain works.


If you are new to the project, the recommended reading order is:

  1. Discovery
    Find cameras on your network, verify that discovery works, and understand basic NIC and firewall requirements.

  2. Registers & features
    Read and write GenApi features (e.g. ExposureTime), understand selectors such as GainSelector, and learn when you might need raw registers.

  3. GenApi XML
    Fetch the GenICam XML from a device, inspect it, and see how it maps to the NodeMap used by genapi-core.

  4. Streaming
    Start a GVSP stream, receive frames, look at stats, and learn which knobs matter for throughput and robustness.

You can stop after Discovery and Streaming if you only need to verify that your camera works. The other tutorials are useful when you want to build a full application or debug deeper GenApi issues.


What you need before starting

Before running any tutorial, make sure you have:

  • A working Rust toolchain (see rust-toolchain.toml for the pinned version).

  • The workspace builds successfully:

    cargo build --workspace
    
      •	At least one GigE Vision camera reachable from your machine:
      •	Either directly connected to a NIC.
      •	Or via a switch on a dedicated subnet.
    
    

For networking details (MTU, jumbo frames, Windows specifics, etc.), see Networking once that chapter is filled in.

Tutorials overview • Discovery Use gencamctl and the genicam examples to find cameras and verify that basic communication is working. • Registers & features Use features by name, work with selectors, and know when to fall back to raw register access. • GenApi XML Fetch XML from the device, inspect it, and understand how genapi-xml and genapi-core use it. • Streaming Start streaming, tune packet size and delay, and interpret statistics and logging output.

Each tutorial has: • A CLI variant using gencamctl. • A Rust variant using the genicam crate and its examples.