Skip to content
Open
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
18 changes: 18 additions & 0 deletions .vscode/c_cpp_properties.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"configurations": [
{
"name": "macos-clang-arm64",
"includePath": [
"${workspaceFolder}/**"
],
"compilerPath": "/usr/bin/clang",
"cStandard": "${default}",
"cppStandard": "${default}",
"intelliSenseMode": "macos-clang-arm64",
"compilerArgs": [
""
]
}
],
"version": 4
}
13 changes: 13 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"version": "0.2.0",
"configurations": [
{
"name": "C/C++ Runner: Debug Session",
"type": "lldb",
"request": "launch",
"args": [],
"cwd": "/Users/michaelwu/Desktop/projects/avt_vimba_camera/avt_vimba_camera/src",
"program": "/Users/michaelwu/Desktop/projects/avt_vimba_camera/avt_vimba_camera/src/build/Debug/outDebug"
}
]
}
59 changes: 59 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
{
"C_Cpp_Runner.cCompilerPath": "clang",
"C_Cpp_Runner.cppCompilerPath": "clang++",
"C_Cpp_Runner.debuggerPath": "lldb",
"C_Cpp_Runner.cStandard": "",
"C_Cpp_Runner.cppStandard": "",
"C_Cpp_Runner.msvcBatchPath": "",
"C_Cpp_Runner.useMsvc": false,
"C_Cpp_Runner.warnings": [
"-Wall",
"-Wextra",
"-Wpedantic",
"-Wshadow",
"-Wformat=2",
"-Wcast-align",
"-Wconversion",
"-Wsign-conversion",
"-Wnull-dereference"
],
"C_Cpp_Runner.msvcWarnings": [
"/W4",
"/permissive-",
"/w14242",
"/w14287",
"/w14296",
"/w14311",
"/w14826",
"/w44062",
"/w44242",
"/w14905",
"/w14906",
"/w14263",
"/w44265",
"/w14928"
],
"C_Cpp_Runner.enableWarnings": true,
"C_Cpp_Runner.warningsAsError": false,
"C_Cpp_Runner.compilerArgs": [],
"C_Cpp_Runner.linkerArgs": [],
"C_Cpp_Runner.includePaths": [],
"C_Cpp_Runner.includeSearch": [
"*",
"**/*"
],
"C_Cpp_Runner.excludeSearch": [
"**/build",
"**/build/**",
"**/.*",
"**/.*/**",
"**/.vscode",
"**/.vscode/**"
],
"C_Cpp_Runner.useAddressSanitizer": false,
"C_Cpp_Runner.useUndefinedSanitizer": false,
"C_Cpp_Runner.useLeakSanitizer": false,
"C_Cpp_Runner.showCompilationTime": false,
"C_Cpp_Runner.useLinkTimeOptimization": false,
"C_Cpp_Runner.msvcSecureNoWarnings": false
}
37 changes: 37 additions & 0 deletions avt_vimba_camera/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ endif()

find_package(ament_cmake_auto REQUIRED)
find_package(OpenCV REQUIRED)
find_package(camera_info_manager REQUIRED)

ament_auto_find_build_dependencies()

Expand Down Expand Up @@ -57,6 +58,19 @@ ament_auto_add_library(mono_camera_node SHARED
)
add_dependencies_and_linkings(mono_camera_node)

# Register the component
rclcpp_components_register_nodes(mono_camera_node
"avt_vimba_camera::MonoCameraNode")


ament_auto_add_library(image_subscriber_node SHARED
src/image_subscriber_node.cpp
)

# Add this line after the library definition
rclcpp_components_register_nodes(image_subscriber_node
"avt_vimba_camera::ImageSubscriberNode")

ament_auto_add_library(trigger_node SHARED
src/trigger_node.cpp
)
Expand All @@ -66,10 +80,33 @@ add_dependencies_and_linkings(trigger_node)
ament_auto_add_executable(mono_camera_exec
src/exec/mono_camera_exec.cpp
)
target_link_libraries(mono_camera_exec
mono_camera_node
)

ament_auto_add_executable(trigger_exec
src/exec/trigger_exec.cpp
)
target_link_libraries(trigger_exec
trigger_node
)

# Add the intra-process executable
ament_auto_add_executable(intra_process_exec
src/exec/intra_process_exec.cpp
)
target_link_libraries(intra_process_exec
mono_camera_node
image_subscriber_node
)

# Add the image subscriber executable
ament_auto_add_executable(image_subscriber_exec
src/exec/image_subscriber_exec.cpp
)
target_link_libraries(image_subscriber_exec
image_subscriber_node
)

