Merge pull request #8842 from thinkyhead/bf2_no_volumetrics
[2.0.x] Add option for NO_VOLUMETRICS
This commit is contained in:
commit
5a0f9605e3
46 changed files with 735 additions and 411 deletions
|
@ -97,7 +97,7 @@ script:
|
|||
- opt_enable NUM_SERVOS Z_ENDSTOP_SERVO_NR Z_SERVO_ANGLES DEACTIVATE_SERVOS_AFTER_MOVE
|
||||
- opt_set NUM_SERVOS 1
|
||||
- opt_enable AUTO_BED_LEVELING_3POINT DEBUG_LEVELING_FEATURE EEPROM_SETTINGS EEPROM_CHITCHAT
|
||||
- opt_enable_adv EXTENDED_CAPABILITIES_REPORT AUTO_REPORT_TEMPERATURES AUTOTEMP G38_PROBE_TARGET
|
||||
- opt_enable_adv NO_VOLUMETRICS EXTENDED_CAPABILITIES_REPORT AUTO_REPORT_TEMPERATURES AUTOTEMP G38_PROBE_TARGET
|
||||
- build_marlin_pio ${TRAVIS_BUILD_DIR} ${TEST_PLATFORM}
|
||||
#
|
||||
# Test MESH_BED_LEVELING feature, with LCD
|
||||
|
|
|
@ -1365,13 +1365,20 @@
|
|||
#define EXTENDED_CAPABILITIES_REPORT
|
||||
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
* Disable all Volumetric extrusion options
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
//#define NO_VOLUMETRICS
|
||||
|
||||
#if DISABLED(NO_VOLUMETRICS)
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Enable this option for a leaner build of Marlin that removes all
|
||||
|
|
|
@ -1365,13 +1365,20 @@
|
|||
#define EXTENDED_CAPABILITIES_REPORT
|
||||
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
* Disable all Volumetric extrusion options
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
//#define NO_VOLUMETRICS
|
||||
|
||||
#if DISABLED(NO_VOLUMETRICS)
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Enable this option for a leaner build of Marlin that removes all
|
||||
|
|
|
@ -1365,13 +1365,20 @@
|
|||
#define EXTENDED_CAPABILITIES_REPORT
|
||||
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
* Disable all Volumetric extrusion options
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
//#define NO_VOLUMETRICS
|
||||
|
||||
#if DISABLED(NO_VOLUMETRICS)
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Enable this option for a leaner build of Marlin that removes all
|
||||
|
|
|
@ -1365,13 +1365,20 @@
|
|||
#define EXTENDED_CAPABILITIES_REPORT
|
||||
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
* Disable all Volumetric extrusion options
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
//#define NO_VOLUMETRICS
|
||||
|
||||
#if DISABLED(NO_VOLUMETRICS)
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Enable this option for a leaner build of Marlin that removes all
|
||||
|
|
|
@ -1365,13 +1365,20 @@
|
|||
#define EXTENDED_CAPABILITIES_REPORT
|
||||
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
* Disable all Volumetric extrusion options
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
//#define NO_VOLUMETRICS
|
||||
|
||||
#if DISABLED(NO_VOLUMETRICS)
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Enable this option for a leaner build of Marlin that removes all
|
||||
|
|
|
@ -1366,13 +1366,20 @@
|
|||
#define EXTENDED_CAPABILITIES_REPORT
|
||||
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
* Disable all Volumetric extrusion options
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
//#define NO_VOLUMETRICS
|
||||
|
||||
#if DISABLED(NO_VOLUMETRICS)
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Enable this option for a leaner build of Marlin that removes all
|
||||
|
|
|
@ -1365,13 +1365,20 @@
|
|||
#define EXTENDED_CAPABILITIES_REPORT
|
||||
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
* Disable all Volumetric extrusion options
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
//#define NO_VOLUMETRICS
|
||||
|
||||
#if DISABLED(NO_VOLUMETRICS)
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Enable this option for a leaner build of Marlin that removes all
|
||||
|
|
|
@ -1365,13 +1365,20 @@
|
|||
#define EXTENDED_CAPABILITIES_REPORT
|
||||
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
* Disable all Volumetric extrusion options
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
//#define NO_VOLUMETRICS
|
||||
|
||||
#if DISABLED(NO_VOLUMETRICS)
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Enable this option for a leaner build of Marlin that removes all
|
||||
|
|
|
@ -1365,13 +1365,20 @@
|
|||
#define EXTENDED_CAPABILITIES_REPORT
|
||||
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
* Disable all Volumetric extrusion options
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
//#define NO_VOLUMETRICS
|
||||
|
||||
#if DISABLED(NO_VOLUMETRICS)
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Enable this option for a leaner build of Marlin that removes all
|
||||
|
|
|
@ -1365,13 +1365,20 @@
|
|||
#define EXTENDED_CAPABILITIES_REPORT
|
||||
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
* Disable all Volumetric extrusion options
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
//#define NO_VOLUMETRICS
|
||||
|
||||
#if DISABLED(NO_VOLUMETRICS)
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Enable this option for a leaner build of Marlin that removes all
|
||||
|
|
|
@ -1368,13 +1368,20 @@
|
|||
#define EXTENDED_CAPABILITIES_REPORT
|
||||
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
* Disable all Volumetric extrusion options
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
//#define NO_VOLUMETRICS
|
||||
|
||||
#if DISABLED(NO_VOLUMETRICS)
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Enable this option for a leaner build of Marlin that removes all
|
||||
|
|
|
@ -1365,13 +1365,20 @@
|
|||
#define EXTENDED_CAPABILITIES_REPORT
|
||||
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
* Disable all Volumetric extrusion options
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
//#define NO_VOLUMETRICS
|
||||
|
||||
#if DISABLED(NO_VOLUMETRICS)
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Enable this option for a leaner build of Marlin that removes all
|
||||
|
|
|
@ -1365,13 +1365,20 @@
|
|||
#define EXTENDED_CAPABILITIES_REPORT
|
||||
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
* Disable all Volumetric extrusion options
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
//#define NO_VOLUMETRICS
|
||||
|
||||
#if DISABLED(NO_VOLUMETRICS)
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Enable this option for a leaner build of Marlin that removes all
|
||||
|
|
|
@ -1365,13 +1365,20 @@
|
|||
//#define EXTENDED_CAPABILITIES_REPORT
|
||||
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
* Disable all Volumetric extrusion options
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
//#define NO_VOLUMETRICS
|
||||
|
||||
#if DISABLED(NO_VOLUMETRICS)
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Enable this option for a leaner build of Marlin that removes all
|
||||
|
|
|
@ -1337,13 +1337,20 @@
|
|||
#define EXTENDED_CAPABILITIES_REPORT
|
||||
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
* Disable all Volumetric extrusion options
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
//#define NO_VOLUMETRICS
|
||||
|
||||
#if DISABLED(NO_VOLUMETRICS)
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Enable this option for a leaner build of Marlin that removes all
|
||||
|
|
|
@ -1362,13 +1362,20 @@
|
|||
#define EXTENDED_CAPABILITIES_REPORT
|
||||
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
* Disable all Volumetric extrusion options
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
//#define NO_VOLUMETRICS
|
||||
|
||||
#if DISABLED(NO_VOLUMETRICS)
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Enable this option for a leaner build of Marlin that removes all
|
||||
|
|
|
@ -1365,13 +1365,20 @@
|
|||
#define EXTENDED_CAPABILITIES_REPORT
|
||||
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
* Disable all Volumetric extrusion options
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
//#define NO_VOLUMETRICS
|
||||
|
||||
#if DISABLED(NO_VOLUMETRICS)
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Enable this option for a leaner build of Marlin that removes all
|
||||
|
|
|
@ -1366,13 +1366,20 @@
|
|||
#define EXTENDED_CAPABILITIES_REPORT
|
||||
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
* Disable all Volumetric extrusion options
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
//#define NO_VOLUMETRICS
|
||||
|
||||
#if DISABLED(NO_VOLUMETRICS)
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Enable this option for a leaner build of Marlin that removes all
|
||||
|
|
|
@ -1373,13 +1373,20 @@
|
|||
#define EXTENDED_CAPABILITIES_REPORT
|
||||
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
* Disable all Volumetric extrusion options
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
//#define NO_VOLUMETRICS
|
||||
|
||||
#if DISABLED(NO_VOLUMETRICS)
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Enable this option for a leaner build of Marlin that removes all
|
||||
|
|
|
@ -1365,13 +1365,20 @@
|
|||
#define EXTENDED_CAPABILITIES_REPORT
|
||||
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
* Disable all Volumetric extrusion options
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
//#define NO_VOLUMETRICS
|
||||
|
||||
#if DISABLED(NO_VOLUMETRICS)
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Enable this option for a leaner build of Marlin that removes all
|
||||
|
|
|
@ -1365,13 +1365,20 @@
|
|||
#define EXTENDED_CAPABILITIES_REPORT
|
||||
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
* Disable all Volumetric extrusion options
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
//#define NO_VOLUMETRICS
|
||||
|
||||
#if DISABLED(NO_VOLUMETRICS)
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Enable this option for a leaner build of Marlin that removes all
|
||||
|
|
|
@ -1354,13 +1354,20 @@
|
|||
#define EXTENDED_CAPABILITIES_REPORT
|
||||
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
* Disable all Volumetric extrusion options
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
//#define NO_VOLUMETRICS
|
||||
|
||||
#if DISABLED(NO_VOLUMETRICS)
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Enable this option for a leaner build of Marlin that removes all
|
||||
|
|
|
@ -1365,13 +1365,20 @@
|
|||
#define EXTENDED_CAPABILITIES_REPORT
|
||||
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
* Disable all Volumetric extrusion options
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
//#define NO_VOLUMETRICS
|
||||
|
||||
#if DISABLED(NO_VOLUMETRICS)
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Enable this option for a leaner build of Marlin that removes all
|
||||
|
|
|
@ -1365,13 +1365,20 @@
|
|||
#define EXTENDED_CAPABILITIES_REPORT
|
||||
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
* Disable all Volumetric extrusion options
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
//#define NO_VOLUMETRICS
|
||||
|
||||
#if DISABLED(NO_VOLUMETRICS)
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Enable this option for a leaner build of Marlin that removes all
|
||||
|
|
|
@ -1376,13 +1376,20 @@
|
|||
#define EXTENDED_CAPABILITIES_REPORT
|
||||
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
* Disable all Volumetric extrusion options
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
//#define NO_VOLUMETRICS
|
||||
|
||||
#if DISABLED(NO_VOLUMETRICS)
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Enable this option for a leaner build of Marlin that removes all
|
||||
|
|
|
@ -1366,13 +1366,20 @@
|
|||
#define EXTENDED_CAPABILITIES_REPORT
|
||||
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
* Disable all Volumetric extrusion options
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
//#define NO_VOLUMETRICS
|
||||
|
||||
#if DISABLED(NO_VOLUMETRICS)
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Enable this option for a leaner build of Marlin that removes all
|
||||
|
|
|
@ -1367,13 +1367,20 @@
|
|||
#define EXTENDED_CAPABILITIES_REPORT
|
||||
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
* Disable all Volumetric extrusion options
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
//#define NO_VOLUMETRICS
|
||||
|
||||
#if DISABLED(NO_VOLUMETRICS)
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Enable this option for a leaner build of Marlin that removes all
|
||||
|
|
|
@ -1367,13 +1367,20 @@
|
|||
#define EXTENDED_CAPABILITIES_REPORT
|
||||
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
* Disable all Volumetric extrusion options
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
//#define NO_VOLUMETRICS
|
||||
|
||||
#if DISABLED(NO_VOLUMETRICS)
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Enable this option for a leaner build of Marlin that removes all
|
||||
|
|
|
@ -1367,13 +1367,20 @@
|
|||
#define EXTENDED_CAPABILITIES_REPORT
|
||||
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
* Disable all Volumetric extrusion options
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
//#define NO_VOLUMETRICS
|
||||
|
||||
#if DISABLED(NO_VOLUMETRICS)
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Enable this option for a leaner build of Marlin that removes all
|
||||
|
|
|
@ -1367,13 +1367,20 @@
|
|||
#define EXTENDED_CAPABILITIES_REPORT
|
||||
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
* Disable all Volumetric extrusion options
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
//#define NO_VOLUMETRICS
|
||||
|
||||
#if DISABLED(NO_VOLUMETRICS)
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Enable this option for a leaner build of Marlin that removes all
|
||||
|
|
|
@ -1367,13 +1367,20 @@
|
|||
#define EXTENDED_CAPABILITIES_REPORT
|
||||
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
* Disable all Volumetric extrusion options
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
//#define NO_VOLUMETRICS
|
||||
|
||||
#if DISABLED(NO_VOLUMETRICS)
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Enable this option for a leaner build of Marlin that removes all
|
||||
|
|
|
@ -1372,13 +1372,20 @@
|
|||
#define EXTENDED_CAPABILITIES_REPORT
|
||||
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
* Disable all Volumetric extrusion options
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
//#define NO_VOLUMETRICS
|
||||
|
||||
#if DISABLED(NO_VOLUMETRICS)
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Enable this option for a leaner build of Marlin that removes all
|
||||
|
|
|
@ -1367,13 +1367,20 @@
|
|||
#define EXTENDED_CAPABILITIES_REPORT
|
||||
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
* Disable all Volumetric extrusion options
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
//#define NO_VOLUMETRICS
|
||||
|
||||
#if DISABLED(NO_VOLUMETRICS)
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Enable this option for a leaner build of Marlin that removes all
|
||||
|
|
|
@ -1365,13 +1365,20 @@
|
|||
#define EXTENDED_CAPABILITIES_REPORT
|
||||
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
* Disable all Volumetric extrusion options
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
//#define NO_VOLUMETRICS
|
||||
|
||||
#if DISABLED(NO_VOLUMETRICS)
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Enable this option for a leaner build of Marlin that removes all
|
||||
|
|
|
@ -1365,13 +1365,20 @@
|
|||
#define EXTENDED_CAPABILITIES_REPORT
|
||||
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
* Disable all Volumetric extrusion options
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
//#define NO_VOLUMETRICS
|
||||
|
||||
#if DISABLED(NO_VOLUMETRICS)
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Enable this option for a leaner build of Marlin that removes all
|
||||
|
|
|
@ -1365,13 +1365,20 @@
|
|||
#define EXTENDED_CAPABILITIES_REPORT
|
||||
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
* Disable all Volumetric extrusion options
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
//#define NO_VOLUMETRICS
|
||||
|
||||
#if DISABLED(NO_VOLUMETRICS)
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Enable this option for a leaner build of Marlin that removes all
|
||||
|
|
|
@ -1366,13 +1366,20 @@
|
|||
#define EXTENDED_CAPABILITIES_REPORT
|
||||
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
* Disable all Volumetric extrusion options
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
//#define NO_VOLUMETRICS
|
||||
|
||||
#if DISABLED(NO_VOLUMETRICS)
|
||||
/**
|
||||
* Volumetric extrusion default state
|
||||
* Activate to make volumetric extrusion the default method,
|
||||
* with DEFAULT_NOMINAL_FILAMENT_DIA as the default diameter.
|
||||
*
|
||||
* M200 D0 to disable, M200 Dn to set a new diameter.
|
||||
*/
|
||||
//#define VOLUMETRIC_DEFAULT_ON
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Enable this option for a leaner build of Marlin that removes all
|
||||
|
|
|
@ -24,25 +24,29 @@
|
|||
#include "../../Marlin.h"
|
||||
#include "../../module/planner.h"
|
||||
|
||||
/**
|
||||
* M200: Set filament diameter and set E axis units to cubic units
|
||||
*
|
||||
* T<extruder> - Optional extruder number. Current extruder if omitted.
|
||||
* D<linear> - Diameter of the filament. Use "D0" to switch back to linear units on the E axis.
|
||||
*/
|
||||
void GcodeSuite::M200() {
|
||||
#if DISABLED(NO_VOLUMETRICS)
|
||||
|
||||
if (get_target_extruder_from_command()) return;
|
||||
/**
|
||||
* M200: Set filament diameter and set E axis units to cubic units
|
||||
*
|
||||
* T<extruder> - Optional extruder number. Current extruder if omitted.
|
||||
* D<linear> - Diameter of the filament. Use "D0" to switch back to linear units on the E axis.
|
||||
*/
|
||||
void GcodeSuite::M200() {
|
||||
|
||||
if (parser.seen('D')) {
|
||||
// setting any extruder filament size disables volumetric on the assumption that
|
||||
// slicers either generate in extruder values as cubic mm or as as filament feeds
|
||||
// for all extruders
|
||||
if ( (parser.volumetric_enabled = (parser.value_linear_units() != 0.0)) )
|
||||
planner.set_filament_size(target_extruder, parser.value_linear_units());
|
||||
if (get_target_extruder_from_command()) return;
|
||||
|
||||
if (parser.seen('D')) {
|
||||
// setting any extruder filament size disables volumetric on the assumption that
|
||||
// slicers either generate in extruder values as cubic mm or as as filament feeds
|
||||
// for all extruders
|
||||
if ( (parser.volumetric_enabled = (parser.value_linear_units() != 0.0)) )
|
||||
planner.set_filament_size(target_extruder, parser.value_linear_units());
|
||||
}
|
||||
planner.calculate_volumetric_multipliers();
|
||||
}
|
||||
planner.calculate_volumetric_multipliers();
|
||||
}
|
||||
|
||||
#endif // !NO_VOLUMETRICS
|
||||
|
||||
/**
|
||||
* M201: Set max acceleration in units/s^2 for print moves (M201 X1000 Y1000)
|
||||
|
|
|
@ -465,9 +465,9 @@ void GcodeSuite::process_parsed_command() {
|
|||
#endif
|
||||
#endif
|
||||
|
||||
case 200: // M200: Set filament diameter, E to cubic units
|
||||
M200();
|
||||
break;
|
||||
#if DISABLED(NO_VOLUMETRICS)
|
||||
case 200: M200(); break; // M200: Set filament diameter, E to cubic units
|
||||
#endif
|
||||
|
||||
case 201: M201(); break; // M201: Set max acceleration for print moves (units/s^2)
|
||||
|
||||
|
|
|
@ -23,6 +23,14 @@
|
|||
#include "../gcode.h"
|
||||
#include "../../inc/MarlinConfig.h"
|
||||
|
||||
#if ENABLED(EXTENDED_CAPABILITIES_REPORT)
|
||||
static void cap_line(const char * const name, bool ena=false) {
|
||||
SERIAL_PROTOCOLPGM("Cap:");
|
||||
serialprintPGM(name);
|
||||
SERIAL_PROTOCOLLN(int(ena ? 1 : 0));
|
||||
}
|
||||
#endif
|
||||
|
||||
/**
|
||||
* M115: Capabilities string
|
||||
*/
|
||||
|
@ -32,86 +40,92 @@ void GcodeSuite::M115() {
|
|||
#if ENABLED(EXTENDED_CAPABILITIES_REPORT)
|
||||
|
||||
// SERIAL_XON_XOFF
|
||||
#if ENABLED(SERIAL_XON_XOFF)
|
||||
SERIAL_PROTOCOLLNPGM("Cap:SERIAL_XON_XOFF:1");
|
||||
#else
|
||||
SERIAL_PROTOCOLLNPGM("Cap:SERIAL_XON_XOFF:0");
|
||||
#endif
|
||||
cap_line(PSTR("SERIAL_XON_XOFF")
|
||||
#if ENABLED(SERIAL_XON_XOFF)
|
||||
, true
|
||||
#endif
|
||||
);
|
||||
|
||||
// EEPROM (M500, M501)
|
||||
#if ENABLED(EEPROM_SETTINGS)
|
||||
SERIAL_PROTOCOLLNPGM("Cap:EEPROM:1");
|
||||
#else
|
||||
SERIAL_PROTOCOLLNPGM("Cap:EEPROM:0");
|
||||
#endif
|
||||
cap_line(PSTR("EEPROM")
|
||||
#if ENABLED(EEPROM_SETTINGS)
|
||||
, true
|
||||
#endif
|
||||
);
|
||||
|
||||
// Volumetric Extrusion (M200)
|
||||
cap_line(PSTR("VOLUMETRIC")
|
||||
#if DISABLED(NO_VOLUMETRICS)
|
||||
, true
|
||||
#endif
|
||||
);
|
||||
|
||||
// AUTOREPORT_TEMP (M155)
|
||||
#if ENABLED(AUTO_REPORT_TEMPERATURES)
|
||||
SERIAL_PROTOCOLLNPGM("Cap:AUTOREPORT_TEMP:1");
|
||||
#else
|
||||
SERIAL_PROTOCOLLNPGM("Cap:AUTOREPORT_TEMP:0");
|
||||
#endif
|
||||
cap_line(PSTR("AUTOREPORT_TEMP")
|
||||
#if ENABLED(AUTO_REPORT_TEMPERATURES)
|
||||
, true
|
||||
#endif
|
||||
);
|
||||
|
||||
// PROGRESS (M530 S L, M531 <file>, M532 X L)
|
||||
SERIAL_PROTOCOLLNPGM("Cap:PROGRESS:0");
|
||||
cap_line(PSTR("PROGRESS"));
|
||||
|
||||
// Print Job timer M75, M76, M77
|
||||
SERIAL_PROTOCOLLNPGM("Cap:PRINT_JOB:1");
|
||||
cap_line(PSTR("PRINT_JOB"), true);
|
||||
|
||||
// AUTOLEVEL (G29)
|
||||
#if HAS_AUTOLEVEL
|
||||
SERIAL_PROTOCOLLNPGM("Cap:AUTOLEVEL:1");
|
||||
#else
|
||||
SERIAL_PROTOCOLLNPGM("Cap:AUTOLEVEL:0");
|
||||
#endif
|
||||
cap_line(PSTR("AUTOLEVEL")
|
||||
#if HAS_AUTOLEVEL
|
||||
, true
|
||||
#endif
|
||||
);
|
||||
|
||||
// Z_PROBE (G30)
|
||||
#if HAS_BED_PROBE
|
||||
SERIAL_PROTOCOLLNPGM("Cap:Z_PROBE:1");
|
||||
#else
|
||||
SERIAL_PROTOCOLLNPGM("Cap:Z_PROBE:0");
|
||||
#endif
|
||||
cap_line(PSTR("Z_PROBE")
|
||||
#if HAS_BED_PROBE
|
||||
, true
|
||||
#endif
|
||||
);
|
||||
|
||||
// MESH_REPORT (M420 V)
|
||||
#if HAS_LEVELING
|
||||
SERIAL_PROTOCOLLNPGM("Cap:LEVELING_DATA:1");
|
||||
#else
|
||||
SERIAL_PROTOCOLLNPGM("Cap:LEVELING_DATA:0");
|
||||
#endif
|
||||
cap_line(PSTR("LEVELING_DATA")
|
||||
#if HAS_LEVELING
|
||||
, true
|
||||
#endif
|
||||
);
|
||||
|
||||
// BUILD_PERCENT (M73)
|
||||
#if ENABLED(LCD_SET_PROGRESS_MANUALLY)
|
||||
SERIAL_PROTOCOLLNPGM("Cap:BUILD_PERCENT:1");
|
||||
#else
|
||||
SERIAL_PROTOCOLLNPGM("Cap:BUILD_PERCENT:0");
|
||||
#endif
|
||||
cap_line(PSTR("BUILD_PERCENT")
|
||||
#if ENABLED(LCD_SET_PROGRESS_MANUALLY)
|
||||
, true
|
||||
#endif
|
||||
);
|
||||
|
||||
// SOFTWARE_POWER (M80, M81)
|
||||
#if HAS_POWER_SWITCH
|
||||
SERIAL_PROTOCOLLNPGM("Cap:SOFTWARE_POWER:1");
|
||||
#else
|
||||
SERIAL_PROTOCOLLNPGM("Cap:SOFTWARE_POWER:0");
|
||||
#endif
|
||||
cap_line(PSTR("SOFTWARE_POWER")
|
||||
#if HAS_POWER_SWITCH
|
||||
, true
|
||||
#endif
|
||||
);
|
||||
|
||||
// CASE LIGHTS (M355)
|
||||
#if HAS_CASE_LIGHT
|
||||
SERIAL_PROTOCOLLNPGM("Cap:TOGGLE_LIGHTS:1");
|
||||
if (USEABLE_HARDWARE_PWM(CASE_LIGHT_PIN)) {
|
||||
SERIAL_PROTOCOLLNPGM("Cap:CASE_LIGHT_BRIGHTNESS:1");
|
||||
}
|
||||
else
|
||||
SERIAL_PROTOCOLLNPGM("Cap:CASE_LIGHT_BRIGHTNESS:0");
|
||||
#else
|
||||
SERIAL_PROTOCOLLNPGM("Cap:TOGGLE_LIGHTS:0");
|
||||
SERIAL_PROTOCOLLNPGM("Cap:CASE_LIGHT_BRIGHTNESS:0");
|
||||
#endif
|
||||
cap_line(PSTR("TOGGLE_LIGHTS")
|
||||
#if HAS_CASE_LIGHT
|
||||
, true
|
||||
#endif
|
||||
);
|
||||
cap_line(PSTR("CASE_LIGHT_BRIGHTNESS")
|
||||
#if HAS_CASE_LIGHT
|
||||
, USEABLE_HARDWARE_PWM(CASE_LIGHT_PIN)
|
||||
#endif
|
||||
);
|
||||
|
||||
// EMERGENCY_PARSER (M108, M112, M410)
|
||||
#if ENABLED(EMERGENCY_PARSER)
|
||||
SERIAL_PROTOCOLLNPGM("Cap:EMERGENCY_PARSER:1");
|
||||
#else
|
||||
SERIAL_PROTOCOLLNPGM("Cap:EMERGENCY_PARSER:0");
|
||||
#endif
|
||||
cap_line(PSTR("EMERGENCY_PARSER")
|
||||
#if ENABLED(EMERGENCY_PARSER)
|
||||
, true
|
||||
#endif
|
||||
);
|
||||
|
||||
#endif // EXTENDED_CAPABILITIES_REPORT
|
||||
}
|
||||
|
|
|
@ -894,15 +894,19 @@ static_assert(1 >= 0
|
|||
*/
|
||||
#if ENABLED(DISABLE_X) || ENABLED(DISABLE_Y) || ENABLED(DISABLE_Z)
|
||||
#if ENABLED(HOME_AFTER_DEACTIVATE) || ENABLED(Z_SAFE_HOMING)
|
||||
#error "DISABLE_[XYZ] not compatible with HOME_AFTER_DEACTIVATE or Z_SAFE_HOMING."
|
||||
#error "DISABLE_[XYZ] is not compatible with HOME_AFTER_DEACTIVATE or Z_SAFE_HOMING."
|
||||
#endif
|
||||
#endif // DISABLE_[XYZ]
|
||||
|
||||
/**
|
||||
* Filament Width Sensor
|
||||
*/
|
||||
#if ENABLED(FILAMENT_WIDTH_SENSOR) && !HAS_FILAMENT_WIDTH_SENSOR
|
||||
#error "FILAMENT_WIDTH_SENSOR requires a FILWIDTH_PIN to be defined."
|
||||
#if ENABLED(FILAMENT_WIDTH_SENSOR)
|
||||
#if !HAS_FILAMENT_WIDTH_SENSOR
|
||||
#error "FILAMENT_WIDTH_SENSOR requires a FILWIDTH_PIN to be defined."
|
||||
#elif ENABLED(NO_VOLUMETRICS)
|
||||
#error "FILAMENT_WIDTH_SENSOR requires NO_VOLUMETRICS to be disabled."
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
|
|
@ -3636,26 +3636,30 @@ void kill_screen(const char* lcd_msg) {
|
|||
MENU_ITEM_EDIT(float3, MSG_ADVANCE_K, &planner.extruder_advance_k, 0, 999);
|
||||
#endif
|
||||
|
||||
MENU_ITEM_EDIT_CALLBACK(bool, MSG_VOLUMETRIC_ENABLED, &parser.volumetric_enabled, planner.calculate_volumetric_multipliers);
|
||||
#if DISABLED(NO_VOLUMETRICS)
|
||||
|
||||
if (parser.volumetric_enabled) {
|
||||
#if EXTRUDERS == 1
|
||||
MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float43, MSG_FILAMENT_DIAM, &planner.filament_size[0], 1.5, 3.25, planner.calculate_volumetric_multipliers);
|
||||
#else // EXTRUDERS > 1
|
||||
MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float43, MSG_FILAMENT_DIAM, &planner.filament_size[active_extruder], 1.5, 3.25, planner.calculate_volumetric_multipliers);
|
||||
MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float43, MSG_FILAMENT_DIAM MSG_DIAM_E1, &planner.filament_size[0], 1.5, 3.25, planner.calculate_volumetric_multipliers);
|
||||
MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float43, MSG_FILAMENT_DIAM MSG_DIAM_E2, &planner.filament_size[1], 1.5, 3.25, planner.calculate_volumetric_multipliers);
|
||||
#if EXTRUDERS > 2
|
||||
MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float43, MSG_FILAMENT_DIAM MSG_DIAM_E3, &planner.filament_size[2], 1.5, 3.25, planner.calculate_volumetric_multipliers);
|
||||
#if EXTRUDERS > 3
|
||||
MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float43, MSG_FILAMENT_DIAM MSG_DIAM_E4, &planner.filament_size[3], 1.5, 3.25, planner.calculate_volumetric_multipliers);
|
||||
#if EXTRUDERS > 4
|
||||
MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float43, MSG_FILAMENT_DIAM MSG_DIAM_E5, &planner.filament_size[4], 1.5, 3.25, planner.calculate_volumetric_multipliers);
|
||||
#endif // EXTRUDERS > 4
|
||||
#endif // EXTRUDERS > 3
|
||||
#endif // EXTRUDERS > 2
|
||||
#endif // EXTRUDERS > 1
|
||||
}
|
||||
MENU_ITEM_EDIT_CALLBACK(bool, MSG_VOLUMETRIC_ENABLED, &parser.volumetric_enabled, planner.calculate_volumetric_multipliers);
|
||||
|
||||
if (parser.volumetric_enabled) {
|
||||
#if EXTRUDERS == 1
|
||||
MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float43, MSG_FILAMENT_DIAM, &planner.filament_size[0], 1.5, 3.25, planner.calculate_volumetric_multipliers);
|
||||
#else // EXTRUDERS > 1
|
||||
MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float43, MSG_FILAMENT_DIAM, &planner.filament_size[active_extruder], 1.5, 3.25, planner.calculate_volumetric_multipliers);
|
||||
MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float43, MSG_FILAMENT_DIAM MSG_DIAM_E1, &planner.filament_size[0], 1.5, 3.25, planner.calculate_volumetric_multipliers);
|
||||
MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float43, MSG_FILAMENT_DIAM MSG_DIAM_E2, &planner.filament_size[1], 1.5, 3.25, planner.calculate_volumetric_multipliers);
|
||||
#if EXTRUDERS > 2
|
||||
MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float43, MSG_FILAMENT_DIAM MSG_DIAM_E3, &planner.filament_size[2], 1.5, 3.25, planner.calculate_volumetric_multipliers);
|
||||
#if EXTRUDERS > 3
|
||||
MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float43, MSG_FILAMENT_DIAM MSG_DIAM_E4, &planner.filament_size[3], 1.5, 3.25, planner.calculate_volumetric_multipliers);
|
||||
#if EXTRUDERS > 4
|
||||
MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float43, MSG_FILAMENT_DIAM MSG_DIAM_E5, &planner.filament_size[4], 1.5, 3.25, planner.calculate_volumetric_multipliers);
|
||||
#endif // EXTRUDERS > 4
|
||||
#endif // EXTRUDERS > 3
|
||||
#endif // EXTRUDERS > 2
|
||||
#endif // EXTRUDERS > 1
|
||||
}
|
||||
|
||||
#endif // !NO_VOLUMETRICS
|
||||
|
||||
END_MENU();
|
||||
}
|
||||
|
|
|
@ -239,7 +239,9 @@ void MarlinSettings::postprocess() {
|
|||
thermalManager.updatePID();
|
||||
#endif
|
||||
|
||||
planner.calculate_volumetric_multipliers();
|
||||
#if DISABLED(NO_VOLUMETRICS)
|
||||
planner.calculate_volumetric_multipliers();
|
||||
#endif
|
||||
|
||||
#if HAS_HOME_OFFSET || ENABLED(DUAL_X_CARRIAGE)
|
||||
// Software endstops depend on home_offset
|
||||
|
@ -538,13 +540,20 @@ void MarlinSettings::postprocess() {
|
|||
EEPROM_WRITE(fwretract.swap_retract_recover_feedrate_mm_s);
|
||||
#endif
|
||||
|
||||
EEPROM_WRITE(parser.volumetric_enabled);
|
||||
//
|
||||
// Volumetric & Filament Size
|
||||
//
|
||||
#if DISABLED(NO_VOLUMETRICS)
|
||||
|
||||
// Save filament sizes
|
||||
for (uint8_t q = 0; q < MAX_EXTRUDERS; q++) {
|
||||
if (q < COUNT(planner.filament_size)) dummy = planner.filament_size[q];
|
||||
EEPROM_WRITE(dummy);
|
||||
}
|
||||
EEPROM_WRITE(parser.volumetric_enabled);
|
||||
|
||||
// Save filament sizes
|
||||
for (uint8_t q = 0; q < MAX_EXTRUDERS; q++) {
|
||||
if (q < COUNT(planner.filament_size)) dummy = planner.filament_size[q];
|
||||
EEPROM_WRITE(dummy);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
// Save TMC2130 or TMC2208 Configuration, and placeholder values
|
||||
uint16_t val;
|
||||
|
@ -1028,12 +1037,16 @@ void MarlinSettings::postprocess() {
|
|||
//
|
||||
// Volumetric & Filament Size
|
||||
//
|
||||
#if DISABLED(NO_VOLUMETRICS)
|
||||
|
||||
EEPROM_READ(parser.volumetric_enabled);
|
||||
for (uint8_t q = 0; q < MAX_EXTRUDERS; q++) {
|
||||
EEPROM_READ(dummy);
|
||||
if (q < COUNT(planner.filament_size)) planner.filament_size[q] = dummy;
|
||||
}
|
||||
EEPROM_READ(parser.volumetric_enabled);
|
||||
|
||||
for (uint8_t q = 0; q < MAX_EXTRUDERS; q++) {
|
||||
EEPROM_READ(dummy);
|
||||
if (q < COUNT(planner.filament_size)) planner.filament_size[q] = dummy;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
//
|
||||
// TMC2130 Stepper Current
|
||||
|
@ -1484,15 +1497,19 @@ void MarlinSettings::reset() {
|
|||
fwretract.reset();
|
||||
#endif
|
||||
|
||||
parser.volumetric_enabled =
|
||||
#if ENABLED(VOLUMETRIC_DEFAULT_ON)
|
||||
true
|
||||
#else
|
||||
false
|
||||
#endif
|
||||
;
|
||||
for (uint8_t q = 0; q < COUNT(planner.filament_size); q++)
|
||||
planner.filament_size[q] = DEFAULT_NOMINAL_FILAMENT_DIA;
|
||||
#if DISABLED(NO_VOLUMETRICS)
|
||||
|
||||
parser.volumetric_enabled =
|
||||
#if ENABLED(VOLUMETRIC_DEFAULT_ON)
|
||||
true
|
||||
#else
|
||||
false
|
||||
#endif
|
||||
;
|
||||
for (uint8_t q = 0; q < COUNT(planner.filament_size); q++)
|
||||
planner.filament_size[q] = DEFAULT_NOMINAL_FILAMENT_DIA;
|
||||
|
||||
#endif
|
||||
|
||||
endstops.enable_globally(
|
||||
#if ENABLED(ENDSTOPS_ALWAYS_ON_DEFAULT)
|
||||
|
@ -1630,46 +1647,50 @@ void MarlinSettings::reset() {
|
|||
|
||||
SERIAL_EOL();
|
||||
|
||||
/**
|
||||
* Volumetric extrusion M200
|
||||
*/
|
||||
if (!forReplay) {
|
||||
CONFIG_ECHO_START;
|
||||
SERIAL_ECHOPGM("Filament settings:");
|
||||
if (parser.volumetric_enabled)
|
||||
SERIAL_EOL();
|
||||
else
|
||||
SERIAL_ECHOLNPGM(" Disabled");
|
||||
}
|
||||
#if DISABLED(NO_VOLUMETRICS)
|
||||
|
||||
CONFIG_ECHO_START;
|
||||
SERIAL_ECHOPAIR(" M200 D", LINEAR_UNIT(planner.filament_size[0]));
|
||||
SERIAL_EOL();
|
||||
#if EXTRUDERS > 1
|
||||
CONFIG_ECHO_START;
|
||||
SERIAL_ECHOPAIR(" M200 T1 D", LINEAR_UNIT(planner.filament_size[1]));
|
||||
SERIAL_EOL();
|
||||
#if EXTRUDERS > 2
|
||||
/**
|
||||
* Volumetric extrusion M200
|
||||
*/
|
||||
if (!forReplay) {
|
||||
CONFIG_ECHO_START;
|
||||
SERIAL_ECHOPAIR(" M200 T2 D", LINEAR_UNIT(planner.filament_size[2]));
|
||||
SERIAL_EOL();
|
||||
#if EXTRUDERS > 3
|
||||
CONFIG_ECHO_START;
|
||||
SERIAL_ECHOPAIR(" M200 T3 D", LINEAR_UNIT(planner.filament_size[3]));
|
||||
SERIAL_ECHOPGM("Filament settings:");
|
||||
if (parser.volumetric_enabled)
|
||||
SERIAL_EOL();
|
||||
#if EXTRUDERS > 4
|
||||
CONFIG_ECHO_START;
|
||||
SERIAL_ECHOPAIR(" M200 T4 D", LINEAR_UNIT(planner.filament_size[4]));
|
||||
SERIAL_EOL();
|
||||
#endif // EXTRUDERS > 4
|
||||
#endif // EXTRUDERS > 3
|
||||
#endif // EXTRUDERS > 2
|
||||
#endif // EXTRUDERS > 1
|
||||
else
|
||||
SERIAL_ECHOLNPGM(" Disabled");
|
||||
}
|
||||
|
||||
if (!parser.volumetric_enabled) {
|
||||
CONFIG_ECHO_START;
|
||||
SERIAL_ECHOLNPGM(" M200 D0");
|
||||
}
|
||||
SERIAL_ECHOPAIR(" M200 D", LINEAR_UNIT(planner.filament_size[0]));
|
||||
SERIAL_EOL();
|
||||
#if EXTRUDERS > 1
|
||||
CONFIG_ECHO_START;
|
||||
SERIAL_ECHOPAIR(" M200 T1 D", LINEAR_UNIT(planner.filament_size[1]));
|
||||
SERIAL_EOL();
|
||||
#if EXTRUDERS > 2
|
||||
CONFIG_ECHO_START;
|
||||
SERIAL_ECHOPAIR(" M200 T2 D", LINEAR_UNIT(planner.filament_size[2]));
|
||||
SERIAL_EOL();
|
||||
#if EXTRUDERS > 3
|
||||
CONFIG_ECHO_START;
|
||||
SERIAL_ECHOPAIR(" M200 T3 D", LINEAR_UNIT(planner.filament_size[3]));
|
||||
SERIAL_EOL();
|
||||
#if EXTRUDERS > 4
|
||||
CONFIG_ECHO_START;
|
||||
SERIAL_ECHOPAIR(" M200 T4 D", LINEAR_UNIT(planner.filament_size[4]));
|
||||
SERIAL_EOL();
|
||||
#endif // EXTRUDERS > 4
|
||||
#endif // EXTRUDERS > 3
|
||||
#endif // EXTRUDERS > 2
|
||||
#endif // EXTRUDERS > 1
|
||||
|
||||
if (!parser.volumetric_enabled) {
|
||||
CONFIG_ECHO_START;
|
||||
SERIAL_ECHOLNPGM(" M200 D0");
|
||||
}
|
||||
|
||||
#endif // !NO_VOLUMETRICS
|
||||
|
||||
if (!forReplay) {
|
||||
CONFIG_ECHO_START;
|
||||
|
|
|
@ -105,10 +105,13 @@ float Planner::max_feedrate_mm_s[XYZE_N], // Max speeds in mm per second
|
|||
|
||||
int16_t Planner::flow_percentage[EXTRUDERS] = ARRAY_BY_EXTRUDERS1(100); // Extrusion factor for each extruder
|
||||
|
||||
float Planner::e_factor[EXTRUDERS], // The flow percentage and volumetric multiplier combine to scale E movement
|
||||
Planner::filament_size[EXTRUDERS], // diameter of filament (in millimeters), typically around 1.75 or 2.85, 0 disables the volumetric calculations for the extruder
|
||||
Planner::volumetric_area_nominal = CIRCLE_AREA((DEFAULT_NOMINAL_FILAMENT_DIA) * 0.5), // Nominal cross-sectional area
|
||||
Planner::volumetric_multiplier[EXTRUDERS]; // Reciprocal of cross-sectional area of filament (in mm^2). Pre-calculated to reduce computation in the planner
|
||||
float Planner::e_factor[EXTRUDERS]; // The flow percentage and volumetric multiplier combine to scale E movement
|
||||
|
||||
#if DISABLED(NO_VOLUMETRICS)
|
||||
float Planner::filament_size[EXTRUDERS], // diameter of filament (in millimeters), typically around 1.75 or 2.85, 0 disables the volumetric calculations for the extruder
|
||||
Planner::volumetric_area_nominal = CIRCLE_AREA((DEFAULT_NOMINAL_FILAMENT_DIA) * 0.5), // Nominal cross-sectional area
|
||||
Planner::volumetric_multiplier[EXTRUDERS]; // Reciprocal of cross-sectional area of filament (in mm^2). Pre-calculated to reduce computation in the planner
|
||||
#endif
|
||||
|
||||
uint32_t Planner::max_acceleration_steps_per_s2[XYZE_N],
|
||||
Planner::max_acceleration_mm_per_s2[XYZE_N]; // Use M201 to override by software
|
||||
|
@ -561,25 +564,29 @@ void Planner::check_axes_activity() {
|
|||
#endif
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a volumetric multiplier from a filament diameter.
|
||||
* This is the reciprocal of the circular cross-section area.
|
||||
* Return 1.0 with volumetric off or a diameter of 0.0.
|
||||
*/
|
||||
inline float calculate_volumetric_multiplier(const float &diameter) {
|
||||
return (parser.volumetric_enabled && diameter) ? 1.0 / CIRCLE_AREA(diameter * 0.5) : 1.0;
|
||||
}
|
||||
#if DISABLED(NO_VOLUMETRICS)
|
||||
|
||||
/**
|
||||
* Convert the filament sizes into volumetric multipliers.
|
||||
* The multiplier converts a given E value into a length.
|
||||
*/
|
||||
void Planner::calculate_volumetric_multipliers() {
|
||||
for (uint8_t i = 0; i < COUNT(filament_size); i++) {
|
||||
volumetric_multiplier[i] = calculate_volumetric_multiplier(filament_size[i]);
|
||||
refresh_e_factor(i);
|
||||
/**
|
||||
* Get a volumetric multiplier from a filament diameter.
|
||||
* This is the reciprocal of the circular cross-section area.
|
||||
* Return 1.0 with volumetric off or a diameter of 0.0.
|
||||
*/
|
||||
inline float calculate_volumetric_multiplier(const float &diameter) {
|
||||
return (parser.volumetric_enabled && diameter) ? 1.0 / CIRCLE_AREA(diameter * 0.5) : 1.0;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Convert the filament sizes into volumetric multipliers.
|
||||
* The multiplier converts a given E value into a length.
|
||||
*/
|
||||
void Planner::calculate_volumetric_multipliers() {
|
||||
for (uint8_t i = 0; i < COUNT(filament_size); i++) {
|
||||
volumetric_multiplier[i] = calculate_volumetric_multiplier(filament_size[i]);
|
||||
refresh_e_factor(i);
|
||||
}
|
||||
}
|
||||
|
||||
#endif // !NO_VOLUMETRICS
|
||||
|
||||
#if ENABLED(FILAMENT_WIDTH_SENSOR)
|
||||
/**
|
||||
|
|
|
@ -159,11 +159,14 @@ class Planner {
|
|||
|
||||
static int16_t flow_percentage[EXTRUDERS]; // Extrusion factor for each extruder
|
||||
|
||||
static float e_factor[EXTRUDERS], // The flow percentage and volumetric multiplier combine to scale E movement
|
||||
filament_size[EXTRUDERS], // diameter of filament (in millimeters), typically around 1.75 or 2.85, 0 disables the volumetric calculations for the extruder
|
||||
volumetric_area_nominal, // Nominal cross-sectional area
|
||||
volumetric_multiplier[EXTRUDERS]; // Reciprocal of cross-sectional area of filament (in mm^2). Pre-calculated to reduce computation in the planner
|
||||
// May be auto-adjusted by a filament width sensor
|
||||
static float e_factor[EXTRUDERS]; // The flow percentage and volumetric multiplier combine to scale E movement
|
||||
|
||||
#if DISABLED(NO_VOLUMETRICS)
|
||||
static float filament_size[EXTRUDERS], // diameter of filament (in millimeters), typically around 1.75 or 2.85, 0 disables the volumetric calculations for the extruder
|
||||
volumetric_area_nominal, // Nominal cross-sectional area
|
||||
volumetric_multiplier[EXTRUDERS]; // Reciprocal of cross-sectional area of filament (in mm^2). Pre-calculated to reduce computation in the planner
|
||||
// May be auto-adjusted by a filament width sensor
|
||||
#endif
|
||||
|
||||
static float max_feedrate_mm_s[XYZE_N], // Max speeds in mm per second
|
||||
axis_steps_per_mm[XYZE_N],
|
||||
|
@ -277,7 +280,11 @@ class Planner {
|
|||
static void refresh_positioning();
|
||||
|
||||
FORCE_INLINE static void refresh_e_factor(const uint8_t e) {
|
||||
e_factor[e] = volumetric_multiplier[e] * flow_percentage[e] * 0.01;
|
||||
e_factor[e] = (flow_percentage[e] * 0.01
|
||||
#if DISABLED(NO_VOLUMETRICS)
|
||||
* volumetric_multiplier[e]
|
||||
#endif
|
||||
);
|
||||
}
|
||||
|
||||
// Manage fans, paste pressure, etc.
|
||||
|
@ -297,12 +304,16 @@ class Planner {
|
|||
void calculate_volumetric_for_width_sensor(const int8_t encoded_ratio);
|
||||
#endif
|
||||
|
||||
FORCE_INLINE static void set_filament_size(const uint8_t e, const float &v) {
|
||||
filament_size[e] = v;
|
||||
// make sure all extruders have some sane value for the filament size
|
||||
for (uint8_t i = 0; i < COUNT(filament_size); i++)
|
||||
if (!filament_size[i]) filament_size[i] = DEFAULT_NOMINAL_FILAMENT_DIA;
|
||||
}
|
||||
#if DISABLED(NO_VOLUMETRICS)
|
||||
|
||||
FORCE_INLINE static void set_filament_size(const uint8_t e, const float &v) {
|
||||
filament_size[e] = v;
|
||||
// make sure all extruders have some sane value for the filament size
|
||||
for (uint8_t i = 0; i < COUNT(filament_size); i++)
|
||||
if (!filament_size[i]) filament_size[i] = DEFAULT_NOMINAL_FILAMENT_DIA;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
#if ENABLED(ENABLE_LEVELING_FADE_HEIGHT)
|
||||
|
||||
|
|
Reference in a new issue