Merge pull request #4284 from thinkyhead/rc_serial_ln_macros

Sled-probe sanity fix, conditionals for remaining types of leveling
This commit is contained in:
Scott Lahteine 2016-07-12 16:36:33 -07:00 committed by GitHub
commit 0554b65d22
3 changed files with 27 additions and 29 deletions

View File

@ -813,6 +813,16 @@
#ifndef DELTA_DIAGONAL_ROD_TRIM_TOWER_3 #ifndef DELTA_DIAGONAL_ROD_TRIM_TOWER_3
#define DELTA_DIAGONAL_ROD_TRIM_TOWER_3 0.0 #define DELTA_DIAGONAL_ROD_TRIM_TOWER_3 0.0
#endif #endif
#if ENABLED(AUTO_BED_LEVELING_GRID)
#define DELTA_BED_LEVELING_GRID
#endif
#endif
/**
* When not using other bed leveling...
*/
#if ENABLED(AUTO_BED_LEVELING_FEATURE) && DISABLED(AUTO_BED_LEVELING_GRID) && DISABLED(DELTA_BED_LEVELING_GRID)
#define AUTO_BED_LEVELING_3POINT
#endif #endif
/** /**

View File

@ -200,11 +200,9 @@
#if ENABLED(MESH_BED_LEVELING) #if ENABLED(MESH_BED_LEVELING)
#if ENABLED(DELTA) #if ENABLED(DELTA)
#error "MESH_BED_LEVELING does not yet support DELTA printers." #error "MESH_BED_LEVELING does not yet support DELTA printers."
#endif #elif ENABLED(AUTO_BED_LEVELING_FEATURE)
#if ENABLED(AUTO_BED_LEVELING_FEATURE)
#error "Select AUTO_BED_LEVELING_FEATURE or MESH_BED_LEVELING, not both." #error "Select AUTO_BED_LEVELING_FEATURE or MESH_BED_LEVELING, not both."
#endif #elif MESH_NUM_X_POINTS > 7 || MESH_NUM_Y_POINTS > 7
#if MESH_NUM_X_POINTS > 7 || MESH_NUM_Y_POINTS > 7
#error "MESH_NUM_X_POINTS and MESH_NUM_Y_POINTS need to be less than 8." #error "MESH_NUM_X_POINTS and MESH_NUM_Y_POINTS need to be less than 8."
#endif #endif
#elif ENABLED(MANUAL_BED_LEVELING) #elif ENABLED(MANUAL_BED_LEVELING)
@ -217,6 +215,10 @@
#if PROBE_SELECTED #if PROBE_SELECTED
#if ENABLED(Z_PROBE_SLED) && ENABLED(DELTA)
#error "You cannot use Z_PROBE_SLED with DELTA."
#endif
/** /**
* NUM_SERVOS is required for a Z servo probe * NUM_SERVOS is required for a Z servo probe
*/ */
@ -324,6 +326,13 @@
*/ */
#if ENABLED(AUTO_BED_LEVELING_FEATURE) #if ENABLED(AUTO_BED_LEVELING_FEATURE)
/**
* Delta has limited bed leveling options
*/
#if ENABLED(DELTA) && DISABLED(AUTO_BED_LEVELING_GRID)
#error "You must use AUTO_BED_LEVELING_GRID for DELTA bed leveling."
#endif
/** /**
* Require a Z min pin * Require a Z min pin
*/ */
@ -408,25 +417,6 @@
#error "Only enable one SAV_3DGLCD display type: U8GLIB_SSD1306 or U8GLIB_SH1106." #error "Only enable one SAV_3DGLCD display type: U8GLIB_SSD1306 or U8GLIB_SH1106."
#endif #endif
/**
* Delta has limited bed leveling options
*/
#if ENABLED(DELTA)
#if ENABLED(AUTO_BED_LEVELING_FEATURE)
#if DISABLED(AUTO_BED_LEVELING_GRID)
#error "Only AUTO_BED_LEVELING_GRID is supported with DELTA."
#endif
#if ENABLED(Z_PROBE_SLED)
#error "You cannot use Z_PROBE_SLED with DELTA."
#endif
#endif
#endif
/** /**
* Don't set more than one kinematic type * Don't set more than one kinematic type
*/ */

View File

@ -129,18 +129,16 @@ float Planner::previous_nominal_speed;
* Class and Instance Methods * Class and Instance Methods
*/ */
Planner::Planner() { Planner::Planner() { init(); }
#if ENABLED(AUTO_BED_LEVELING_FEATURE)
bed_level_matrix.set_to_identity();
#endif
init();
}
void Planner::init() { void Planner::init() {
block_buffer_head = block_buffer_tail = 0; block_buffer_head = block_buffer_tail = 0;
memset(position, 0, sizeof(position)); // clear position memset(position, 0, sizeof(position)); // clear position
for (int i = 0; i < NUM_AXIS; i++) previous_speed[i] = 0.0; for (int i = 0; i < NUM_AXIS; i++) previous_speed[i] = 0.0;
previous_nominal_speed = 0.0; previous_nominal_speed = 0.0;
#if ENABLED(AUTO_BED_LEVELING_FEATURE)
bed_level_matrix.set_to_identity();
#endif
} }
/** /**