without the complexities of Class modules
a history of shell scripting in bash and embedded drivers in C...
Classes mostly make sense, IMO, for GUI apps.
for more general use it would be nice to include commented code in your script
showing how to return data without the echoed command
.. or nanoVNA shell could honor `echo off`...
Dead code becomes quickly dangerous, in my experience.
I cannot tell you how many times I have dealt with
code that was rewritten around comments
so that those comments became worse than nothing.
Searching for "\r" may anyway become an issue when using linux `paste`
for combining output columns to build more elaborate pseudo-Touchstone,
that enable more complex gnuplot comparison graphs, my key goal.
.. but I first want to break out the port I/O kernel (really stolen from Rune)
so that multiple nanoVNA commands may be sent in a single nVargs.py invocation,
given Python's invocation overhead.
For my purpose, having those foreplay commands as addition comments
helps avoid very complicated filenames.