File size: 1,396 Bytes
b8c72c0 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
const LOCAL_SERVER_URL = "http://127.0.0.1:5001/motor_control";
function sendMotorCommand(motor, value) {
console.log(`Sending to ${motor}: ${value}`);
fetch(LOCAL_SERVER_URL, {
method: "POST",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify({ motor, value })
}).then(res => res.text()).then(txt => {
console.log("✅ Server response:", txt);
}).catch(err => {
console.error("❌ Fetch error:", err);
});
}
function bindSliders() {
for (let i = 0; i < 6; i++) {
const wrapper = document.getElementById("motor_" + i);
if (!wrapper) {
console.warn(`motor_${i} not found`);
continue;
}
const slider = wrapper.querySelector("input[type=range]");
if (!slider) {
console.warn(`No slider in motor_${i}`);
continue;
}
slider.addEventListener("input", () => {
sendMotorCommand("motor_" + i, parseFloat(slider.value));
});
console.log(`✅ Bound slider for motor_${i}`);
}
}
window.addEventListener("load", () => {
console.log("🚀 External JS loaded");
const retry = setInterval(() => {
if (document.querySelectorAll("input[type=range]").length >= 6) {
bindSliders();
clearInterval(retry);
}
}, 500);
});
|