| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209 |
- // Button click handlers
- document.addEventListener('DOMContentLoaded', function() {
- // Home button
- const homeButton = document.getElementById('homeButton');
- homeButton.addEventListener('click', async () => {
- try {
- const response = await fetch('/send_home', {
- method: 'POST',
- headers: {
- 'Content-Type': 'application/json'
- }
- });
- const data = await response.json();
- if (data.success) {
- updateStatus('Moving to home position...');
- }
- } catch (error) {
- console.error('Error sending home command:', error);
- updateStatus('Error: Failed to move to home position');
- }
- });
- // Stop button
- const stopButton = document.getElementById('stopButton');
- stopButton.addEventListener('click', async () => {
- try {
- const response = await fetch('/stop_execution', {
- method: 'POST',
- headers: {
- 'Content-Type': 'application/json'
- }
- });
- const data = await response.json();
- if (data.success) {
- updateStatus('Execution stopped');
- }
- } catch (error) {
- console.error('Error stopping execution:', error);
- updateStatus('Error: Failed to stop execution');
- }
- });
- // Move to Center button
- const centerButton = document.getElementById('centerButton');
- centerButton.addEventListener('click', async () => {
- try {
- const response = await fetch('/move_to_center', {
- method: 'POST',
- headers: {
- 'Content-Type': 'application/json'
- }
- });
- const data = await response.json();
- if (data.success) {
- updateStatus('Moving to center position...');
- }
- } catch (error) {
- console.error('Error moving to center:', error);
- updateStatus('Error: Failed to move to center');
- }
- });
- // Move to Perimeter button
- const perimeterButton = document.getElementById('perimeterButton');
- perimeterButton.addEventListener('click', async () => {
- try {
- const response = await fetch('/move_to_perimeter', {
- method: 'POST',
- headers: {
- 'Content-Type': 'application/json'
- }
- });
- const data = await response.json();
- if (data.success) {
- updateStatus('Moving to perimeter position...');
- }
- } catch (error) {
- console.error('Error moving to perimeter:', error);
- updateStatus('Error: Failed to move to perimeter');
- }
- });
- // Set Speed button
- const setSpeedButton = document.getElementById('setSpeedButton');
- const speedInput = document.getElementById('speedInput');
- setSpeedButton.addEventListener('click', async () => {
- const speed = parseFloat(speedInput.value);
- if (isNaN(speed) || speed <= 0) {
- updateStatus('Error: Please enter a valid speed value');
- return;
- }
- try {
- const response = await fetch('/set_speed', {
- method: 'POST',
- headers: {
- 'Content-Type': 'application/json'
- },
- body: JSON.stringify({ speed: speed })
- });
- const data = await response.json();
- if (data.success) {
- updateStatus(`Speed set to ${speed} mm/s`);
- }
- } catch (error) {
- console.error('Error setting speed:', error);
- updateStatus('Error: Failed to set speed');
- }
- });
- // Clear from Center button
- const clearCenterButton = document.getElementById('clearCenterButton');
- clearCenterButton.addEventListener('click', async () => {
- try {
- const response = await fetch('/run_theta_rho', {
- method: 'POST',
- headers: {
- 'Content-Type': 'application/json'
- },
- body: JSON.stringify({
- file_name: 'clear_from_in.thr',
- pre_execution: 'none'
- })
- });
- const data = await response.json();
- if (response.ok) {
- updateStatus('Running clear from center pattern...');
- } else {
- throw new Error(data.detail || 'Failed to run clear pattern');
- }
- } catch (error) {
- console.error('Error running clear from center pattern:', error);
- if (error.message.includes('409')) {
- updateStatus('Error: Another pattern is already running');
- } else {
- updateStatus('Error: Failed to run clear pattern');
- }
- }
- });
- // Clear from Perimeter button
- const clearPerimeterButton = document.getElementById('clearPerimeterButton');
- clearPerimeterButton.addEventListener('click', async () => {
- try {
- const response = await fetch('/run_theta_rho', {
- method: 'POST',
- headers: {
- 'Content-Type': 'application/json'
- },
- body: JSON.stringify({
- file_name: 'clear_from_out.thr',
- pre_execution: 'none'
- })
- });
- const data = await response.json();
- if (response.ok) {
- updateStatus('Running clear from perimeter pattern...');
- } else {
- throw new Error(data.detail || 'Failed to run clear pattern');
- }
- } catch (error) {
- console.error('Error running clear from perimeter pattern:', error);
- if (error.message.includes('409')) {
- updateStatus('Error: Another pattern is already running');
- } else {
- updateStatus('Error: Failed to run clear pattern');
- }
- }
- });
- // Clear Sideways button
- const clearSidewaysButton = document.getElementById('clearSidewaysButton');
- clearSidewaysButton.addEventListener('click', async () => {
- try {
- const response = await fetch('/run_theta_rho', {
- method: 'POST',
- headers: {
- 'Content-Type': 'application/json'
- },
- body: JSON.stringify({
- file_name: 'clear_sideway.thr',
- pre_execution: 'none'
- })
- });
- const data = await response.json();
- if (response.ok) {
- updateStatus('Running clear sideways pattern...');
- } else {
- throw new Error(data.detail || 'Failed to run clear pattern');
- }
- } catch (error) {
- console.error('Error running clear sideways pattern:', error);
- if (error.message.includes('409')) {
- updateStatus('Error: Another pattern is already running');
- } else {
- updateStatus('Error: Failed to run clear pattern');
- }
- }
- });
- });
- // Function to update status
- function updateStatus(message) {
- if (message.startsWith('Error:')) {
- showStatusMessage(message.substring(7), 'error');
- } else {
- showStatusMessage(message, 'success');
- }
- }
|