Skip to content

Commit

Permalink
Nonlinear Extrusion Control
Browse files Browse the repository at this point in the history
  • Loading branch information
thinkyhead committed Oct 11, 2023
1 parent 0b8b45b commit 75b8986
Show file tree
Hide file tree
Showing 4 changed files with 50 additions and 3 deletions.
2 changes: 1 addition & 1 deletion _gcode/M086.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ eeprom: true
codes: [ M86 ]
related: [ M87 ]
requires: HOTEND_IDLE_TIMEOUT
since: 2.1.3
since: 2.2.0

parameters:
-
Expand Down
2 changes: 1 addition & 1 deletion _gcode/M087.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ eeprom: true
codes: [ M87 ]
related: [ M86 ]
requires: HOTEND_IDLE_TIMEOUT
since: 2.1.3
since: 2.2.0

example:
-
Expand Down
2 changes: 1 addition & 1 deletion _gcode/M493.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ title: Fixed-Time Motion
brief: Enable/disable and configure Fixed-Time Motion, Linear Advance, and Input Shaping
author: thinkyhead

since: 2.1.3
since: 2.2.0
requires: FT_MOTION
group: motion
experimental: true
Expand Down
47 changes: 47 additions & 0 deletions _gcode/M592.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
---
tag: m0592
title: Nonlinear Extrusion Control
brief: Get or set Nonlinear Extrusion parameters
author: abortz, thinkyhead

since: 2.2.0
requires: NONLINEAR_EXTRUSION
group: motion

codes: [ M592 ]

parameters:
-
tag: A
optional: true
description: Set the Linear coefficient (Default 0.0)
values:
-
type: float
tag: coeff
-
tag: B
optional: true
description: Set the Quadratic coefficient (Default 0.0)
values:
-
type: float
tag: coeff
-
tag: C
optional: true
description: Set the Constant coefficient (Default 1.0)
values:
-
type: float
tag: coeff

examples:
-
pre: Set Linear, Quadratic coefficients to 0.2, 0.3
code: M592 A0.2 B0.3

---
Get or set nonlinear extrusion parameters.

Nonlinear Extrusion adjusts the amount of extrusion based on the instantaneous velocity of extrusion, as a multiplier. The amount of extrusion is multiplied by `max(C, C + A*v + B*v^2)` where `v` is extruder velocity in mm/s. Only adjusts forward extrusions, since those are the ones affected by backpressure.

0 comments on commit 75b8986

Please sign in to comment.