Hello Striling
Thanks for that

sounds like a definitive source rather than the "I have a mate whose friend said that he read somewhere..."

seconds it is then

(might still have a configuration option for mS - and an Mcode to flip between the two)

is there a standard way of using unused Mcodes - or do you just get on with it?
for example I have already implemented:
M111 to set debug level
M226 pause until user hits Go button
M254 program start (initialise everything)
M255 request current command completion status