31#ifndef DWFRAMEWORK_DWNODES_DWRIGNODE_DWRIGNODE_HPP_
32#define DWFRAMEWORK_DWNODES_DWRIGNODE_DWRIGNODE_HPP_
34#include <dw/rig/Rig.h>
41#include <dwframework/dwnodes/common/channelpackets/SelfCalibrationTypes.hpp>
42#include <dwframework/dwnodes/common/channelpackets/SensorCommonTypes.hpp>
51 dwRigHandle_t rigHandle;
122 describePass(StringView{
"SETUP"}, DW_PROCESSOR_TYPE_CPU),
123 describePass(StringView{
"PROCESS"}, DW_PROCESSOR_TYPE_CPU),
124 describePass(StringView{
"TEARDOWN"}, DW_PROCESSOR_TYPE_CPU));
135 describeConstructorArgument<dwRigNodeParams>(
138 &dwRigNodeParams::rigHandle),
154 framework::SELF_CALIBRATION_NODE_MAX_IMUS,
159 framework::SELF_CALIBRATION_NODE_MAX_IMUS,
164 framework::SELF_CALIBRATION_NODE_MAX_CAMERAS,
169 framework::SELF_CALIBRATION_NODE_MAX_CAMERAS,
174 framework::SELF_CALIBRATION_NODE_MAX_RADARS,
179 framework::SELF_CALIBRATION_NODE_MAX_RADARS,
184 framework::SELF_CALIBRATION_NODE_MAX_LIDARS,
189 framework::SELF_CALIBRATION_NODE_MAX_LIDARS,
194 framework::SELF_CALIBRATION_NODE_MAX_CAMERAS,
199 framework::SELF_CALIBRATION_NODE_MAX_RADARS,
203 describeConstructorArgument<dwContextHandle_t>(
205 dwContextHandle_t)));
#define DW_DESCRIBE_PARAMETER_WITH_DEFAULT(TYPE_NAME, args...)
#define DW_DESCRIBE_UNNAMED_PARAMETER_WITH_SEMANTIC(TYPE_NAME, SEMANTIC_TYPE_NAME, args...)
#define DW_DESCRIBE_UNNAMED_PARAMETER(TYPE_NAME, args...)
#define DW_DESCRIBE_UNNAMED_ARRAY_PARAMETER_WITH_SEMANTIC(TYPE_NAME, SEMANTIC_TYPE_NAME, ARRAY_SIZE, args...)
#define DW_DESCRIBE_PORT(TYPE_NAME, NAME, args...)
#define DW_DESCRIBE_PORT_ARRAY(TYPE_NAME, ARRAYSIZE, NAME, args...)
The interface to access parameter values identified by name and/or (semantic) type.
dwRigNode receives extrinsic calibrations from sensors in the system, and maintains that state to upd...
~dwRigNode() override=default
dwRigNode & operator=(dwRigNode &&)=default
dwRigNode & operator=(const dwRigNode &)=default
dwRigNode(dwRigNodeParams const ¶ms, dwContextHandle_t const ctx)
static std::unique_ptr< dwRigNode > create(ParameterProvider const &provider)
dwRigNode(const dwRigNode &other)=default
static constexpr auto describeInputPorts()
static constexpr auto describeParameters()
static constexpr auto describeOutputPorts()
static constexpr auto describePasses()
dwRigNode(dwRigNode &&other)=default
bool lidarSensorEnabled[framework::SELF_CALIBRATION_NODE_MAX_LIDARS]
std::uint32_t radarSensorRigIndices[framework::SELF_CALIBRATION_NODE_MAX_RADARS]
constexpr std::tuple describeConstructorArguments()
char8_t const * rigOutputFileName
bool radarSensorEnabled[framework::SELF_CALIBRATION_NODE_MAX_RADARS]
constexpr PassDescriptorT< 0 > describePass(dw::core::StringView &&name, dwProcessorType processorType)
bool cameraSensorEnabled[framework::SELF_CALIBRATION_NODE_MAX_CAMERAS]
std::uint32_t lidarSensorRigIndices[framework::SELF_CALIBRATION_NODE_MAX_LIDARS]
char8_t const * calibrationOutputFileName
uint32_t cameraInstanceIds[framework::SELF_CALIBRATION_NODE_MAX_CAMERAS]
std::uint32_t imuSensorRigIndices[framework::SELF_CALIBRATION_NODE_MAX_IMUS]
std::uint32_t cameraSensorRigIndices[framework::SELF_CALIBRATION_NODE_MAX_CAMERAS]
constexpr auto describePassCollection(const Args &&... args) -> std::tuple< Args... >
constexpr auto describePortCollection(Args &&... args) -> dw::core::Tuple< Args... >
uint64_t rigWriteTimerPeriodInCycles
char8_t const * calibrationOverlayFileName
uint64_t rigWriteTimerOffsetInCycles
bool imuSensorEnabled[framework::SELF_CALIBRATION_NODE_MAX_IMUS]
uint32_t radarInstanceIds[framework::SELF_CALIBRATION_NODE_MAX_RADARS]
dwRigNodeParams { dwRigHandle_t rigHandle dwRigNodeParams