diff options
author | Ashish Chaudhari <ashish@ettus.com> | 2019-05-20 17:14:20 -0700 |
---|---|---|
committer | Martin Braun <martin.braun@ettus.com> | 2019-11-26 11:49:15 -0800 |
commit | 0b698810a163e3986939341fee5014fc6ad7e7f9 (patch) | |
tree | 22e2c122542928e29a2a0a8f6d383ad12e65b6a8 /host/lib/rfnoc/chdr | |
parent | ad4004f1f78d5b64dae50b6e456d0206e824978f (diff) | |
download | uhd-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.cpp | 3 |
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)) |