aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/rfnoc/chdr
diff options
context:
space:
mode:
authorAshish Chaudhari <ashish@ettus.com>2019-05-20 17:14:20 -0700
committerMartin Braun <martin.braun@ettus.com>2019-11-26 11:49:15 -0800
commit0b698810a163e3986939341fee5014fc6ad7e7f9 (patch)
tree22e2c122542928e29a2a0a8f6d383ad12e65b6a8 /host/lib/rfnoc/chdr
parentad4004f1f78d5b64dae50b6e456d0206e824978f (diff)
downloaduhd-0b698810a163e3986939341fee5014fc6ad7e7f9.tar.gz
uhd-0b698810a163e3986939341fee5014fc6ad7e7f9.tar.bz2
uhd-0b698810a163e3986939341fee5014fc6ad7e7f9.zip
rfnoc: Added impl for reg_iface and ctrl_endpoint
- Added new register_iface class that translates high-level peek/poke calls into CHDR control payloads - Added new chdr_ctrl_endpoint class that emulates a control stream endpoint in SW. It can create and handle multiple register interfaces
Diffstat (limited to 'host/lib/rfnoc/chdr')
-rw-r--r--host/lib/rfnoc/chdr/chdr_types.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/host/lib/rfnoc/chdr/chdr_types.cpp b/host/lib/rfnoc/chdr/chdr_types.cpp
index 8786b8193..8920e4fe3 100644
--- a/host/lib/rfnoc/chdr/chdr_types.cpp
+++ b/host/lib/rfnoc/chdr/chdr_types.cpp
@@ -57,7 +57,8 @@ size_t ctrl_payload::serialize(uint64_t* buff,
| ((static_cast<uint64_t>(data_vtr.size()) & mask_u64(NUM_DATA_WIDTH))
<< NUM_DATA_OFFSET)
| ((static_cast<uint64_t>(seq_num) & mask_u64(SEQ_NUM_WIDTH)) << SEQ_NUM_OFFSET)
- | ((static_cast<uint64_t>(timestamp ? 1 : 0) & mask_u64(HAS_TIME_WIDTH))
+ | ((static_cast<uint64_t>(timestamp.is_initialized() ? 1 : 0)
+ & mask_u64(HAS_TIME_WIDTH))
<< HAS_TIME_OFFSET)
| ((static_cast<uint64_t>(is_ack) & mask_u64(IS_ACK_WIDTH)) << IS_ACK_OFFSET)
| ((static_cast<uint64_t>(src_epid) & mask_u64(SRC_EPID_WIDTH))