Extension of M408
-
Hello,
I'm currenlty adapting the PanelDue firmware to be better suited for CNC usage. In that context I would like to get some more information e.g.
- Spindle on/off
- Current WCS
-...
Would it be the right thing to do to extend the M408 for this? Further which level should be extended?
Further the current update frequency of the machine coordinates is rather slow for CNC usage. I would consider something like 10Hz to be reasonable. Would this be feasible? Should there a separate command be installed to just report the position? What are the limiting factors when increasing the update frequency (amount of data or connection handling)?
Regards,
Marc -
If PanelDue needs that information, then I presume DWC does too. So it would be better to change PanelDueFirmware to use the full status response instead of the legacy status response, i.e. M408 S2 instead of M408 S0, and M408 S3 instead of M408 S1. I already paved the way for this by extending the JSON parser in PanelDueFirmware to handle nested objects. Then discuss with chrishamm where to include the additional parameters in the M408 S2 and M408 S2 responses.
The main considerations when increasing the amount of data received by PanelDue and the update frequency are that the request and response can complete in the time available at 57600 baud. At 10 requests/responses per second, this implies that the total request+response length must not exceed about 500 characters.
-
Thank for the feedback. I will experiment a bit. But based on this it might make sense to have a CNC-specific lean call e.g. having only positions, speeds and feeds and call that at a higher frequency and and maybe every 5th call do an S2 or S3.
Further does does the Firmware update position at all during a move or is the position only updated at the beginning / end of the move? I realized that feed adaptions are only executed for the next G-code line coming up... -
@mwinterm said in Extension of M408:
Further does does the Firmware update position at all during a move or is the position only updated at the beginning / end of the move? I realized that feed adaptions are only executed for the next G-code line coming up...
The user positions are updated at the start of as move, and the machine positions at the end of a move.