Skip to content

sunipkm/generic_camera

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 

Repository files navigation

generic-camera

generic-camera is a framework for implementing type-agnostic interfaces for cameras. generic-camera provides two fundamental traits, GenCamDriver and GenCam.

GenCamDriver

GenCamDriver defines functionality used to query a driver for available devices, their capabilities, and connect to a specific device.

GenCam

GenCam defines functionality to query a specific driver for its capabilities (get_properties), which return a map of camera settings, along with legal values, controlled using the get_property and set_property functions. start_exposure, image_ready and download_image functions allow non-blocking image capture, and capture blocks to return an image. generic-camera uses refimage::GenericImageRef to support arbitrary image encapsulation (u8, u16 and f32 data types) while being serdes compatible and supporting metadata.

GenCamCtrl

GenCamCtrl encapsulates control of different aspects of a camera (serdes compatible).

  • GenCamCtrl::Device encapsulates device control,
  • GenCamCtrl::Sensor encapsulates sensor controls, such as setting ROI, pixel bit depth, `
  • GenCamCtrl::Trigger encapsulates trigger selection and settings,
  • GenCamCtrl::Exposure encapsulates exposure control (such as exposure time, auto exposure)
  • GenCamCtrl::FrameTime encapsulates frame time controls (such as frame rate)
  • GenCamCtrl::Analog controls analog features such as gain, white balance etc.
  • GenCamCtrl::DigitalIo controls digital I/O.

Property

Property structs encapsulate allowed ranges and variants for the various controls. The API accepts concrete values through the PropertyValue struct. Both Property and PropertyValue are serdes compatible.

Optional Features

  • server: This optional feature exports GenCamServer, a type that aggregates multiple cameras, accessed by a i32 ID returned when the camera is inserted into GenCamServer. Functions associated with a camera are called by passing in the appropriate GenSrvCmd, and the returns values are encapsulated in GenSrvValue.
  • dummy: This optional feature exports a dummy camera through GenCamDriverDummy and GenCamDummy to demonstrate the use of the API.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages