<?xml version="1.0" ?> <pipeline ssi-v="1"> <!-- Plug-ins --> <register> <load name="mouse"/> <load name="graphic"/> <load name="signal"/> </register> <!-- Sensor --> <sensor create="Mouse:mouse" option="mouse" sr="50.0" mask="1"> <output channel="cursor" pin="pos"/> </sensor> <!-- Moving Average (Filter) Calculates the moving average for a window of 5 seconds. --> <transformer create="MvgAvgVar" win="5.0" format="1"> <input pin="pos" frame="0.1s" async="false"/> <output pin="pos-avg"/> </transformer> <transformer create="MvgAvgVar" win="5.0" format="1"> <input pin="pos" frame="0.1s" async="true"/> <output pin="pos-avg-async"/> </transformer> <!-- Visualization --> <consumer create="SignalPainter:plot" title="RAW" size="10.0"> <input pin="pos" frame="0.2s" /> </consumer> <consumer create="SignalPainter:plot-ex" title="AVG" size="10.0"> <input pin="pos-avg" frame="0.2s" /> </consumer> <consumer create="SignalPainter:plot-ex" title="AVG (async)" size="10.0"> <input pin="pos-avg-async" frame="0.2s" /> </consumer> <!-- Decoration --> <object create="Decorator" icon="true" title="Pipeline"> <area pos="0,0,400,600">console</area> <area pos="400,0,400,300">plot</area> <area pos="400,300,400,300" nv="1">plot-ex*</area> </object> </pipeline>