Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding framerate control for Vimba v6 #121

Merged
merged 3 commits into from
May 29, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions cfg/AvtVimbaCamera.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,7 @@ exposure_mode_enum = gen.enum([gen.const("Timed", str_t, "Timed", "[Default] Cam
# ACQUISITION
gen.add("acquisition_mode", str_t, SensorLevels.RECONFIGURE_STOP, "Camera acquisition mode", "Continuous", edit_method = acquisition_mode_enum)
gen.add("acquisition_rate", double_t, SensorLevels.RECONFIGURE_RUNNING, "Sets the expected triggering rate in externally triggered mode.", 10, 1, 35)
gen.add("acquisition_rate_enable",bool_t, SensorLevels.RECONFIGURE_RUNNING, "Allows to fix acquisition rate, if available", False)
# TRIGGER
gen.add("trigger_source", str_t, SensorLevels.RECONFIGURE_STOP, "Camera trigger source", "FixedRate", edit_method = trigger_source_enum)
gen.add("trigger_mode", str_t, SensorLevels.RECONFIGURE_STOP, "Camera trigger mode", "On", edit_method = trigger_mode_enum)
Expand Down
2 changes: 2 additions & 0 deletions launch/Mako_G-319.launch
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
<arg name="guid" default="" doc="The GUID for the camera to connect to"/>
<arg name="camera_info_url" default="file://$(find avt_vimba_camera)/calibrations/calibration_example.yaml"/>
<arg name="acquisition_rate" default="10" doc="Camera framerate (Hz)"/>
<arg name="acquisition_rate_enable" default="False" doc="Allow fixed camera framerate"/>

<include file="$(find avt_vimba_camera)/launch/mono_camera.launch">
<arg name="name" value="$(arg name)"/>
Expand All @@ -13,6 +14,7 @@
<arg name="guid" value="$(arg guid)"/>
<arg name="camera_info_url" value="$(arg camera_info_url)"/>
<arg name="acquisition_rate" value="$(arg acquisition_rate)"/>
<arg name="acquisition_rate_enable" value="$(arg acquisition_rate_enable)"/>

<!-- Params specific to Mako G-319 -->
<arg name="pixel_format" value="BayerRG8"/>
Expand Down
2 changes: 2 additions & 0 deletions launch/mono_camera.launch
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
<!-- Acquisition -->
<arg name="acquisition_mode" default="Continuous"/>
<arg name="acquisition_rate" default="10"/>
<arg name="acquisition_rate_enable" default="False"/>
<!-- Trigger -->
<arg name="trigger_source" default="FixedRate"/>
<arg name="trigger_mode" default="On"/>
Expand Down Expand Up @@ -93,6 +94,7 @@

<param name="acquisition_mode" value="$(arg acquisition_mode)"/>
<param name="acquisition_rate" value="$(arg acquisition_rate)"/>
<param name="acquisition_rate_enable" value="$(arg acquisition_rate_enable)"/>

<param name="trigger_source" value="$(arg trigger_source)"/>
<param name="trigger_mode" value="$(arg trigger_mode)"/>
Expand Down
2 changes: 2 additions & 0 deletions launch/mono_camera_nodelet.launch
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
<!-- Acquisition -->
<arg name="acquisition_mode" default="Continuous"/>
<arg name="acquisition_rate" default="10"/>
<arg name="acquisition_rate_enable" default="False"/>
<!-- Trigger -->
<arg name="trigger_source" default="FixedRate"/>
<arg name="trigger_mode" default="On"/>
Expand Down Expand Up @@ -93,6 +94,7 @@

<param name="acquisition_mode" value="$(arg acquisition_mode)"/>
<param name="acquisition_rate" value="$(arg acquisition_rate)"/>
<param name="acquisition_rate_enable" value="$(arg acquisition_rate_enable)"/>

<param name="trigger_source" value="$(arg trigger_source)"/>
<param name="trigger_mode" value="$(arg trigger_mode)"/>
Expand Down
5 changes: 5 additions & 0 deletions src/avt_vimba_camera.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -837,9 +837,14 @@ void AvtVimbaCamera::updateAcquisitionConfig(Config& config)
{
configureFeature("AcquisitionMode", config.acquisition_mode, config.acquisition_mode);
}
if (config.acquisition_rate_enable != config_.acquisition_rate_enable || on_init_)
{
configureFeature("AcquisitionFrameRateEnable", static_cast<bool>(config.acquisition_rate_enable), config.acquisition_rate_enable);
}
if (config.acquisition_rate != config_.acquisition_rate || on_init_)
{
configureFeature("AcquisitionFrameRateAbs", static_cast<float>(config.acquisition_rate), config.acquisition_rate);
configureFeature("AcquisitionFrameRate", static_cast<float>(config.acquisition_rate), config.acquisition_rate); // NEW CAMERAS USE THIS PARAMETER
}
if (config.trigger_mode != config_.trigger_mode || on_init_)
{
Expand Down