some fixes
This commit is contained in:
@ -1 +1 @@
|
|||||||
config_inputs/s11_start100_stop8800_points1000_bw1khz.bin
|
config_inputs/s21_start100_stop8800_points1000_bw1khz.bin
|
||||||
@ -1 +1 @@
|
|||||||
s11_start100_stop8800_points1000_bw1khz/lol
|
s21_start100_stop8800_points1000_bw1khz/bambambum
|
||||||
@ -1,10 +1,10 @@
|
|||||||
{
|
{
|
||||||
"y_min": -30,
|
"y_min": -90,
|
||||||
"y_max": 15,
|
"y_max": 20,
|
||||||
"smoothing_enabled": false,
|
"smoothing_enabled": true,
|
||||||
"smoothing_window": 11,
|
"smoothing_window": 17,
|
||||||
"marker_enabled": false,
|
"marker_enabled": true,
|
||||||
"marker_frequency": 100000009.0,
|
"marker_frequency": 300000009.0,
|
||||||
"grid_enabled": false,
|
"grid_enabled": true,
|
||||||
"reset_smoothing": false
|
"reset_smoothing": false
|
||||||
}
|
}
|
||||||
@ -164,7 +164,8 @@ def generate_standards_magnitude_plots(
|
|||||||
|
|
||||||
for standard_file in Path(calibration_path).glob("*.json"):
|
for standard_file in Path(calibration_path).glob("*.json"):
|
||||||
standard_name = standard_file.stem
|
standard_name = standard_file.stem
|
||||||
if "metadata" in standard_name:
|
if "metadata" in standard_name or "calibration_info" in standard_name:
|
||||||
|
logger.debug(f"Skipping {standard_name=}")
|
||||||
continue
|
continue
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
|||||||
@ -61,14 +61,14 @@ export class AcquisitionManager {
|
|||||||
const result = await response.json();
|
const result = await response.json();
|
||||||
|
|
||||||
if (result.success) {
|
if (result.success) {
|
||||||
this.notifications.show(result.message, 'success');
|
this.notifications.show({type: 'success', message: result.message});
|
||||||
await this.updateStatus();
|
await this.updateStatus();
|
||||||
} else {
|
} else {
|
||||||
this.notifications.show(result.error || 'Failed to start acquisition', 'error');
|
this.notifications.show({type: 'error', message: result.error || 'Failed to start acquisition'});
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('Error starting acquisition:', error);
|
console.error('Error starting acquisition:', error);
|
||||||
this.notifications.show('Failed to start acquisition', 'error');
|
this.notifications.show({type: 'error', message: 'Failed to start acquisition'});
|
||||||
} finally {
|
} finally {
|
||||||
this.setButtonLoading(this.elements.startBtn, false);
|
this.setButtonLoading(this.elements.startBtn, false);
|
||||||
}
|
}
|
||||||
@ -86,14 +86,14 @@ export class AcquisitionManager {
|
|||||||
const result = await response.json();
|
const result = await response.json();
|
||||||
|
|
||||||
if (result.success) {
|
if (result.success) {
|
||||||
this.notifications.show(result.message, 'success');
|
this.notifications.show({type: 'success', message: result.message});
|
||||||
await this.updateStatus();
|
await this.updateStatus();
|
||||||
} else {
|
} else {
|
||||||
this.notifications.show(result.error || 'Failed to stop acquisition', 'error');
|
this.notifications.show({type: 'error', message: result.error || 'Failed to stop acquisition'});
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('Error stopping acquisition:', error);
|
console.error('Error stopping acquisition:', error);
|
||||||
this.notifications.show('Failed to stop acquisition', 'error');
|
this.notifications.show({type: 'error', message: 'Failed to stop acquisition'});
|
||||||
} finally {
|
} finally {
|
||||||
this.setButtonLoading(this.elements.stopBtn, false);
|
this.setButtonLoading(this.elements.stopBtn, false);
|
||||||
}
|
}
|
||||||
@ -111,14 +111,14 @@ export class AcquisitionManager {
|
|||||||
const result = await response.json();
|
const result = await response.json();
|
||||||
|
|
||||||
if (result.success) {
|
if (result.success) {
|
||||||
this.notifications.show(result.message, 'success');
|
this.notifications.show({type: 'success', message: result.message});
|
||||||
await this.updateStatus();
|
await this.updateStatus();
|
||||||
} else {
|
} else {
|
||||||
this.notifications.show(result.error || 'Failed to trigger single sweep', 'error');
|
this.notifications.show({type: 'error', message: result.error || 'Failed to trigger single sweep'});
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('Error triggering single sweep:', error);
|
console.error('Error triggering single sweep:', error);
|
||||||
this.notifications.show('Failed to trigger single sweep', 'error');
|
this.notifications.show({type: 'error', message: 'Failed to trigger single sweep'});
|
||||||
} finally {
|
} finally {
|
||||||
this.setButtonLoading(this.elements.singleSweepBtn, false);
|
this.setButtonLoading(this.elements.singleSweepBtn, false);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -66,8 +66,21 @@ export class NotificationManager {
|
|||||||
* Show a notification
|
* Show a notification
|
||||||
*/
|
*/
|
||||||
show(options) {
|
show(options) {
|
||||||
// Check for duplicate notifications within the last 2 seconds
|
// Validate options
|
||||||
|
if (!options || typeof options !== 'object') {
|
||||||
|
console.warn('⚠️ Invalid notification options:', options);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
const { type = 'info', title, message } = options;
|
const { type = 'info', title, message } = options;
|
||||||
|
|
||||||
|
// Don't show notification if both title and message are empty
|
||||||
|
if (!title && !message) {
|
||||||
|
console.warn('⚠️ Skipping notification with empty title and message');
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check for duplicate notifications within the last 2 seconds
|
||||||
const notificationKey = `${type}:${title}:${message}`;
|
const notificationKey = `${type}:${title}:${message}`;
|
||||||
const now = Date.now();
|
const now = Date.now();
|
||||||
const lastShown = this.recentNotifications.get(notificationKey);
|
const lastShown = this.recentNotifications.get(notificationKey);
|
||||||
|
|||||||
@ -578,12 +578,12 @@ export class SettingsManager {
|
|||||||
this.pendingStandard = standard;
|
this.pendingStandard = standard;
|
||||||
this.websocket?.on?.('processor_result', this._boundHandleSweepForCalibration);
|
this.websocket?.on?.('processor_result', this._boundHandleSweepForCalibration);
|
||||||
|
|
||||||
// Таймаут ожидания (30с)
|
// Таймаут ожидания (5с)
|
||||||
this._clearCalibrationTimeout();
|
this._clearCalibrationTimeout();
|
||||||
this.calibrationTimeout = setTimeout(() => {
|
this.calibrationTimeout = setTimeout(() => {
|
||||||
this._notify('warning', 'Calibration Timeout', `No sweep received within 30 seconds for ${standard.toUpperCase()}. Please try again.`);
|
this._notify('warning', 'Calibration Timeout', `No sweep received within 5 seconds for ${standard.toUpperCase()}. Please try again.`);
|
||||||
this._resetCalibrationCaptureState(standard);
|
this._resetCalibrationCaptureState(standard);
|
||||||
}, 30000);
|
}, 5000);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error('Start standard capture failed:', e);
|
console.error('Start standard capture failed:', e);
|
||||||
this._notify('error', 'Calibration Error', 'Failed to start calibration standard capture');
|
this._notify('error', 'Calibration Error', 'Failed to start calibration standard capture');
|
||||||
|
|||||||
@ -148,8 +148,8 @@ export class WebSocketManager {
|
|||||||
console.error('JSON parse error:', jsonError);
|
console.error('JSON parse error:', jsonError);
|
||||||
this.notifications?.show?.({
|
this.notifications?.show?.({
|
||||||
type: 'error',
|
type: 'error',
|
||||||
title: 'WebSocket Error',
|
title: 'JSON Parse Error',
|
||||||
message: 'Received invalid JSON from server'
|
message: `Failed to parse JSON: ${data.substring(0, 200)}${data.length > 200 ? '...' : ''}`
|
||||||
});
|
});
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -176,6 +176,11 @@ export class WebSocketManager {
|
|||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error('❌ Failed to parse WebSocket JSON:', e);
|
console.error('❌ Failed to parse WebSocket JSON:', e);
|
||||||
console.log('📝 Raw message:', data);
|
console.log('📝 Raw message:', data);
|
||||||
|
this.notifications?.show?.({
|
||||||
|
type: 'error',
|
||||||
|
title: 'Message Processing Error',
|
||||||
|
message: `Error processing message: ${data.substring(0, 200)}${data.length > 200 ? '...' : ''}`
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user