aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib
diff options
context:
space:
mode:
Diffstat (limited to 'host/lib')
-rw-r--r--host/lib/rfnoc/actions.cpp16
-rw-r--r--host/lib/rfnoc/radio_control_impl.cpp6
2 files changed, 13 insertions, 9 deletions
diff --git a/host/lib/rfnoc/actions.cpp b/host/lib/rfnoc/actions.cpp
index 4de05b304..ecc1b3f20 100644
--- a/host/lib/rfnoc/actions.cpp
+++ b/host/lib/rfnoc/actions.cpp
@@ -66,20 +66,24 @@ rx_event_action_info::sptr rx_event_action_info::make()
/*** TX Metadata Action Info *************************************************/
tx_event_action_info::tx_event_action_info(
- uhd::async_metadata_t::event_code_t event_code_)
- : action_info(ACTION_KEY_TX_EVENT), event_code(event_code_)
+ uhd::async_metadata_t::event_code_t event_code_, const boost::optional<uint64_t>& tsf_)
+ : action_info(ACTION_KEY_TX_EVENT), event_code(event_code_), has_tsf(tsf_)
{
+ if (has_tsf) {
+ tsf = tsf_.get();
+ }
}
tx_event_action_info::sptr tx_event_action_info::make(
- uhd::async_metadata_t::event_code_t event_code)
+ uhd::async_metadata_t::event_code_t event_code, const boost::optional<uint64_t>& tsf)
{
struct tx_event_action_info_make_shared : public tx_event_action_info
{
- tx_event_action_info_make_shared(uhd::async_metadata_t::event_code_t event_code)
- : tx_event_action_info(event_code)
+ tx_event_action_info_make_shared(uhd::async_metadata_t::event_code_t event_code,
+ const boost::optional<uint64_t>& tsf)
+ : tx_event_action_info(event_code, tsf)
{
}
};
- return std::make_shared<tx_event_action_info_make_shared>(event_code);
+ return std::make_shared<tx_event_action_info_make_shared>(event_code, tsf);
}
diff --git a/host/lib/rfnoc/radio_control_impl.cpp b/host/lib/rfnoc/radio_control_impl.cpp
index 4d03708bf..6c7a769df 100644
--- a/host/lib/rfnoc/radio_control_impl.cpp
+++ b/host/lib/rfnoc/radio_control_impl.cpp
@@ -930,7 +930,7 @@ void radio_control_impl::async_message_handler(
switch (code) {
case err_codes::ERR_TX_UNDERRUN: {
auto tx_event_action = tx_event_action_info::make(
- uhd::async_metadata_t::EVENT_CODE_UNDERFLOW);
+ uhd::async_metadata_t::EVENT_CODE_UNDERFLOW, timestamp);
post_action(res_source_info{res_source_info::INPUT_EDGE, chan},
tx_event_action);
UHD_LOG_FASTPATH("U");
@@ -939,7 +939,7 @@ void radio_control_impl::async_message_handler(
}
case err_codes::ERR_TX_LATE_DATA: {
auto tx_event_action = tx_event_action_info::make(
- uhd::async_metadata_t::EVENT_CODE_TIME_ERROR);
+ uhd::async_metadata_t::EVENT_CODE_TIME_ERROR, timestamp);
post_action(res_source_info{res_source_info::INPUT_EDGE, chan},
tx_event_action);
UHD_LOG_FASTPATH("L");
@@ -948,7 +948,7 @@ void radio_control_impl::async_message_handler(
}
case err_codes::EVENT_TX_BURST_ACK: {
auto tx_event_action = tx_event_action_info::make(
- uhd::async_metadata_t::EVENT_CODE_BURST_ACK);
+ uhd::async_metadata_t::EVENT_CODE_BURST_ACK, timestamp);
post_action(res_source_info{res_source_info::INPUT_EDGE, chan},
tx_event_action);
RFNOC_LOG_TRACE("Posting burst ack event action message.");