-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcamera_lucid.orogen
84 lines (70 loc) · 3.21 KB
/
camera_lucid.orogen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
# frozen_string_literal: true
name "camera_lucid"
# Optionally declare the version number
# version "0.1"
# If new data types need to be defined, they have to be put in a separate C++
# header, and this header will be loaded here
import_types_from "camera_lucidTypes.hpp"
# Finally, it is pretty common that headers are directly loaded from an external
# library. In this case, the library must be first used (the name is the
# library's pkg-config name) and then the header can be used. Following Rock
# conventions, a common use-case would be:
#
using_library "camera_lucid_arenasdk"
# import_types_from "camera_lucid_arenasdk"
# import_types_from "camera_lucid/CustomType.hpp"
# If this project uses data types that are defined in other oroGen projects,
# these projects should be imported there as well.
import_types_from "std"
import_types_from "base"
OroGen::Spec::Deployment.register_global_initializer(:lucid_arena_sdk)
if defined?(OroGen::Gen::RTT_CPP::Deployment)
OroGen::Gen::RTT_CPP::Deployment.register_global_initializer(
:lucid_arena_sdk,
deployment_cmake: <<~GST_DEPLOYMENT_CMAKE,
orogen_pkg_check_modules(camera_lucid_arenasdk REQUIRED camera_lucid_arenasdk)
include_directories(${camera_lucid_arenasdk_INCLUDE_DIRS})
add_definitions(${camera_lucid_arenasdk_CFLAGS_OTHER})
link_directories(${camera_lucid_arenasdk_LIBRARY_DIRS})
target_link_libraries(<%= deployer.name %> ${camera_lucid_arenasdk_LIBRARIES})
GST_DEPLOYMENT_CMAKE
global_scope: <<~GST_TOPLEVEL,
#include <camera_lucid/System.hpp>
GST_TOPLEVEL
init: <<~GST_INIT,
camera_lucid::System::Init();
GST_INIT
exit: <<~GST_EXIT
camera_lucid::System::Deinit();
GST_EXIT
)
end
task_context "Task" do
needs_configuration
needs_global_initializer :lucid_arena_sdk
# Camera Configuration:
# Ip, reset timeout, and update info frequency
property "camera_config", "camera_lucid/CameraConfig"
# Binning Configuration:
# columns and/or rows of pixels are combined to achieve a reduced overall image size
# without changing the image's field of view. This feature may result in an increase
# of camera s frame rate.
property "binning_config", "camera_lucid/BinningConfig"
# Decimation Configuration:
# columns and/or rows of pixel are skipped to achieve reduced overall image size
# without changing the image's field of view. This feature is also known as
# "subsampling" due to the smaller sample size of pixels the camera transmits. This
# feature may result in an increase of camera's frame rate.
property "decimation_config", "camera_lucid/DecimationConfig"
# Analog Controller Config
property "analog_controller_config", "camera_lucid/AnalogControllerConfig"
# PTP configuration
property "ptp_config", "camera_lucid/PTPConfig"
# Image Configuration
property "image_config", "camera_lucid/ImageConfig"
# Transmission configuration
property "transmission_config", "camera_lucid/TransmissionConfig"
output_port "frame", ro_ptr("base/samples/frame/Frame")
output_port "info", "camera_lucid/CameraInfo"
periodic 0.01
end