From efaaf39f79d81cd740a9f741e6cf4815c49c3093 Mon Sep 17 00:00:00 2001 From: Carl Date: Thu, 23 Dec 2021 02:10:19 +0000 Subject: initial commit --- util/_UI/_web_interface/tooltips.py | 210 ++++++++++++++++++++++++++++++++++++ 1 file changed, 210 insertions(+) create mode 100644 util/_UI/_web_interface/tooltips.py (limited to 'util/_UI/_web_interface/tooltips.py') diff --git a/util/_UI/_web_interface/tooltips.py b/util/_UI/_web_interface/tooltips.py new file mode 100644 index 0000000..b4ebfd1 --- /dev/null +++ b/util/_UI/_web_interface/tooltips.py @@ -0,0 +1,210 @@ +import dash_html_components as html +import dash_bootstrap_components as dbc + +dsp_config_tooltips = html.Div([ + # Antenna arrangement selection + dbc.Tooltip([ + html.P("ULA - Uniform Linear Array"), + html.P("Antenna elements placed on a line with having equal distances between each other"), + html.P("UCA - Uniform Circular Array"), + html.P("Antenna elements are placed on circle equaly distributed on 360°")], + target="label_ant_arrangement", + placement="bottom", + className="tooltip" + ), + # Antenna Spacing +# dbc.Tooltip([ +# html.P("When ULA is selected: Spacing between antenna elements"), +# html.P("When UCA is selected: Radius of the circle on which the elements are placed")], +# target="label_ant_spacing", +# placement="bottom", +# className="tooltip" +# ), + # Enable F-B averaging + dbc.Tooltip([ + html.P("Forward-backward averegaing improves the performance of DoA estimation in multipath environment"), + html.P("(Available only for ULA antenna systems)")], + target="label_en_fb_avg", + placement="bottom", + className="tooltip" + ), + ]) + +daq_ini_config_tooltips = html.Div([ + # DAQ buffer size + dbc.Tooltip([ + html.P("Buffer size of the realtek driver")], + target="label_daq_buffer_size", + placement="bottom", + className="tooltip" + ), + # Sampling frequency + dbc.Tooltip([ + html.P("Raw - ADC sampling frequency of the realtek chip")], + target="label_sample_rate", + placement="bottom", + className="tooltip" + ), + # Enable noise source control + dbc.Tooltip([ + html.P("Enables the utilization of the built-in noise source for calibration")], + target="label_en_noise_source_ctr", + placement="bottom", + className="tooltip" + ), + # Enable squelch mode + dbc.Tooltip([ + html.P("Enable DAQ-side squelch to capture burst like signals - NOTE DISABLED IN THIS VERSION, THIS VERSION USES DSP SIDE SQUELCH ONLY")], + target="label_en_squelch", + placement="bottom", + className="tooltip" + ), + # Squelch threshold + dbc.Tooltip([ + html.P("Amplitude threshold used for the squelch feature."), + html.P("Should take values on range: 0...1"), + html.P("When set to zero the squelch is bypassed")], + target="label_squelch_init_threshold", + placement="bottom", + className="tooltip" + ), + # CPI size + dbc.Tooltip([ + html.P("Length of the Coherent Processing Interval (CPI) after decimation")], + target="label_cpi_size", + placement="bottom", + className="tooltip" + ), + # Decimation raito + dbc.Tooltip([ + html.P("Decimation factor")], + target="label_decimation_ratio", + placement="bottom", + className="tooltip" + ), + # FIR relative bandwidth + dbc.Tooltip([ + html.P("Anti-aliasing filter bandwith after decimation"), + html.P("Should take values on range: (0, 1]"), + html.P("E.g.: ADC sampling frequency: 1 MHz (IQ!) , Decimation ratio: 2, FIR relative bandwith:0.25"), + html.P("Resulting passband bandwidth: 125 kHz ")], + target="label_fir_relative_bw", + placement="bottom", + className="tooltip" + ), + # FIR tap size + dbc.Tooltip([ + html.P("Anti-aliasing FIR filter tap size - Do not set too large, or CPU utilization will be 100%"), + html.P("Should be greater than the decimation ratio")], + target="label_fir_tap_size", + placement="bottom", + className="tooltip" + ), + # FIR tap size + dbc.Tooltip([ + html.P("Window function type for designing the anti-aliasing FIR filter"), + html.P("https://en.wikipedia.org/wiki/Window_function")], + target="label_fir_window", + placement="bottom", + className="tooltip" + ), + # Enable filter reset + dbc.Tooltip([ + html.P("If enabled, the memory of the anti-aliasing FIR filter is reseted at the begining of every new CPI")], + target="label_en_filter_reset", + placement="bottom", + className="tooltip" + ), + # Correlation size + dbc.Tooltip([ + html.P("Number of samples used for the calibration procedure (sample delay and IQ compensation)")], + target="label_correlation_size", + placement="bottom", + className="tooltip" + ), + # Standard channel index + dbc.Tooltip([ + html.P("The selected channel is used as a reference for the IQ compensation")], + target="label_std_ch_index", + placement="bottom", + className="tooltip" + ), + # Enable IQ calibration + dbc.Tooltip([ + html.P("Enables to compensate the amplitude and phase differences of the receiver channels")], + target="label_en_iq_calibration", + placement="bottom", + className="tooltip" + ), + # Gain lock interval + dbc.Tooltip([ + html.P("Minimum number of stable frames before terminating the gain tuning procedure")], + target="label_gain_lock_interval", + placement="bottom", + className="tooltip" + ), + # Require track lock intervention + dbc.Tooltip([ + html.P("When enabled the DAQ firmware waits for manual intervention during the calibraiton procedure"), + html.P("Should be used only for hardave version 1.0")], + target="label_require_track_lock", + placement="bottom", + className="tooltip" + ), + # Amplitude calibraiton mode + dbc.Tooltip([ + html.P("Amplitude difference compensation method applied as part of the IQ compensation"), + html.P("default: Amplitude differences are estimated by calculating the cross-correlations of the channels"), + html.P("disabled: Amplitude differences are not compensated"), + html.P("channel_power: Ampltiude compensation is set in a way to achieve equal channel powers")], + target="label_amplitude_calibration_mode", + placement="bottom", + className="tooltip" + ), + dbc.Tooltip([ + html.P("When periodic calibration track mode is selected the firmware regularly turn on the noise source for a short burst to\ + check whether the IQ calibration is still valid or not. In case the calibrated state is lost, the firmware automatically\ + initiates a reclaibration procedure")], + target="label_calibration_track_mode", + placement="bottom", + className="tooltip" + ), + + # Calibration frame interval + dbc.Tooltip([ + html.P("Number of data frames between two consecutive calibration burst. Used when periodic calibration mode is selected")], + target="label_calibration_frame_interval", + placement="bottom", + className="tooltip" + ), + # Calibration frame burst size + dbc.Tooltip([ + html.P("Number of calibration frames generated in the periodic calibration mode")], + target="label_calibration_frame_burst_size", + placement="bottom", + className="tooltip" + ), + # Amplitude tolerance + dbc.Tooltip([ + html.P("Maximum allowed amplitude difference between the receiver channels")], + target="label_amplitude_tolerance", + placement="bottom", + className="tooltip" + ), + # Phase tolerance + dbc.Tooltip([ + html.P("Maximum allowed phase difference between the receiver channels")], + target="label_phase_tolerance", + placement="bottom", + className="tooltip" + ), + # Maximum sync fails + dbc.Tooltip([ + html.P("Maximum allowed consecutive IQ difference check failures before initiating a recalibration")], + target="label_max_sync_fails", + placement="bottom", + className="tooltip" + ), + ]) + + -- cgit v1.2.3