diff --git a/mods/bambu/bambu.js b/mods/bambu/bambu.js index 5d182528..1e795f0e 100644 --- a/mods/bambu/bambu.js +++ b/mods/bambu/bambu.js @@ -34,6 +34,8 @@ self.kiri.load(api => { "White": "#FFFFFF" }).map(v => `${v.substring(1)}FF`); + let local_port = 5309; + let local_url = `http://localhost:${local_port}`; let sequence_id = (Math.random() * 0xfff) | 0; let user_id = ((Math.random() * 0xfffffff) | 0).toString(); let init = false; @@ -52,7 +54,14 @@ self.kiri.load(api => { if (socket.ws) { return; } - let ws = socket.ws = new WebSocket("/bambu"); + let ws_url = api.onshape ? `${local_url}/bambu` : "/bambu"; + let ws = socket.ws = new WebSocket(ws_url); + ws.onerror = (error) => { + socket.open = false; + socket.ws = undefined; + console.log({ bambu_ws_error: error }); + ws_url = "/bambu"; + }; ws.onopen = () => { socket.open = true; socket.drain(); @@ -1279,7 +1288,7 @@ self.kiri.load(api => { function send(filename, gcode, start) { const spool = print_ams_select; - const baseUrl = '/api/bambu_send'; + const baseUrl = api.onshape ? `${local_url}/api/bambu_send` : "/api/bambu_send"; const url = new URL(baseUrl, window.location.origin); url.searchParams.append('host', host); url.searchParams.append('code', password); @@ -1288,7 +1297,7 @@ self.kiri.load(api => { url.searchParams.append('start', start ?? false); url.searchParams.append('ams', spool === 'auto' && amsmap ? amsmap : spool); - const alert = api.alerts.show('Sending to Bambu Printer'); + const alert = api.alerts.show('Sending to Bambu Printer', 120); fetch(url.toString(), { headers: { 'Content-Type': 'text/plain' },