One of the first and most important GUI components is a software oscilloscope.
The scope must have two inputs: One input for SCALAR or VECTOR data, and a second input for trigger events.
There must be an input selector dialog, where any of the (up to 50) components of the input vector can be assigned
to any of the four channels, that can be displayed at the same time.
Currently the input is implemented as UDP port, but it should be easy to add other transport protocols, too.
The oscillosope must be able to display incoming data at a rate of 100 samples per second.
Higher data rates (e.g. 1000 Hz) should be easy to achieve, as soon as ethercat input modules and orocos components for data storage and preprocessing are used.
It must be possible, to keep one million samples in memory and display them with zoom and scroll wheels smoothly.
A first draft of a detailed specification can be found here: SpecificationOscilloscope.pdf