From e5271a9ca5bff379ba2e61b9b88a4be8252ef1de Mon Sep 17 00:00:00 2001 From: Jakob Meier Date: Thu, 16 Feb 2023 13:40:15 +0100 Subject: [PATCH] cast of submodes --- mission/system/objects/ComSubsystem.cpp | 8 ++++++-- mission/system/tree/comModeTree.cpp | 24 ++++++++++++------------ 2 files changed, 18 insertions(+), 14 deletions(-) diff --git a/mission/system/objects/ComSubsystem.cpp b/mission/system/objects/ComSubsystem.cpp index bbe14af0..8e3f253e 100644 --- a/mission/system/objects/ComSubsystem.cpp +++ b/mission/system/objects/ComSubsystem.cpp @@ -10,7 +10,9 @@ #include extern std::pair> COM_SEQUENCE_RX_ONLY; +//extern std::pair> COM_TABLE_RX_ONLY_TGT; extern std::pair> COM_SEQUENCE_RX_AND_TX_DEFAULT_RATE; +extern std::pair> COM_TABLE_RX_AND_TX_DEFAULT_RATE_TGT; extern std::pair> COM_SEQUENCE_RX_AND_TX_LOW_RATE; extern std::pair> COM_SEQUENCE_RX_AND_TX_HIGH_RATE; @@ -26,7 +28,9 @@ ComSubsystem::ComSubsystem(object_id_t setObjectId, uint32_t maxNumberOfSequence void ComSubsystem::performChildOperation() { readEventQueue(); - checkTransmitterCountdown(); + if (mode != COM_SEQUENCE_RX_ONLY.first) { + checkTransmitterCountdown(); + } } MessageQueueId_t ComSubsystem::getCommandQueue() const { return Subsystem::getCommandQueue(); } @@ -104,7 +108,7 @@ ReturnValue_t ComSubsystem::initialize() { } void ComSubsystem::startTransition(Mode_t mode, Submode_t submode) { - // Depending on the mode the transmitter timeout is enabled or + // Depending on the submode the transmitter timeout is enabled or // disabled here if (mode == COM_SEQUENCE_RX_ONLY.first) { transmitterCountdown.timeOut(); diff --git a/mission/system/tree/comModeTree.cpp b/mission/system/tree/comModeTree.cpp index 22f51379..7e771892 100644 --- a/mission/system/tree/comModeTree.cpp +++ b/mission/system/tree/comModeTree.cpp @@ -19,38 +19,38 @@ static const auto NML = DeviceHandlerIF::MODE_NORMAL; auto COM_SEQUENCE_RX_ONLY = std::make_pair(::com::Submode::RX_ONLY, FixedArrayList()); auto COM_TABLE_RX_ONLY_TGT = - std::make_pair((::com::Submode::RX_ONLY << 24) | 1, FixedArrayList()); + std::make_pair(static_cast(::com::Submode::RX_ONLY << 24) | 1, FixedArrayList()); auto COM_TABLE_RX_ONLY_TRANS_0 = - std::make_pair((::com::Submode::RX_ONLY << 24) | 2, FixedArrayList()); + std::make_pair(static_cast(::com::Submode::RX_ONLY << 24) | 2, FixedArrayList()); auto COM_TABLE_RX_ONLY_TRANS_1 = - std::make_pair((::com::Submode::RX_ONLY << 24) | 3, FixedArrayList()); + std::make_pair(static_cast(::com::Submode::RX_ONLY << 24) | 3, FixedArrayList()); auto COM_SEQUENCE_RX_AND_TX_LOW_RATE = std::make_pair(::com::Submode::RX_AND_TX_LOW_DATARATE, FixedArrayList()); auto COM_TABLE_RX_AND_TX_LOW_RATE_TGT = std::make_pair( - (::com::Submode::RX_AND_TX_LOW_DATARATE << 24) | 1, FixedArrayList()); + static_cast(::com::Submode::RX_AND_TX_LOW_DATARATE << 24) | 1, FixedArrayList()); auto COM_TABLE_RX_AND_TX_LOW_RATE_TRANS_0 = std::make_pair( - (::com::Submode::RX_AND_TX_LOW_DATARATE << 24) | 2, FixedArrayList()); + static_cast(::com::Submode::RX_AND_TX_LOW_DATARATE << 24) | 2, FixedArrayList()); auto COM_TABLE_RX_AND_TX_LOW_RATE_TRANS_1 = std::make_pair( - (::com::Submode::RX_AND_TX_LOW_DATARATE << 24) | 3, FixedArrayList()); + static_cast(::com::Submode::RX_AND_TX_LOW_DATARATE << 24) | 3, FixedArrayList()); auto COM_SEQUENCE_RX_AND_TX_HIGH_RATE = std::make_pair(::com::Submode::RX_AND_TX_HIGH_DATARATE, FixedArrayList()); auto COM_TABLE_RX_AND_TX_HIGH_RATE_TGT = std::make_pair( - (::com::Submode::RX_AND_TX_HIGH_DATARATE << 24) | 1, FixedArrayList()); + static_cast(::com::Submode::RX_AND_TX_HIGH_DATARATE << 24) | 1, FixedArrayList()); auto COM_TABLE_RX_AND_TX_HIGH_RATE_TRANS_0 = std::make_pair( - (::com::Submode::RX_AND_TX_HIGH_DATARATE << 24) | 2, FixedArrayList()); + static_cast(::com::Submode::RX_AND_TX_HIGH_DATARATE << 24) | 2, FixedArrayList()); auto COM_TABLE_RX_AND_TX_HIGH_RATE_TRANS_1 = std::make_pair( - (::com::Submode::RX_AND_TX_HIGH_DATARATE << 24) | 3, FixedArrayList()); + static_cast(::com::Submode::RX_AND_TX_HIGH_DATARATE << 24) | 3, FixedArrayList()); auto COM_SEQUENCE_RX_AND_TX_DEFAULT_RATE = std::make_pair(::com::Submode::RX_AND_TX_DEFAULT_DATARATE, FixedArrayList()); auto COM_TABLE_RX_AND_TX_DEFAULT_RATE_TGT = std::make_pair( - (::com::Submode::RX_AND_TX_DEFAULT_DATARATE << 24) | 1, FixedArrayList()); + static_cast(::com::Submode::RX_AND_TX_DEFAULT_DATARATE << 24) | 1, FixedArrayList()); auto COM_TABLE_RX_AND_TX_DEFAULT_RATE_TRANS_0 = std::make_pair( - (::com::Submode::RX_AND_TX_DEFAULT_DATARATE << 24) | 2, FixedArrayList()); + static_cast(::com::Submode::RX_AND_TX_DEFAULT_DATARATE << 24) | 2, FixedArrayList()); auto COM_TABLE_RX_AND_TX_DEFAULT_RATE_TRANS_1 = std::make_pair( - (::com::Submode::RX_AND_TX_DEFAULT_DATARATE << 24) | 3, FixedArrayList()); + static_cast(::com::Submode::RX_AND_TX_DEFAULT_DATARATE << 24) | 3, FixedArrayList()); namespace {