aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/rfnoc/ctrlport_endpoint.cpp
Commit message (Collapse)AuthorAgeFilesLines
* host: Update code base using clang-tidyMartin Braun2021-03-041-21/+21
| | | | | | | | | The checks from the new clang-tidy file are applied to the source tree using: $ find . -name "*.cpp" | sort -u | xargs \ --max-procs 8 --max-args 1 clang-tidy --format-style=file \ --fix -p /path/to/compile_commands.json
* rfnoc: Fix time conversion in ctrlport_endpoint sleep methodCiro Nishiguchi2020-12-211-2/+4
|
* fixup! rfnoc: Fix thread unsafe accesses in ctrlportCiro Nishiguchi2020-10-201-7/+5
|
* rfnoc: Fix thread unsafe accesses in ctrlportCiro Nishiguchi2020-10-201-56/+35
|
* rfnoc: Increase ctrlport_endpoint default timeoutSteven Koo2020-08-121-1/+1
| | | | The .1 second timeout fails on macOS. Expand this timeout to 1 second.
* utils: Expose CHDR Types in Public APIrobot-rover2020-07-131-1/+1
| | | | | | | | | | This commit exposes uhdlib/rfnoc/chdr_types.hpp in the public includes. Additionally, it takes some types from uhdlib/rfnoc/rfnoc_common.hpp and exposes them publicly in uhd/rfnoc/rfnoc_types.hpp. Finally, one constant is moved from uhdlib/rfnoc/rfnoc_common.hpp to uhd/rfnoc/constants.hpp Signed-off-by: robot-rover <sam.obrien@ni.com>
* rfnoc: Rename chdr_packet to chdr_packet_writerSamuel O'Brien2020-07-131-12/+8
| | | | | | | | | It would be confusing to have two classes named chdr_packet. As it makes more sense to name the new public chdr parser class chdr_packet, the internal uhd::rfnoc::chdr::chdr_packet class is being renamed to chdr_packet_writer to better represent its functionality. Signed-off-by: Samuel O'Brien <sam.obrien@ni.com>
* rfnoc: Use large timeout for reads when timed commands existCiro Nishiguchi2020-05-151-8/+24
| | | | | If a timed command is in the queue, writes use a large timeout. Changing reads to do the same.
* uhd: Apply clang-format against all .cpp and .hpp files in host/Martin Braun2020-03-031-7/+5
| | | | | Note: template_lvbitx.{cpp,hpp} need to be excluded from the list of files that clang-format gets applied against.
* rfnoc: ctrlport: Fixing timeouts for timed commandsBrent Stapleton2019-11-261-5/+25
| | | | | | When issuing a timed command, if there is no room in the command FIFO and there is a timed command queue'd up, wait for a long time before timing out.
* rfnoc: ctrlport: Separately validate and handle async messagesMartin Braun2019-11-261-5/+28
| | | | | | | | | | | This introduces the concept of an async message validator, an optional callback for functions to check if an async message has a valid payload. After validation, the async message is ack'd. Then, the async message handler is executed. This makes sure that an async message is ack'd as soon as possible, rather than after the async message handling, which can itself have all sorts of communication going on to the device.
* rfnoc: async message: Include timestamp in async message handlingMartin Braun2019-11-261-1/+2
| | | | | | | | | Async messages (like, e.g., overrun messages) can include a timestamp. This change enables access to the timestamp in the async message handler. It is up to the FPGA block implementation to include the timestamp, if desired/necessary. The definition of the timestamp may also depend on the block, for example, the overrun async message will include the time when the overrun occurred.
* rfnoc: ctrlport_endpoint: Audit locks, lock more selectivelyMartin Braun2019-11-261-5/+14
| | | | | The existing implementation would lock judiciously, causing a deadlock when the async message handler would try and call poke32().
* rfnoc: Added src port, EPID getters to register_iface, 64-bit callsAshish Chaudhari2019-11-261-1/+14
| | | | - Add peek64() and poke64() convenience calls
* rfnoc: Moved chdr types/packet class out of chdr dirAshish Chaudhari2019-11-261-2/+2
| | | | | | - Moved chdr_packet and chdr_types from rfnoc/chdr to rfnoc and updated all references - Moved non-CHDR definitions to rfnoc_common.hpp
* rfnoc: Added clock_iface to convey info about clocksAshish Chaudhari2019-11-261-15/+22
| | | | | The inteface provides a mechanism for users of clocks to query information such as the running status or rate
* rfnoc: Add block_poke support to reg_iface async msgAshish Chaudhari2019-11-261-4/+4
| | | | | The async message callback now has a vector of data words instead of a single one
* rfnoc: Added impl for reg_iface and ctrl_endpointAshish Chaudhari2019-11-261-0/+471
- 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