From d17ea1c6aa03f55f65bef98948030466c55d9ffb Mon Sep 17 00:00:00 2001 From: Tobias Winchen <tobias.winchen@rwth-aachen.de> Date: Thu, 13 Jun 2019 13:30:18 +0000 Subject: [PATCH] Added logging output for vdif header timestamp check --- psrdada_cpp/effelsberg/edd/src/VLBI.cu | 12 +++++++++++- .../effelsberg/edd/src/dummy_data_generator.cu | 2 +- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/psrdada_cpp/effelsberg/edd/src/VLBI.cu b/psrdada_cpp/effelsberg/edd/src/VLBI.cu index bc4134d0..65fe79cf 100644 --- a/psrdada_cpp/effelsberg/edd/src/VLBI.cu +++ b/psrdada_cpp/effelsberg/edd/src/VLBI.cu @@ -134,14 +134,24 @@ void VDIFHeader::setStationId(uint32_t value) { } void VDIFHeader::setTimeReferencesFromTimestamp(size_t sync_time) { + BOOST_LOG_TRIVIAL(debug) << "Setting time reference from timestamp: " << sync_time; boost::posix_time::ptime pt = boost::posix_time::from_time_t(sync_time); + BOOST_LOG_TRIVIAL(debug) << " - posix_time: " << pt; boost::gregorian::date epochBegin(pt.date().year(), ((pt.date().month() <= 6) ? 1 : 7), 1); - setReferenceEpoch((epochBegin.year() - 2000) * 2 + (epochBegin.month() >= 7)); + BOOST_LOG_TRIVIAL(debug) << " - epochBegin: " << epochBegin; + int refEpoch = (epochBegin.year() - 2000) * 2 + (epochBegin.month() >= 7); + if (refEpoch < 0) + { + BOOST_LOG_TRIVIAL(error) << "Cannot encode time before 1 Jan 2000 - received " << pt; + } + BOOST_LOG_TRIVIAL(debug) << " - reference epoch: " << refEpoch; + setReferenceEpoch(refEpoch); boost::posix_time::time_duration delta = pt - boost::posix_time::ptime(epochBegin); + BOOST_LOG_TRIVIAL(debug) << " - time delta since epoch begin: " << delta << " = " << delta.total_seconds(); setSecondsFromReferenceEpoch(delta.total_seconds()); BOOST_LOG_TRIVIAL(debug) << " Time stamp: " << sync_time diff --git a/psrdada_cpp/effelsberg/edd/src/dummy_data_generator.cu b/psrdada_cpp/effelsberg/edd/src/dummy_data_generator.cu index e938206c..5783cdab 100644 --- a/psrdada_cpp/effelsberg/edd/src/dummy_data_generator.cu +++ b/psrdada_cpp/effelsberg/edd/src/dummy_data_generator.cu @@ -133,7 +133,7 @@ int main(int argc, char **argv) { DadaOutputStream sink(output_key, log); char header[4096]; - std::strcpy(header, "HEADER DADA\nHDR_VERSION 1.0\nHDR_SIZE 4096\nDADA_VERSION 1.0\nFILE_SIZE 2013265920\nNBIT 32\nNDIM 2\nNPOL 1\nNCHAN 4096\nRESOLUTION 1\nDSB 1\nSYNC_TIME 123456789\nSAMPLE_CLOCK_START 175671842316288\n"); + std::strcpy(header, "HEADER DADA\nHDR_VERSION 1.0\nHDR_SIZE 4096\nDADA_VERSION 1.0\nFILE_SIZE 2013265920\nNBIT 32\nNDIM 2\nNPOL 1\nNCHAN 4096\nRESOLUTION 1\nDSB 1\nSYNC_TIME 1234567890\nSAMPLE_CLOCK_START 175671842316288\n"); -- GitLab