Updating modified messages for RDA Build 23.0

This commit is contained in:
Dan Paulat 2025-05-11 01:59:42 -05:00
parent 0ec90737d3
commit 2025698d88
8 changed files with 639 additions and 1029 deletions

View file

@ -14,67 +14,39 @@ static const auto logger_ = util::Logger::Create(logPrefix_);
class RdaStatusDataImpl
{
public:
explicit RdaStatusDataImpl() :
rdaStatus_ {0},
operabilityStatus_ {0},
controlStatus_ {0},
auxiliaryPowerGeneratorState_ {0},
averageTransmitterPower_ {0},
horizontalReflectivityCalibrationCorrection_ {0},
dataTransmissionEnabled_ {0},
volumeCoveragePatternNumber_ {0},
rdaControlAuthorization_ {0},
rdaBuildNumber_ {0},
operationalMode_ {0},
superResolutionStatus_ {0},
clutterMitigationDecisionStatus_ {0},
avsetEbcRdaLogDataStatus_ {0},
rdaAlarmSummary_ {0},
commandAcknowledgement_ {0},
channelControlStatus_ {0},
spotBlankingStatus_ {0},
bypassMapGenerationDate_ {0},
bypassMapGenerationTime_ {0},
clutterFilterMapGenerationDate_ {0},
clutterFilterMapGenerationTime_ {0},
verticalReflectivityCalibrationCorrection_ {0},
transitionPowerSourceStatus_ {0},
rmsControlStatus_ {0},
performanceCheckStatus_ {0},
alarmCodes_ {0},
signalProcessingOptions_ {0},
statusVersion_ {0} {};
~RdaStatusDataImpl() = default;
explicit RdaStatusDataImpl() = default;
~RdaStatusDataImpl() = default;
uint16_t rdaStatus_;
uint16_t operabilityStatus_;
uint16_t controlStatus_;
uint16_t auxiliaryPowerGeneratorState_;
uint16_t averageTransmitterPower_;
int16_t horizontalReflectivityCalibrationCorrection_;
uint16_t dataTransmissionEnabled_;
uint16_t volumeCoveragePatternNumber_;
uint16_t rdaControlAuthorization_;
uint16_t rdaBuildNumber_;
uint16_t operationalMode_;
uint16_t superResolutionStatus_;
uint16_t clutterMitigationDecisionStatus_;
uint16_t avsetEbcRdaLogDataStatus_;
uint16_t rdaAlarmSummary_;
uint16_t commandAcknowledgement_;
uint16_t channelControlStatus_;
uint16_t spotBlankingStatus_;
uint16_t bypassMapGenerationDate_;
uint16_t bypassMapGenerationTime_;
uint16_t clutterFilterMapGenerationDate_;
uint16_t clutterFilterMapGenerationTime_;
int16_t verticalReflectivityCalibrationCorrection_;
uint16_t transitionPowerSourceStatus_;
uint16_t rmsControlStatus_;
uint16_t performanceCheckStatus_;
std::array<uint16_t, 14> alarmCodes_;
uint16_t signalProcessingOptions_;
uint16_t statusVersion_;
uint16_t rdaStatus_ {0};
uint16_t operabilityStatus_ {0};
uint16_t controlStatus_ {0};
uint16_t auxiliaryPowerGeneratorState_ {0};
uint16_t averageTransmitterPower_ {0};
int16_t horizontalReflectivityCalibrationCorrection_ {0};
uint16_t dataTransmissionEnabled_ {0};
uint16_t volumeCoveragePatternNumber_ {0};
uint16_t rdaControlAuthorization_ {0};
uint16_t rdaBuildNumber_ {0};
uint16_t operationalMode_ {0};
uint16_t superResolutionStatus_ {0};
uint16_t clutterMitigationDecisionStatus_ {0};
uint16_t rdaScanAndDataFlags_ {0};
uint16_t rdaAlarmSummary_ {0};
uint16_t commandAcknowledgement_ {0};
uint16_t channelControlStatus_ {0};
uint16_t spotBlankingStatus_ {0};
uint16_t bypassMapGenerationDate_ {0};
uint16_t bypassMapGenerationTime_ {0};
uint16_t clutterFilterMapGenerationDate_ {0};
uint16_t clutterFilterMapGenerationTime_ {0};
int16_t verticalReflectivityCalibrationCorrection_ {0};
uint16_t transitionPowerSourceStatus_ {0};
uint16_t rmsControlStatus_ {0};
uint16_t performanceCheckStatus_ {0};
std::array<uint16_t, 14> alarmCodes_ {0};
uint16_t signalProcessingOptions_ {0};
uint16_t downloadedPatternNumber_ {0};
uint16_t statusVersion_ {0};
};
RdaStatusData::RdaStatusData() :
@ -83,7 +55,7 @@ RdaStatusData::RdaStatusData() :
}
RdaStatusData::~RdaStatusData() = default;
RdaStatusData::RdaStatusData(RdaStatusData&&) noexcept = default;
RdaStatusData::RdaStatusData(RdaStatusData&&) noexcept = default;
RdaStatusData& RdaStatusData::operator=(RdaStatusData&&) noexcept = default;
uint16_t RdaStatusData::rda_status() const
@ -151,9 +123,9 @@ uint16_t RdaStatusData::clutter_mitigation_decision_status() const
return p->clutterMitigationDecisionStatus_;
}
uint16_t RdaStatusData::avset_ebc_rda_log_data_status() const
uint16_t RdaStatusData::rda_scan_and_data_flags() const
{
return p->avsetEbcRdaLogDataStatus_;
return p->rdaScanAndDataFlags_;
}
uint16_t RdaStatusData::rda_alarm_summary() const
@ -226,6 +198,11 @@ uint16_t RdaStatusData::signal_processing_options() const
return p->signalProcessingOptions_;
}
uint16_t RdaStatusData::downloaded_pattern_number() const
{
return p->downloadedPatternNumber_;
}
uint16_t RdaStatusData::status_version() const
{
return p->statusVersion_;
@ -253,14 +230,14 @@ bool RdaStatusData::Parse(std::istream& is)
is.read(reinterpret_cast<char*>(&p->operationalMode_), 2); // 11
is.read(reinterpret_cast<char*>(&p->superResolutionStatus_), 2); // 12
is.read(reinterpret_cast<char*>(&p->clutterMitigationDecisionStatus_),
2); // 13
is.read(reinterpret_cast<char*>(&p->avsetEbcRdaLogDataStatus_), 2); // 14
is.read(reinterpret_cast<char*>(&p->rdaAlarmSummary_), 2); // 15
is.read(reinterpret_cast<char*>(&p->commandAcknowledgement_), 2); // 16
is.read(reinterpret_cast<char*>(&p->channelControlStatus_), 2); // 17
is.read(reinterpret_cast<char*>(&p->spotBlankingStatus_), 2); // 18
is.read(reinterpret_cast<char*>(&p->bypassMapGenerationDate_), 2); // 19
is.read(reinterpret_cast<char*>(&p->bypassMapGenerationTime_), 2); // 20
2); // 13
is.read(reinterpret_cast<char*>(&p->rdaScanAndDataFlags_), 2); // 14
is.read(reinterpret_cast<char*>(&p->rdaAlarmSummary_), 2); // 15
is.read(reinterpret_cast<char*>(&p->commandAcknowledgement_), 2); // 16
is.read(reinterpret_cast<char*>(&p->channelControlStatus_), 2); // 17
is.read(reinterpret_cast<char*>(&p->spotBlankingStatus_), 2); // 18
is.read(reinterpret_cast<char*>(&p->bypassMapGenerationDate_), 2); // 19
is.read(reinterpret_cast<char*>(&p->bypassMapGenerationTime_), 2); // 20
is.read(reinterpret_cast<char*>(&p->clutterFilterMapGenerationDate_),
2); // 21
is.read(reinterpret_cast<char*>(&p->clutterFilterMapGenerationTime_),
@ -290,13 +267,13 @@ bool RdaStatusData::Parse(std::istream& is)
p->superResolutionStatus_ = ntohs(p->superResolutionStatus_);
p->clutterMitigationDecisionStatus_ =
ntohs(p->clutterMitigationDecisionStatus_);
p->avsetEbcRdaLogDataStatus_ = ntohs(p->avsetEbcRdaLogDataStatus_);
p->rdaAlarmSummary_ = ntohs(p->rdaAlarmSummary_);
p->commandAcknowledgement_ = ntohs(p->commandAcknowledgement_);
p->channelControlStatus_ = ntohs(p->channelControlStatus_);
p->spotBlankingStatus_ = ntohs(p->spotBlankingStatus_);
p->bypassMapGenerationDate_ = ntohs(p->bypassMapGenerationDate_);
p->bypassMapGenerationTime_ = ntohs(p->bypassMapGenerationTime_);
p->rdaScanAndDataFlags_ = ntohs(p->rdaScanAndDataFlags_);
p->rdaAlarmSummary_ = ntohs(p->rdaAlarmSummary_);
p->commandAcknowledgement_ = ntohs(p->commandAcknowledgement_);
p->channelControlStatus_ = ntohs(p->channelControlStatus_);
p->spotBlankingStatus_ = ntohs(p->spotBlankingStatus_);
p->bypassMapGenerationDate_ = ntohs(p->bypassMapGenerationDate_);
p->bypassMapGenerationTime_ = ntohs(p->bypassMapGenerationTime_);
p->clutterFilterMapGenerationDate_ =
ntohs(p->clutterFilterMapGenerationDate_);
p->clutterFilterMapGenerationTime_ =
@ -312,8 +289,9 @@ bool RdaStatusData::Parse(std::istream& is)
if (header().message_size() * 2 > Level2MessageHeader::SIZE + 80)
{
is.read(reinterpret_cast<char*>(&p->signalProcessingOptions_), 2); // 41
is.seekg(36, std::ios_base::cur); // 42-59
is.read(reinterpret_cast<char*>(&p->statusVersion_), 2); // 60
is.seekg(34, std::ios_base::cur); // 42-58
is.read(reinterpret_cast<char*>(&p->downloadedPatternNumber_), 2); // 59
is.read(reinterpret_cast<char*>(&p->statusVersion_), 2); // 60
bytesRead += 40;
p->signalProcessingOptions_ = ntohs(p->signalProcessingOptions_);