Yo, der Punkt ist, dass Werkzeugwechsel ein Spezialfall ist.Das Problem bei dem Toggle-Button ist, das ich den zwar mit dem externen Taster ansprechen kann, aber die Skripte die dahinter liegen bzw. daran angebunden sind nicht aufgerufen werden, wenn man allerdings eine vorhandene Funktion in dem Button einstellt, dann wird diese auch von dem externen Taster komplett ausgeführt, das hab ich gestern mit dem Sprühnebel (M7) getestet, das funktioniert.
Wenn in der GCode-Abfolge ein M6 auftaucht, sind einige interne Zustände von Mach gesetzt, die nicht geändert werden können. Davon abhängig können manche Funktionen ausgeführt werden und andere eben nicht (Stichwort: Nebenläufigkeit, bzw. neudeutsch multithreading - gibt Tutorials zu dem Thema für mach4).
Bei M6 wird ein Makro aufgerufen (sofern vorhanden). In dem Makro kann man dann eher eigene Signale auswerten.
Bei den möglichen Funktionen muss man aufpassen, welche aus dem Script aufgerufen werden dürfen und welche nicht.
Gibt dazu mehrere Diskussionen im mach4-Support-Forum.
Was das Rumzicken von Signalen beim Ein- bzw. Ausschalten anbelangt - das kann man über die Signalscripte in der screen.xml behandeln (also Signale vorbelegen, bzw. abschalten).
Gruß Reinhard