|
STAR
Cal STAR — firmware, DAQ server, and engine design
|
Public Member Functions | |
| __init__ (self) | |
| setup_gui (self) | |
| setup_control_panel (self, parent) | |
| setup_data_display (self, parent) | |
| setup_realtime_plots (self, parent) | |
| setup_status_bar (self, parent) | |
| get_available_ports (self) | |
| setup_serial (self) | |
| on_data_source_changed (self, event=None) | |
| start_data_processing (self) | |
| data_processor (self) | |
| process_elodin_message (self, msg) | |
| float | apply_kalman_filter_adc (self, float adc_code, int sensor_id) |
| float | apply_kalman_filter (self, float voltage, int sensor_id) |
| update_performance_stats (self) | |
| update_gui (self) | |
| update_plots (self) | |
| toggle_connection (self) | |
| connect (self) | |
| disconnect (self) | |
| toggle_calibration (self) | |
| record_calibration_point (self) | |
| fit_calibration (self) | |
| save_calibration (self) | |
| run (self) | |
| cleanup (self) | |
Public Attributes | |
| root = tk.Tk() | |
| dict | pt_measurements |
| list | calibration_points = [] |
| dict | calibration_polynomials = {} |
| dict | reference_gauges = {} |
| dict | gauge_mapping = {} |
| dict | latest_measurements = {} |
| data_queue = queue.Queue(maxsize=1000) | |
| bool | calibration_active = False |
| bool | recording_data = False |
| Optional[serial.Serial] | serial_connection = None |
| Optional[threading.Thread] | serial_thread = None |
| stop_serial = threading.Event() | |
| Optional[ElodinClient] | elodin_client = None |
| Optional[threading.Thread] | elodin_thread = None |
| bool | use_elodin = False |
| bool | elodin_connected = False |
| dict | performance_stats |
| data_source_var = tk.StringVar(value="Serial") | |
| on_data_source_changed | |
| port_var = tk.StringVar(value="/dev/ttyUSB0") | |
| connect_btn | |
| elodin_status_label | |
| calibration_btn | |
| record_btn | |
| fit_btn | |
| save_btn | |
| list | ref_pressures = [] |
| data_tree | |
| fig = Figure(figsize=(8, 6), dpi=100) | |
| ax_voltage = self.fig.add_subplot(2, 1, 1) | |
| ax_pressure = self.fig.add_subplot(2, 1, 2) | |
| canvas = FigureCanvasTkAgg(self.fig, plot_frame) | |
| dict | plot_data |
| status_var = tk.StringVar(value="Ready") | |
| data_rate_var = tk.StringVar(value="Data Rate: 0 Hz") | |
| latency_var = tk.StringVar(value="Latency: 0 ms") | |
| data_thread = threading.Thread(target=self.data_processor, daemon=True) | |
| dict | kalman_states_adc = {} |
| dict | kalman_states = {} |
| update_gui | |
High-performance calibration GUI with real-time feedback
Definition at line 79 of file pt_calibration_gui.py.
| pt_calibration_gui.HighPerformanceCalibrationGUI.__init__ | ( | self | ) |
Definition at line 82 of file pt_calibration_gui.py.
| float pt_calibration_gui.HighPerformanceCalibrationGUI.apply_kalman_filter | ( | self, | |
| float | voltage, | ||
| int | sensor_id ) |
Apply Kalman filter for voltage (for display only)
Definition at line 668 of file pt_calibration_gui.py.
Referenced by smart_calibration_gui.SmartCalibrationGUI._drain_synced().
| float pt_calibration_gui.HighPerformanceCalibrationGUI.apply_kalman_filter_adc | ( | self, | |
| float | adc_code, | ||
| int | sensor_id ) |
Apply Kalman filter for high-performance ADC code filtering
Definition at line 642 of file pt_calibration_gui.py.
| pt_calibration_gui.HighPerformanceCalibrationGUI.cleanup | ( | self | ) |
Cleanup resources
Definition at line 983 of file pt_calibration_gui.py.
Referenced by smart_calibration_gui.SmartCalibrationGUI.run().
| pt_calibration_gui.HighPerformanceCalibrationGUI.connect | ( | self | ) |
Connect to data source (Serial or Elodin)
Definition at line 801 of file pt_calibration_gui.py.
Referenced by smart_calibration_gui.SmartCalibrationGUI.toggle_connection().
| pt_calibration_gui.HighPerformanceCalibrationGUI.data_processor | ( | self | ) |
High-performance data processing thread
Definition at line 472 of file pt_calibration_gui.py.
| pt_calibration_gui.HighPerformanceCalibrationGUI.disconnect | ( | self | ) |
Disconnect from data source
Definition at line 820 of file pt_calibration_gui.py.
Referenced by smart_calibration_gui.SmartCalibrationGUI.toggle_connection().
| pt_calibration_gui.HighPerformanceCalibrationGUI.fit_calibration | ( | self | ) |
Fit calibration polynomials
Definition at line 895 of file pt_calibration_gui.py.
| pt_calibration_gui.HighPerformanceCalibrationGUI.get_available_ports | ( | self | ) |
Get list of available serial ports
Definition at line 371 of file pt_calibration_gui.py.
| pt_calibration_gui.HighPerformanceCalibrationGUI.on_data_source_changed | ( | self, | |
| event = None ) |
Handle data source change
Definition at line 419 of file pt_calibration_gui.py.
| pt_calibration_gui.HighPerformanceCalibrationGUI.process_elodin_message | ( | self, | |
| msg ) |
Process PT message from Elodin
Definition at line 551 of file pt_calibration_gui.py.
| pt_calibration_gui.HighPerformanceCalibrationGUI.record_calibration_point | ( | self | ) |
Record current measurements as calibration point
Definition at line 848 of file pt_calibration_gui.py.
| pt_calibration_gui.HighPerformanceCalibrationGUI.run | ( | self | ) |
Run the GUI
Definition at line 974 of file pt_calibration_gui.py.
| pt_calibration_gui.HighPerformanceCalibrationGUI.save_calibration | ( | self | ) |
Save calibration data
Definition at line 942 of file pt_calibration_gui.py.
| pt_calibration_gui.HighPerformanceCalibrationGUI.setup_control_panel | ( | self, | |
| parent ) |
Setup control panel
Definition at line 163 of file pt_calibration_gui.py.
Referenced by setup_gui(), and smart_calibration_gui.SmartCalibrationGUI.setup_gui().
| pt_calibration_gui.HighPerformanceCalibrationGUI.setup_data_display | ( | self, | |
| parent ) |
Setup real-time data display
Definition at line 257 of file pt_calibration_gui.py.
Referenced by setup_gui(), and smart_calibration_gui.SmartCalibrationGUI.setup_gui().
| pt_calibration_gui.HighPerformanceCalibrationGUI.setup_gui | ( | self | ) |
Setup the GUI layout
Definition at line 145 of file pt_calibration_gui.py.
References detail::json_sax_dom_callback_parser< BasicJsonType >.root, detail::json_sax_dom_parser< BasicJsonType >.root, parser.root, root, setup_control_panel(), setup_data_display(), setup_realtime_plots(), and setup_status_bar().
| pt_calibration_gui.HighPerformanceCalibrationGUI.setup_realtime_plots | ( | self, | |
| parent ) |
Setup real-time plotting area
Definition at line 308 of file pt_calibration_gui.py.
Referenced by setup_gui(), and smart_calibration_gui.SmartCalibrationGUI.setup_gui().
| pt_calibration_gui.HighPerformanceCalibrationGUI.setup_serial | ( | self | ) |
Setup serial connection
Definition at line 391 of file pt_calibration_gui.py.
Referenced by smart_calibration_gui.SmartCalibrationGUI.connect().
| pt_calibration_gui.HighPerformanceCalibrationGUI.setup_status_bar | ( | self, | |
| parent ) |
| pt_calibration_gui.HighPerformanceCalibrationGUI.start_data_processing | ( | self | ) |
Start the data processing thread
Definition at line 464 of file pt_calibration_gui.py.
Referenced by smart_calibration_gui.SmartCalibrationGUI.connect().
| pt_calibration_gui.HighPerformanceCalibrationGUI.toggle_calibration | ( | self | ) |
Toggle calibration mode
Definition at line 835 of file pt_calibration_gui.py.
| pt_calibration_gui.HighPerformanceCalibrationGUI.toggle_connection | ( | self | ) |
Toggle data source connection
Definition at line 788 of file pt_calibration_gui.py.
| pt_calibration_gui.HighPerformanceCalibrationGUI.update_gui | ( | self | ) |
Update GUI elements
Definition at line 701 of file pt_calibration_gui.py.
| pt_calibration_gui.HighPerformanceCalibrationGUI.update_performance_stats | ( | self | ) |
Update performance statistics
Definition at line 689 of file pt_calibration_gui.py.
Referenced by smart_calibration_gui.SmartCalibrationGUI.data_processor().
| pt_calibration_gui.HighPerformanceCalibrationGUI.update_plots | ( | self | ) |
Update real-time plots
Definition at line 736 of file pt_calibration_gui.py.
Referenced by smart_calibration_gui.SmartCalibrationGUI.update_gui().
| pt_calibration_gui.HighPerformanceCalibrationGUI.ax_pressure = self.fig.add_subplot(2, 1, 2) |
Definition at line 319 of file pt_calibration_gui.py.
Referenced by smart_calibration_gui.SmartCalibrationGUI.update_plots().
| pt_calibration_gui.HighPerformanceCalibrationGUI.ax_voltage = self.fig.add_subplot(2, 1, 1) |
Definition at line 318 of file pt_calibration_gui.py.
Referenced by smart_calibration_gui.SmartCalibrationGUI.update_plots().
| bool pt_calibration_gui.HighPerformanceCalibrationGUI.calibration_active = False |
Definition at line 100 of file pt_calibration_gui.py.
| pt_calibration_gui.HighPerformanceCalibrationGUI.calibration_btn |
Definition at line 213 of file pt_calibration_gui.py.
| pt_calibration_gui.HighPerformanceCalibrationGUI.calibration_points = [] |
Definition at line 92 of file pt_calibration_gui.py.
Referenced by robust_calibration.RobustCalibrationFramework._extrapolation_variance(), robust_calibration.RobustCalibrationFramework.add_calibration_point(), robust_calibration.RobustCalibrationFramework.get_autonomy_score(), robust_calibration.RobustCalibrationFramework.get_calibration_summary(), and robust_calibration.RobustCalibrationFramework.get_confidence_level().
| dict pt_calibration_gui.HighPerformanceCalibrationGUI.calibration_polynomials = {} |
Definition at line 93 of file pt_calibration_gui.py.
| pt_calibration_gui.HighPerformanceCalibrationGUI.canvas = FigureCanvasTkAgg(self.fig, plot_frame) |
Definition at line 334 of file pt_calibration_gui.py.
Referenced by smart_calibration_gui.SmartCalibrationGUI.update_plots().
| pt_calibration_gui.HighPerformanceCalibrationGUI.connect_btn |
Definition at line 198 of file pt_calibration_gui.py.
Referenced by smart_calibration_gui.SmartCalibrationGUI.connect(), and smart_calibration_gui.SmartCalibrationGUI.disconnect().
| pt_calibration_gui.HighPerformanceCalibrationGUI.data_queue = queue.Queue(maxsize=1000) |
Definition at line 99 of file pt_calibration_gui.py.
Referenced by smart_calibration_gui.SmartCalibrationGUI.data_processor(), and smart_calibration_gui.SmartCalibrationGUI.update_gui().
| pt_calibration_gui.HighPerformanceCalibrationGUI.data_rate_var = tk.StringVar(value="Data Rate: 0 Hz") |
Definition at line 356 of file pt_calibration_gui.py.
Referenced by smart_calibration_gui.SmartCalibrationGUI.update_performance_indicators().
| pt_calibration_gui.HighPerformanceCalibrationGUI.data_source_var = tk.StringVar(value="Serial") |
Definition at line 177 of file pt_calibration_gui.py.
| pt_calibration_gui.HighPerformanceCalibrationGUI.data_thread = threading.Thread(target=self.data_processor, daemon=True) |
Definition at line 466 of file pt_calibration_gui.py.
Referenced by smart_calibration_gui.SmartCalibrationGUI.disconnect().
| pt_calibration_gui.HighPerformanceCalibrationGUI.data_tree |
Definition at line 271 of file pt_calibration_gui.py.
Referenced by smart_calibration_gui.SmartCalibrationGUI.update_data_tree().
| Optional[ElodinClient] pt_calibration_gui.HighPerformanceCalibrationGUI.elodin_client = None |
Definition at line 109 of file pt_calibration_gui.py.
| bool pt_calibration_gui.HighPerformanceCalibrationGUI.elodin_connected = False |
Definition at line 112 of file pt_calibration_gui.py.
| pt_calibration_gui.HighPerformanceCalibrationGUI.elodin_status_label |
Definition at line 204 of file pt_calibration_gui.py.
| Optional[threading.Thread] pt_calibration_gui.HighPerformanceCalibrationGUI.elodin_thread = None |
Definition at line 110 of file pt_calibration_gui.py.
| pt_calibration_gui.HighPerformanceCalibrationGUI.fig = Figure(figsize=(8, 6), dpi=100) |
Definition at line 314 of file pt_calibration_gui.py.
| pt_calibration_gui.HighPerformanceCalibrationGUI.fit_btn |
Definition at line 229 of file pt_calibration_gui.py.
| dict pt_calibration_gui.HighPerformanceCalibrationGUI.gauge_mapping = {} |
Definition at line 95 of file pt_calibration_gui.py.
| dict pt_calibration_gui.HighPerformanceCalibrationGUI.kalman_states = {} |
Definition at line 671 of file pt_calibration_gui.py.
| dict pt_calibration_gui.HighPerformanceCalibrationGUI.kalman_states_adc = {} |
Definition at line 645 of file pt_calibration_gui.py.
| pt_calibration_gui.HighPerformanceCalibrationGUI.latency_var = tk.StringVar(value="Latency: 0 ms") |
Definition at line 357 of file pt_calibration_gui.py.
Referenced by smart_calibration_gui.SmartCalibrationGUI.update_performance_indicators().
| dict pt_calibration_gui.HighPerformanceCalibrationGUI.latest_measurements = {} |
Definition at line 98 of file pt_calibration_gui.py.
Referenced by smart_calibration_gui.SmartCalibrationGUI.confirm_human_input(), smart_calibration_gui.SmartCalibrationGUI.data_processor(), smart_calibration_gui.SmartCalibrationGUI.disconnect(), smart_calibration_gui.SmartCalibrationGUI.update_data_tree(), and smart_calibration_gui.SmartCalibrationGUI.update_plots().
| pt_calibration_gui.HighPerformanceCalibrationGUI.on_data_source_changed |
Definition at line 186 of file pt_calibration_gui.py.
| dict pt_calibration_gui.HighPerformanceCalibrationGUI.performance_stats |
Definition at line 115 of file pt_calibration_gui.py.
Referenced by smart_calibration_gui.SmartCalibrationGUI.update_performance_stats().
| dict pt_calibration_gui.HighPerformanceCalibrationGUI.plot_data |
Definition at line 338 of file pt_calibration_gui.py.
Referenced by smart_calibration_gui.SmartCalibrationGUI.update_plots().
| pt_calibration_gui.HighPerformanceCalibrationGUI.port_var = tk.StringVar(value="/dev/ttyUSB0") |
Definition at line 193 of file pt_calibration_gui.py.
Referenced by smart_calibration_gui.SmartCalibrationGUI.setup_serial().
| dict pt_calibration_gui.HighPerformanceCalibrationGUI.pt_measurements |
Definition at line 89 of file pt_calibration_gui.py.
| pt_calibration_gui.HighPerformanceCalibrationGUI.record_btn |
Definition at line 221 of file pt_calibration_gui.py.
| bool pt_calibration_gui.HighPerformanceCalibrationGUI.recording_data = False |
Definition at line 101 of file pt_calibration_gui.py.
Referenced by smart_calibration_gui.SmartCalibrationGUI.start_learning(), and smart_calibration_gui.SmartCalibrationGUI.stop_learning().
| pt_calibration_gui.HighPerformanceCalibrationGUI.ref_pressures = [] |
Definition at line 250 of file pt_calibration_gui.py.
| dict pt_calibration_gui.HighPerformanceCalibrationGUI.reference_gauges = {} |
Definition at line 94 of file pt_calibration_gui.py.
| pt_calibration_gui.HighPerformanceCalibrationGUI.root = tk.Tk() |
Definition at line 83 of file pt_calibration_gui.py.
Referenced by smart_calibration_gui.SmartCalibrationGUI.run(), setup_gui(), and smart_calibration_gui.SmartCalibrationGUI.setup_gui().
| pt_calibration_gui.HighPerformanceCalibrationGUI.save_btn |
Definition at line 237 of file pt_calibration_gui.py.
| Optional[serial.Serial] pt_calibration_gui.HighPerformanceCalibrationGUI.serial_connection = None |
Definition at line 104 of file pt_calibration_gui.py.
Referenced by smart_calibration_gui.SmartCalibrationGUI.cleanup(), smart_calibration_gui.SmartCalibrationGUI.data_processor(), smart_calibration_gui.SmartCalibrationGUI.disconnect(), smart_calibration_gui.SmartCalibrationGUI.setup_serial(), and smart_calibration_gui.SmartCalibrationGUI.toggle_connection().
| Optional[threading.Thread] pt_calibration_gui.HighPerformanceCalibrationGUI.serial_thread = None |
Definition at line 105 of file pt_calibration_gui.py.
| pt_calibration_gui.HighPerformanceCalibrationGUI.status_var = tk.StringVar(value="Ready") |
Definition at line 349 of file pt_calibration_gui.py.
Referenced by smart_calibration_gui.SmartCalibrationGUI.connect(), smart_calibration_gui.SmartCalibrationGUI.data_processor(), smart_calibration_gui.SmartCalibrationGUI.disconnect(), smart_calibration_gui.SmartCalibrationGUI.start_learning(), smart_calibration_gui.SmartCalibrationGUI.stop_learning(), and smart_calibration_gui.SmartCalibrationGUI.toggle_autonomous_mode().
| pt_calibration_gui.HighPerformanceCalibrationGUI.stop_serial = threading.Event() |
| pt_calibration_gui.HighPerformanceCalibrationGUI.update_gui |
Definition at line 734 of file pt_calibration_gui.py.
| bool pt_calibration_gui.HighPerformanceCalibrationGUI.use_elodin = False |
Definition at line 111 of file pt_calibration_gui.py.