aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/TimestampDecoder.cpp13
-rw-r--r--src/TimestampDecoder.h1
2 files changed, 14 insertions, 0 deletions
diff --git a/src/TimestampDecoder.cpp b/src/TimestampDecoder.cpp
index e68bb4b..ba1a221 100644
--- a/src/TimestampDecoder.cpp
+++ b/src/TimestampDecoder.cpp
@@ -221,6 +221,9 @@ void TimestampDecoder::set_parameter(
ss >> timestamp_offset;
offset_changed = true;
}
+ else if (parameter == "timestamp") {
+ throw ParameterError("timestamp is read-only");
+ }
else {
stringstream ss;
ss << "Parameter '" << parameter
@@ -238,6 +241,16 @@ const std::string TimestampDecoder::get_parameter(
if (parameter == "offset") {
ss << timestamp_offset;
}
+ else if (parameter == "timestamp") {
+ if (full_timestamp_received) {
+ ss.setf(std::ios_base::fixed, std::ios_base::floatfield);
+ ss << time_secs + ((double)time_pps / 16384000.0) <<
+ " for frame FCT " << latestFCT;
+ }
+ else {
+ throw ParameterError("Not available yet");
+ }
+ }
else {
ss << "Parameter '" << parameter <<
"' is not exported by controllable " << get_rc_name();
diff --git a/src/TimestampDecoder.h b/src/TimestampDecoder.h
index 903346e..171dba7 100644
--- a/src/TimestampDecoder.h
+++ b/src/TimestampDecoder.h
@@ -126,6 +126,7 @@ class TimestampDecoder : public RemoteControllable
offset_changed = false;
RC_ADD_PARAMETER(offset, "TIST offset [s]");
+ RC_ADD_PARAMETER(timestamp, "FCT and timestamp [s]");
etiLog.level(info) << "Setting up timestamp decoder with " <<
timestamp_offset << " offset";