|
@@ -1373,30 +1373,37 @@ async function initializeAngularHomingConfig() {
|
|
|
|
|
|
|
|
const angularHomingToggle = document.getElementById('angularHomingToggle');
|
|
const angularHomingToggle = document.getElementById('angularHomingToggle');
|
|
|
const angularHomingInfo = document.getElementById('angularHomingInfo');
|
|
const angularHomingInfo = document.getElementById('angularHomingInfo');
|
|
|
|
|
+ const angularOffsetContainer = document.getElementById('angularOffsetContainer');
|
|
|
|
|
+ const angularOffsetInput = document.getElementById('angularOffsetInput');
|
|
|
const saveHomingConfigButton = document.getElementById('saveHomingConfig');
|
|
const saveHomingConfigButton = document.getElementById('saveHomingConfig');
|
|
|
|
|
|
|
|
// Check if elements exist
|
|
// Check if elements exist
|
|
|
- if (!angularHomingToggle || !angularHomingInfo || !saveHomingConfigButton) {
|
|
|
|
|
|
|
+ if (!angularHomingToggle || !angularHomingInfo || !saveHomingConfigButton || !angularOffsetContainer || !angularOffsetInput) {
|
|
|
logMessage('Angular Homing elements not found, skipping initialization', LOG_TYPE.WARNING);
|
|
logMessage('Angular Homing elements not found, skipping initialization', LOG_TYPE.WARNING);
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
logMessage('All Angular Homing elements found successfully', LOG_TYPE.INFO);
|
|
logMessage('All Angular Homing elements found successfully', LOG_TYPE.INFO);
|
|
|
|
|
|
|
|
- // Load current angular homing setting
|
|
|
|
|
|
|
+ // Load current angular homing settings
|
|
|
try {
|
|
try {
|
|
|
const response = await fetch('/api/angular-homing');
|
|
const response = await fetch('/api/angular-homing');
|
|
|
const data = await response.json();
|
|
const data = await response.json();
|
|
|
|
|
|
|
|
angularHomingToggle.checked = data.angular_homing_enabled || false;
|
|
angularHomingToggle.checked = data.angular_homing_enabled || false;
|
|
|
|
|
+ angularOffsetInput.value = data.angular_homing_offset_degrees || 0;
|
|
|
|
|
+
|
|
|
if (data.angular_homing_enabled) {
|
|
if (data.angular_homing_enabled) {
|
|
|
angularHomingInfo.style.display = 'block';
|
|
angularHomingInfo.style.display = 'block';
|
|
|
|
|
+ angularOffsetContainer.style.display = 'block';
|
|
|
}
|
|
}
|
|
|
} catch (error) {
|
|
} catch (error) {
|
|
|
logMessage(`Error loading angular homing settings: ${error.message}`, LOG_TYPE.ERROR);
|
|
logMessage(`Error loading angular homing settings: ${error.message}`, LOG_TYPE.ERROR);
|
|
|
- // Initialize with default (disabled) if load fails
|
|
|
|
|
|
|
+ // Initialize with defaults if load fails
|
|
|
angularHomingToggle.checked = false;
|
|
angularHomingToggle.checked = false;
|
|
|
|
|
+ angularOffsetInput.value = 0;
|
|
|
angularHomingInfo.style.display = 'none';
|
|
angularHomingInfo.style.display = 'none';
|
|
|
|
|
+ angularOffsetContainer.style.display = 'none';
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// Function to save settings
|
|
// Function to save settings
|
|
@@ -1411,13 +1418,14 @@ async function initializeAngularHomingConfig() {
|
|
|
method: 'POST',
|
|
method: 'POST',
|
|
|
headers: { 'Content-Type': 'application/json' },
|
|
headers: { 'Content-Type': 'application/json' },
|
|
|
body: JSON.stringify({
|
|
body: JSON.stringify({
|
|
|
- angular_homing_enabled: angularHomingToggle.checked
|
|
|
|
|
|
|
+ angular_homing_enabled: angularHomingToggle.checked,
|
|
|
|
|
+ angular_homing_offset_degrees: parseFloat(angularOffsetInput.value) || 0
|
|
|
})
|
|
})
|
|
|
});
|
|
});
|
|
|
|
|
|
|
|
if (!response.ok) {
|
|
if (!response.ok) {
|
|
|
const errorData = await response.json();
|
|
const errorData = await response.json();
|
|
|
- throw new Error(errorData.detail || 'Failed to save angular homing setting');
|
|
|
|
|
|
|
+ throw new Error(errorData.detail || 'Failed to save angular homing settings');
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// Show success state temporarily
|
|
// Show success state temporarily
|
|
@@ -1442,7 +1450,9 @@ async function initializeAngularHomingConfig() {
|
|
|
// Event listeners
|
|
// Event listeners
|
|
|
angularHomingToggle.addEventListener('change', () => {
|
|
angularHomingToggle.addEventListener('change', () => {
|
|
|
logMessage(`Angular homing toggle changed: ${angularHomingToggle.checked}`, LOG_TYPE.INFO);
|
|
logMessage(`Angular homing toggle changed: ${angularHomingToggle.checked}`, LOG_TYPE.INFO);
|
|
|
- angularHomingInfo.style.display = angularHomingToggle.checked ? 'block' : 'none';
|
|
|
|
|
|
|
+ const isEnabled = angularHomingToggle.checked;
|
|
|
|
|
+ angularHomingInfo.style.display = isEnabled ? 'block' : 'none';
|
|
|
|
|
+ angularOffsetContainer.style.display = isEnabled ? 'block' : 'none';
|
|
|
logMessage(`Info display set to: ${angularHomingInfo.style.display}`, LOG_TYPE.INFO);
|
|
logMessage(`Info display set to: ${angularHomingInfo.style.display}`, LOG_TYPE.INFO);
|
|
|
});
|
|
});
|
|
|
|
|
|