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

@ -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)

View file

@ -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;

View file

@ -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;

View file

@ -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);

View file

@ -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;
} }

View file

@ -17,536 +17,277 @@ static const auto logger_ = util::Logger::Create(logPrefix_);
class PerformanceMaintenanceDataImpl class PerformanceMaintenanceDataImpl
{ {
public: public:
explicit PerformanceMaintenanceDataImpl() : explicit PerformanceMaintenanceDataImpl() = default;
loopBackSetStatus_ {0},
t1OutputFrames_ {0},
t1InputFrames_ {0},
routerMemoryUsed_ {0},
routerMemoryFree_ {0},
routerMemoryUtilization_ {0},
routeToRpg_ {0},
csuLossOfSignal_ {0},
csuLossOfFrames_ {0},
csuYellowAlarms_ {0},
csuBlueAlarms_ {0},
csu24HrErroredSeconds_ {0},
csu24HrSeverelyErroredSeconds_ {0},
csu24HrSeverelyErroredFramingSeconds_ {0},
csu24HrUnavailableSeconds_ {0},
csu24HrControlledSlipSeconds_ {0},
csu24HrPathCodingViolations_ {0},
csu24HrLineErroredSeconds_ {0},
csu24HrBurstyErroredSeconds_ {0},
csu24HrDegradedMinutes_ {0},
lanSwitchCpuUtilization_ {0},
lanSwitchMemoryUtilization_ {0},
ifdrChasisTemperature_ {0},
ifdrFpgaTemperature_ {0},
gpsSatellites_ {0},
ipcStatus_ {0},
commandedChannelControl_ {0},
polarization_ {0},
ameInternalTemperature_ {0.0f},
ameReceiverModuleTemperature_ {0.0f},
ameBiteCalModuleTemperature_ {0.0f},
amePeltierPulseWidthModulation_ {0},
amePeltierStatus_ {0},
ameADConverterStatus_ {0},
ameState_ {0},
ame3_3VPsVoltage_ {0.0f},
ame5VPsVoltage_ {0.0f},
ame6_5VPsVoltage_ {0.0f},
ame15VPsVoltage_ {0.0f},
ame48VPsVoltage_ {0.0f},
ameStaloPower_ {0.0f},
peltierCurrent_ {0.0f},
adcCalibrationReferenceVoltage_ {0.0f},
ameMode_ {0},
amePeltierMode_ {0},
amePeltierInsideFanCurrent_ {0.0f},
amePeltierOutsideFanCurrent_ {0.0f},
horizontalTrLimiterVoltage_ {0.0f},
verticalTrLimiterVoltage_ {0.0f},
adcCalibrationOffsetVoltage_ {0.0f},
adcCalibrationGainCorrection_ {0.0f},
rcpStatus_ {0},
rcpString_ {},
spipPowerButtons_ {0},
masterPowerAdministratorLoad_ {0.0f},
expansionPowerAdministratorLoad_ {0.0f},
_5VdcPs_ {0},
_15VdcPs_ {0},
_28VdcPs_ {0},
neg15VdcPs_ {0},
_45VdcPs_ {0},
filamentPsVoltage_ {0},
vacuumPumpPsVoltage_ {0},
focusCoilPsVoltage_ {0},
filamentPs_ {0},
klystronWarmup_ {0},
transmitterAvailable_ {0},
wgSwitchPosition_ {0},
wgPfnTransferInterlock_ {0},
maintenanceMode_ {0},
maintenanceRequired_ {0},
pfnSwitchPosition_ {0},
modulatorOverload_ {0},
modulatorInvCurrent_ {0},
modulatorSwitchFail_ {0},
mainPowerVoltage_ {0},
chargingSystemFail_ {0},
inverseDiodeCurrent_ {0},
triggerAmplifier_ {0},
circulatorTemperature_ {0},
spectrumFilterPressure_ {0},
wgArcVswr_ {0},
cabinetInterlock_ {0},
cabinetAirTemperature_ {0},
cabinetAirflow_ {0},
klystronCurrent_ {0},
klystronFilamentCurrent_ {0},
klystronVacionCurrent_ {0},
klystronAirTemperature_ {0},
klystronAirflow_ {0},
modulatorSwitchMaintenance_ {0},
postChargeRegulatorMaintenance_ {0},
wgPressureHumidity_ {0},
transmitterOvervoltage_ {0},
transmitterOvercurrent_ {0},
focusCoilCurrent_ {0},
focusCoilAirflow_ {0},
oilTemperature_ {0},
prfLimit_ {0},
transmitterOilLevel_ {0},
transmitterBatteryCharging_ {0},
highVoltageStatus_ {0},
transmitterRecyclingSummary_ {0},
transmitterInoperable_ {0},
transmitterAirFilter_ {0},
zeroTestBit_ {0},
oneTestBit_ {0},
xmtrSpipInterface_ {0},
transmitterSummaryStatus_ {0},
transmitterRfPower_ {0.0f},
horizontalXmtrPeakPower_ {0.0f},
xmtrPeakPower_ {0.0f},
verticalXmtrPeakPower_ {0.0f},
xmtrRfAvgPower_ {0.0f},
xmtrRecycleCount_ {0},
receiverBias_ {0.0f},
transmitImbalance_ {0.0f},
xmtrPowerMeterZero_ {0.0f},
acUnit1CompressorShutOff_ {0},
acUnit2CompressorShutOff_ {0},
generatorMaintenanceRequired_ {0},
generatorBatteryVoltage_ {0},
generatorEngine_ {0},
generatorVoltFrequency_ {0},
powerSource_ {0},
transitionalPowerSource_ {0},
generatorAutoRunOffSwitch_ {0},
aircraftHazardLighting_ {0},
equipmentShelterFireDetectionSystem_ {0},
equipmentShelterFireSmoke_ {0},
generatorShelterFireSmoke_ {0},
utilityVoltageFrequency_ {0},
siteSecurityAlarm_ {0},
securityEquipment_ {0},
securitySystem_ {0},
receiverConnectedToAntenna_ {0},
radomeHatch_ {0},
acUnit1FilterDirty_ {0},
acUnit2FilterDirty_ {0},
equipmentShelterTemperature_ {0.0f},
outsideAmbientTemperature_ {0.0f},
transmitterLeavingAirTemp_ {0.0f},
acUnit1DischargeAirTemp_ {0.0f},
generatorShelterTemperature_ {0.0f},
radomeAirTemperature_ {0.0f},
acUnit2DischargeAirTemp_ {0.0f},
spip15VPs_ {0.0f},
spipNeg15VPs_ {0.0f},
spip28VPsStatus_ {0},
spip5VPs_ {0.0f},
convertedGeneratorFuelLevel_ {0},
elevationPosDeadLimit_ {0},
_150VOvervoltage_ {0},
_150VUndervoltage_ {0},
elevationServoAmpInhibit_ {0},
elevationServoAmpShortCircuit_ {0},
elevationServoAmpOvertemp_ {0},
elevationMotorOvertemp_ {0},
elevationStowPin_ {0},
elevationHousing5VPs_ {0},
elevationNegDeadLimit_ {0},
elevationPosNormalLimit_ {0},
elevationNegNormalLimit_ {0},
elevationEncoderLight_ {0},
elevationGearboxOil_ {0},
elevationHandwheel_ {0},
elevationAmpPs_ {0},
azimuthServoAmpInhibit_ {0},
azimuthServoAmpShortCircuit_ {0},
azimuthServoAmpOvertemp_ {0},
azimuthMotorOvertemp_ {0},
azimuthStowPin_ {0},
azimuthHousing5VPs_ {0},
azimuthEncoderLight_ {0},
azimuthGearboxOil_ {0},
azimuthBullGearOil_ {0},
azimuthHandwheel_ {0},
azimuthServoAmpPs_ {0},
servo_ {0},
pedestalInterlockSwitch_ {0},
cohoClock_ {0},
rfGeneratorFrequencySelectOscillator_ {0},
rfGeneratorRfStalo_ {0},
rfGeneratorPhaseShiftedCoho_ {0},
_9VReceiverPs_ {0},
_5VReceiverPs_ {0},
_18VReceiverPs_ {0},
neg9VReceiverPs_ {0},
_5VSingleChannelRdaiuPs_ {0},
horizontalShortPulseNoise_ {0.0f},
horizontalLongPulseNoise_ {0.0f},
horizontalNoiseTemperature_ {0.0f},
verticalShortPulseNoise_ {0.0f},
verticalLongPulseNoise_ {0.0f},
verticalNoiseTemperature_ {0.0f},
horizontalLinearity_ {0.0f},
horizontalDynamicRange_ {0.0f},
horizontalDeltaDbz0_ {0.0f},
verticalDeltaDbz0_ {0.0f},
kdPeakMeasured_ {0.0f},
shortPulseHorizontalDbz0_ {0.0f},
longPulseHorizontalDbz0_ {0.0f},
velocityProcessed_ {0},
widthProcessed_ {0},
velocityRfGen_ {0},
widthRfGen_ {0},
horizontalI0_ {0.0f},
verticalI0_ {0.0f},
verticalDynamicRange_ {0.0f},
shortPulseVerticalDbz0_ {0.0f},
longPulseVerticalDbz0_ {0.0f},
horizontalPowerSense_ {0.0f},
verticalPowerSense_ {0.0f},
zdrBias_ {0.0f},
clutterSuppressionDelta_ {0.0f},
clutterSuppressionUnfilteredPower_ {0.0f},
clutterSuppressionFilteredPower_ {0.0f},
verticalLinearity_ {0.0f},
stateFileReadStatus_ {0},
stateFileWriteStatus_ {0},
bypassMapFileReadStatus_ {0},
bypassMapFileWriteStatus_ {0},
currentAdaptationFileReadStatus_ {0},
currentAdaptationFileWriteStatus_ {0},
censorZoneFileReadStatus_ {0},
censorZoneFileWriteStatus_ {0},
remoteVcpFileReadStatus_ {0},
remoteVcpFileWriteStatus_ {0},
baselineAdaptationFileReadStatus_ {0},
readStatusOfPrfSets_ {0},
clutterFilterMapFileReadStatus_ {0},
clutterFilterMapFileWriteStatus_ {0},
generatlDiskIoError_ {0},
rspStatus_ {0},
motherboardTemperature_ {0},
cpu1Temperature_ {0},
cpu2Temperature_ {0},
cpu1FanSpeed_ {0},
cpu2FanSpeed_ {0},
rspFan1Speed_ {0},
rspFan2Speed_ {0},
rspFan3Speed_ {0},
spipCommStatus_ {0},
hciCommStatus_ {0},
signalProcessorCommandStatus_ {0},
ameCommunicationStatus_ {0},
rmsLinkStatus_ {0},
rpgLinkStatus_ {0},
interpanelLinkStatus_ {0},
performanceCheckTime_ {0},
version_ {0}
{
}
~PerformanceMaintenanceDataImpl() = default; ~PerformanceMaintenanceDataImpl() = default;
// Communications // Communications
uint16_t loopBackSetStatus_; uint16_t loopBackSetStatus_ {0};
uint32_t t1OutputFrames_; uint32_t t1OutputFrames_ {0};
uint32_t t1InputFrames_; uint32_t t1InputFrames_ {0};
uint32_t routerMemoryUsed_; uint32_t routerMemoryUsed_ {0};
uint32_t routerMemoryFree_; uint32_t routerMemoryFree_ {0};
uint16_t routerMemoryUtilization_; uint16_t routerMemoryUtilization_ {0};
uint16_t routeToRpg_; uint16_t routeToRpg_ {0};
uint32_t csuLossOfSignal_; uint16_t t1PortStatus_ {0};
uint32_t csuLossOfFrames_; uint16_t routerDedicatedEthernetPortStatus_ {0};
uint32_t csuYellowAlarms_; uint16_t routerCommercialEthernetPortStatus_ {0};
uint32_t csuBlueAlarms_; uint32_t csu24HrErroredSeconds_ {0};
uint32_t csu24HrErroredSeconds_; uint32_t csu24HrSeverelyErroredSeconds_ {0};
uint32_t csu24HrSeverelyErroredSeconds_; uint32_t csu24HrSeverelyErroredFramingSeconds_ {0};
uint32_t csu24HrSeverelyErroredFramingSeconds_; uint32_t csu24HrUnavailableSeconds_ {0};
uint32_t csu24HrUnavailableSeconds_; uint32_t csu24HrControlledSlipSeconds_ {0};
uint32_t csu24HrControlledSlipSeconds_; uint32_t csu24HrPathCodingViolations_ {0};
uint32_t csu24HrPathCodingViolations_; uint32_t csu24HrLineErroredSeconds_ {0};
uint32_t csu24HrLineErroredSeconds_; uint32_t csu24HrBurstyErroredSeconds_ {0};
uint32_t csu24HrBurstyErroredSeconds_; uint32_t csu24HrDegradedMinutes_ {0};
uint32_t csu24HrDegradedMinutes_; uint32_t lanSwitchCpuUtilization_ {0};
uint32_t lanSwitchCpuUtilization_; uint16_t lanSwitchMemoryUtilization_ {0};
uint16_t lanSwitchMemoryUtilization_; uint16_t ifdrChasisTemperature_ {0};
uint16_t ifdrChasisTemperature_; uint16_t ifdrFpgaTemperature_ {0};
uint16_t ifdrFpgaTemperature_; uint16_t ntpStatus_ {0};
int32_t gpsSatellites_; uint16_t ipcStatus_ {0};
uint16_t ipcStatus_; uint16_t commandedChannelControl_ {0};
uint16_t commandedChannelControl_;
// AME // AME
uint16_t polarization_; uint16_t polarization_ {0};
float ameInternalTemperature_; float ameInternalTemperature_ {0.0f};
float ameReceiverModuleTemperature_; float ameReceiverModuleTemperature_ {0.0f};
float ameBiteCalModuleTemperature_; float ameBiteCalModuleTemperature_ {0.0f};
uint16_t amePeltierPulseWidthModulation_; uint16_t amePeltierPulseWidthModulation_ {0};
uint16_t amePeltierStatus_; uint16_t amePeltierStatus_ {0};
uint16_t ameADConverterStatus_; uint16_t ameADConverterStatus_ {0};
uint16_t ameState_; uint16_t ameState_ {0};
float ame3_3VPsVoltage_; float ame3_3VPsVoltage_ {0.0f};
float ame5VPsVoltage_; float ame5VPsVoltage_ {0.0f};
float ame6_5VPsVoltage_; float ame6_5VPsVoltage_ {0.0f};
float ame15VPsVoltage_; float ame15VPsVoltage_ {0.0f};
float ame48VPsVoltage_; float ame48VPsVoltage_ {0.0f};
float ameStaloPower_; float ameStaloPower_ {0.0f};
float peltierCurrent_; float peltierCurrent_ {0.0f};
float adcCalibrationReferenceVoltage_; float adcCalibrationReferenceVoltage_ {0.0f};
uint16_t ameMode_; uint16_t ameMode_ {0};
uint16_t amePeltierMode_; uint16_t amePeltierMode_ {0};
float amePeltierInsideFanCurrent_; float amePeltierInsideFanCurrent_ {0.0f};
float amePeltierOutsideFanCurrent_; float amePeltierOutsideFanCurrent_ {0.0f};
float horizontalTrLimiterVoltage_; float horizontalTrLimiterVoltage_ {0.0f};
float verticalTrLimiterVoltage_; float verticalTrLimiterVoltage_ {0.0f};
float adcCalibrationOffsetVoltage_; float adcCalibrationOffsetVoltage_ {0.0f};
float adcCalibrationGainCorrection_; float adcCalibrationGainCorrection_ {0.0f};
// RCP/SPIP Power Button Status // RCP/SPIP Power Button Status
uint16_t rcpStatus_; uint16_t rcpStatus_ {0};
std::string rcpString_; std::string rcpString_ {};
uint16_t spipPowerButtons_; uint16_t spipPowerButtons_ {0};
// Power // Power
float masterPowerAdministratorLoad_; float masterPowerAdministratorLoad_ {0.0f};
float expansionPowerAdministratorLoad_; float expansionPowerAdministratorLoad_ {0.0f};
// Transmitter // Transmitter
uint16_t _5VdcPs_; uint16_t _5VdcPs_ {0};
uint16_t _15VdcPs_; uint16_t _15VdcPs_ {0};
uint16_t _28VdcPs_; uint16_t _28VdcPs_ {0};
uint16_t neg15VdcPs_; uint16_t neg15VdcPs_ {0};
uint16_t _45VdcPs_; uint16_t _45VdcPs_ {0};
uint16_t filamentPsVoltage_; uint16_t filamentPsVoltage_ {0};
uint16_t vacuumPumpPsVoltage_; uint16_t vacuumPumpPsVoltage_ {0};
uint16_t focusCoilPsVoltage_; uint16_t focusCoilPsVoltage_ {0};
uint16_t filamentPs_; uint16_t filamentPs_ {0};
uint16_t klystronWarmup_; uint16_t klystronWarmup_ {0};
uint16_t transmitterAvailable_; uint16_t transmitterAvailable_ {0};
uint16_t wgSwitchPosition_; uint16_t wgSwitchPosition_ {0};
uint16_t wgPfnTransferInterlock_; uint16_t wgPfnTransferInterlock_ {0};
uint16_t maintenanceMode_; uint16_t maintenanceMode_ {0};
uint16_t maintenanceRequired_; uint16_t maintenanceRequired_ {0};
uint16_t pfnSwitchPosition_; uint16_t pfnSwitchPosition_ {0};
uint16_t modulatorOverload_; uint16_t modulatorOverload_ {0};
uint16_t modulatorInvCurrent_; uint16_t modulatorInvCurrent_ {0};
uint16_t modulatorSwitchFail_; uint16_t modulatorSwitchFail_ {0};
uint16_t mainPowerVoltage_; uint16_t mainPowerVoltage_ {0};
uint16_t chargingSystemFail_; uint16_t chargingSystemFail_ {0};
uint16_t inverseDiodeCurrent_; uint16_t inverseDiodeCurrent_ {0};
uint16_t triggerAmplifier_; uint16_t triggerAmplifier_ {0};
uint16_t circulatorTemperature_; uint16_t circulatorTemperature_ {0};
uint16_t spectrumFilterPressure_; uint16_t spectrumFilterPressure_ {0};
uint16_t wgArcVswr_; uint16_t wgArcVswr_ {0};
uint16_t cabinetInterlock_; uint16_t cabinetInterlock_ {0};
uint16_t cabinetAirTemperature_; uint16_t cabinetAirTemperature_ {0};
uint16_t cabinetAirflow_; uint16_t cabinetAirflow_ {0};
uint16_t klystronCurrent_; uint16_t klystronCurrent_ {0};
uint16_t klystronFilamentCurrent_; uint16_t klystronFilamentCurrent_ {0};
uint16_t klystronVacionCurrent_; uint16_t klystronVacionCurrent_ {0};
uint16_t klystronAirTemperature_; uint16_t klystronAirTemperature_ {0};
uint16_t klystronAirflow_; uint16_t klystronAirflow_ {0};
uint16_t modulatorSwitchMaintenance_; uint16_t modulatorSwitchMaintenance_ {0};
uint16_t postChargeRegulatorMaintenance_; uint16_t postChargeRegulatorMaintenance_ {0};
uint16_t wgPressureHumidity_; uint16_t wgPressureHumidity_ {0};
uint16_t transmitterOvervoltage_; uint16_t transmitterOvervoltage_ {0};
uint16_t transmitterOvercurrent_; uint16_t transmitterOvercurrent_ {0};
uint16_t focusCoilCurrent_; uint16_t focusCoilCurrent_ {0};
uint16_t focusCoilAirflow_; uint16_t focusCoilAirflow_ {0};
uint16_t oilTemperature_; uint16_t oilTemperature_ {0};
uint16_t prfLimit_; uint16_t prfLimit_ {0};
uint16_t transmitterOilLevel_; uint16_t transmitterOilLevel_ {0};
uint16_t transmitterBatteryCharging_; uint16_t transmitterBatteryCharging_ {0};
uint16_t highVoltageStatus_; uint16_t highVoltageStatus_ {0};
uint16_t transmitterRecyclingSummary_; uint16_t transmitterRecyclingSummary_ {0};
uint16_t transmitterInoperable_; uint16_t transmitterInoperable_ {0};
uint16_t transmitterAirFilter_; uint16_t transmitterAirFilter_ {0};
std::array<uint16_t, 8> zeroTestBit_; std::array<uint16_t, 8> zeroTestBit_ {0};
std::array<uint16_t, 8> oneTestBit_; std::array<uint16_t, 8> oneTestBit_ {0};
uint16_t xmtrSpipInterface_; uint16_t xmtrSpipInterface_ {0};
uint16_t transmitterSummaryStatus_; uint16_t transmitterSummaryStatus_ {0};
float transmitterRfPower_; float transmitterRfPower_ {0.0f};
float horizontalXmtrPeakPower_; float horizontalXmtrPeakPower_ {0.0f};
float xmtrPeakPower_; float xmtrPeakPower_ {0.0f};
float verticalXmtrPeakPower_; float verticalXmtrPeakPower_ {0.0f};
float xmtrRfAvgPower_; float xmtrRfAvgPower_ {0.0f};
uint32_t xmtrRecycleCount_; uint32_t xmtrRecycleCount_ {0};
float receiverBias_; float receiverBias_ {0.0f};
float transmitImbalance_; float transmitImbalance_ {0.0f};
float xmtrPowerMeterZero_; float xmtrPowerMeterZero_ {0.0f};
// Tower/Utilities // Tower/Utilities
uint16_t acUnit1CompressorShutOff_; uint16_t acUnit1CompressorShutOff_ {0};
uint16_t acUnit2CompressorShutOff_; uint16_t acUnit2CompressorShutOff_ {0};
uint16_t generatorMaintenanceRequired_; uint16_t generatorMaintenanceRequired_ {0};
uint16_t generatorBatteryVoltage_; uint16_t generatorBatteryVoltage_ {0};
uint16_t generatorEngine_; uint16_t generatorEngine_ {0};
uint16_t generatorVoltFrequency_; uint16_t generatorVoltFrequency_ {0};
uint16_t powerSource_; uint16_t powerSource_ {0};
uint16_t transitionalPowerSource_; uint16_t transitionalPowerSource_ {0};
uint16_t generatorAutoRunOffSwitch_; uint16_t generatorAutoRunOffSwitch_ {0};
uint16_t aircraftHazardLighting_; uint16_t aircraftHazardLighting_ {0};
// Equipment Shelter // Equipment Shelter
uint16_t equipmentShelterFireDetectionSystem_; uint16_t equipmentShelterFireDetectionSystem_ {0};
uint16_t equipmentShelterFireSmoke_; uint16_t equipmentShelterFireSmoke_ {0};
uint16_t generatorShelterFireSmoke_; uint16_t generatorShelterFireSmoke_ {0};
uint16_t utilityVoltageFrequency_; uint16_t utilityVoltageFrequency_ {0};
uint16_t siteSecurityAlarm_; uint16_t siteSecurityAlarm_ {0};
uint16_t securityEquipment_; uint16_t securityEquipment_ {0};
uint16_t securitySystem_; uint16_t securitySystem_ {0};
uint16_t receiverConnectedToAntenna_; uint16_t receiverConnectedToAntenna_ {0};
uint16_t radomeHatch_; uint16_t radomeHatch_ {0};
uint16_t acUnit1FilterDirty_; uint16_t acUnit1FilterDirty_ {0};
uint16_t acUnit2FilterDirty_; uint16_t acUnit2FilterDirty_ {0};
float equipmentShelterTemperature_; float equipmentShelterTemperature_ {0.0f};
float outsideAmbientTemperature_; float outsideAmbientTemperature_ {0.0f};
float transmitterLeavingAirTemp_; float transmitterLeavingAirTemp_ {0.0f};
float acUnit1DischargeAirTemp_; float acUnit1DischargeAirTemp_ {0.0f};
float generatorShelterTemperature_; float generatorShelterTemperature_ {0.0f};
float radomeAirTemperature_; float radomeAirTemperature_ {0.0f};
float acUnit2DischargeAirTemp_; float acUnit2DischargeAirTemp_ {0.0f};
float spip15VPs_; float spip15VPs_ {0.0f};
float spipNeg15VPs_; float spipNeg15VPs_ {0.0f};
uint16_t spip28VPsStatus_; uint16_t spip28VPsStatus_ {0};
float spip5VPs_; float spip5VPs_ {0.0f};
uint16_t convertedGeneratorFuelLevel_; uint16_t convertedGeneratorFuelLevel_ {0};
// Antenna/Pedestal // Antenna/Pedestal
uint16_t elevationPosDeadLimit_; uint16_t elevationPosDeadLimit_ {0};
uint16_t _150VOvervoltage_; uint16_t _150VOvervoltage_ {0};
uint16_t _150VUndervoltage_; uint16_t _150VUndervoltage_ {0};
uint16_t elevationServoAmpInhibit_; uint16_t elevationServoAmpInhibit_ {0};
uint16_t elevationServoAmpShortCircuit_; uint16_t elevationServoAmpShortCircuit_ {0};
uint16_t elevationServoAmpOvertemp_; uint16_t elevationServoAmpOvertemp_ {0};
uint16_t elevationMotorOvertemp_; uint16_t elevationMotorOvertemp_ {0};
uint16_t elevationStowPin_; uint16_t elevationStowPin_ {0};
uint16_t elevationHousing5VPs_; uint16_t elevationHousing5VPs_ {0};
uint16_t elevationNegDeadLimit_; uint16_t elevationNegDeadLimit_ {0};
uint16_t elevationPosNormalLimit_; uint16_t elevationPosNormalLimit_ {0};
uint16_t elevationNegNormalLimit_; uint16_t elevationNegNormalLimit_ {0};
uint16_t elevationEncoderLight_; uint16_t elevationEncoderLight_ {0};
uint16_t elevationGearboxOil_; uint16_t elevationGearboxOil_ {0};
uint16_t elevationHandwheel_; uint16_t elevationHandwheel_ {0};
uint16_t elevationAmpPs_; uint16_t elevationAmpPs_ {0};
uint16_t azimuthServoAmpInhibit_; uint16_t azimuthServoAmpInhibit_ {0};
uint16_t azimuthServoAmpShortCircuit_; uint16_t azimuthServoAmpShortCircuit_ {0};
uint16_t azimuthServoAmpOvertemp_; uint16_t azimuthServoAmpOvertemp_ {0};
uint16_t azimuthMotorOvertemp_; uint16_t azimuthMotorOvertemp_ {0};
uint16_t azimuthStowPin_; uint16_t azimuthStowPin_ {0};
uint16_t azimuthHousing5VPs_; uint16_t azimuthHousing5VPs_ {0};
uint16_t azimuthEncoderLight_; uint16_t azimuthEncoderLight_ {0};
uint16_t azimuthGearboxOil_; uint16_t azimuthGearboxOil_ {0};
uint16_t azimuthBullGearOil_; uint16_t azimuthBullGearOil_ {0};
uint16_t azimuthHandwheel_; uint16_t azimuthHandwheel_ {0};
uint16_t azimuthServoAmpPs_; uint16_t azimuthServoAmpPs_ {0};
uint16_t servo_; uint16_t servo_ {0};
uint16_t pedestalInterlockSwitch_; uint16_t pedestalInterlockSwitch_ {0};
// RF Generator/Receiver // RF Generator/Receiver
uint16_t cohoClock_; uint16_t cohoClock_ {0};
uint16_t rfGeneratorFrequencySelectOscillator_; uint16_t rfGeneratorFrequencySelectOscillator_ {0};
uint16_t rfGeneratorRfStalo_; uint16_t rfGeneratorRfStalo_ {0};
uint16_t rfGeneratorPhaseShiftedCoho_; uint16_t rfGeneratorPhaseShiftedCoho_ {0};
uint16_t _9VReceiverPs_; uint16_t _9VReceiverPs_ {0};
uint16_t _5VReceiverPs_; uint16_t _5VReceiverPs_ {0};
uint16_t _18VReceiverPs_; uint16_t _18VReceiverPs_ {0};
uint16_t neg9VReceiverPs_; uint16_t neg9VReceiverPs_ {0};
uint16_t _5VSingleChannelRdaiuPs_; uint16_t _5VSingleChannelRdaiuPs_ {0};
float horizontalShortPulseNoise_; float horizontalShortPulseNoise_ {0.0f};
float horizontalLongPulseNoise_; float horizontalLongPulseNoise_ {0.0f};
float horizontalNoiseTemperature_; float horizontalNoiseTemperature_ {0.0f};
float verticalShortPulseNoise_; float verticalShortPulseNoise_ {0.0f};
float verticalLongPulseNoise_; float verticalLongPulseNoise_ {0.0f};
float verticalNoiseTemperature_; float verticalNoiseTemperature_ {0.0f};
// Calibration // Calibration
float horizontalLinearity_; float horizontalLinearity_ {0.0f};
float horizontalDynamicRange_; float horizontalDynamicRange_ {0.0f};
float horizontalDeltaDbz0_; float horizontalDeltaDbz0_ {0.0f};
float verticalDeltaDbz0_; float verticalDeltaDbz0_ {0.0f};
float kdPeakMeasured_; float kdPeakMeasured_ {0.0f};
float shortPulseHorizontalDbz0_; float shortPulseHorizontalDbz0_ {0.0f};
float longPulseHorizontalDbz0_; float longPulseHorizontalDbz0_ {0.0f};
uint16_t velocityProcessed_; uint16_t velocityProcessed_ {0};
uint16_t widthProcessed_; uint16_t widthProcessed_ {0};
uint16_t velocityRfGen_; uint16_t velocityRfGen_ {0};
uint16_t widthRfGen_; uint16_t widthRfGen_ {0};
float horizontalI0_; float horizontalI0_ {0.0f};
float verticalI0_; float verticalI0_ {0.0f};
float verticalDynamicRange_; float verticalDynamicRange_ {0.0f};
float shortPulseVerticalDbz0_; float shortPulseVerticalDbz0_ {0.0f};
float longPulseVerticalDbz0_; float longPulseVerticalDbz0_ {0.0f};
float horizontalPowerSense_; float horizontalPowerSense_ {0.0f};
float verticalPowerSense_; float verticalPowerSense_ {0.0f};
float zdrBias_; float zdrOffset_ {0.0f};
float clutterSuppressionDelta_; float clutterSuppressionDelta_ {0.0f};
float clutterSuppressionUnfilteredPower_; float clutterSuppressionUnfilteredPower_ {0.0f};
float clutterSuppressionFilteredPower_; float clutterSuppressionFilteredPower_ {0.0f};
float verticalLinearity_; float verticalLinearity_ {0.0f};
// File Status // File Status
uint16_t stateFileReadStatus_; uint16_t stateFileReadStatus_ {0};
uint16_t stateFileWriteStatus_; uint16_t stateFileWriteStatus_ {0};
uint16_t bypassMapFileReadStatus_; uint16_t bypassMapFileReadStatus_ {0};
uint16_t bypassMapFileWriteStatus_; uint16_t bypassMapFileWriteStatus_ {0};
uint16_t currentAdaptationFileReadStatus_; uint16_t currentAdaptationFileReadStatus_ {0};
uint16_t currentAdaptationFileWriteStatus_; uint16_t currentAdaptationFileWriteStatus_ {0};
uint16_t censorZoneFileReadStatus_; uint16_t censorZoneFileReadStatus_ {0};
uint16_t censorZoneFileWriteStatus_; uint16_t censorZoneFileWriteStatus_ {0};
uint16_t remoteVcpFileReadStatus_; uint16_t remoteVcpFileReadStatus_ {0};
uint16_t remoteVcpFileWriteStatus_; uint16_t remoteVcpFileWriteStatus_ {0};
uint16_t baselineAdaptationFileReadStatus_; uint16_t baselineAdaptationFileReadStatus_ {0};
uint16_t readStatusOfPrfSets_; uint16_t readStatusOfPrfSets_ {0};
uint16_t clutterFilterMapFileReadStatus_; uint16_t clutterFilterMapFileReadStatus_ {0};
uint16_t clutterFilterMapFileWriteStatus_; uint16_t clutterFilterMapFileWriteStatus_ {0};
uint16_t generatlDiskIoError_; uint16_t generalDiskIoError_ {0};
uint8_t rspStatus_; uint8_t rspStatus_ {0};
uint8_t motherboardTemperature_; uint8_t cpu1Temperature_ {0};
uint8_t cpu1Temperature_; uint8_t cpu2Temperature_ {0};
uint8_t cpu2Temperature_; uint16_t rspMotherboardPower_ {0};
uint16_t cpu1FanSpeed_;
uint16_t cpu2FanSpeed_;
uint16_t rspFan1Speed_;
uint16_t rspFan2Speed_;
uint16_t rspFan3Speed_;
// Device Status // Device Status
uint16_t spipCommStatus_; uint16_t spipCommStatus_ {0};
uint16_t hciCommStatus_; uint16_t hciCommStatus_ {0};
uint16_t signalProcessorCommandStatus_; uint16_t signalProcessorCommandStatus_ {0};
uint16_t ameCommunicationStatus_; uint16_t ameCommunicationStatus_ {0};
uint16_t rmsLinkStatus_; uint16_t rmsLinkStatus_ {0};
uint16_t rpgLinkStatus_; uint16_t rpgLinkStatus_ {0};
uint16_t interpanelLinkStatus_; uint16_t interpanelLinkStatus_ {0};
uint32_t performanceCheckTime_; uint32_t performanceCheckTime_ {0};
uint16_t version_; uint16_t version_ {0};
}; };
PerformanceMaintenanceData::PerformanceMaintenanceData() : PerformanceMaintenanceData::PerformanceMaintenanceData() :
@ -595,24 +336,21 @@ uint16_t PerformanceMaintenanceData::route_to_rpg() const
return p->routeToRpg_; return p->routeToRpg_;
} }
uint32_t PerformanceMaintenanceData::csu_loss_of_signal() const uint16_t PerformanceMaintenanceData::t1_port_status() const
{ {
return p->csuLossOfSignal_; return p->t1PortStatus_;
} }
uint32_t PerformanceMaintenanceData::csu_loss_of_frames() const uint16_t
PerformanceMaintenanceData::router_dedicated_ethernet_port_status() const
{ {
return p->csuLossOfFrames_; return p->routerDedicatedEthernetPortStatus_;
} }
uint32_t PerformanceMaintenanceData::csu_yellow_alarms() const uint16_t
PerformanceMaintenanceData::router_commercial_ethernet_port_status() const
{ {
return p->csuYellowAlarms_; return p->routerCommercialEthernetPortStatus_;
}
uint32_t PerformanceMaintenanceData::csu_blue_alarms() const
{
return p->csuBlueAlarms_;
} }
uint32_t PerformanceMaintenanceData::csu_24hr_errored_seconds() const uint32_t PerformanceMaintenanceData::csu_24hr_errored_seconds() const
@ -681,9 +419,9 @@ uint16_t PerformanceMaintenanceData::ifdr_fpga_temperature() const
return p->ifdrFpgaTemperature_; return p->ifdrFpgaTemperature_;
} }
int32_t PerformanceMaintenanceData::gps_satellites() const uint16_t PerformanceMaintenanceData::ntp_status() const
{ {
return p->gpsSatellites_; return p->ntpStatus_;
} }
uint16_t PerformanceMaintenanceData::ipc_status() const uint16_t PerformanceMaintenanceData::ipc_status() const
@ -1628,9 +1366,9 @@ float PerformanceMaintenanceData::vertical_power_sense() const
return p->verticalPowerSense_; return p->verticalPowerSense_;
} }
float PerformanceMaintenanceData::zdr_bias() const float PerformanceMaintenanceData::zdr_offset() const
{ {
return p->zdrBias_; return p->zdrOffset_;
} }
float PerformanceMaintenanceData::clutter_suppression_delta() const float PerformanceMaintenanceData::clutter_suppression_delta() const
@ -1726,9 +1464,9 @@ PerformanceMaintenanceData::clutter_filter_map_file_write_status() const
return p->clutterFilterMapFileWriteStatus_; return p->clutterFilterMapFileWriteStatus_;
} }
uint16_t PerformanceMaintenanceData::generatl_disk_io_error() const uint16_t PerformanceMaintenanceData::general_disk_io_error() const
{ {
return p->generatlDiskIoError_; return p->generalDiskIoError_;
} }
uint8_t PerformanceMaintenanceData::rsp_status() const uint8_t PerformanceMaintenanceData::rsp_status() const
@ -1736,11 +1474,6 @@ uint8_t PerformanceMaintenanceData::rsp_status() const
return p->rspStatus_; return p->rspStatus_;
} }
uint8_t PerformanceMaintenanceData::motherboard_temperature() const
{
return p->motherboardTemperature_;
}
uint8_t PerformanceMaintenanceData::cpu1_temperature() const uint8_t PerformanceMaintenanceData::cpu1_temperature() const
{ {
return p->cpu1Temperature_; return p->cpu1Temperature_;
@ -1751,29 +1484,9 @@ uint8_t PerformanceMaintenanceData::cpu2_temperature() const
return p->cpu2Temperature_; return p->cpu2Temperature_;
} }
uint16_t PerformanceMaintenanceData::cpu1_fan_speed() const uint16_t PerformanceMaintenanceData::rsp_motherboard_power() const
{ {
return p->cpu1FanSpeed_; return p->rspMotherboardPower_;
}
uint16_t PerformanceMaintenanceData::cpu2_fan_speed() const
{
return p->cpu2FanSpeed_;
}
uint16_t PerformanceMaintenanceData::rsp_fan1_speed() const
{
return p->rspFan1Speed_;
}
uint16_t PerformanceMaintenanceData::rsp_fan2_speed() const
{
return p->rspFan2Speed_;
}
uint16_t PerformanceMaintenanceData::rsp_fan3_speed() const
{
return p->rspFan3Speed_;
} }
uint16_t PerformanceMaintenanceData::spip_comm_status() const uint16_t PerformanceMaintenanceData::spip_comm_status() const
@ -1839,10 +1552,12 @@ bool PerformanceMaintenanceData::Parse(std::istream& is)
is.read(reinterpret_cast<char*>(&p->routerMemoryFree_), 4); // 9-10 is.read(reinterpret_cast<char*>(&p->routerMemoryFree_), 4); // 9-10
is.read(reinterpret_cast<char*>(&p->routerMemoryUtilization_), 2); // 11 is.read(reinterpret_cast<char*>(&p->routerMemoryUtilization_), 2); // 11
is.read(reinterpret_cast<char*>(&p->routeToRpg_), 2); // 12 is.read(reinterpret_cast<char*>(&p->routeToRpg_), 2); // 12
is.read(reinterpret_cast<char*>(&p->csuLossOfSignal_), 4); // 13-14 is.read(reinterpret_cast<char*>(&p->t1PortStatus_), 2); // 13
is.read(reinterpret_cast<char*>(&p->csuLossOfFrames_), 4); // 15-16 is.read(reinterpret_cast<char*>(&p->routerDedicatedEthernetPortStatus_),
is.read(reinterpret_cast<char*>(&p->csuYellowAlarms_), 4); // 17-18 2); // 14
is.read(reinterpret_cast<char*>(&p->csuBlueAlarms_), 4); // 19-20 is.read(reinterpret_cast<char*>(&p->routerCommercialEthernetPortStatus_),
2); // 15
is.seekg(10, std::ios_base::cur); // 16-20
is.read(reinterpret_cast<char*>(&p->csu24HrErroredSeconds_), 4); // 21-22 is.read(reinterpret_cast<char*>(&p->csu24HrErroredSeconds_), 4); // 21-22
is.read(reinterpret_cast<char*>(&p->csu24HrSeverelyErroredSeconds_), is.read(reinterpret_cast<char*>(&p->csu24HrSeverelyErroredSeconds_),
4); // 23-24 4); // 23-24
@ -1863,9 +1578,8 @@ bool PerformanceMaintenanceData::Parse(std::istream& is)
is.seekg(2, std::ios_base::cur); // 44 is.seekg(2, std::ios_base::cur); // 44
is.read(reinterpret_cast<char*>(&p->ifdrChasisTemperature_), 2); // 45 is.read(reinterpret_cast<char*>(&p->ifdrChasisTemperature_), 2); // 45
is.read(reinterpret_cast<char*>(&p->ifdrFpgaTemperature_), 2); // 46 is.read(reinterpret_cast<char*>(&p->ifdrFpgaTemperature_), 2); // 46
is.seekg(4, std::ios_base::cur); // 47-48 is.read(reinterpret_cast<char*>(&p->ntpStatus_), 2); // 47
is.read(reinterpret_cast<char*>(&p->gpsSatellites_), 4); // 49-50 is.seekg(10, std::ios_base::cur); // 48-52
is.seekg(4, std::ios_base::cur); // 51-52
is.read(reinterpret_cast<char*>(&p->ipcStatus_), 2); // 53 is.read(reinterpret_cast<char*>(&p->ipcStatus_), 2); // 53
is.read(reinterpret_cast<char*>(&p->commandedChannelControl_), 2); // 54 is.read(reinterpret_cast<char*>(&p->commandedChannelControl_), 2); // 54
is.seekg(6, std::ios_base::cur); // 55-57 is.seekg(6, std::ios_base::cur); // 55-57
@ -2112,7 +1826,7 @@ bool PerformanceMaintenanceData::Parse(std::istream& is)
is.seekg(8, std::ios_base::cur); // 393-396 is.seekg(8, std::ios_base::cur); // 393-396
is.read(reinterpret_cast<char*>(&p->horizontalPowerSense_), 4); // 397-398 is.read(reinterpret_cast<char*>(&p->horizontalPowerSense_), 4); // 397-398
is.read(reinterpret_cast<char*>(&p->verticalPowerSense_), 4); // 399-400 is.read(reinterpret_cast<char*>(&p->verticalPowerSense_), 4); // 399-400
is.read(reinterpret_cast<char*>(&p->zdrBias_), 4); // 401-402 is.read(reinterpret_cast<char*>(&p->zdrOffset_), 4); // 401-402
is.seekg(12, std::ios_base::cur); // 403-408 is.seekg(12, std::ios_base::cur); // 403-408
is.read(reinterpret_cast<char*>(&p->clutterSuppressionDelta_), 4); // 409-410 is.read(reinterpret_cast<char*>(&p->clutterSuppressionDelta_), 4); // 409-410
is.read(reinterpret_cast<char*>(&p->clutterSuppressionUnfilteredPower_), is.read(reinterpret_cast<char*>(&p->clutterSuppressionUnfilteredPower_),
@ -2144,17 +1858,13 @@ bool PerformanceMaintenanceData::Parse(std::istream& is)
2); // 445 2); // 445
is.read(reinterpret_cast<char*>(&p->clutterFilterMapFileWriteStatus_), is.read(reinterpret_cast<char*>(&p->clutterFilterMapFileWriteStatus_),
2); // 446 2); // 446
is.read(reinterpret_cast<char*>(&p->generatlDiskIoError_), 2); // 447 is.read(reinterpret_cast<char*>(&p->generalDiskIoError_), 2); // 447
is.read(reinterpret_cast<char*>(&p->rspStatus_), 1); // 448 is.read(reinterpret_cast<char*>(&p->rspStatus_), 1); // 448
is.read(reinterpret_cast<char*>(&p->motherboardTemperature_), 1); // 448 is.seekg(1, std::ios_base::cur); // 448
is.read(reinterpret_cast<char*>(&p->cpu1Temperature_), 1); // 449 is.read(reinterpret_cast<char*>(&p->cpu1Temperature_), 1); // 449
is.read(reinterpret_cast<char*>(&p->cpu2Temperature_), 1); // 449 is.read(reinterpret_cast<char*>(&p->cpu2Temperature_), 1); // 449
is.read(reinterpret_cast<char*>(&p->cpu1FanSpeed_), 2); // 450 is.read(reinterpret_cast<char*>(&p->rspMotherboardPower_), 2); // 450
is.read(reinterpret_cast<char*>(&p->cpu2FanSpeed_), 2); // 451 is.seekg(20, std::ios_base::cur); // 451-460
is.read(reinterpret_cast<char*>(&p->rspFan1Speed_), 2); // 452
is.read(reinterpret_cast<char*>(&p->rspFan2Speed_), 2); // 453
is.read(reinterpret_cast<char*>(&p->rspFan3Speed_), 2); // 454
is.seekg(12, std::ios_base::cur); // 455-460
// Device Status // Device Status
is.read(reinterpret_cast<char*>(&p->spipCommStatus_), 2); // 461 is.read(reinterpret_cast<char*>(&p->spipCommStatus_), 2); // 461
@ -2180,10 +1890,11 @@ bool PerformanceMaintenanceData::Parse(std::istream& is)
p->routerMemoryFree_ = ntohl(p->routerMemoryFree_); p->routerMemoryFree_ = ntohl(p->routerMemoryFree_);
p->routerMemoryUtilization_ = ntohs(p->routerMemoryUtilization_); p->routerMemoryUtilization_ = ntohs(p->routerMemoryUtilization_);
p->routeToRpg_ = ntohs(p->routeToRpg_); p->routeToRpg_ = ntohs(p->routeToRpg_);
p->csuLossOfSignal_ = ntohl(p->csuLossOfSignal_); p->t1PortStatus_ = ntohs(p->t1PortStatus_);
p->csuLossOfFrames_ = ntohl(p->csuLossOfFrames_); p->routerDedicatedEthernetPortStatus_ =
p->csuYellowAlarms_ = ntohl(p->csuYellowAlarms_); ntohs(p->routerDedicatedEthernetPortStatus_);
p->csuBlueAlarms_ = ntohl(p->csuBlueAlarms_); p->routerCommercialEthernetPortStatus_ =
ntohs(p->routerCommercialEthernetPortStatus_);
p->csu24HrErroredSeconds_ = ntohl(p->csu24HrErroredSeconds_); p->csu24HrErroredSeconds_ = ntohl(p->csu24HrErroredSeconds_);
p->csu24HrSeverelyErroredSeconds_ = ntohl(p->csu24HrSeverelyErroredSeconds_); p->csu24HrSeverelyErroredSeconds_ = ntohl(p->csu24HrSeverelyErroredSeconds_);
p->csu24HrSeverelyErroredFramingSeconds_ = p->csu24HrSeverelyErroredFramingSeconds_ =
@ -2198,7 +1909,7 @@ bool PerformanceMaintenanceData::Parse(std::istream& is)
p->lanSwitchMemoryUtilization_ = ntohs(p->lanSwitchMemoryUtilization_); p->lanSwitchMemoryUtilization_ = ntohs(p->lanSwitchMemoryUtilization_);
p->ifdrChasisTemperature_ = ntohs(p->ifdrChasisTemperature_); p->ifdrChasisTemperature_ = ntohs(p->ifdrChasisTemperature_);
p->ifdrFpgaTemperature_ = ntohs(p->ifdrFpgaTemperature_); p->ifdrFpgaTemperature_ = ntohs(p->ifdrFpgaTemperature_);
p->gpsSatellites_ = ntohl(p->gpsSatellites_); p->ntpStatus_ = ntohs(p->ntpStatus_);
p->ipcStatus_ = ntohs(p->ipcStatus_); p->ipcStatus_ = ntohs(p->ipcStatus_);
p->commandedChannelControl_ = ntohs(p->commandedChannelControl_); p->commandedChannelControl_ = ntohs(p->commandedChannelControl_);
@ -2413,7 +2124,7 @@ bool PerformanceMaintenanceData::Parse(std::istream& is)
p->longPulseVerticalDbz0_ = SwapFloat(p->longPulseVerticalDbz0_); p->longPulseVerticalDbz0_ = SwapFloat(p->longPulseVerticalDbz0_);
p->horizontalPowerSense_ = SwapFloat(p->horizontalPowerSense_); p->horizontalPowerSense_ = SwapFloat(p->horizontalPowerSense_);
p->verticalPowerSense_ = SwapFloat(p->verticalPowerSense_); p->verticalPowerSense_ = SwapFloat(p->verticalPowerSense_);
p->zdrBias_ = SwapFloat(p->zdrBias_); p->zdrOffset_ = SwapFloat(p->zdrOffset_);
p->clutterSuppressionDelta_ = SwapFloat(p->clutterSuppressionDelta_); p->clutterSuppressionDelta_ = SwapFloat(p->clutterSuppressionDelta_);
p->clutterSuppressionUnfilteredPower_ = p->clutterSuppressionUnfilteredPower_ =
SwapFloat(p->clutterSuppressionUnfilteredPower_); SwapFloat(p->clutterSuppressionUnfilteredPower_);
@ -2441,12 +2152,8 @@ bool PerformanceMaintenanceData::Parse(std::istream& is)
ntohs(p->clutterFilterMapFileReadStatus_); ntohs(p->clutterFilterMapFileReadStatus_);
p->clutterFilterMapFileWriteStatus_ = p->clutterFilterMapFileWriteStatus_ =
ntohs(p->clutterFilterMapFileWriteStatus_); ntohs(p->clutterFilterMapFileWriteStatus_);
p->generatlDiskIoError_ = ntohs(p->generatlDiskIoError_); p->generalDiskIoError_ = ntohs(p->generalDiskIoError_);
p->cpu1FanSpeed_ = ntohs(p->cpu1FanSpeed_); p->rspMotherboardPower_ = ntohs(p->rspMotherboardPower_);
p->cpu2FanSpeed_ = ntohs(p->cpu2FanSpeed_);
p->rspFan1Speed_ = ntohs(p->rspFan1Speed_);
p->rspFan2Speed_ = ntohs(p->rspFan2Speed_);
p->rspFan3Speed_ = ntohs(p->rspFan3Speed_);
// Device Status // Device Status
p->spipCommStatus_ = ntohs(p->spipCommStatus_); p->spipCommStatus_ = ntohs(p->spipCommStatus_);

View file

@ -34,337 +34,180 @@ struct AntManualSetup
class RdaAdaptationDataImpl class RdaAdaptationDataImpl
{ {
public: public:
explicit RdaAdaptationDataImpl() : explicit RdaAdaptationDataImpl() = default;
adapFileName_ {},
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; ~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_);

View file

@ -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},
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; ~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() :
@ -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_;
@ -254,7 +231,7 @@ bool RdaStatusData::Parse(std::istream& is)
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
@ -290,7 +267,7 @@ 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_);
@ -312,7 +289,8 @@ 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->downloadedPatternNumber_), 2); // 59
is.read(reinterpret_cast<char*>(&p->statusVersion_), 2); // 60 is.read(reinterpret_cast<char*>(&p->statusVersion_), 2); // 60
bytesRead += 40; bytesRead += 40;