mirror of
https://github.com/ciphervance/supercell-wx.git
synced 2025-10-30 06:10:04 +00:00
Updating modified messages for RDA Build 23.0
This commit is contained in:
parent
0ec90737d3
commit
2025698d88
8 changed files with 639 additions and 1029 deletions
|
|
@ -63,6 +63,15 @@ public:
|
||||||
return f;
|
return f;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static double SwapDouble(double d)
|
||||||
|
{
|
||||||
|
std::uint64_t temp;
|
||||||
|
std::memcpy(&temp, &d, sizeof(std::uint64_t));
|
||||||
|
temp = ntohll(temp);
|
||||||
|
std::memcpy(&d, &temp, sizeof(float));
|
||||||
|
return d;
|
||||||
|
}
|
||||||
|
|
||||||
template<std::size_t _Size>
|
template<std::size_t _Size>
|
||||||
static void SwapArray(std::array<float, _Size>& arr,
|
static void SwapArray(std::array<float, _Size>& arr,
|
||||||
std::size_t size = _Size)
|
std::size_t size = _Size)
|
||||||
|
|
|
||||||
|
|
@ -31,10 +31,9 @@ public:
|
||||||
uint32_t router_memory_free() const;
|
uint32_t router_memory_free() const;
|
||||||
uint16_t router_memory_utilization() const;
|
uint16_t router_memory_utilization() const;
|
||||||
uint16_t route_to_rpg() const;
|
uint16_t route_to_rpg() const;
|
||||||
uint32_t csu_loss_of_signal() const;
|
uint16_t t1_port_status() const;
|
||||||
uint32_t csu_loss_of_frames() const;
|
uint16_t router_dedicated_ethernet_port_status() const;
|
||||||
uint32_t csu_yellow_alarms() const;
|
uint16_t router_commercial_ethernet_port_status() const;
|
||||||
uint32_t csu_blue_alarms() const;
|
|
||||||
uint32_t csu_24hr_errored_seconds() const;
|
uint32_t csu_24hr_errored_seconds() const;
|
||||||
uint32_t csu_24hr_severely_errored_seconds() const;
|
uint32_t csu_24hr_severely_errored_seconds() const;
|
||||||
uint32_t csu_24hr_severely_errored_framing_seconds() const;
|
uint32_t csu_24hr_severely_errored_framing_seconds() const;
|
||||||
|
|
@ -48,7 +47,7 @@ public:
|
||||||
uint16_t lan_switch_memory_utilization() const;
|
uint16_t lan_switch_memory_utilization() const;
|
||||||
uint16_t ifdr_chasis_temperature() const;
|
uint16_t ifdr_chasis_temperature() const;
|
||||||
uint16_t ifdr_fpga_temperature() const;
|
uint16_t ifdr_fpga_temperature() const;
|
||||||
int32_t gps_satellites() const;
|
uint16_t ntp_status() const;
|
||||||
uint16_t ipc_status() const;
|
uint16_t ipc_status() const;
|
||||||
uint16_t commanded_channel_control() const;
|
uint16_t commanded_channel_control() const;
|
||||||
uint16_t polarization() const;
|
uint16_t polarization() const;
|
||||||
|
|
@ -237,7 +236,7 @@ public:
|
||||||
float long_pulse_vertical_dbz0() const;
|
float long_pulse_vertical_dbz0() const;
|
||||||
float horizontal_power_sense() const;
|
float horizontal_power_sense() const;
|
||||||
float vertical_power_sense() const;
|
float vertical_power_sense() const;
|
||||||
float zdr_bias() const;
|
float zdr_offset() const;
|
||||||
float clutter_suppression_delta() const;
|
float clutter_suppression_delta() const;
|
||||||
float clutter_suppression_unfiltered_power() const;
|
float clutter_suppression_unfiltered_power() const;
|
||||||
float clutter_suppression_filtered_power() const;
|
float clutter_suppression_filtered_power() const;
|
||||||
|
|
@ -256,16 +255,11 @@ public:
|
||||||
uint16_t read_status_of_prf_sets() const;
|
uint16_t read_status_of_prf_sets() const;
|
||||||
uint16_t clutter_filter_map_file_read_status() const;
|
uint16_t clutter_filter_map_file_read_status() const;
|
||||||
uint16_t clutter_filter_map_file_write_status() const;
|
uint16_t clutter_filter_map_file_write_status() const;
|
||||||
uint16_t generatl_disk_io_error() const;
|
uint16_t general_disk_io_error() const;
|
||||||
uint8_t rsp_status() const;
|
uint8_t rsp_status() const;
|
||||||
uint8_t motherboard_temperature() const;
|
|
||||||
uint8_t cpu1_temperature() const;
|
uint8_t cpu1_temperature() const;
|
||||||
uint8_t cpu2_temperature() const;
|
uint8_t cpu2_temperature() const;
|
||||||
uint16_t cpu1_fan_speed() const;
|
uint16_t rsp_motherboard_power() const;
|
||||||
uint16_t cpu2_fan_speed() const;
|
|
||||||
uint16_t rsp_fan1_speed() const;
|
|
||||||
uint16_t rsp_fan2_speed() const;
|
|
||||||
uint16_t rsp_fan3_speed() const;
|
|
||||||
uint16_t spip_comm_status() const;
|
uint16_t spip_comm_status() const;
|
||||||
uint16_t hci_comm_status() const;
|
uint16_t hci_comm_status() const;
|
||||||
uint16_t signal_processor_command_status() const;
|
uint16_t signal_processor_command_status() const;
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@ public:
|
||||||
explicit RdaAdaptationData();
|
explicit RdaAdaptationData();
|
||||||
~RdaAdaptationData();
|
~RdaAdaptationData();
|
||||||
|
|
||||||
RdaAdaptationData(const RdaAdaptationData&) = delete;
|
RdaAdaptationData(const RdaAdaptationData&) = delete;
|
||||||
RdaAdaptationData& operator=(const RdaAdaptationData&) = delete;
|
RdaAdaptationData& operator=(const RdaAdaptationData&) = delete;
|
||||||
|
|
||||||
RdaAdaptationData(RdaAdaptationData&&) noexcept;
|
RdaAdaptationData(RdaAdaptationData&&) noexcept;
|
||||||
|
|
@ -121,6 +121,8 @@ public:
|
||||||
uint32_t slonmin() const;
|
uint32_t slonmin() const;
|
||||||
char slatdir() const;
|
char slatdir() const;
|
||||||
char slondir() const;
|
char slondir() const;
|
||||||
|
double dig_rcvr_clock_freq() const;
|
||||||
|
double coho_freq() const;
|
||||||
float az_correction_factor() const;
|
float az_correction_factor() const;
|
||||||
float el_correction_factor() const;
|
float el_correction_factor() const;
|
||||||
std::string site_name() const;
|
std::string site_name() const;
|
||||||
|
|
@ -147,6 +149,11 @@ public:
|
||||||
float el_off_neutral_drive() const;
|
float el_off_neutral_drive() const;
|
||||||
float az_intertia() const;
|
float az_intertia() const;
|
||||||
float el_inertia() const;
|
float el_inertia() const;
|
||||||
|
float az_stow_angle() const;
|
||||||
|
float el_stow_angle() const;
|
||||||
|
float az_encoder_alignment() const;
|
||||||
|
float el_encoder_alignment() const;
|
||||||
|
std::string refined_park() const;
|
||||||
uint32_t rvp8nv_iwaveguide_length() const;
|
uint32_t rvp8nv_iwaveguide_length() const;
|
||||||
float v_rnscale(unsigned i) const;
|
float v_rnscale(unsigned i) const;
|
||||||
float vel_data_tover() const;
|
float vel_data_tover() const;
|
||||||
|
|
@ -166,8 +173,8 @@ public:
|
||||||
bool gen_exercise() const;
|
bool gen_exercise() const;
|
||||||
float v_noise_tolerance() const;
|
float v_noise_tolerance() const;
|
||||||
float min_v_dyn_range() const;
|
float min_v_dyn_range() const;
|
||||||
float zdr_bias_dgrad_lim() const;
|
float zdr_offset_dgrad_lim() const;
|
||||||
float baseline_zdr_bias() const;
|
float baseline_zdr_offset() const;
|
||||||
float v_noise_long() const;
|
float v_noise_long() const;
|
||||||
float v_noise_short() const;
|
float v_noise_short() const;
|
||||||
float zdr_data_tover() const;
|
float zdr_data_tover() const;
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@ public:
|
||||||
explicit RdaStatusData();
|
explicit RdaStatusData();
|
||||||
~RdaStatusData();
|
~RdaStatusData();
|
||||||
|
|
||||||
RdaStatusData(const RdaStatusData&) = delete;
|
RdaStatusData(const RdaStatusData&) = delete;
|
||||||
RdaStatusData& operator=(const RdaStatusData&) = delete;
|
RdaStatusData& operator=(const RdaStatusData&) = delete;
|
||||||
|
|
||||||
RdaStatusData(RdaStatusData&&) noexcept;
|
RdaStatusData(RdaStatusData&&) noexcept;
|
||||||
|
|
@ -36,7 +36,7 @@ public:
|
||||||
uint16_t operational_mode() const;
|
uint16_t operational_mode() const;
|
||||||
uint16_t super_resolution_status() const;
|
uint16_t super_resolution_status() const;
|
||||||
uint16_t clutter_mitigation_decision_status() const;
|
uint16_t clutter_mitigation_decision_status() const;
|
||||||
uint16_t avset_ebc_rda_log_data_status() const;
|
uint16_t rda_scan_and_data_flags() const;
|
||||||
uint16_t rda_alarm_summary() const;
|
uint16_t rda_alarm_summary() const;
|
||||||
uint16_t command_acknowledgement() const;
|
uint16_t command_acknowledgement() const;
|
||||||
uint16_t channel_control_status() const;
|
uint16_t channel_control_status() const;
|
||||||
|
|
@ -51,6 +51,7 @@ public:
|
||||||
uint16_t performance_check_status() const;
|
uint16_t performance_check_status() const;
|
||||||
uint16_t alarm_codes(unsigned i) const;
|
uint16_t alarm_codes(unsigned i) const;
|
||||||
uint16_t signal_processing_options() const;
|
uint16_t signal_processing_options() const;
|
||||||
|
uint16_t downloaded_pattern_number() const;
|
||||||
uint16_t status_version() const;
|
uint16_t status_version() const;
|
||||||
|
|
||||||
bool Parse(std::istream& is);
|
bool Parse(std::istream& is);
|
||||||
|
|
|
||||||
|
|
@ -247,6 +247,7 @@ public:
|
||||||
float initialSystemDifferentialPhase_ {0.0f};
|
float initialSystemDifferentialPhase_ {0.0f};
|
||||||
std::uint16_t volumeCoveragePatternNumber_ {0};
|
std::uint16_t volumeCoveragePatternNumber_ {0};
|
||||||
std::uint16_t processingStatus_ {0};
|
std::uint16_t processingStatus_ {0};
|
||||||
|
std::uint16_t zdrBiasEstimateWeightedMean_ {0};
|
||||||
};
|
};
|
||||||
|
|
||||||
DigitalRadarDataGeneric::VolumeDataBlock::VolumeDataBlock(
|
DigitalRadarDataGeneric::VolumeDataBlock::VolumeDataBlock(
|
||||||
|
|
@ -332,6 +333,18 @@ bool DigitalRadarDataGeneric::VolumeDataBlock::Parse(std::istream& is)
|
||||||
p->volumeCoveragePatternNumber_ = ntohs(p->volumeCoveragePatternNumber_);
|
p->volumeCoveragePatternNumber_ = ntohs(p->volumeCoveragePatternNumber_);
|
||||||
p->processingStatus_ = ntohs(p->processingStatus_);
|
p->processingStatus_ = ntohs(p->processingStatus_);
|
||||||
|
|
||||||
|
if (p->lrtup_ >= 46)
|
||||||
|
{
|
||||||
|
is.read(reinterpret_cast<char*>(&p->zdrBiasEstimateWeightedMean_),
|
||||||
|
2); // 44-45
|
||||||
|
p->zdrBiasEstimateWeightedMean_ = ntohs(p->zdrBiasEstimateWeightedMean_);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (p->lrtup_ >= 52)
|
||||||
|
{
|
||||||
|
is.seekg(6, std::ios_base::cur); // 46-51
|
||||||
|
}
|
||||||
|
|
||||||
return dataBlockValid;
|
return dataBlockValid;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -34,337 +34,180 @@ struct AntManualSetup
|
||||||
class RdaAdaptationDataImpl
|
class RdaAdaptationDataImpl
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
explicit RdaAdaptationDataImpl() :
|
explicit RdaAdaptationDataImpl() = default;
|
||||||
adapFileName_ {},
|
~RdaAdaptationDataImpl() = default;
|
||||||
adapFormat_ {},
|
|
||||||
adapRevision_ {},
|
|
||||||
adapDate_ {},
|
|
||||||
adapTime_ {},
|
|
||||||
lowerPreLimit_ {0.0f},
|
|
||||||
azLat_ {0.0f},
|
|
||||||
upperPreLimit_ {0.0f},
|
|
||||||
elLat_ {0.0f},
|
|
||||||
parkaz_ {0.0f},
|
|
||||||
parkel_ {0.0f},
|
|
||||||
aFuelConv_ {0.0f},
|
|
||||||
aMinShelterTemp_ {0.0f},
|
|
||||||
aMaxShelterTemp_ {0.0f},
|
|
||||||
aMinShelterAcTempDiff_ {0.0f},
|
|
||||||
aMaxXmtrAirTemp_ {0.0f},
|
|
||||||
aMaxRadTemp_ {0.0f},
|
|
||||||
aMaxRadTempRise_ {0.0f},
|
|
||||||
lowerDeadLimit_ {0.0f},
|
|
||||||
upperDeadLimit_ {0.0f},
|
|
||||||
aMinGenRoomTemp_ {0.0f},
|
|
||||||
aMaxGenRoomTemp_ {0.0f},
|
|
||||||
spip5VRegLim_ {0.0f},
|
|
||||||
spip15VRegLim_ {0.0f},
|
|
||||||
rpgCoLocated_ {false},
|
|
||||||
specFilterInstalled_ {false},
|
|
||||||
tpsInstalled_ {false},
|
|
||||||
rmsInstalled_ {false},
|
|
||||||
aHvdlTstInt_ {0},
|
|
||||||
aRpgLtInt_ {0},
|
|
||||||
aMinStabUtilPwrTime_ {0},
|
|
||||||
aGenAutoExerInterval_ {0},
|
|
||||||
aUtilPwrSwReqInterval_ {0},
|
|
||||||
aLowFuelLevel_ {0.0f},
|
|
||||||
configChanNumber_ {0},
|
|
||||||
redundantChanConfig_ {0},
|
|
||||||
attenTable_ {0.0f},
|
|
||||||
pathLosses_ {},
|
|
||||||
vTsCw_ {0.0f},
|
|
||||||
hRnscale_ {0.0f},
|
|
||||||
atmos_ {0.0f},
|
|
||||||
elIndex_ {0.0f},
|
|
||||||
tfreqMhz_ {0},
|
|
||||||
baseDataTcn_ {0.0f},
|
|
||||||
reflDataTover_ {0.0f},
|
|
||||||
tarHDbz0Lp_ {0.0f},
|
|
||||||
tarVDbz0Lp_ {0.0f},
|
|
||||||
initPhiDp_ {0},
|
|
||||||
normInitPhiDp_ {0},
|
|
||||||
lxLp_ {0.0f},
|
|
||||||
lxSp_ {0.0f},
|
|
||||||
meteorParam_ {0.0f},
|
|
||||||
antennaGain_ {0.0f},
|
|
||||||
velDegradLimit_ {0.0f},
|
|
||||||
wthDegradLimit_ {0.0f},
|
|
||||||
hNoisetempDgradLimit_ {0.0f},
|
|
||||||
hMinNoisetemp_ {0},
|
|
||||||
vNoisetempDgradLimit_ {0.0f},
|
|
||||||
vMinNoisetemp_ {0},
|
|
||||||
klyDegradeLimit_ {0.0f},
|
|
||||||
tsCoho_ {0.0f},
|
|
||||||
hTsCw_ {0.0f},
|
|
||||||
tsStalo_ {0.0f},
|
|
||||||
ameHNoiseEnr_ {0.0f},
|
|
||||||
xmtrPeakPwrHighLimit_ {0.0f},
|
|
||||||
xmtrPeakPwrLowLimit_ {0.0f},
|
|
||||||
hDbz0DeltaLimit_ {0.0f},
|
|
||||||
threshold1_ {0.0f},
|
|
||||||
threshold2_ {0.0f},
|
|
||||||
clutSuppDgradLim_ {0.0f},
|
|
||||||
range0Value_ {0.0f},
|
|
||||||
xmtrPwrMtrScale_ {0.0f},
|
|
||||||
vDbz0DeltaLimit_ {0.0f},
|
|
||||||
tarHDbz0Sp_ {0.0f},
|
|
||||||
tarVDbz0Sp_ {0.0f},
|
|
||||||
deltaprf_ {0},
|
|
||||||
tauSp_ {0},
|
|
||||||
tauLp_ {0},
|
|
||||||
ncDeadValue_ {0},
|
|
||||||
tauRfSp_ {0},
|
|
||||||
tauRfLp_ {0},
|
|
||||||
seg1Lim_ {0.0f},
|
|
||||||
slatsec_ {0.0f},
|
|
||||||
slonsec_ {0.0f},
|
|
||||||
slatdeg_ {0},
|
|
||||||
slatmin_ {0},
|
|
||||||
slondeg_ {0},
|
|
||||||
slonmin_ {0},
|
|
||||||
slatdir_ {0},
|
|
||||||
slondir_ {0},
|
|
||||||
azCorrectionFactor_ {0.0f},
|
|
||||||
elCorrectionFactor_ {0.0f},
|
|
||||||
siteName_ {},
|
|
||||||
antManualSetup_(),
|
|
||||||
azPosSustainDrive_ {0.0f},
|
|
||||||
azNegSustainDrive_ {0.0f},
|
|
||||||
azNomPosDriveSlope_ {0.0f},
|
|
||||||
azNomNegDriveSlope_ {0.0f},
|
|
||||||
azFeedbackSlope_ {0.0f},
|
|
||||||
elPosSustainDrive_ {0.0f},
|
|
||||||
elNegSustainDrive_ {0.0f},
|
|
||||||
elNomPosDriveSlope_ {0.0f},
|
|
||||||
elNomNegDriveSlope_ {0.0f},
|
|
||||||
elFeedbackSlope_ {0.0f},
|
|
||||||
elFirstSlope_ {0.0f},
|
|
||||||
elSecondSlope_ {0.0f},
|
|
||||||
elThirdSlope_ {0.0f},
|
|
||||||
elDroopPos_ {0.0f},
|
|
||||||
elOffNeutralDrive_ {0.0f},
|
|
||||||
azIntertia_ {0.0f},
|
|
||||||
elInertia_ {0.0f},
|
|
||||||
rvp8nvIwaveguideLength_ {0},
|
|
||||||
vRnscale_ {0.0f},
|
|
||||||
velDataTover_ {0.0f},
|
|
||||||
widthDataTover_ {0.0f},
|
|
||||||
dopplerRangeStart_ {0.0f},
|
|
||||||
maxElIndex_ {0},
|
|
||||||
seg2Lim_ {0.0f},
|
|
||||||
seg3Lim_ {0.0f},
|
|
||||||
seg4Lim_ {0.0f},
|
|
||||||
nbrElSegments_ {0},
|
|
||||||
hNoiseLong_ {0.0f},
|
|
||||||
antNoiseTemp_ {0.0f},
|
|
||||||
hNoiseShort_ {0.0f},
|
|
||||||
hNoiseTolerance_ {0.0f},
|
|
||||||
minHDynRange_ {0.0f},
|
|
||||||
genInstalled_ {false},
|
|
||||||
genExercise_ {false},
|
|
||||||
vNoiseTolerance_ {0.0f},
|
|
||||||
minVDynRange_ {0.0f},
|
|
||||||
zdrBiasDgradLim_ {0.0f},
|
|
||||||
baselineZdrBias_ {0.0f},
|
|
||||||
vNoiseLong_ {0.0f},
|
|
||||||
vNoiseShort_ {0.0f},
|
|
||||||
zdrDataTover_ {0.0f},
|
|
||||||
phiDataTover_ {0.0f},
|
|
||||||
rhoDataTover_ {0.0f},
|
|
||||||
staloPowerDgradLimit_ {0.0f},
|
|
||||||
staloPowerMaintLimit_ {0.0f},
|
|
||||||
minHPwrSense_ {0.0f},
|
|
||||||
minVPwrSense_ {0.0f},
|
|
||||||
hPwrSenseOffset_ {0.0f},
|
|
||||||
vPwrSenseOffset_ {0.0f},
|
|
||||||
psGainRef_ {0.0f},
|
|
||||||
rfPalletBroadLoss_ {0.0f},
|
|
||||||
amePsTolerance_ {0.0f},
|
|
||||||
ameMaxTemp_ {0.0f},
|
|
||||||
ameMinTemp_ {0.0f},
|
|
||||||
rcvrModMaxTemp_ {0.0f},
|
|
||||||
rcvrModMinTemp_ {0.0f},
|
|
||||||
biteModMaxTemp_ {0.0f},
|
|
||||||
biteModMinTemp_ {0.0f},
|
|
||||||
defaultPolarization_ {0},
|
|
||||||
trLimitDgradLimit_ {0.0f},
|
|
||||||
trLimitFailLimit_ {0.0f},
|
|
||||||
rfpStepperEnabled_ {false},
|
|
||||||
ameCurrentTolerance_ {0.0f},
|
|
||||||
hOnlyPolarization_ {0},
|
|
||||||
vOnlyPolarization_ {0},
|
|
||||||
sunBias_ {0.0f},
|
|
||||||
aMinShelterTempWarn_ {0.0f},
|
|
||||||
powerMeterZero_ {0.0f},
|
|
||||||
txbBaseline_ {0.0f},
|
|
||||||
txbAlarmThresh_ {0.0f} {};
|
|
||||||
~RdaAdaptationDataImpl() = default;
|
|
||||||
|
|
||||||
std::string adapFileName_;
|
std::string adapFileName_ {};
|
||||||
std::string adapFormat_;
|
std::string adapFormat_ {};
|
||||||
std::string adapRevision_;
|
std::string adapRevision_ {};
|
||||||
std::string adapDate_;
|
std::string adapDate_ {};
|
||||||
std::string adapTime_;
|
std::string adapTime_ {};
|
||||||
float lowerPreLimit_;
|
float lowerPreLimit_ {0.0f};
|
||||||
float azLat_;
|
float azLat_ {0.0f};
|
||||||
float upperPreLimit_;
|
float upperPreLimit_ {0.0f};
|
||||||
float elLat_;
|
float elLat_ {0.0f};
|
||||||
float parkaz_;
|
float parkaz_ {0.0f};
|
||||||
float parkel_;
|
float parkel_ {0.0f};
|
||||||
std::array<float, 11> aFuelConv_;
|
std::array<float, 11> aFuelConv_ {0.0f};
|
||||||
float aMinShelterTemp_;
|
float aMinShelterTemp_ {0.0f};
|
||||||
float aMaxShelterTemp_;
|
float aMaxShelterTemp_ {0.0f};
|
||||||
float aMinShelterAcTempDiff_;
|
float aMinShelterAcTempDiff_ {0.0f};
|
||||||
float aMaxXmtrAirTemp_;
|
float aMaxXmtrAirTemp_ {0.0f};
|
||||||
float aMaxRadTemp_;
|
float aMaxRadTemp_ {0.0f};
|
||||||
float aMaxRadTempRise_;
|
float aMaxRadTempRise_ {0.0f};
|
||||||
float lowerDeadLimit_;
|
float lowerDeadLimit_ {0.0f};
|
||||||
float upperDeadLimit_;
|
float upperDeadLimit_ {0.0f};
|
||||||
float aMinGenRoomTemp_;
|
float aMinGenRoomTemp_ {0.0f};
|
||||||
float aMaxGenRoomTemp_;
|
float aMaxGenRoomTemp_ {0.0f};
|
||||||
float spip5VRegLim_;
|
float spip5VRegLim_ {0.0f};
|
||||||
float spip15VRegLim_;
|
float spip15VRegLim_ {0.0f};
|
||||||
bool rpgCoLocated_;
|
bool rpgCoLocated_ {false};
|
||||||
bool specFilterInstalled_;
|
bool specFilterInstalled_ {false};
|
||||||
bool tpsInstalled_;
|
bool tpsInstalled_ {false};
|
||||||
bool rmsInstalled_;
|
bool rmsInstalled_ {false};
|
||||||
uint32_t aHvdlTstInt_;
|
uint32_t aHvdlTstInt_ {0};
|
||||||
uint32_t aRpgLtInt_;
|
uint32_t aRpgLtInt_ {0};
|
||||||
uint32_t aMinStabUtilPwrTime_;
|
uint32_t aMinStabUtilPwrTime_ {0};
|
||||||
uint32_t aGenAutoExerInterval_;
|
uint32_t aGenAutoExerInterval_ {0};
|
||||||
uint32_t aUtilPwrSwReqInterval_;
|
uint32_t aUtilPwrSwReqInterval_ {0};
|
||||||
float aLowFuelLevel_;
|
float aLowFuelLevel_ {0.0f};
|
||||||
uint32_t configChanNumber_;
|
uint32_t configChanNumber_ {0};
|
||||||
uint32_t redundantChanConfig_;
|
uint32_t redundantChanConfig_ {0};
|
||||||
std::array<float, 104> attenTable_;
|
std::array<float, 104> attenTable_ {0.0f};
|
||||||
std::map<unsigned, float> pathLosses_;
|
std::map<unsigned, float> pathLosses_ {};
|
||||||
float vTsCw_;
|
float vTsCw_ {0.0f};
|
||||||
std::array<float, 13> hRnscale_;
|
std::array<float, 13> hRnscale_ {0.0f};
|
||||||
std::array<float, 13> atmos_;
|
std::array<float, 13> atmos_ {0.0f};
|
||||||
std::array<float, 12> elIndex_;
|
std::array<float, 12> elIndex_ {0.0f};
|
||||||
uint32_t tfreqMhz_;
|
uint32_t tfreqMhz_ {0};
|
||||||
float baseDataTcn_;
|
float baseDataTcn_ {0.0f};
|
||||||
float reflDataTover_;
|
float reflDataTover_ {0.0f};
|
||||||
float tarHDbz0Lp_;
|
float tarHDbz0Lp_ {0.0f};
|
||||||
float tarVDbz0Lp_;
|
float tarVDbz0Lp_ {0.0f};
|
||||||
uint32_t initPhiDp_;
|
uint32_t initPhiDp_ {0};
|
||||||
uint32_t normInitPhiDp_;
|
uint32_t normInitPhiDp_ {0};
|
||||||
float lxLp_;
|
float lxLp_ {0.0f};
|
||||||
float lxSp_;
|
float lxSp_ {0.0f};
|
||||||
float meteorParam_;
|
float meteorParam_ {0.0f};
|
||||||
float antennaGain_;
|
float antennaGain_ {0.0f};
|
||||||
float velDegradLimit_;
|
float velDegradLimit_ {0.0f};
|
||||||
float wthDegradLimit_;
|
float wthDegradLimit_ {0.0f};
|
||||||
float hNoisetempDgradLimit_;
|
float hNoisetempDgradLimit_ {0.0f};
|
||||||
uint32_t hMinNoisetemp_;
|
uint32_t hMinNoisetemp_ {0};
|
||||||
float vNoisetempDgradLimit_;
|
float vNoisetempDgradLimit_ {0.0f};
|
||||||
uint32_t vMinNoisetemp_;
|
uint32_t vMinNoisetemp_ {0};
|
||||||
float klyDegradeLimit_;
|
float klyDegradeLimit_ {0.0f};
|
||||||
float tsCoho_;
|
float tsCoho_ {0.0f};
|
||||||
float hTsCw_;
|
float hTsCw_ {0.0f};
|
||||||
float tsStalo_;
|
float tsStalo_ {0.0f};
|
||||||
float ameHNoiseEnr_;
|
float ameHNoiseEnr_ {0.0f};
|
||||||
float xmtrPeakPwrHighLimit_;
|
float xmtrPeakPwrHighLimit_ {0.0f};
|
||||||
float xmtrPeakPwrLowLimit_;
|
float xmtrPeakPwrLowLimit_ {0.0f};
|
||||||
float hDbz0DeltaLimit_;
|
float hDbz0DeltaLimit_ {0.0f};
|
||||||
float threshold1_;
|
float threshold1_ {0.0f};
|
||||||
float threshold2_;
|
float threshold2_ {0.0f};
|
||||||
float clutSuppDgradLim_;
|
float clutSuppDgradLim_ {0.0f};
|
||||||
float range0Value_;
|
float range0Value_ {0.0f};
|
||||||
float xmtrPwrMtrScale_;
|
float xmtrPwrMtrScale_ {0.0f};
|
||||||
float vDbz0DeltaLimit_;
|
float vDbz0DeltaLimit_ {0.0f};
|
||||||
float tarHDbz0Sp_;
|
float tarHDbz0Sp_ {0.0f};
|
||||||
float tarVDbz0Sp_;
|
float tarVDbz0Sp_ {0.0f};
|
||||||
uint32_t deltaprf_;
|
uint32_t deltaprf_ {0};
|
||||||
uint32_t tauSp_;
|
uint32_t tauSp_ {0};
|
||||||
uint32_t tauLp_;
|
uint32_t tauLp_ {0};
|
||||||
uint32_t ncDeadValue_;
|
uint32_t ncDeadValue_ {0};
|
||||||
uint32_t tauRfSp_;
|
uint32_t tauRfSp_ {0};
|
||||||
uint32_t tauRfLp_;
|
uint32_t tauRfLp_ {0};
|
||||||
float seg1Lim_;
|
float seg1Lim_ {0.0f};
|
||||||
float slatsec_;
|
float slatsec_ {0.0f};
|
||||||
float slonsec_;
|
float slonsec_ {0.0f};
|
||||||
uint32_t slatdeg_;
|
uint32_t slatdeg_ {0};
|
||||||
uint32_t slatmin_;
|
uint32_t slatmin_ {0};
|
||||||
uint32_t slondeg_;
|
uint32_t slondeg_ {0};
|
||||||
uint32_t slonmin_;
|
uint32_t slonmin_ {0};
|
||||||
char slatdir_;
|
char slatdir_ {0};
|
||||||
char slondir_;
|
char slondir_ {0};
|
||||||
float azCorrectionFactor_;
|
double digRcvrClockFreq_ {0.0};
|
||||||
float elCorrectionFactor_;
|
double cohoFreq_ {0.0};
|
||||||
std::string siteName_;
|
float azCorrectionFactor_ {0.0f};
|
||||||
AntManualSetup antManualSetup_;
|
float elCorrectionFactor_ {0.0f};
|
||||||
float azPosSustainDrive_;
|
std::string siteName_ {};
|
||||||
float azNegSustainDrive_;
|
AntManualSetup antManualSetup_ {};
|
||||||
float azNomPosDriveSlope_;
|
float azPosSustainDrive_ {0.0f};
|
||||||
float azNomNegDriveSlope_;
|
float azNegSustainDrive_ {0.0f};
|
||||||
float azFeedbackSlope_;
|
float azNomPosDriveSlope_ {0.0f};
|
||||||
float elPosSustainDrive_;
|
float azNomNegDriveSlope_ {0.0f};
|
||||||
float elNegSustainDrive_;
|
float azFeedbackSlope_ {0.0f};
|
||||||
float elNomPosDriveSlope_;
|
float elPosSustainDrive_ {0.0f};
|
||||||
float elNomNegDriveSlope_;
|
float elNegSustainDrive_ {0.0f};
|
||||||
float elFeedbackSlope_;
|
float elNomPosDriveSlope_ {0.0f};
|
||||||
float elFirstSlope_;
|
float elNomNegDriveSlope_ {0.0f};
|
||||||
float elSecondSlope_;
|
float elFeedbackSlope_ {0.0f};
|
||||||
float elThirdSlope_;
|
float elFirstSlope_ {0.0f};
|
||||||
float elDroopPos_;
|
float elSecondSlope_ {0.0f};
|
||||||
float elOffNeutralDrive_;
|
float elThirdSlope_ {0.0f};
|
||||||
float azIntertia_;
|
float elDroopPos_ {0.0f};
|
||||||
float elInertia_;
|
float elOffNeutralDrive_ {0.0f};
|
||||||
uint32_t rvp8nvIwaveguideLength_;
|
float azIntertia_ {0.0f};
|
||||||
std::array<float, 13> vRnscale_;
|
float elInertia_ {0.0f};
|
||||||
float velDataTover_;
|
float azStowAngle_ {0.0f};
|
||||||
float widthDataTover_;
|
float elStowAngle_ {0.0f};
|
||||||
float dopplerRangeStart_;
|
float azEncoderAlignment_ {0.0f};
|
||||||
uint32_t maxElIndex_;
|
float elEncoderAlignment_ {0.0f};
|
||||||
float seg2Lim_;
|
std::string refinedPark_ {};
|
||||||
float seg3Lim_;
|
uint32_t rvp8nvIwaveguideLength_ {0};
|
||||||
float seg4Lim_;
|
std::array<float, 13> vRnscale_ {0.0f};
|
||||||
uint32_t nbrElSegments_;
|
float velDataTover_ {0.0f};
|
||||||
float hNoiseLong_;
|
float widthDataTover_ {0.0f};
|
||||||
float antNoiseTemp_;
|
float dopplerRangeStart_ {0.0f};
|
||||||
float hNoiseShort_;
|
uint32_t maxElIndex_ {0};
|
||||||
float hNoiseTolerance_;
|
float seg2Lim_ {0.0f};
|
||||||
float minHDynRange_;
|
float seg3Lim_ {0.0f};
|
||||||
bool genInstalled_;
|
float seg4Lim_ {0.0f};
|
||||||
bool genExercise_;
|
uint32_t nbrElSegments_ {0};
|
||||||
float vNoiseTolerance_;
|
float hNoiseLong_ {0.0f};
|
||||||
float minVDynRange_;
|
float antNoiseTemp_ {0.0f};
|
||||||
float zdrBiasDgradLim_;
|
float hNoiseShort_ {0.0f};
|
||||||
float baselineZdrBias_;
|
float hNoiseTolerance_ {0.0f};
|
||||||
float vNoiseLong_;
|
float minHDynRange_ {0.0f};
|
||||||
float vNoiseShort_;
|
bool genInstalled_ {false};
|
||||||
float zdrDataTover_;
|
bool genExercise_ {false};
|
||||||
float phiDataTover_;
|
float vNoiseTolerance_ {0.0f};
|
||||||
float rhoDataTover_;
|
float minVDynRange_ {0.0f};
|
||||||
float staloPowerDgradLimit_;
|
float zdrOffsetDgradLim_ {0.0f};
|
||||||
float staloPowerMaintLimit_;
|
float baselineZdrOffset_ {0.0f};
|
||||||
float minHPwrSense_;
|
float vNoiseLong_ {0.0f};
|
||||||
float minVPwrSense_;
|
float vNoiseShort_ {0.0f};
|
||||||
float hPwrSenseOffset_;
|
float zdrDataTover_ {0.0f};
|
||||||
float vPwrSenseOffset_;
|
float phiDataTover_ {0.0f};
|
||||||
float psGainRef_;
|
float rhoDataTover_ {0.0f};
|
||||||
float rfPalletBroadLoss_;
|
float staloPowerDgradLimit_ {0.0f};
|
||||||
float amePsTolerance_;
|
float staloPowerMaintLimit_ {0.0f};
|
||||||
float ameMaxTemp_;
|
float minHPwrSense_ {0.0f};
|
||||||
float ameMinTemp_;
|
float minVPwrSense_ {0.0f};
|
||||||
float rcvrModMaxTemp_;
|
float hPwrSenseOffset_ {0.0f};
|
||||||
float rcvrModMinTemp_;
|
float vPwrSenseOffset_ {0.0f};
|
||||||
float biteModMaxTemp_;
|
float psGainRef_ {0.0f};
|
||||||
float biteModMinTemp_;
|
float rfPalletBroadLoss_ {0.0f};
|
||||||
uint32_t defaultPolarization_;
|
float amePsTolerance_ {0.0f};
|
||||||
float trLimitDgradLimit_;
|
float ameMaxTemp_ {0.0f};
|
||||||
float trLimitFailLimit_;
|
float ameMinTemp_ {0.0f};
|
||||||
bool rfpStepperEnabled_;
|
float rcvrModMaxTemp_ {0.0f};
|
||||||
float ameCurrentTolerance_;
|
float rcvrModMinTemp_ {0.0f};
|
||||||
uint32_t hOnlyPolarization_;
|
float biteModMaxTemp_ {0.0f};
|
||||||
uint32_t vOnlyPolarization_;
|
float biteModMinTemp_ {0.0f};
|
||||||
float sunBias_;
|
uint32_t defaultPolarization_ {0};
|
||||||
float aMinShelterTempWarn_;
|
float trLimitDgradLimit_ {0.0f};
|
||||||
float powerMeterZero_;
|
float trLimitFailLimit_ {0.0f};
|
||||||
float txbBaseline_;
|
bool rfpStepperEnabled_ {false};
|
||||||
float txbAlarmThresh_;
|
float ameCurrentTolerance_ {0.0f};
|
||||||
|
uint32_t hOnlyPolarization_ {0};
|
||||||
|
uint32_t vOnlyPolarization_ {0};
|
||||||
|
float sunBias_ {0.0f};
|
||||||
|
float aMinShelterTempWarn_ {0.0f};
|
||||||
|
float powerMeterZero_ {0.0f};
|
||||||
|
float txbBaseline_ {0.0f};
|
||||||
|
float txbAlarmThresh_ {0.0f};
|
||||||
};
|
};
|
||||||
|
|
||||||
RdaAdaptationData::RdaAdaptationData() :
|
RdaAdaptationData::RdaAdaptationData() :
|
||||||
|
|
@ -867,6 +710,16 @@ char RdaAdaptationData::slondir() const
|
||||||
return p->slondir_;
|
return p->slondir_;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
double RdaAdaptationData::dig_rcvr_clock_freq() const
|
||||||
|
{
|
||||||
|
return p->digRcvrClockFreq_;
|
||||||
|
}
|
||||||
|
|
||||||
|
double RdaAdaptationData::coho_freq() const
|
||||||
|
{
|
||||||
|
return p->cohoFreq_;
|
||||||
|
}
|
||||||
|
|
||||||
float RdaAdaptationData::az_correction_factor() const
|
float RdaAdaptationData::az_correction_factor() const
|
||||||
{
|
{
|
||||||
return p->azCorrectionFactor_;
|
return p->azCorrectionFactor_;
|
||||||
|
|
@ -999,6 +852,31 @@ float RdaAdaptationData::el_inertia() const
|
||||||
return p->elInertia_;
|
return p->elInertia_;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
float RdaAdaptationData::az_stow_angle() const
|
||||||
|
{
|
||||||
|
return p->azStowAngle_;
|
||||||
|
}
|
||||||
|
|
||||||
|
float RdaAdaptationData::el_stow_angle() const
|
||||||
|
{
|
||||||
|
return p->elStowAngle_;
|
||||||
|
}
|
||||||
|
|
||||||
|
float RdaAdaptationData::az_encoder_alignment() const
|
||||||
|
{
|
||||||
|
return p->azEncoderAlignment_;
|
||||||
|
}
|
||||||
|
|
||||||
|
float RdaAdaptationData::el_encoder_alignment() const
|
||||||
|
{
|
||||||
|
return p->elEncoderAlignment_;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string RdaAdaptationData::refined_park() const
|
||||||
|
{
|
||||||
|
return p->refinedPark_;
|
||||||
|
}
|
||||||
|
|
||||||
uint32_t RdaAdaptationData::rvp8nv_iwaveguide_length() const
|
uint32_t RdaAdaptationData::rvp8nv_iwaveguide_length() const
|
||||||
{
|
{
|
||||||
return p->rvp8nvIwaveguideLength_;
|
return p->rvp8nvIwaveguideLength_;
|
||||||
|
|
@ -1094,14 +972,14 @@ float RdaAdaptationData::min_v_dyn_range() const
|
||||||
return p->minVDynRange_;
|
return p->minVDynRange_;
|
||||||
}
|
}
|
||||||
|
|
||||||
float RdaAdaptationData::zdr_bias_dgrad_lim() const
|
float RdaAdaptationData::zdr_offset_dgrad_lim() const
|
||||||
{
|
{
|
||||||
return p->zdrBiasDgradLim_;
|
return p->zdrOffsetDgradLim_;
|
||||||
}
|
}
|
||||||
|
|
||||||
float RdaAdaptationData::baseline_zdr_bias() const
|
float RdaAdaptationData::baseline_zdr_offset() const
|
||||||
{
|
{
|
||||||
return p->baselineZdrBias_;
|
return p->baselineZdrOffset_;
|
||||||
}
|
}
|
||||||
|
|
||||||
float RdaAdaptationData::v_noise_long() const
|
float RdaAdaptationData::v_noise_long() const
|
||||||
|
|
@ -1277,6 +1155,7 @@ bool RdaAdaptationData::Parse(std::istream& is)
|
||||||
p->adapDate_.resize(12);
|
p->adapDate_.resize(12);
|
||||||
p->adapTime_.resize(12);
|
p->adapTime_.resize(12);
|
||||||
p->siteName_.resize(4);
|
p->siteName_.resize(4);
|
||||||
|
p->refinedPark_.resize(4);
|
||||||
|
|
||||||
is.read(&p->adapFileName_[0], 12); // 0-11
|
is.read(&p->adapFileName_[0], 12); // 0-11
|
||||||
is.read(&p->adapFormat_[0], 4); // 12-15
|
is.read(&p->adapFormat_[0], 4); // 12-15
|
||||||
|
|
@ -1458,7 +1337,12 @@ bool RdaAdaptationData::Parse(std::istream& is)
|
||||||
ReadChar(is, p->slatdir_); // 1316-1319
|
ReadChar(is, p->slatdir_); // 1316-1319
|
||||||
ReadChar(is, p->slondir_); // 1320-1323
|
ReadChar(is, p->slondir_); // 1320-1323
|
||||||
|
|
||||||
is.seekg(7036, std::ios_base::cur); // 1324-8359
|
is.seekg(3824, std::ios_base::cur); // 1324-2499
|
||||||
|
|
||||||
|
is.read(reinterpret_cast<char*>(&p->digRcvrClockFreq_), 8); // 2500-2507
|
||||||
|
is.read(reinterpret_cast<char*>(&p->cohoFreq_), 8); // 2508-2515
|
||||||
|
|
||||||
|
is.seekg(5844, std::ios_base::cur); // 2516-8359
|
||||||
|
|
||||||
is.read(reinterpret_cast<char*>(&p->azCorrectionFactor_), 4); // 8360-8363
|
is.read(reinterpret_cast<char*>(&p->azCorrectionFactor_), 4); // 8360-8363
|
||||||
is.read(reinterpret_cast<char*>(&p->elCorrectionFactor_), 4); // 8364-8367
|
is.read(reinterpret_cast<char*>(&p->elCorrectionFactor_), 4); // 8364-8367
|
||||||
|
|
@ -1493,7 +1377,18 @@ bool RdaAdaptationData::Parse(std::istream& is)
|
||||||
is.read(reinterpret_cast<char*>(&p->azIntertia_), 4); // 8456-8459
|
is.read(reinterpret_cast<char*>(&p->azIntertia_), 4); // 8456-8459
|
||||||
is.read(reinterpret_cast<char*>(&p->elInertia_), 4); // 8460-8463
|
is.read(reinterpret_cast<char*>(&p->elInertia_), 4); // 8460-8463
|
||||||
|
|
||||||
is.seekg(232, std::ios_base::cur); // 8464-8695
|
is.seekg(32, std::ios_base::cur); // 8464-8495
|
||||||
|
|
||||||
|
is.read(reinterpret_cast<char*>(&p->azStowAngle_), 4); // 8496-8499
|
||||||
|
is.read(reinterpret_cast<char*>(&p->elStowAngle_), 4); // 8500-8503
|
||||||
|
is.read(reinterpret_cast<char*>(&p->azEncoderAlignment_), 4); // 8504-8507
|
||||||
|
is.read(reinterpret_cast<char*>(&p->elEncoderAlignment_), 4); // 8508-8511
|
||||||
|
|
||||||
|
is.seekg(176, std::ios_base::cur); // 8512-8687
|
||||||
|
|
||||||
|
is.read(&p->refinedPark_[0], 4); // 8688-8691
|
||||||
|
|
||||||
|
is.seekg(4, std::ios_base::cur); // 8692-8695
|
||||||
|
|
||||||
is.read(reinterpret_cast<char*>(&p->rvp8nvIwaveguideLength_),
|
is.read(reinterpret_cast<char*>(&p->rvp8nvIwaveguideLength_),
|
||||||
4); // 8696-8699
|
4); // 8696-8699
|
||||||
|
|
@ -1522,8 +1417,8 @@ bool RdaAdaptationData::Parse(std::istream& is)
|
||||||
ReadBoolean(is, p->genExercise_); // 8812-8815
|
ReadBoolean(is, p->genExercise_); // 8812-8815
|
||||||
is.read(reinterpret_cast<char*>(&p->vNoiseTolerance_), 4); // 8816-8819
|
is.read(reinterpret_cast<char*>(&p->vNoiseTolerance_), 4); // 8816-8819
|
||||||
is.read(reinterpret_cast<char*>(&p->minVDynRange_), 4); // 8820-8823
|
is.read(reinterpret_cast<char*>(&p->minVDynRange_), 4); // 8820-8823
|
||||||
is.read(reinterpret_cast<char*>(&p->zdrBiasDgradLim_), 4); // 8824-8827
|
is.read(reinterpret_cast<char*>(&p->zdrOffsetDgradLim_), 4); // 8824-8827
|
||||||
is.read(reinterpret_cast<char*>(&p->baselineZdrBias_), 4); // 8828-8831
|
is.read(reinterpret_cast<char*>(&p->baselineZdrOffset_), 4); // 8828-8831
|
||||||
|
|
||||||
is.seekg(12, std::ios_base::cur); // 8832-8843
|
is.seekg(12, std::ios_base::cur); // 8832-8843
|
||||||
|
|
||||||
|
|
@ -1658,6 +1553,8 @@ bool RdaAdaptationData::Parse(std::istream& is)
|
||||||
p->slatmin_ = ntohl(p->slatmin_);
|
p->slatmin_ = ntohl(p->slatmin_);
|
||||||
p->slondeg_ = ntohl(p->slondeg_);
|
p->slondeg_ = ntohl(p->slondeg_);
|
||||||
p->slonmin_ = ntohl(p->slonmin_);
|
p->slonmin_ = ntohl(p->slonmin_);
|
||||||
|
p->digRcvrClockFreq_ = SwapDouble(p->digRcvrClockFreq_);
|
||||||
|
p->cohoFreq_ = SwapDouble(p->cohoFreq_);
|
||||||
p->azCorrectionFactor_ = SwapFloat(p->azCorrectionFactor_);
|
p->azCorrectionFactor_ = SwapFloat(p->azCorrectionFactor_);
|
||||||
p->elCorrectionFactor_ = SwapFloat(p->elCorrectionFactor_);
|
p->elCorrectionFactor_ = SwapFloat(p->elCorrectionFactor_);
|
||||||
p->antManualSetup_.ielmin_ = ntohl(p->antManualSetup_.ielmin_);
|
p->antManualSetup_.ielmin_ = ntohl(p->antManualSetup_.ielmin_);
|
||||||
|
|
@ -1683,6 +1580,10 @@ bool RdaAdaptationData::Parse(std::istream& is)
|
||||||
p->elOffNeutralDrive_ = SwapFloat(p->elOffNeutralDrive_);
|
p->elOffNeutralDrive_ = SwapFloat(p->elOffNeutralDrive_);
|
||||||
p->azIntertia_ = SwapFloat(p->azIntertia_);
|
p->azIntertia_ = SwapFloat(p->azIntertia_);
|
||||||
p->elInertia_ = SwapFloat(p->elInertia_);
|
p->elInertia_ = SwapFloat(p->elInertia_);
|
||||||
|
p->azStowAngle_ = SwapFloat(p->azStowAngle_);
|
||||||
|
p->elStowAngle_ = SwapFloat(p->elStowAngle_);
|
||||||
|
p->azEncoderAlignment_ = SwapFloat(p->azEncoderAlignment_);
|
||||||
|
p->elEncoderAlignment_ = SwapFloat(p->elEncoderAlignment_);
|
||||||
p->rvp8nvIwaveguideLength_ = ntohl(p->rvp8nvIwaveguideLength_);
|
p->rvp8nvIwaveguideLength_ = ntohl(p->rvp8nvIwaveguideLength_);
|
||||||
|
|
||||||
SwapArray(p->vRnscale_);
|
SwapArray(p->vRnscale_);
|
||||||
|
|
@ -1702,8 +1603,8 @@ bool RdaAdaptationData::Parse(std::istream& is)
|
||||||
p->minHDynRange_ = SwapFloat(p->minHDynRange_);
|
p->minHDynRange_ = SwapFloat(p->minHDynRange_);
|
||||||
p->vNoiseTolerance_ = SwapFloat(p->vNoiseTolerance_);
|
p->vNoiseTolerance_ = SwapFloat(p->vNoiseTolerance_);
|
||||||
p->minVDynRange_ = SwapFloat(p->minVDynRange_);
|
p->minVDynRange_ = SwapFloat(p->minVDynRange_);
|
||||||
p->zdrBiasDgradLim_ = SwapFloat(p->zdrBiasDgradLim_);
|
p->zdrOffsetDgradLim_ = SwapFloat(p->zdrOffsetDgradLim_);
|
||||||
p->baselineZdrBias_ = SwapFloat(p->baselineZdrBias_);
|
p->baselineZdrOffset_ = SwapFloat(p->baselineZdrOffset_);
|
||||||
p->vNoiseLong_ = SwapFloat(p->vNoiseLong_);
|
p->vNoiseLong_ = SwapFloat(p->vNoiseLong_);
|
||||||
p->vNoiseShort_ = SwapFloat(p->vNoiseShort_);
|
p->vNoiseShort_ = SwapFloat(p->vNoiseShort_);
|
||||||
p->zdrDataTover_ = SwapFloat(p->zdrDataTover_);
|
p->zdrDataTover_ = SwapFloat(p->zdrDataTover_);
|
||||||
|
|
|
||||||
|
|
@ -14,67 +14,39 @@ static const auto logger_ = util::Logger::Create(logPrefix_);
|
||||||
class RdaStatusDataImpl
|
class RdaStatusDataImpl
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
explicit RdaStatusDataImpl() :
|
explicit RdaStatusDataImpl() = default;
|
||||||
rdaStatus_ {0},
|
~RdaStatusDataImpl() = default;
|
||||||
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;
|
|
||||||
|
|
||||||
uint16_t rdaStatus_;
|
uint16_t rdaStatus_ {0};
|
||||||
uint16_t operabilityStatus_;
|
uint16_t operabilityStatus_ {0};
|
||||||
uint16_t controlStatus_;
|
uint16_t controlStatus_ {0};
|
||||||
uint16_t auxiliaryPowerGeneratorState_;
|
uint16_t auxiliaryPowerGeneratorState_ {0};
|
||||||
uint16_t averageTransmitterPower_;
|
uint16_t averageTransmitterPower_ {0};
|
||||||
int16_t horizontalReflectivityCalibrationCorrection_;
|
int16_t horizontalReflectivityCalibrationCorrection_ {0};
|
||||||
uint16_t dataTransmissionEnabled_;
|
uint16_t dataTransmissionEnabled_ {0};
|
||||||
uint16_t volumeCoveragePatternNumber_;
|
uint16_t volumeCoveragePatternNumber_ {0};
|
||||||
uint16_t rdaControlAuthorization_;
|
uint16_t rdaControlAuthorization_ {0};
|
||||||
uint16_t rdaBuildNumber_;
|
uint16_t rdaBuildNumber_ {0};
|
||||||
uint16_t operationalMode_;
|
uint16_t operationalMode_ {0};
|
||||||
uint16_t superResolutionStatus_;
|
uint16_t superResolutionStatus_ {0};
|
||||||
uint16_t clutterMitigationDecisionStatus_;
|
uint16_t clutterMitigationDecisionStatus_ {0};
|
||||||
uint16_t avsetEbcRdaLogDataStatus_;
|
uint16_t rdaScanAndDataFlags_ {0};
|
||||||
uint16_t rdaAlarmSummary_;
|
uint16_t rdaAlarmSummary_ {0};
|
||||||
uint16_t commandAcknowledgement_;
|
uint16_t commandAcknowledgement_ {0};
|
||||||
uint16_t channelControlStatus_;
|
uint16_t channelControlStatus_ {0};
|
||||||
uint16_t spotBlankingStatus_;
|
uint16_t spotBlankingStatus_ {0};
|
||||||
uint16_t bypassMapGenerationDate_;
|
uint16_t bypassMapGenerationDate_ {0};
|
||||||
uint16_t bypassMapGenerationTime_;
|
uint16_t bypassMapGenerationTime_ {0};
|
||||||
uint16_t clutterFilterMapGenerationDate_;
|
uint16_t clutterFilterMapGenerationDate_ {0};
|
||||||
uint16_t clutterFilterMapGenerationTime_;
|
uint16_t clutterFilterMapGenerationTime_ {0};
|
||||||
int16_t verticalReflectivityCalibrationCorrection_;
|
int16_t verticalReflectivityCalibrationCorrection_ {0};
|
||||||
uint16_t transitionPowerSourceStatus_;
|
uint16_t transitionPowerSourceStatus_ {0};
|
||||||
uint16_t rmsControlStatus_;
|
uint16_t rmsControlStatus_ {0};
|
||||||
uint16_t performanceCheckStatus_;
|
uint16_t performanceCheckStatus_ {0};
|
||||||
std::array<uint16_t, 14> alarmCodes_;
|
std::array<uint16_t, 14> alarmCodes_ {0};
|
||||||
uint16_t signalProcessingOptions_;
|
uint16_t signalProcessingOptions_ {0};
|
||||||
uint16_t statusVersion_;
|
uint16_t downloadedPatternNumber_ {0};
|
||||||
|
uint16_t statusVersion_ {0};
|
||||||
};
|
};
|
||||||
|
|
||||||
RdaStatusData::RdaStatusData() :
|
RdaStatusData::RdaStatusData() :
|
||||||
|
|
@ -83,7 +55,7 @@ RdaStatusData::RdaStatusData() :
|
||||||
}
|
}
|
||||||
RdaStatusData::~RdaStatusData() = default;
|
RdaStatusData::~RdaStatusData() = default;
|
||||||
|
|
||||||
RdaStatusData::RdaStatusData(RdaStatusData&&) noexcept = default;
|
RdaStatusData::RdaStatusData(RdaStatusData&&) noexcept = default;
|
||||||
RdaStatusData& RdaStatusData::operator=(RdaStatusData&&) noexcept = default;
|
RdaStatusData& RdaStatusData::operator=(RdaStatusData&&) noexcept = default;
|
||||||
|
|
||||||
uint16_t RdaStatusData::rda_status() const
|
uint16_t RdaStatusData::rda_status() const
|
||||||
|
|
@ -151,9 +123,9 @@ uint16_t RdaStatusData::clutter_mitigation_decision_status() const
|
||||||
return p->clutterMitigationDecisionStatus_;
|
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
|
uint16_t RdaStatusData::rda_alarm_summary() const
|
||||||
|
|
@ -226,6 +198,11 @@ uint16_t RdaStatusData::signal_processing_options() const
|
||||||
return p->signalProcessingOptions_;
|
return p->signalProcessingOptions_;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uint16_t RdaStatusData::downloaded_pattern_number() const
|
||||||
|
{
|
||||||
|
return p->downloadedPatternNumber_;
|
||||||
|
}
|
||||||
|
|
||||||
uint16_t RdaStatusData::status_version() const
|
uint16_t RdaStatusData::status_version() const
|
||||||
{
|
{
|
||||||
return p->statusVersion_;
|
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->operationalMode_), 2); // 11
|
||||||
is.read(reinterpret_cast<char*>(&p->superResolutionStatus_), 2); // 12
|
is.read(reinterpret_cast<char*>(&p->superResolutionStatus_), 2); // 12
|
||||||
is.read(reinterpret_cast<char*>(&p->clutterMitigationDecisionStatus_),
|
is.read(reinterpret_cast<char*>(&p->clutterMitigationDecisionStatus_),
|
||||||
2); // 13
|
2); // 13
|
||||||
is.read(reinterpret_cast<char*>(&p->avsetEbcRdaLogDataStatus_), 2); // 14
|
is.read(reinterpret_cast<char*>(&p->rdaScanAndDataFlags_), 2); // 14
|
||||||
is.read(reinterpret_cast<char*>(&p->rdaAlarmSummary_), 2); // 15
|
is.read(reinterpret_cast<char*>(&p->rdaAlarmSummary_), 2); // 15
|
||||||
is.read(reinterpret_cast<char*>(&p->commandAcknowledgement_), 2); // 16
|
is.read(reinterpret_cast<char*>(&p->commandAcknowledgement_), 2); // 16
|
||||||
is.read(reinterpret_cast<char*>(&p->channelControlStatus_), 2); // 17
|
is.read(reinterpret_cast<char*>(&p->channelControlStatus_), 2); // 17
|
||||||
is.read(reinterpret_cast<char*>(&p->spotBlankingStatus_), 2); // 18
|
is.read(reinterpret_cast<char*>(&p->spotBlankingStatus_), 2); // 18
|
||||||
is.read(reinterpret_cast<char*>(&p->bypassMapGenerationDate_), 2); // 19
|
is.read(reinterpret_cast<char*>(&p->bypassMapGenerationDate_), 2); // 19
|
||||||
is.read(reinterpret_cast<char*>(&p->bypassMapGenerationTime_), 2); // 20
|
is.read(reinterpret_cast<char*>(&p->bypassMapGenerationTime_), 2); // 20
|
||||||
is.read(reinterpret_cast<char*>(&p->clutterFilterMapGenerationDate_),
|
is.read(reinterpret_cast<char*>(&p->clutterFilterMapGenerationDate_),
|
||||||
2); // 21
|
2); // 21
|
||||||
is.read(reinterpret_cast<char*>(&p->clutterFilterMapGenerationTime_),
|
is.read(reinterpret_cast<char*>(&p->clutterFilterMapGenerationTime_),
|
||||||
|
|
@ -290,13 +267,13 @@ bool RdaStatusData::Parse(std::istream& is)
|
||||||
p->superResolutionStatus_ = ntohs(p->superResolutionStatus_);
|
p->superResolutionStatus_ = ntohs(p->superResolutionStatus_);
|
||||||
p->clutterMitigationDecisionStatus_ =
|
p->clutterMitigationDecisionStatus_ =
|
||||||
ntohs(p->clutterMitigationDecisionStatus_);
|
ntohs(p->clutterMitigationDecisionStatus_);
|
||||||
p->avsetEbcRdaLogDataStatus_ = ntohs(p->avsetEbcRdaLogDataStatus_);
|
p->rdaScanAndDataFlags_ = ntohs(p->rdaScanAndDataFlags_);
|
||||||
p->rdaAlarmSummary_ = ntohs(p->rdaAlarmSummary_);
|
p->rdaAlarmSummary_ = ntohs(p->rdaAlarmSummary_);
|
||||||
p->commandAcknowledgement_ = ntohs(p->commandAcknowledgement_);
|
p->commandAcknowledgement_ = ntohs(p->commandAcknowledgement_);
|
||||||
p->channelControlStatus_ = ntohs(p->channelControlStatus_);
|
p->channelControlStatus_ = ntohs(p->channelControlStatus_);
|
||||||
p->spotBlankingStatus_ = ntohs(p->spotBlankingStatus_);
|
p->spotBlankingStatus_ = ntohs(p->spotBlankingStatus_);
|
||||||
p->bypassMapGenerationDate_ = ntohs(p->bypassMapGenerationDate_);
|
p->bypassMapGenerationDate_ = ntohs(p->bypassMapGenerationDate_);
|
||||||
p->bypassMapGenerationTime_ = ntohs(p->bypassMapGenerationTime_);
|
p->bypassMapGenerationTime_ = ntohs(p->bypassMapGenerationTime_);
|
||||||
p->clutterFilterMapGenerationDate_ =
|
p->clutterFilterMapGenerationDate_ =
|
||||||
ntohs(p->clutterFilterMapGenerationDate_);
|
ntohs(p->clutterFilterMapGenerationDate_);
|
||||||
p->clutterFilterMapGenerationTime_ =
|
p->clutterFilterMapGenerationTime_ =
|
||||||
|
|
@ -312,8 +289,9 @@ bool RdaStatusData::Parse(std::istream& is)
|
||||||
if (header().message_size() * 2 > Level2MessageHeader::SIZE + 80)
|
if (header().message_size() * 2 > Level2MessageHeader::SIZE + 80)
|
||||||
{
|
{
|
||||||
is.read(reinterpret_cast<char*>(&p->signalProcessingOptions_), 2); // 41
|
is.read(reinterpret_cast<char*>(&p->signalProcessingOptions_), 2); // 41
|
||||||
is.seekg(36, std::ios_base::cur); // 42-59
|
is.seekg(34, std::ios_base::cur); // 42-58
|
||||||
is.read(reinterpret_cast<char*>(&p->statusVersion_), 2); // 60
|
is.read(reinterpret_cast<char*>(&p->downloadedPatternNumber_), 2); // 59
|
||||||
|
is.read(reinterpret_cast<char*>(&p->statusVersion_), 2); // 60
|
||||||
bytesRead += 40;
|
bytesRead += 40;
|
||||||
|
|
||||||
p->signalProcessingOptions_ = ntohs(p->signalProcessingOptions_);
|
p->signalProcessingOptions_ = ntohs(p->signalProcessingOptions_);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue