LinuxCNC M52

M52 is a LinuxCNC M-code that enables adaptive feed control; M52 P0 stops using adaptive feed. When enabled, an external input value is used together with the user interface feed override value and the commanded feed rate to set the actual feed rate. In LinuxCNC this input is the HAL pin motion.adaptive-feed, where 0 is equivalent to feed-hold.

Source checked5/5 values · 2026-10-26

Specification

1 source
Languagegcode
CodeM52
GroupAdaptive Feed Control
SyntaxM52 <P1>
DialectLinuxCNC

Parameters

NameDescription
P1Optional; M52 <P1> uses adaptive feed, while M52 P0 stops using adaptive feed.

Study notes

  • M52 <P1> uses adaptive feed; the P1 is optional.
  • M52 P0 stops using adaptive feed.
  • LinuxCNC uses the HAL pin motion.adaptive-feed as the external input for adaptive feed.
  • Values on motion.adaptive-feed should range from -1 (programmed speed in reverse) to 1 (full speed).
  • A value of 0 on motion.adaptive-feed is equivalent to feed-hold.
  • The intended use is for plasma cutters and wire spark eroders, but it is not limited to those applications.

Safety

  • Use of negative adaptive-feed for reverse run is a new feature and is not very well tested.
  • Values on motion.adaptive-feed should range from -1 to 1; 0 is equivalent to feed-hold.
↑↓ navigate↵ openesc close