YARR data pipeline diagram
This MR adds an option -g
to the scan console to generate a diagram of the data pipeline when running scans. I thought this could be fun and maybe useful for debugging.
A YarrDiagram
class is added to represent the data processors and clipboards as well as their connections. Each node contains the coordinates used for drawing and also a pointer to the actual object it represents. The diagram is currently written to a JSON file when the scan is done. It could be made a plot using gnuplot (to be implemented). It currently contains the TX and RX channel numbers of the front ends of each data pipeline, and also the numbers of input and output data objects of each ClipBoard. (I added two counters to ClipBoard
to keep track of the number of data objects that are written and read.)