31#ifndef DWFRAMEWORK_DWNODES_EGOMOTION_DWGLOBALEGOMOTIONNODE_DWGLOBALEGOMOTIONNODE_HPP_
32#define DWFRAMEWORK_DWNODES_EGOMOTION_DWGLOBALEGOMOTIONNODE_DWGLOBALEGOMOTIONNODE_HPP_
34#include <dw/egomotion/base/Egomotion.h>
35#include <dw/egomotion/global/GlobalEgomotion.h>
36#include <dw/egomotion/global/GlobalEgomotionSerialization.h>
37#include <dw/roadcast/base_types/RoadCastPacketTypes.hpp>
46#include <dwframework/dwnodes/common/GlobalEgomotionCommonTypes.hpp>
47#include <dwframework/dwnodes/common/channelpackets/EgomotionState.hpp>
48#include <dwframework/dwnodes/common/channelpackets/GPS.hpp>
49#include <dwframework/dwnodes/common/channelpackets/GlobalEgomotionCommonTypes.hpp>
106 DW_DESCRIBE_PORT(dwGlobalEgomotionResultPayload,
"GLOBAL_EGOMOTION_RESULT_PAYLOAD"_sv));
112 describePass(StringView{
"SETUP"}, DW_PROCESSOR_TYPE_CPU),
113 describePass(StringView{
"ADD_GPS"}, DW_PROCESSOR_TYPE_CPU),
114 describePass(StringView{
"ADD_RELATIVE_EGOMOTION"}, DW_PROCESSOR_TYPE_CPU),
115 describePass(StringView{
"SEND_STATE"}, DW_PROCESSOR_TYPE_CPU),
116 describePass(StringView{
"TEARDOWN"}, DW_PROCESSOR_TYPE_CPU));
123 const dwContextHandle_t ctx);
131 describeConstructorArgument<dwGlobalEgomotionNodeInitParams>(
145 "nvSciChannelWaitTimeUs"_sv,
150 "sigPresenceGPSCourseAccuracy"_sv,
154 "sigPresenceGPSSpeedAccuracy"_sv,
158 "sigPresenceGPSJamState"_sv,
162 "sigPresenceGPSSpoofState"_sv,
166 "sigPresenceGPSHorizontalAccuracy"_sv,
170 "sigPresenceGPSVerticalAccuracy"_sv,
174 "sigPresenceGPSVerticalVelocity"_sv,
176 describeConstructorArgument<dwContextHandle_t>(
178 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_PARAMETER(TYPE_NAME, args...)
#define DW_DESCRIBE_PORT(TYPE_NAME, NAME, args...)
The interface to access parameter values identified by name and/or (semantic) type.
This node computes the global vehicle state and motion over time using signals from GPS and relative ...
static constexpr auto describeOutputPorts()
static constexpr auto describePasses()
static constexpr auto describeInputPorts()
dwGlobalEgomotionNode(const dwGlobalEgomotionNodeInitParams ¶ms, const dwContextHandle_t ctx)
dwStatus preShutdown() override
static std::unique_ptr< dwGlobalEgomotionNode > create(ParameterProvider &provider)
static constexpr auto describeParameters()
bool sigPresenceGPSCourseAccuracy
Signal presence parameters.
bool sigPresenceGPSJamState
bool sigPresenceGPSSpeedAccuracy
const char * gpsSensorName
constexpr std::tuple describeConstructorArguments()
bool sigPresenceGPSVerticalVelocity
constexpr PassDescriptorT< 0 > describePass(dw::core::StringView &&name, dwProcessorType processorType)
dwTime_t nvSciChannelWaitTimeUs
Wait time for nvSciChannel.
constexpr auto describePassCollection(const Args &&... args) -> std::tuple< Args... >
constexpr auto describePortCollection(Args &&... args) -> dw::core::Tuple< Args... >
dwConstRigHandle_t rigHandle
bool sigPresenceGPSSpoofState
bool sigPresenceGPSVerticalAccuracy
bool sigPresenceGPSHorizontalAccuracy