aboutsummaryrefslogtreecommitdiffstats
path: root/host/tests/common/chdr_resource/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'host/tests/common/chdr_resource/README.md')
-rw-r--r--host/tests/common/chdr_resource/README.md24
1 files changed, 24 insertions, 0 deletions
diff --git a/host/tests/common/chdr_resource/README.md b/host/tests/common/chdr_resource/README.md
new file mode 100644
index 000000000..5664cd132
--- /dev/null
+++ b/host/tests/common/chdr_resource/README.md
@@ -0,0 +1,24 @@
+## RFNoC Traces
+This file contains various traces or chdr packet conversations obtained using wireshark.
+
+#### hardcoded_packets
+This file contains handwritten C++ objects which represent the expected deserialization result of packets contained in the traces.
+They have been specifically chosen to provide good test coverage over the packet types and the different values that each packet type may contain.
+
+#### rfnoc_packets_ctrl_mgmt
+This file contains a trace that was created by connecting to a usrp over ethernet and running `uhd_usrp_probe`.
+It contains a mix of Management and Control packets.
+
+#### rfnoc_packets_data
+This file contains a trace that was created by connecting to a usrp over ethernet and running `rx_samples_to_file`.
+It contains many Data packets, as well as some Stream Status and Stream Command packets.
+
+### Steps to Reproduce
+1. Install Wireshark. Installing the RFNoC Wireshark can be helpful for identifying which packets are CHDR packets, but it isn't required.
+2. Conduct a wireshark capture on your network interface and run an operation with the radio (`uhd_usrp_probe`, `benchmark_rate`, etc.)
+3. Find an RFNoC Packet in the capture windows, right click on it, and select Follow -> UDP Stream. This will gather all packets in that "conversation". With a large trace, this may take a few moments.
+4. In the bottom of the window that opens, select Show and save data as -> C Arrays.
+5. Save the trace with a descriptive name in the `host/tests/common/chdr_resource` directory as a `.c` file
+6. In the `host/tests/common/chdr_resource` directory, run `./format_trace.py {filename}`, where `{filename}` is the name of the `.c` file you save the trace as.
+
+This will create a `.cpp` file of the same name, which contains the trace data inside a namespace matching the filename. The trace can now be accessed in unit tests with `#include <chdr_resource/{filename}.cpp>`.