Fix Baby Stepping on 32-Bit platforms (#8001)

Also, Max7219 debug code was used for this effort.   It has been
improved and hardened.
This commit is contained in:
Roxy-3D
2017-10-16 16:29:37 -05:00
committed by GitHub
parent 3b7b0492f8
commit 6cb26c98c8
6 changed files with 196 additions and 61 deletions

View File

@ -125,7 +125,7 @@
// Optional custom name for your RepStrap or other custom machine
// Displayed in the LCD "Ready" message
#define CUSTOM_MACHINE_NAME "FT-2020 v2"
#define CUSTOM_MACHINE_NAME "FT-2020 v3"
// Define this to set a unique identifier for this printer, (Used by some programs to differentiate between machines)
// You can use an online service to generate a random UUID. (eg http://www.uuidgenerator.net/version4)
@ -691,6 +691,7 @@
// X and Y axis travel speed (mm/m) between probes
#define XY_PROBE_SPEED 7500
// Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
#define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
@ -750,6 +751,7 @@
#define INVERT_X_DIR false
#define INVERT_Y_DIR true
#define INVERT_Z_DIR true
// Enable this option for Toshiba stepper drivers
//#define CONFIG_STEPPERS_TOSHIBA
@ -789,16 +791,7 @@
#define Y_MAX_POS 182
#define Z_MAX_POS 175
/**
* Software Endstops
*
* - Prevent moves outside the set machine bounds.
* - Individual axes can be disabled, if desired.
* - X and Y only apply to Cartesian robots.
* - Use 'M211' to set software endstops on/off or report current state
*/
// Min software endstops curtail movement below minimum coordinate bounds
// If enabled, axes won't move below MIN_POS in response to movement commands.
//#define MIN_SOFTWARE_ENDSTOPS
#if ENABLED(MIN_SOFTWARE_ENDSTOPS)
#define MIN_SOFTWARE_ENDSTOP_X
@ -806,7 +799,7 @@
#define MIN_SOFTWARE_ENDSTOP_Z
#endif
// Max software endstops curtail movement above maximum coordinate bounds
// If enabled, axes won't move above MAX_POS in response to movement commands.
#define MAX_SOFTWARE_ENDSTOPS
#if ENABLED(MAX_SOFTWARE_ENDSTOPS)
#define MAX_SOFTWARE_ENDSTOP_X
@ -939,8 +932,6 @@
#define ABL_PROBE_PT_3_X 170
#define ABL_PROBE_PT_3_Y 10
#elif ENABLED(AUTO_BED_LEVELING_UBL)
//===========================================================================
@ -1681,12 +1672,12 @@
// leaving it undefined or defining as 0 will disable the servo subsystem
// If unsure, leave commented / disabled
//
#define NUM_SERVOS 2 // Servo index starts with 0 for M280 command
#define NUM_SERVOS 1 // Servo index starts with 0 for M280 command
// Delay (in milliseconds) before the next move will start, to give the servo time to reach its target angle.
// 300ms is a good value but you can try less delay.
// If the servo can't reach the requested position, increase it.
#define SERVO_DELAY { 500, 500 }
#define SERVO_DELAY { 500 }
// Servo deactivation
//

View File

@ -534,7 +534,7 @@
#endif
// Show a progress bar on HD44780 LCDs for SD printing
#define LCD_PROGRESS_BAR
//#define LCD_PROGRESS_BAR
#if ENABLED(LCD_PROGRESS_BAR)
// Amount of time (ms) to show the bar
@ -592,6 +592,7 @@
// Enable this option and reduce the value to optimize screen updates.
// The normal delay is 10µs. Use the lowest value that still gives a reliable display.
//#define DOGM_SPI_DELAY_US 5
#endif // DOGLCD
// @section safety
@ -620,7 +621,7 @@
#if ENABLED(BABYSTEPPING)
//#define BABYSTEP_XY // Also enable X/Y Babystepping. Not supported on DELTA!
#define BABYSTEP_INVERT_Z false // Change if Z babysteps should go the other way
#define BABYSTEP_MULTIPLICATOR 100 // Babysteps are very small. Increase for faster motion.
#define BABYSTEP_MULTIPLICATOR 16 // Babysteps are very small. Increase for faster motion.
//#define BABYSTEP_ZPROBE_OFFSET // Enable to combine M851 and Babystepping
#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
#define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
@ -1313,8 +1314,8 @@
#define USER_DESC_4 "Heat Bed/Home/Level"
#define USER_GCODE_4 "M140 S" STRINGIFY(PREHEAT_2_TEMP_BED) "\nG28\nG29"
//#define USER_DESC_5 "Home & Info"
//#define USER_GCODE_5 "G28\nM503"
#define USER_DESC_5 "Home & Info"
#define USER_GCODE_5 "G28\nM503"
#endif
/**
@ -1423,15 +1424,20 @@
//#define MAX7219_DIN_PIN 57 // on RAMPS
//#define MAX7219_LOAD_PIN 44 // on RAMPS
#define MAX7219_CLK_PIN 77 // on Re-ARM // Configuration of the 3 pins to control the display
#define MAX7219_DIN_PIN 78 // on Re-ARM
#define MAX7219_LOAD_PIN 79 // on Re-ARM
//#define MAX7219_CLK_PIN 77 // on Re-ARM // Configuration of the 3 pins to control the display
//#define MAX7219_DIN_PIN 78 // on Re-ARM
//#define MAX7219_LOAD_PIN 79 // on Re-ARM
#define MAX7219_CLK_PIN 30 // for RAMPS E1 // Configuration of the 3 pins to control the display
#define MAX7219_DIN_PIN 34 // for RAMPS E1
#define MAX7219_LOAD_PIN 36 // for RAMPS E1
/**
* Sample debug features
* If you add more debug displays, be careful to avoid conflicts!
*/
#define MAX7219_DEBUG_PRINTER_ALIVE // Blink corner LED of 8x8 matrix to show that the firmware is functioning
#define MAX7219_DEBUG_STEPPER_HEAD 3 // Show the stepper queue head position on this and the next LED matrix row
#define MAX7219_DEBUG_STEPPER_TAIL 5 // Show the stepper queue tail position on this and the next LED matrix row