diff --git a/df_datalink_sp/src/networking/phy_layer/phy_layer.c b/df_datalink_sp/src/networking/phy_layer/phy_layer.c index f335f87..52c94d1 100644 --- a/df_datalink_sp/src/networking/phy_layer/phy_layer.c +++ b/df_datalink_sp/src/networking/phy_layer/phy_layer.c @@ -317,18 +317,18 @@ void Phy_UpdateState(PHY_INST *instPtr) instPtr->phyLog.decodeCnt = PhyRead(instPtr, PHY_DECODE_CNT); instPtr->phyLog.crcCnt = PhyRead(instPtr, PHY_CRC_OK_CNT); instPtr->phyLog.doppler = Phy_GetFreqEst(instPtr); - instPtr->phyLog.recvStamp = (uint64_t)instPtr->recvFsTime.frac_part * TIME_FRAC_MAX + instPtr->recvFsTime.int_part; + instPtr->phyLog.recvStamp = (uint64_t)instPtr->recvFsTime.int_part * TIME_FRAC_MAX + instPtr->recvFsTime.frac_part; instPtr->phyLog.acqPeak = PhyRead(instPtr, PHY_ACQ_PEAK_L); - instPtr->phyLog.acqPeak = ((uint64_t)PhyRead(instPtr, PHY_ACQ_PEAK_H)) << 32; + instPtr->phyLog.acqPeak |= ((uint64_t)PhyRead(instPtr, PHY_ACQ_PEAK_H)) << 32; instPtr->phyLog.acqMean = PhyRead(instPtr, PHY_ACQ_MEAN_L); - instPtr->phyLog.acqMean = ((uint64_t)PhyRead(instPtr, PHY_ACQ_MEAN_H)) << 32; - instPtr->phyLog.acqPhase = PhyRead(instPtr, PHY_ACQ_FREQEST) & PHY_ACQ_FREQEST_PHASE_MASK >> PHY_ACQ_FREQEST_PHASE_SHIFT; - instPtr->phyLog.acqFreqCh = PhyRead(instPtr, PHY_ACQ_FREQEST) & PHY_ACQ_FREQEST_CHANNEL_MASK >> PHY_ACQ_FREQEST_CHANNEL_SHIFT; + instPtr->phyLog.acqMean |= ((uint64_t)PhyRead(instPtr, PHY_ACQ_MEAN_H)) << 32; + instPtr->phyLog.acqPhase = (PhyRead(instPtr, PHY_ACQ_FREQEST) & PHY_ACQ_FREQEST_PHASE_MASK) >> PHY_ACQ_FREQEST_PHASE_SHIFT; + instPtr->phyLog.acqFreqCh = (PhyRead(instPtr, PHY_ACQ_FREQEST) & PHY_ACQ_FREQEST_CHANNEL_MASK) >> PHY_ACQ_FREQEST_CHANNEL_SHIFT; instPtr->phyLog.fsyncPeak = PhyRead(instPtr, PHY_FRAME_SYNC_PEAK_L); - instPtr->phyLog.fsyncPeak = ((uint64_t)PhyRead(instPtr, PHY_FRAME_SYNC_PEAK_H)) << 32; + instPtr->phyLog.fsyncPeak |= ((uint64_t)PhyRead(instPtr, PHY_FRAME_SYNC_PEAK_H)) << 32; instPtr->phyLog.fsyncMean = PhyRead(instPtr, PHY_FRAME_SYNC_MEAN_L); - instPtr->phyLog.fsyncMean = ((uint64_t)PhyRead(instPtr, PHY_FRAME_SYNC_MEAN_H)) << 32; - instPtr->phyLog.fsyncFreqCh = PhyRead(instPtr, PHY_FRAME_SYNC_FREQEST) & PHY_FRAME_SYNC_FREQEST_CHANNEL_MASK >> PHY_FRAME_SYNC_FREQEST_CHANNEL_SHIFT; + instPtr->phyLog.fsyncMean |= ((uint64_t)PhyRead(instPtr, PHY_FRAME_SYNC_MEAN_H)) << 32; + instPtr->phyLog.fsyncFreqCh = (PhyRead(instPtr, PHY_FRAME_SYNC_FREQEST) & PHY_FRAME_SYNC_FREQEST_CHANNEL_MASK) >> PHY_FRAME_SYNC_FREQEST_CHANNEL_SHIFT; instPtr->phyLog.deintlvAmpEst = PhyRead(instPtr, PHY_DEINTLV_AMPEST) & PHY_DEINTLV_AMPEST_MASK; instPtr->phyLog.reserve = 0;