#### Description
I am using a CNC with a Auto Tool Changer which uses the M6 Tool command in the gcode. Its Version 1.9.8win64 and does NOT have the newer implement of the M6 change for manual tool changes which Allows my ATC to work correctly…
–Question: Is there a way to have a Fork or option of the newer CncJs program without the semi-auto or manual tool change with the m6 command like in the newest versions past 1.9.8???
#### Versions
– CNCjs: 1.9.x
– Node.js: 6.x
– NPM: 5.x
#### How Do You Install CNCjs?
– [] NPM
– [X] Download the CNCjs Desktop Application
#### CNC Controller
– [x] Grbl
– [ ] Smoothieware
– [ ] TinyG/g2core
#### Hardware
– [] Raspberry Pi
– [X] Desktop or Laptop
– [ ] Mobile Device
#### Operating System
– [] Not Applicable
– [ X] Windows
– [ ] Mac
– [ ] Linux
评论 (3)
#2 – NabCube 于 2024-10-30
Thank.. I tried it but with no change..maybe i edited it wrong…I want to
use CncJs for the Adaptive Tool length Offsets with my machine. I run
FluidNC with grbl.. I like CNCjs and want it as my main App. So whatever
will allow the M61 T# command (to set tool #) and M6 Command (To change
tool) to work correctly with the newest version would be fantastic… I
have a Rapid Auto Tool Changer, Automated probe arm and automated dust
boot.. This would be the perfect control software for me and others using
the ATC i use..
On Tue, Oct 29, 2024 at 11:44 PM Cheton Wu @.*> wrote:
> Let’s rephrase your question: You’re requesting a new option to disable
> the M6 tool change notification for manual tool changes.
>
> In the meantime, you can modify your code by removing the code block that
> processing the M6 command. Search for the “M6 Tool Change” keyword in
> server/controllers/Grbl/GrblController.js:
>
> // M6 Tool Changeif (_.includes(words, ‘M6’)) {
> log.debug(‘M6 Tool Change’);
> this.feeder.hold({ data: ‘M6’, msg: originalLine }); // Hold reason
>
> // Surround M6 with parentheses to ignore
> // unsupported command error. If we nuke the whole
> // line, then we’ll likely lose other commands that
> // share the line, like a T~. This makes tool
> // changes complicated.
> line = line.replace(‘M6’, ‘(M6)’);}
>
> —
> Reply to this email directly, view it on GitHub
> <https://github.com/cncjs/cncjs/issues/890#issuecomment-2445770160>, or
> unsubscribe
> <https://github.com/notifications/unsubscribe-auth/AVWSJS4BHWGLFAPXKEEF2M3Z6BI3TAVCNFSM6AAAAABQ2UFF42VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINBVG43TAMJWGA>
> .
> You are receiving this because you authored the thread.Message ID:
> @.*>
>
#3 – NabCube 于 2024-10-30
I edited it again, must have miss something or added space. I got it working with the newest 1.10.4.. This is awesome… Thank u again..
#1 – cheton 于 2024-10-30
Let’s rephrase your question: You’re requesting a new option to disable the M6 tool change notification for manual tool changes.
In the meantime, you can modify your code by removing the code block that processing the M6 command.
Search for all “M6 Tool Change” keywords in
server/controllers/Grbl/GrblController.jswithin your CNCjs installation directory:For running macros:
“
js// M6 Tool Change
if (_.includes(words, 'M6')) {
log.debug('M6 Tool Change');
this.feeder.hold({ data: 'M6', msg: originalLine }); // Hold reason
// Surround M6 with parentheses to ignore
// unsupported command error. If we nuke the whole
// line, then we'll likely lose other commands that
// share the line, like a T~. This makes tool
// changes complicated.
line = line.replace('M6', '(M6)');
}
`
For running the sender:
`
jsM6 Tool Change: line=${sent + 1}, sent=${sent}, received=${received}// M6 Tool Change
if (_.includes(words, 'M6')) {
log.debug(
);this.event.trigger('gcode:pause');
this.workflow.pause({ data: 'M6', msg: originalLine });
// Surround M6 with parentheses to ignore unsupported command error
line = line.replace('M6', '(M6)');
}
“