data stream routing user interface
refaQtor
Posts: 179
imagine that you had a new bench test equipment with a console. effectively using the equipment requires mapping inputs to outputs of streaming data. things like routing periodic sensor data in from a virtual serial port then out an actual serial port for display and also into a log file and into an alarm level monitor and through a function that is accumulating and calculating statistics along with inputs from other serial channel inputs, which is then routed to an anolmaly detector, all effectively identified with pathnames. and both the log file and the display want to get the output from the alarm level monitor. and so on and so forth... lots of routing of streams of data.
what kind of user interface would you like to see, initially on console interface, but open to graphical suggestons if anyone is inspired.
( I'm building this out now, and know what I like... but, would appreciate input from who might be interested.)

Comments
a live long-running system, adding and removing things for new bench test control experiments while others continue to run.
I’ve been implementing many unix-like utilities that act on streams via stdio and piping them together, which seems comfortable for chaining. but the fan-out “outchannel | tee one.txt two.txt > other” and fan-in “cat one.txt two.txt | filter” seem a little clunky. The redirect/append > >> seem to make more sense, but … now that I’m explaining, I think I’m convincing myself to not overload any unix terminal thing - only implement the ones that behave exactly the same so there are no surprises…. which is really what I’ve done already with ‘route out in’ and ‘monitor out’ commands. though 'route' suggests IP networking. I'm talking serial ports here - lots of em. and toying with virtual serial port functions services by Spin2 Tasks, providing a sort of bash-like live and script experience.
sorta NOT doin’ the “everything is a file” , but rather “everything is a port” though since all the ports are specified like pathnames, there is not much distinction. some of the things thought of as functions are actually implemented on other devices through serial ports
oh... and yeah. this is on a P2 in Spin. not Linux on a Pi, or anything like that. well... not on the main console terminal.. I have been doing some SQLite (Linux on BeagleBone) service stuff on a serial port ... but, that isn't the stream processing stuff I'm discussing here