-
Notifications
You must be signed in to change notification settings - Fork 296
Feed Rate Override
Alden Hart edited this page Mar 18, 2017
·
6 revisions
WARNING: This function is experimental and not complete. Expect changes and refinements to the functionality an the interface functions. Check back for updates
PAGE STARTED: 18-Aug-15 - ash
- Requires g2 edge (089.02) or later
It's best to open g2 in USB dual-endpoint mode.
- On the mac you will see something like
usbmodemfd1311
andusbmodemfd1313
in the device list. - Open one of these first. This port becomes a Control and Data port.
- Open the other port. This becomes the Data port and the first becomes the Control port.
- Send Gcode to the data port
- Send everything else to the control port
- All responses flow back to the host over the control port. You do not need to monitor the data port
Turn on the enables before executing Gcode. Adjust the MFO factor during motion.
- Set master override enable to ON
{m48e:1}
- Set manual feed rate override ON
{mfoe:1}
- Enter / adjust manual feed rate override factor
{mfo:N}
where 0.05 < N < 2.00
- Does not affect moves already in the planner. Only affects incoming moves.
- Does not currently ramp between velocities - relies on jerk to limit rate-of-change.
- Please report and bugs or other comments to g2 Issues
- Override adjustments are not to be applied all at once, as this may not give the operator time to react to too-aggressive of a speedup during tooling.
- In order to provide time for the operator to react to the changes, a "ramping" function is to be used to apply the requested override over time. A linear ramping from one override setting to the latest requested setting will be used.
- At no point will an override allow any of the configured limitations to be violated. The override is only to adjust the incoming requested feedrate (and separately, the traverse rates). None of the jerk, chordal tolerance, etc. limits will be adjusted or violated.
- In order to facilitate applying an override, the values (velocity, jerk, etc) that are coming from the incoming gcode will be stored in the planner buffer unmodified, then the configured limitations for each axis will be applied and the resulting values will stored as well. This allows for the originally requested values to be adjusted, and the limitations to be honored, without a large cost for computation.
- When an overrider adjustment comes it (from the system managing the delay and override ramping), it will be applied to the planner buffer starting immediately after the currently running block of gcode. All moves from that point on in the plan will be adjusted.
- If the currently running block of gcode is long enough that the computation required won't cause an issue, then the current block of gcode may be split and the latter portion will be adjusted.
- No guarantees are made about the time between an override request and when it's applied. An override to a lower velocity is not to be considered a "safety" feature or to be expected to function in time to remove a dangerous situation.
Getting Started Pages
- Home
- What is g2core?
- Who uses g2core?
- Jerk-Controlled Motion
- Getting Started with g2core
- Connecting to g2core
- Configuring g2core
- Flashing g2core
- Troubleshooting
Reference Pages
- Gcodes
- Mcodes
- Text Mode
- JSON Communications
- GPIO Digital IO
- Alarms & Exceptions
- Power Management
- Coordinate Systems
- Status Reports
- Status Codes
- G2 Communications
- Tool Offsets and Selection
- Probing
- Feedhold, Resume, Job Kill
- Marlin Compatibility
- 9 Axis UVW Operation
- gQuintic Specs
Discussion Topics
- Roadmap
- GPIO for 1.X Releases
- Toolheads
- Raster Streaming Prototol
- g2core REST Interface
- Gcode Parsing
- G2 3DP Dialect
- Consensus Gcode
- Digital DRO
- Overview of Motion Processing
Developer Pages
- Development & Contribution
- Branching and Release - DRAFT
- Getting Started with g2core Development
- Project Structure & Motate
- Compiling G2
- OSX w/Xcode
- OSX/Linux Command Line
- Windows10 w/AtmelStudio7
- Debugging G2 on OSX
- Board and Machine Profiles
- Arduino Due Pinout
- Arduino DUE External Interfaces
- Diagnostics
- Debugging w/Motate Pins
- Development Troubleshooting
- g2core Communications
- Git Procedures
- Windows 10 / VMware 8 Issues
- Dual Endpoint USB Internals
- G2core License
- VSCode Setup
- Compatibility Axioms
- Wiki History