#############
## Install ##
Expand Down
185 changes: 94 additions & 91 deletions avt_vimba_camera/config/params.yaml
Original file line number Diff line number Diff line change
@@ -1,116 +1,119 @@
# This file is an example of the kind of parameters you can edit with your AVT camera.
# Note that your camera will likely have different defaults.
# Most of them are commented out, since the driver will use the configs already in the camera by default.
# See the README for more details.

/**:
ros__parameters:
name: camera
frame_id: "vimba_front"
ip: '10.42.7.51'
guid: ''
use_measurement_time: false
ptp_offset: 0
publish_compressed: false
feature/AcquisitionFrameCount: 1
feature/AcquisitionFrameRateAbs: 10.0
# feature/AcquisitionMode: Continuous
# feature/ActionDeviceKey: 0
# feature/ActionGroupKey: 0
# feature/ActionGroupMask: 0
# feature/ActionSelector: 0
# feature/BalanceRatioAbs: 2.33
# feature/BalanceRatioSelector: Red
# feature/BalanceWhiteAuto: 'Off'
# feature/BalanceWhiteAutoAdjustTol: 5
# feature/BalanceWhiteAutoRate: 100
# feature/BandwidthControlMode: StreamBytesPerSecond
# feature/AcquisitionFrameRateAbs: 10.0
feature/AcquisitionMode: Continuous
feature/ActionDeviceKey: 0
feature/ActionGroupKey: 0
feature/ActionGroupMask: 0
feature/ActionSelector: 0
feature/BalanceRatioAbs: 2.0
feature/BalanceRatioSelector: Red
feature/BalanceWhiteAuto: 'Off'
feature/BalanceWhiteAutoAdjustTol: 5
feature/BalanceWhiteAutoRate: 100
feature/BandwidthControlMode: StreamBytesPerSecond
# feature/BinningHorizontal: 1
# feature/BinningVertical: 1
# feature/BlackLevel: 4.0
# feature/BlackLevelSelector: All
# feature/ChunkModeActive: false
# feature/ColorTransformationMode: 'Off'
# feature/ColorTransformationSelector: RGBtoRGB
# feature/ColorTransformationValue: 1.0
# feature/ColorTransformationValueSelector: Gain00
# feature/DSPSubregionBottom: 1544
feature/BlackLevel: 50.0
feature/BlackLevelSelector: All
feature/ChunkModeActive: false
feature/ColorTransformationMode: 'Off'
feature/ColorTransformationSelector: RGBtoRGB
feature/ColorTransformationValue: 1.0
feature/ColorTransformationValueSelector: Gain00
# feature/DSPSubregionBottom: 490
# feature/DSPSubregionLeft: 0
# feature/DSPSubregionRight: 2064
# feature/DSPSubregionTop: 0
# feature/DecimationHorizontal: 1
# feature/DecimationVertical: 1
# feature/DeviceTemperatureSelector: Main
# feature/DeviceUserID: ''
# feature/EventNotification: 'Off'
# feature/EventSelector: AcquisitionStart
# feature/EventsEnable1: 0
# feature/ExposureAuto: 'Off'
# feature/DSPSubregionRight: 1032
# feature/DSPSubregionTop: 275
feature/DecimationHorizontal: 1
feature/DecimationVertical: 1
feature/DeviceTemperatureSelector: Main
feature/DeviceUserID: ''
feature/EventNotification: 'Off'
feature/EventSelector: AcquisitionStart
feature/EventsEnable1: 0
feature/ExposureAuto: 'Off'
# feature/ExposureAutoAdjustTol: 5
# feature/ExposureAutoAlg: Mean
# feature/ExposureAutoMax: 499997
# feature/ExposureAutoAlg: FitRange
# feature/ExposureAutoMax: 30000
# feature/ExposureAutoMin: 29
# feature/ExposureAutoOutliers: 0
# feature/ExposureAutoRate: 100
# feature/ExposureAutoOutliers: 1000
# feature/ExposureAutoRate: 10
# feature/ExposureAutoTarget: 50
# feature/ExposureMode: Timed
# feature/ExposureTimeAbs: 15005.0
feature/ExposureTimeAbs: 493.0
# feature/GVCPCmdRetries: 5
# feature/GVCPCmdTimeout: 250
# feature/GVSPBurstSize: 1
# feature/GVSPDriver: Socket
# feature/GVSPHostReceiveBufferSize: 67108864
# feature/GVSPHostReceiveBufferSize: 10240
# feature/GVSPMaxLookBack: 30
# feature/GVSPMaxRequests: 1
# feature/GVSPMaxWaitSize: 100
# feature/GVSPMissingSize: 256
# feature/GVSPPacketSize: 9014
# feature/GVSPTiltingSize: 100
# feature/GVSPTimeout: 70
# feature/Gain: 0.0
# feature/GainAuto: 'Off'
# feature/GainAutoAdjustTol: 5
# feature/GainAutoMax: 40.0
# feature/GainAutoMin: 0.0
# feature/GainAutoOutliers: 0
# feature/GainAutoRate: 100
# feature/GainAutoTarget: 50
# feature/GainSelector: All
# feature/Gamma: 1.0
feature/Gain: 0.0
feature/GainAuto: 'Continuous'
feature/GainAutoAdjustTol: 5
feature/GainAutoMax: 32.0
feature/GainAutoMin: 0.0
feature/GainAutoOutliers: 100
feature/GainAutoRate: 50
feature/GainAutoTarget: 50
feature/GainSelector: All
feature/Gamma: 1.0
# feature/GevHeartbeatInterval: 1450
# feature/GevHeartbeatTimeout: 3000
# feature/GevSCPSPacketSize: 9014
# feature/Height: 1544
# feature/Hue: 0.0
# feature/LUTEnable: false
# feature/LUTIndex: 0
# feature/LUTMode: Luminance
# feature/LUTSelector: LUT1
# feature/LUTValue: 4095
# feature/MulticastEnable: false
# feature/MulticastIPAddress: 823132143
# feature/OffsetX: 0
# feature/OffsetY: 0
# feature/PixelFormat: BayerRG8
# feature/PtpAcquisitionGateTime: 0
# feature/PtpMode: 'Off'
# feature/RecorderPreEventCount: 0
# feature/ReverseX: false
# feature/ReverseY: false
# feature/Saturation: 1.0
# feature/StreamBufferHandlingMode: Default
# feature/StreamBytesPerSecond: 115000000
# feature/StreamFrameRateConstrain: true
# feature/StreamHoldEnable: 'Off'
# feature/StrobeDelay: 0
# feature/StrobeDuration: 0
# feature/StrobeDurationMode: Source
# feature/StrobeSource: FrameTrigger
# feature/SyncInGlitchFilter: 0
# feature/SyncInSelector: SyncIn1
# feature/SyncOutLevels: 0
# feature/SyncOutPolarity: Normal
# feature/SyncOutSelector: SyncOut1
# feature/SyncOutSource: Exposing
# feature/TriggerActivation: RisingEdge
# feature/TriggerDelayAbs: 0.0
# feature/TriggerMode: 'On'
# feature/TriggerOverlap: 'Off'
# feature/TriggerSelector: FrameStart
feature/Height: 772
feature/Hue: 0.0
feature/LUTEnable: false
feature/LUTIndex: 0
feature/LUTMode: Luminance
feature/LUTSelector: LUT1
feature/LUTValue: 4095
feature/MulticastEnable: false
feature/MulticastIPAddress: 4026470193
feature/OffsetX: 0
feature/OffsetY: 0
feature/PixelFormat: RGB8Packed
feature/PtpAcquisitionGateTime: 0
feature/PtpMode: 'Auto'
feature/RecorderPreEventCount: 0
feature/ReverseX: false
feature/ReverseY: false
feature/Saturation: 1.0
feature/StreamBufferHandlingMode: Default
feature/StreamBytesPerSecond: 12400000
feature/StreamFrameRateConstrain: true
feature/StreamHoldEnable: 'Off'
feature/StrobeDelay: 0
feature/StrobeDuration: 0
feature/StrobeDurationMode: Source
feature/StrobeSource: FrameTrigger
feature/SyncInGlitchFilter: 0
feature/SyncInSelector: SyncIn1
feature/SyncOutLevels: 0
feature/SyncOutPolarity: Normal
feature/SyncOutSelector: SyncOut1
feature/SyncOutSource: Exposing
feature/TriggerActivation: RisingEdge
feature/TriggerDelayAbs: 0.0
feature/TriggerMode: 'On'
feature/TriggerOverlap: 'Off'
feature/TriggerSelector: FrameStart
feature/TriggerSource: FixedRate
# feature/UserSetDefaultSelector: Default
# feature/UserSetSelector: Default
# feature/Width: 2064
feature/UserSetDefaultSelector: Default
feature/UserSetSelector: Default
feature/Width: 1032

2 changes: 1 addition & 1 deletion avt_vimba_camera/include/VimbaCPP/Include/Feature.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ inline VmbErrorType Feature::GetValue( std::string &rStrValue ) const
VmbErrorType res;
VmbUint32_t nLength;

res = GetValue( (char * const)NULL, nLength );
res = GetValue( static_cast<char*>(nullptr), nLength );
if ( VmbErrorSuccess == res )
{
if ( 0 != nLength )
Expand Down
Loading