From 4b9b46a5dae53e2b00f75d9f4c95d962a5b1f537 Mon Sep 17 00:00:00 2001 From: Brendan Haines Date: Wed, 8 Apr 2020 13:45:34 -0600 Subject: [PATCH] add field for entering controller --- Software/python/server.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/Software/python/server.py b/Software/python/server.py index 8e03b71..abc2a8b 100644 --- a/Software/python/server.py +++ b/Software/python/server.py @@ -202,6 +202,11 @@ def stop_controller(attrname=None, old=None, new=None): except: pass +def update_models(attrname=None, old=None, new=None): + if new is not None: + stop_controller() + exec(new) + # GUI elements vbat_text = Paragraph(text="Battery Voltage: ? V") @@ -216,6 +221,11 @@ start_button.on_click(start_controller) stop_button = Button(label="Stop") stop_button.on_click(stop_controller) +# plant_model_text = +controller_model_text = TextInput(text="D = TransferFunction([1], [1], dt=0.01)") +update_models = Button(label="Update models") +update_models.on_click(update_models) + def update_battery_voltage(attrname=None, old=None, new=None): global VBAT_THRESHOLD global vbat_text @@ -238,8 +248,9 @@ def update_battery_voltage(attrname=None, old=None, new=None): # controller_iir_taps = TextInput(title="IIR taps", value=str(iir_taps)) controls = column(vbat_text, cal_white_button, cal_black_button, start_button, stop_button) +controller_model = row(controller_model_text, update_models) # controller_settings = column(controller_sample_interval, controller_base_speed, controller_fir_taps, controller_iir_taps) -curdoc().add_root(column(row(controls, brightness_plot, width=800), time_plot))#, controller_settings)) +curdoc().add_root(column(row(controls, brightness_plot, width=800), time_plot, controller_model))#, controller_settings)) curdoc().title = "TriangleBot Control Panel" curdoc().add_periodic_callback(update_plots, 250) curdoc().add_periodic_callback(update_battery_voltage, 1000)