Sigma1912 / linuxcnc

LinuxCNC controls CNC machines. It can drive milling machines, lathes, 3d printers, laser cutters, plasma cutters, robot arms, hexapods, and more.
http://linuxcnc.org/
GNU General Public License v2.0
0 stars 0 forks source link

Update interp_convert.cc: Fix G52/G92 reset on M2/M30 #9

Closed Sigma1912 closed 5 months ago

Sigma1912 commented 5 months ago

G52/G92 offsets should be deactivated on M2/M30 according to RS274NGC standard.

With the current code persistence will by default automatically activate G52/G92 offset on restart and leave G92/G52 active after M2/M30. The standard states that 'Persistence' means that the values will be stored on M2/M30, G52/G92 is deactivated and if necessary the offset can be restored using G92.3 RS274NGC_m2 As Point 1 clearly states, M2/M30 should reset G92/G52 (like 92.2).

Nist g92 3

'Persistence' as handled by the ini entry [RS274NGC] 'DISABLE_G92_PERSISTENCE' is with regard to the current G52/G92 offset values being stored in the 'var' file.

With this there no longer any need to warn about unexpected offsets on startup like this: https://linuxcnc.org/docs/html/gcode/coordinates.html#sec:g52 g92 note