kopia lustrzana https://github.com/OpenBuilds/OpenBuilds-CONTROL
				
				
				
			
							rodzic
							
								
									f3bcf217de
								
							
						
					
					
						commit
						7e3f177e05
					
				|  | @ -1,3 +1,4 @@ | |||
| v1.0.345: Removed Carveco/Fabber links from Open Gcode menu. Fixed bug #292, Updated dark Mode CSS #291, Updated Acro profiles for grblHAL #288, Updated servo support for grblHAL #285, Decreased color shade of button focus box shadow to avoid confusion with distance selector #293 | ||||
| v1.0.344: Fixed bug in Dark Mode theme with Jog Distance Selected CSS | ||||
| v1.0.343: Updated wording on ESP32 based Bootloader error message, Assert G90/G21 for GotoZero commands to fix Issue #286 | ||||
| v1.0.342: Beta test of Electron 19 based native File Open dialog for issue #270, Basic FluidNC connectivity support, Updated SSL Certificates, Added GPU Information menu entry under Troubleshooting, Fixed bug in Mobile Jog | ||||
|  |  | |||
|  | @ -409,4 +409,14 @@ body.theme_dark, .theme_dark div.window, .theme_dark .card { | |||
| .theme_dark .droInput { | ||||
|   background: #222 !important; | ||||
|   border: 1px solid #555; | ||||
| } | ||||
| 
 | ||||
| /* as per https://github.com/OpenBuilds/OpenBuilds-CONTROL/issues/291  */ | ||||
| .theme_dark .disabled { | ||||
|   color: #999 !important; | ||||
| } | ||||
| 
 | ||||
| .theme_dark .button:focus { | ||||
|   -webkit-box-shadow: 0 0 0 3px rgba(48, 48, 48, .45); | ||||
|   box-shadow: 0 0 0 3px rgba(48, 48, 48, .45); | ||||
| } | ||||
|  | @ -326,8 +326,8 @@ | |||
|                     <li class="divider fg-gray"></li> | ||||
| 
 | ||||
|                     <li class=""><a href="#" onclick="socket.emit('opencam', true);"><img width="16" src="img/openbuilds.svg"> OpenBuilds CAM</a></li> | ||||
|                     <li class=""><a href="#" onclick="socket.emit('fabber', true);"><img width="16" src="affiliates/fabber/fabber.svg"> Fabber</a></li> | ||||
|                     <li class=""><a href="#" onclick="socket.emit('carveco', true);"><img width="16" src="affiliates/carveco/carveco.svg"> Carveco</a></li> | ||||
|                     <!-- <li class=""><a href="#" onclick="socket.emit('fabber', true);"><img width="16" src="affiliates/fabber/fabber.svg"> Fabber</a></li> | ||||
|                     <li class=""><a href="#" onclick="socket.emit('carveco', true);"><img width="16" src="affiliates/carveco/carveco.svg"> Carveco</a></li> --> | ||||
|                     <li class=""><a href="#" onclick="socket.emit('lightburn', true);"><img width="16" src="affiliates/lightburn/lightburn.png"> Lightburn</a></li> | ||||
|                     <li class=""><a href="#" onclick="socket.emit('vectric', true);"><img width="16" src="affiliates/vectric/vectric.svg"> Vectric</a></li> | ||||
| 
 | ||||
|  |  | |||
|  | @ -904,62 +904,72 @@ function selectMachine(type) { | |||
|   setMachineButton(type); | ||||
| 
 | ||||
|   if (lastSelectedMachine != type) { | ||||
|     if (lastSelectedMachine.substr(0, 4) != type.substr(0, 4)) { | ||||
|       if (customFirmware == "acro") { | ||||
|         Metro.dialog.create({ | ||||
|           title: "Custom Firmware Required", | ||||
|           content: `<div>The machine type you selected, needs a custom firmware. Please use the Firmware Flashing Wizard to upload a custom firmware image to the controller to properly support this machine. </div>`, | ||||
|           actions: [{ | ||||
|               caption: "No Thank you", | ||||
|               cls: "js-dialog-close", | ||||
|               onclick: function() { | ||||
|                 console.log("Do nothing") | ||||
|               } | ||||
|             }, | ||||
|             { | ||||
|               caption: "Launch the Flashing Wizard", | ||||
|               cls: "js-dialog-close success", | ||||
|               onclick: function() { | ||||
|                 openFlashingTool(); | ||||
|                 setTimeout(function() { | ||||
|                   // $('#grblAxesCount').data('select').val('2axes')
 | ||||
|                 }, 500) | ||||
|               } | ||||
|             }, | ||||
|     //if (lastSelectedMachine.substr(0, 4) != type.substr(0, 4)) {
 | ||||
| 
 | ||||
|           ] | ||||
|         }); | ||||
|     if (customFirmware == "acro" && laststatus.machine.firmware.platform == "grblHAL") { | ||||
|       // as per https://openbuilds.com/threads/blackbox-x32.19810/page-3#post-131285
 | ||||
|       $("#val-44-input").val(3) | ||||
|       $("#val-45-input").val(0) | ||||
|     } else if (customFirmware == "acropen" && laststatus.machine.firmware.platform == "grblHAL") { | ||||
|       // as per https://openbuilds.com/threads/blackbox-x32.19810/page-3#post-131285
 | ||||
|       $("#val-44-input").val(3) | ||||
|       $("#val-45-input").val(0) | ||||
|       $("#val-33-input").val(50) | ||||
| 
 | ||||
|         console.log('This machine needs a custom firmware') | ||||
|       } | ||||
|       if (customFirmware == "acropen") { | ||||
|         Metro.dialog.create({ | ||||
|           title: "Custom Firmware Required", | ||||
|           content: `<div>The machine type you selected, needs a custom firmware. Please use the Firmware Flashing Wizard to upload a custom firmware image to the controller to properly support this machine. </div>`, | ||||
|           actions: [{ | ||||
|               caption: "No Thank you", | ||||
|               cls: "js-dialog-close", | ||||
|               onclick: function() { | ||||
|                 console.log("Do nothing") | ||||
|               } | ||||
|             }, | ||||
|             { | ||||
|               caption: "Launch the Flashing Wizard", | ||||
|               cls: "js-dialog-close success", | ||||
|               onclick: function() { | ||||
|                 openFlashingTool(); | ||||
|                 setTimeout(function() { | ||||
|                   //$('#grblAxesCount').data('select').val('servo')
 | ||||
|                 }, 500) | ||||
|               } | ||||
|             }, | ||||
|     } else if (customFirmware == "acro" && laststatus.machine.firmware.platform == "grbl") { | ||||
|       Metro.dialog.create({ | ||||
|         title: "Custom Firmware Required", | ||||
|         content: `<div>The machine type you selected, needs a custom firmware. Please use the Firmware Flashing Wizard to upload a custom firmware image to the controller to properly support this machine. </div>`, | ||||
|         actions: [{ | ||||
|             caption: "No Thank you", | ||||
|             cls: "js-dialog-close", | ||||
|             onclick: function() { | ||||
|               console.log("Do nothing") | ||||
|             } | ||||
|           }, | ||||
|           { | ||||
|             caption: "Launch the Flashing Wizard", | ||||
|             cls: "js-dialog-close success", | ||||
|             onclick: function() { | ||||
|               openFlashingTool(); | ||||
|               setTimeout(function() { | ||||
|                 // $('#grblAxesCount').data('select').val('2axes')
 | ||||
|               }, 500) | ||||
|             } | ||||
|           }, | ||||
| 
 | ||||
|           ] | ||||
|         }); | ||||
|         ] | ||||
|       }); | ||||
| 
 | ||||
|         console.log('This machine needs a custom firmware') | ||||
|       } | ||||
|       console.log('This machine needs a custom firmware') | ||||
|     } else if (customFirmware == "acropen" && laststatus.machine.firmware.platform == "grbl") { | ||||
|       Metro.dialog.create({ | ||||
|         title: "Custom Firmware Required", | ||||
|         content: `<div>The machine type you selected, needs a custom firmware. Please use the Firmware Flashing Wizard to upload a custom firmware image to the controller to properly support this machine. </div>`, | ||||
|         actions: [{ | ||||
|             caption: "No Thank you", | ||||
|             cls: "js-dialog-close", | ||||
|             onclick: function() { | ||||
|               console.log("Do nothing") | ||||
|             } | ||||
|           }, | ||||
|           { | ||||
|             caption: "Launch the Flashing Wizard", | ||||
|             cls: "js-dialog-close success", | ||||
|             onclick: function() { | ||||
|               openFlashingTool(); | ||||
|               setTimeout(function() { | ||||
|                 //$('#grblAxesCount').data('select').val('servo')
 | ||||
|               }, 500) | ||||
|             } | ||||
|           }, | ||||
| 
 | ||||
|         ] | ||||
|       }); | ||||
| 
 | ||||
|       console.log('This machine needs a custom firmware') | ||||
|     } | ||||
|     //}
 | ||||
| 
 | ||||
|   } | ||||
| 
 | ||||
|  |  | |||
|  | @ -106,6 +106,17 @@ function grblSettings(data) { | |||
|     $('#enLaser').removeClass('success').addClass('alert').html('OFF') | ||||
|   } | ||||
| 
 | ||||
| 
 | ||||
|   // grblHAL - enable Servo Buttons if Spindle PWM == 50hz
 | ||||
|   if (grblParams['$33'] == 50) { | ||||
|     $('#enServo').removeClass('alert').addClass('success').html('ON') | ||||
|     $(".servo-active").show() | ||||
|   } else { | ||||
|     $('#enServo').removeClass('success').addClass('alert').html('OFF') | ||||
|     $(".servo-active").hide() | ||||
|   } | ||||
| 
 | ||||
| 
 | ||||
|   updateToolOnSValues(); | ||||
| 
 | ||||
|   if (localStorage.getItem('jogOverride')) { | ||||
|  |  | |||
|  | @ -851,7 +851,7 @@ function changeStepSize(dir) { | |||
|       $('.jogdistXYZ').removeClass('fg-openbuilds') | ||||
|       $('.jogdistXYZ').addClass('fg-gray') | ||||
|       $('#dist1label').removeClass('fg-gray') | ||||
|       $('#dist1label').addClass('fg-openbuilds') | ||||
|       $('#dist1label').addClass('fg-dark') | ||||
|     } | ||||
|     if (dir == -1) { | ||||
|       // do nothing
 | ||||
|  |  | |||
|  | @ -29,24 +29,27 @@ $(document).ready(function() { | |||
| }); | ||||
| 
 | ||||
| function showGrbl(bool, firmware) { | ||||
|   console.log(firmware) | ||||
|   if (bool) { | ||||
|     if (firmware.platform == "grblHAL" || firmware.platform == "gnea") { // Doesn't use $$ settings, uses config.yaml
 | ||||
|       setTimeout(function() { | ||||
|         sendGcode('$$') | ||||
|       }, 500); | ||||
|     } | ||||
|     if (firmware.platform == "FluidNC") { | ||||
|     } else if (firmware.platform == "FluidNC") { | ||||
|       // Show FluidNC specific tabs and buttons
 | ||||
|       setTimeout(function() { | ||||
|         sendGcode('$CD') | ||||
|       }, 500); | ||||
|     } | ||||
| 
 | ||||
|     setTimeout(function() { | ||||
|       sendGcode('$I') | ||||
|     }, 700); | ||||
| 
 | ||||
|     setTimeout(function() { | ||||
|       sendGcode('$G') | ||||
|     }, 900); | ||||
| 
 | ||||
|     $("#grblButtons").show() | ||||
|     $("#firmwarename").html(firmware.platform) | ||||
| 
 | ||||
|  | @ -873,6 +876,7 @@ function initSocket() { | |||
|       switch (data[i]) { | ||||
|         case 'Q': | ||||
|           // console.log('SPINDLE_IS_SERVO Enabled')
 | ||||
|           // Also enabled for grblHAL from grbl-settings if $33=50
 | ||||
|           $('#enServo').removeClass('alert').addClass('success').html('ON') | ||||
|           $(".servo-active").show() | ||||
|           break; | ||||
|  |  | |||
|  | @ -32,3 +32,5 @@ $122=500.000 ;Z-axis acceleration, mm/sec^2 | |||
| $130=800.000 ;X-axis maximum travel, millimeters | ||||
| $131=800.000 ;Y-axis maximum travel, millimeters | ||||
| $132=70.000 ;Z-axis maximum travel, millimeters | ||||
| $44=3 ; Disable Z axis Homing | ||||
| $45=0 ; Disable Z axis Homing | ||||
|  |  | |||
|  | @ -32,3 +32,5 @@ $122=500.000 ;Z-axis acceleration, mm/sec^2 | |||
| $130=800.000 ;X-axis maximum travel, millimeters | ||||
| $131=1300.000 ;Y-axis maximum travel, millimeters | ||||
| $132=70.000 ;Z-axis maximum travel, millimeters | ||||
| $44=3 ; Disable Z axis Homing | ||||
| $45=0 ; Disable Z axis Homing | ||||
|  |  | |||
|  | @ -32,3 +32,5 @@ $122=500.000 ;Z-axis acceleration, mm/sec^2 | |||
| $130=1300.000 ;X-axis maximum travel, millimeters | ||||
| $131=1300.000 ;Y-axis maximum travel, millimeters | ||||
| $132=70.000 ;Z-axis maximum travel, millimeters | ||||
| $44=3 ; Disable Z axis Homing | ||||
| $45=0 ; Disable Z axis Homing | ||||
|  |  | |||
|  | @ -32,3 +32,5 @@ $122=500.000 ;Z-axis acceleration, mm/sec^2 | |||
| $130=800.000 ;X-axis maximum travel, millimeters | ||||
| $131=300.000 ;Y-axis maximum travel, millimeters | ||||
| $132=70.000 ;Z-axis maximum travel, millimeters | ||||
| $44=3 ; Disable Z axis Homing | ||||
| $45=0 ; Disable Z axis Homing | ||||
|  |  | |||
|  | @ -32,3 +32,5 @@ $122=500.000 ;Z-axis acceleration, mm/sec^2 | |||
| $130=300.000 ;X-axis maximum travel, millimeters | ||||
| $131=300.000 ;Y-axis maximum travel, millimeters | ||||
| $132=70.000 ;Z-axis maximum travel, millimeters | ||||
| $44=3 ; Disable Z axis Homing | ||||
| $45=0 ; Disable Z axis Homing | ||||
|  |  | |||
							
								
								
									
										49
									
								
								index.js
								
								
								
								
							
							
						
						
									
										49
									
								
								index.js
								
								
								
								
							|  | @ -37,7 +37,6 @@ var https = require('https'); | |||
| 
 | ||||
| var ioServer = require('socket.io'); | ||||
| var io = new ioServer(); | ||||
| var safetosend; | ||||
| 
 | ||||
| var fs = require('fs'); | ||||
| var path = require("path"); | ||||
|  | @ -626,27 +625,40 @@ app.on('certificate-error', function(event, webContents, url, error, | |||
| 
 | ||||
| io.on("connection", function(socket) { | ||||
| 
 | ||||
|   iosocket = socket; | ||||
|   debug_log("New IO Connection "); | ||||
| 
 | ||||
| 
 | ||||
|   iosocket = socket; | ||||
| 
 | ||||
|   if (status.machine.firmware.type == 'grbl') { | ||||
| 
 | ||||
|     // handle Grbl RESET external input
 | ||||
|     if (status.machine.inputs.length > 0) { | ||||
|       for (i = 0; i < status.machine.inputs.length; i++) { | ||||
|         switch (status.machine.inputs[i]) { | ||||
|           case 'R': | ||||
|             // debug_log('PIN: SOFTRESET');
 | ||||
|             safetosend = true; | ||||
|             break; | ||||
|         } | ||||
|       } | ||||
|     } else { | ||||
|       io.sockets.emit('grbl', status.machine.firmware) | ||||
|     } | ||||
|     if (safetosend != undefined && safetosend == true) { | ||||
|       io.sockets.emit('grbl', status.machine.firmware) | ||||
|     } | ||||
|     debug_log("Is Grbl"); | ||||
| 
 | ||||
| 
 | ||||
|     // // handle Grbl RESET external input
 | ||||
|     // if (status.machine.inputs.length > 0) {
 | ||||
|     //   for (i = 0; i < status.machine.inputs.length; i++) {
 | ||||
|     //     switch (status.machine.inputs[i]) {
 | ||||
|     //       case 'R':
 | ||||
|     //         // debug_log('PIN: SOFTRESET');
 | ||||
|     //         safetosend = true;
 | ||||
|     //         break;
 | ||||
|     //     }
 | ||||
|     //   }
 | ||||
|     // } else {
 | ||||
|     //   setTimeout(function() {
 | ||||
|     debug_log("Emit Grbl: 1"); | ||||
|     io.sockets.emit('grbl', status.machine.firmware) | ||||
|     //   }, 10000);
 | ||||
|     // }
 | ||||
|     //
 | ||||
|     // if (safetosend != undefined && safetosend == true) {
 | ||||
|     //   setTimeout(function() {
 | ||||
|     //     debug_log("Emit Grbl: 2");
 | ||||
|     //     io.sockets.emit('grbl', status.machine.firmware)
 | ||||
|     //   }, 10000);
 | ||||
|     // }
 | ||||
| 
 | ||||
|   } | ||||
| 
 | ||||
| 
 | ||||
|  | @ -1212,6 +1224,7 @@ io.on("connection", function(socket) { | |||
|           status.machine.name = data.split(':')[2].split(']')[0].toLowerCase() | ||||
|           io.sockets.emit("status", status); | ||||
|           io.sockets.emit("machinename", data.split(':')[2].split(']')[0].toLowerCase()); | ||||
|           status.machine.firmware.date = data.split(':')[1].split(".")[2]; | ||||
|         } | ||||
| 
 | ||||
|         if (data.indexOf("[OPT:") === 0) { | ||||
|  |  | |||
|  | @ -1,6 +1,6 @@ | |||
| { | ||||
|   "name": "OpenBuildsCONTROL", | ||||
|   "version": "1.0.344", | ||||
|   "version": "1.0.345", | ||||
|   "license": "AGPL-3.0", | ||||
|   "description": "OpenBuildsCONTROL CNC Machine Host Software", | ||||
|   "author": "github.com/openbuilds <support@openbuilds.com>", | ||||
|  |  | |||
		Ładowanie…
	
		Reference in New Issue
	
	 openbuilds-engineer
						openbuilds-engineer