Abgesehen davon das wir nicht ständig M119 senden und senden wollen wäre das eine Lösung für den Sonderfall das die Firmware das dann raus gibt. Ist aber so ziemlich die schlechteste Lösung wenn es Firmwareseitig geht, da hierdurch die Kommunikation massiv ansteigt. Man müsste dann jede Sekunde einen extra Befehl senden um nicht zu spät dran zu sein - auch wenn der Abstand bei einigen Druckern größer ist und längere Zeiten verkraften würde. Und die antworten sind auch nicht immer kurz. Der Sidewinder X1 meldet zum Beispiel:
Recv:16:07:32.699: Reporting endstop status
Recv:16:07:32.700: x_min: open
Recv:16:07:32.700: y_min: open
Recv:16:07:32.700: z_min: open
Also 4 Zeilen pro test. Das die ausgaben sich zwischen den Versionen und Forks auch noch unterscheiden lass ich mal unerwähnt.
Was man Problemlos machen kann ist einen Filter einzubauen der die M119 Antwort erkennt und in pause geht.
Für 1.0.4 haben wir eine neue Lösung das wir nun die GPIO Pins am Pi abfragen können. Für den Sidewinder der gar keine Meldung ausgibt auch nicht mit M412 oder M119 ist das die perfekte Lösung. Die Kabel vom Sensor einfach an den Pi gepackt und schon hab ich meinen Sensor ohne extra Kommunikation.
Falls du dich fragst warum so auf der Kommunikation rumreite - Zu viel führt zu rucklern bei vielen kurzen Segmenten. Da sind die Kommunikationsraten extrem wichtig und jedes Extra ist da störend.
Fast du die Quellen hast wäre es deutlich besser da eine Ausgabe einzubauen und die Ausgabe abzufangen. Sollten nicht mehr als 5 Zeilen code sein. Verstehe echt nicht warum die so was nicht einbauen.