Add rolling window state helper
tomas-quix opened this issue · comments
tomas-quix commented
Is your feature request related to a problem? Please describe.
def on_dataframe_received_handler(stream_consumer: qx.StreamConsumer, data: qx.TimeseriesData):
stream_state = stream_consumer.get_rolling_window_state("average_rpm_10s_state", duration_ms = 10000)
for row in data.timestamps:
stream_state.add_and_purge(row)
rpm_values = list(map(lambda x: x.parameters["EngineRPM"], stream_state.items))
row.add_value("average_rpm_10s", sum(rpm_values) / len(rpm_values))