Merge pull request #6952 from thinkyhead/bf_final_fixups_123

General cleanup before release
This commit is contained in:
Scott Lahteine 2017-06-04 11:51:07 -05:00 committed by GitHub
commit 1e2ccca063
8 changed files with 23 additions and 18 deletions

View File

@ -1551,7 +1551,7 @@ inline void set_destination_to_current() { COPY(destination, current_position);
planner.buffer_line_kinematic(destination, MMS_SCALED(fr_mm_s ? fr_mm_s : feedrate_mm_s), active_extruder); planner.buffer_line_kinematic(destination, MMS_SCALED(fr_mm_s ? fr_mm_s : feedrate_mm_s), active_extruder);
#endif #endif
set_current_to_destination(); set_current_to_destination();
} }
#endif // IS_KINEMATIC #endif // IS_KINEMATIC
@ -2362,7 +2362,7 @@ static void clean_up_after_endstop_or_probe_move() {
else { // leveling from off to on else { // leveling from off to on
ubl.state.active = true; // enable BEFORE calling unapply_leveling, otherwise ignored ubl.state.active = true; // enable BEFORE calling unapply_leveling, otherwise ignored
// change physical current_position to unleveled current_position without moving steppers. // change physical current_position to unleveled current_position without moving steppers.
planner.unapply_leveling(current_position); planner.unapply_leveling(current_position);
} }
#else #else
ubl.state.active = enable; // just flip the bit, current_position will be wrong until next move. ubl.state.active = enable; // just flip the bit, current_position will be wrong until next move.
@ -2376,8 +2376,12 @@ static void clean_up_after_endstop_or_probe_move() {
(void)bilinear_z_offset(reset); (void)bilinear_z_offset(reset);
#endif #endif
// Enable or disable leveling compensation in the planner
planner.abl_enabled = enable; planner.abl_enabled = enable;
if (!enable) if (!enable)
// When disabling just get the current position from the steppers.
// This will yield the smallest error when first converted back to steps.
set_current_from_steppers_for_axis( set_current_from_steppers_for_axis(
#if ABL_PLANAR #if ABL_PLANAR
ALL_AXES ALL_AXES
@ -2386,9 +2390,11 @@ static void clean_up_after_endstop_or_probe_move() {
#endif #endif
); );
else else
// When enabling, remove compensation from the current position,
// so compensation will give the right stepper counts.
planner.unapply_leveling(current_position); planner.unapply_leveling(current_position);
#endif #endif // ABL
} }
} }
@ -2396,24 +2402,23 @@ static void clean_up_after_endstop_or_probe_move() {
void set_z_fade_height(const float zfh) { void set_z_fade_height(const float zfh) {
const bool level_active = leveling_is_active();
#if ENABLED(AUTO_BED_LEVELING_UBL) #if ENABLED(AUTO_BED_LEVELING_UBL)
const bool level_active = leveling_is_active(); if (level_active)
if (level_active) {
set_bed_leveling_enabled(false); // turn off before changing fade height for proper apply/unapply leveling to maintain current_position set_bed_leveling_enabled(false); // turn off before changing fade height for proper apply/unapply leveling to maintain current_position
}
planner.z_fade_height = zfh; planner.z_fade_height = zfh;
planner.inverse_z_fade_height = RECIPROCAL(zfh); planner.inverse_z_fade_height = RECIPROCAL(zfh);
if (level_active) { if (level_active)
set_bed_leveling_enabled(true); // turn back on after changing fade height set_bed_leveling_enabled(true); // turn back on after changing fade height
}
#else #else
planner.z_fade_height = zfh; planner.z_fade_height = zfh;
planner.inverse_z_fade_height = RECIPROCAL(zfh); planner.inverse_z_fade_height = RECIPROCAL(zfh);
if (leveling_is_active()) { if (level_active) {
set_current_from_steppers_for_axis( set_current_from_steppers_for_axis(
#if ABL_PLANAR #if ABL_PLANAR
ALL_AXES ALL_AXES
@ -9643,7 +9648,7 @@ inline void gcode_M355() {
#if HAS_CASE_LIGHT #if HAS_CASE_LIGHT
uint8_t args = 0; uint8_t args = 0;
if (parser.seen('P')) ++args, case_light_brightness = parser.value_byte(); if (parser.seen('P')) ++args, case_light_brightness = parser.value_byte();
if (parser.seen('S')) ++args, case_light_on = parser.value_bool(); if (parser.seen('S')) ++args, case_light_on = parser.value_bool();
if (args) update_case_light(); if (args) update_case_light();
// always report case light status // always report case light status

View File

@ -788,7 +788,7 @@
#define PAUSE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #define PAUSE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers)
#define PAUSE_PARK_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s #define PAUSE_PARK_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s
#define PAUSE_PARK_RETRACT_LENGTH 2 // Initial retract in mm #define PAUSE_PARK_RETRACT_LENGTH 2 // Initial retract in mm
// It is a short retract used immediately after print interrupt before move to filament exchange position // It is a short retract used immediately after print interrupt before move to filament exchange position
#define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // Unload filament feedrate in mm/s - filament unloading can be fast #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // Unload filament feedrate in mm/s - filament unloading can be fast
#define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // Unload filament length from hotend in mm #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // Unload filament length from hotend in mm

View File

@ -318,7 +318,7 @@
#define K1 0.95 //smoothing factor within the PID #define K1 0.95 //smoothing factor within the PID
// If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
// Malyan M150 example // Malyan M150 example
#define DEFAULT_Kp 29 #define DEFAULT_Kp 29
#define DEFAULT_Ki 2 #define DEFAULT_Ki 2

View File

@ -1,3 +1,3 @@
# Configuration for Malyan M150 hobbyking printer # Configuration for Malyan M150 hobbyking printer
# config without automatic bed level sensor # config without automatic bed level sensor
# or in other words, "as stock" # or in other words, "as stock"

View File

@ -788,7 +788,7 @@
#define PAUSE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers) #define PAUSE_PARK_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers)
#define PAUSE_PARK_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s #define PAUSE_PARK_RETRACT_FEEDRATE 60 // Initial retract feedrate in mm/s
#define PAUSE_PARK_RETRACT_LENGTH 2 // Initial retract in mm #define PAUSE_PARK_RETRACT_LENGTH 2 // Initial retract in mm
// It is a short retract used immediately after print interrupt before move to filament exchange position // It is a short retract used immediately after print interrupt before move to filament exchange position
#define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // Unload filament feedrate in mm/s - filament unloading can be fast #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 10 // Unload filament feedrate in mm/s - filament unloading can be fast
#define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // Unload filament length from hotend in mm #define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // Unload filament length from hotend in mm

View File

@ -74,7 +74,7 @@
// //
// Misc // Misc
// //
#if ENABLED(CASE_LIGHT_ENABLE) && PIN_EXISTS(CASE_LIGHT) && PIN_EXISTS(STAT_LED_RED) && STAT_LED_RED_PIN == CASE_LIGHT_PIN #if ENABLED(CASE_LIGHT_ENABLE) && PIN_EXISTS(CASE_LIGHT) && PIN_EXISTS(STAT_LED_RED) && STAT_LED_RED_PIN == CASE_LIGHT_PIN
#undef STAT_LED_RED_PIN #undef STAT_LED_RED_PIN
#endif #endif

View File

@ -145,7 +145,7 @@
// //
// Misc. Functions // Misc. Functions
// //
#if ENABLED(CASE_LIGHT_ENABLE) && PIN_EXISTS(CASE_LIGHT) && defined(DOGLCD_A0) && DOGLCD_A0 == CASE_LIGHT_PIN #if ENABLED(CASE_LIGHT_ENABLE) && PIN_EXISTS(CASE_LIGHT) && defined(DOGLCD_A0) && DOGLCD_A0 == CASE_LIGHT_PIN
#undef DOGLCD_A0 // steal pin 44 for the case light; if you have a Viki2 and have connected it #undef DOGLCD_A0 // steal pin 44 for the case light; if you have a Viki2 and have connected it
#define DOGLCD_A0 57 // following the Panucatt wiring diagram, you may need to tweak these pin assignments #define DOGLCD_A0 57 // following the Panucatt wiring diagram, you may need to tweak these pin assignments
// as the wiring diagram uses pin 44 for DOGLCD_A0 // as the wiring diagram uses pin 44 for DOGLCD_A0

View File

@ -586,7 +586,7 @@ void Stepper::isr() {
/** /**
* If a minimum pulse time was specified get the timer 0 value. * If a minimum pulse time was specified get the timer 0 value.
* *
* TCNT0 has an 8x prescaler, so it increments every 8 cycles. * TCNT0 has an 8x prescaler, so it increments every 8 cycles.
* That's every 0.5µs on 16MHz and every 0.4µs on 20MHz. * That's every 0.5µs on 16MHz and every 0.4µs on 20MHz.
* 20 counts of TCNT0 -by itself- is a good pulse delay. * 20 counts of TCNT0 -by itself- is a good pulse delay.
* 10µs = 160 or 200 cycles. * 10µs = 160 or 200 cycles.