[ { "name": "sine_1hz_gain2", "ds": "stub", "signal": "sine_1hz", "pipeline": [ { "type": "gain", "params": { "gain": 2.0 } } ], "meta": { "unit": "V", "description": "Sine 1Hz amplified x2", "displayLow": -2, "displayHigh": 2 } }, { "name": "sine_avg10", "ds": "stub", "signal": "sine_1hz", "pipeline": [ { "type": "moving_average", "params": { "window": 10 } } ], "meta": { "unit": "V", "description": "10-sample moving average of sine_1hz", "displayLow": -1, "displayHigh": 1 } }, { "name": "setpoint_clamped", "ds": "stub", "signal": "setpoint", "pipeline": [ { "type": "clamp", "params": { "min": 10, "max": 80 } } ], "meta": { "unit": "°C", "description": "Setpoint clamped to [10, 80]", "displayLow": 0, "displayHigh": 100 } } ]