DUNE: Uniform Navigational Environment
2016.09.0
|
Implementation of the GigE Vision Control Protocol (GVCP).
Other cameras might have registers in different addresses. The right way to handle this would be to parse the Zipped XML that the camera provides.
Public Types | |
enum | Types { TYPE_COM_CAM, TYPE_CAM_COM } |
enum | OpCodes { OP_REG_WRITE, OP_REG_READ } |
enum | Registers { ADR_STREAM_PRT, ADR_STREAM_ADR, ADR_PRIV, ADR_WIDTH, ADR_HEIGHT, ADR_OFFS_X, ADR_OFFS_Y, ADR_PIX_FMT, ADR_ACQ_CTL, ADR_FPS, ADR_EXPO_RAW, ADR_GAMMA_RAW, ADR_GAIN_RAW, ADR_STROBE_MOD, ADR_STROBE_DUR, ADR_STROBE_DEL } |
enum | FramesPerSecond { FPS_15, FPS_7, FPS_3 } |
enum | PixelFormats { PIX_MONO8, PIX_BGB8 } |
enum | PrivilegeBitValues { PRIV_BV_EXCLUSIVE, PRIV_BV_CONTROL } |
enum | StrobeModes { STROBE_MODE_OFF, STROBE_MODE_ALWAYS_ON, STROBE_MODE_FIXED, STROBE_MODE_EXPOSURE } |
enum | StrobeBitValues { STROBE_BV_ON_OFF, STROBE_BV_POLARITY, STROBE_BV_EXPOSURE } |
Public Member Functions | |
GVCP (const Address &cam_addr) | |
~GVCP (void) | |
void | setPrivilege (unsigned bits) |
void | setStreamPort (uint16_t port) |
void | setStreamAddress (const Address &address) |
void | setPixelFormat (PixelFormats format) |
void | setFPS (FramesPerSecond fps) |
void | setFPS (unsigned fps) |
void | setExposureTime (double exposure) |
void | setGain (unsigned gain) |
void | setGamma (unsigned gamma) |
void | setStrobeMode (StrobeModes mode, bool polarity=true) |
void | setStrobeDelay (int32_t delay) |
void | setStrobeDuration (uint32_t duration) |
void | startStreaming (void) |
void | stopStreaming (void) |
void | keepAlive (void) |
Register addresses.
Enumerator | |
---|---|
ADR_STREAM_PRT |
Primary stream destination port. |
ADR_STREAM_ADR |
Primary stream destination address. |
ADR_PRIV |
Control privilege. |
ADR_WIDTH |
Picture width (fixed). |
ADR_HEIGHT |
Picture height (fixed). |
ADR_OFFS_X |
Picture offset (X). |
ADR_OFFS_Y |
Picture offset (Y). |
ADR_PIX_FMT |
Pixel format. |
ADR_ACQ_CTL |
Acquisition control: start/stop. |
ADR_FPS |
Frames per second. |
ADR_EXPO_RAW |
Exposure time (raw). |
ADR_GAMMA_RAW |
Gamma (raw). |
ADR_GAIN_RAW |
Gain (raw). |
ADR_STROBE_MOD |
Strobe mode. |
ADR_STROBE_DUR |
Strobe duration. |
ADR_STROBE_DEL |
Strobe delay. |
|
inline |
|
inline |
References setPrivilege(), and stopStreaming().
|
inline |
|
inline |
References ADR_EXPO_RAW.
Referenced by Vision::DFK51BG02H::Task::onMain(), and Vision::DFK51BG02H::Task::onResourceInitialization().
|
inline |
Configure number of frames per second.
[in] | fps | frames per second. |
References ADR_FPS.
Referenced by Vision::DFK51BG02H::Task::onResourceInitialization(), and setFPS().
|
inline |
|
inline |
Configure gain.
[in] | gain | raw gain. |
References ADR_GAIN_RAW.
Referenced by Vision::DFK51BG02H::Task::onResourceInitialization().
|
inline |
Configure gamma.
[in] | gamma | raw gamma. |
References ADR_GAMMA_RAW.
Referenced by Vision::DFK51BG02H::Task::onResourceInitialization().
|
inline |
Set pixel format.
[in] | format | pixel format. |
References ADR_PIX_FMT.
Referenced by Vision::DFK51BG02H::Task::onResourceInitialization().
|
inline |
Set access privileges. It's mandatory (or so I think)
References ADR_PRIV.
Referenced by Vision::DFK51BG02H::Task::onResourceInitialization(), and ~GVCP().
|
inline |
Configure destination stream address (GVSP).
[in] | address | destination IP address. |
References ADR_STREAM_ADR.
Referenced by Vision::DFK51BG02H::Task::onResourceInitialization().
|
inline |
Configure destination stream port (GVSP).
[in] | port | UDP port. |
References ADR_STREAM_PRT.
Referenced by Vision::DFK51BG02H::Task::onResourceInitialization().
|
inline |
Set strobe delay.
[in] | delay | strobe delay. |
References ADR_STROBE_DEL.
Referenced by Vision::DFK51BG02H::Task::onResourceInitialization().
|
inline |
Set strobe duration.
[in] | duration | strobe duration. |
References ADR_STROBE_DUR.
Referenced by Vision::DFK51BG02H::Task::onResourceInitialization().
|
inline |
Configure strobe mode.
[in] | mode | strobe mode. |
[in] | polarity | strobe polarity, false means inverted polarity. |
References ADR_STROBE_DEL, ADR_STROBE_DUR, ADR_STROBE_MOD, STROBE_BV_EXPOSURE, STROBE_BV_ON_OFF, STROBE_BV_POLARITY, STROBE_MODE_ALWAYS_ON, STROBE_MODE_EXPOSURE, STROBE_MODE_FIXED, and STROBE_MODE_OFF.
Referenced by Vision::DFK51BG02H::Task::onResourceInitialization(), and stopStreaming().
|
inline |
Start streaming.
References ADR_ACQ_CTL.
Referenced by Vision::DFK51BG02H::Task::onResourceInitialization().
|
inline |
Stop streaming.
References ADR_ACQ_CTL, setStrobeMode(), and STROBE_MODE_OFF.
Referenced by ~GVCP().