Merge pull request #8044 from thinkyhead/bf2_mesh_consolidate
[2.0.x] Simplify mesh bounds config
This commit is contained in:
commit
f65fc7ffab
85 changed files with 1974 additions and 3561 deletions
|
@ -937,7 +937,7 @@
|
||||||
//========================= Unified Bed Leveling ============================
|
//========================= Unified Bed Leveling ============================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
|
||||||
#define UBL_MESH_INSET 1 // Mesh inset margin on print area
|
#define MESH_INSET 1 // Mesh inset margin on print area
|
||||||
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
||||||
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
||||||
|
|
||||||
|
@ -950,6 +950,7 @@
|
||||||
|
|
||||||
//#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
//#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
||||||
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
||||||
|
#define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
|
||||||
|
|
||||||
#elif ENABLED(MESH_BED_LEVELING)
|
#elif ENABLED(MESH_BED_LEVELING)
|
||||||
|
|
||||||
|
|
|
@ -489,12 +489,14 @@
|
||||||
// Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
|
// Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
|
||||||
#define SD_DETECT_INVERTED
|
#define SD_DETECT_INVERTED
|
||||||
|
|
||||||
#define SD_FINISHED_STEPPERRELEASE true //if sd support and the file is finished: disable steppers?
|
#define SD_FINISHED_STEPPERRELEASE true // Disable steppers when SD Print is finished
|
||||||
#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
|
#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
|
||||||
|
|
||||||
#define SDCARD_RATHERRECENTFIRST //reverse file order of sd card menu display. Its sorted practically after the file system block order.
|
// Reverse SD sort to show "more recent" files first, according to the card's FAT.
|
||||||
// if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that.
|
// Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended.
|
||||||
// using:
|
#define SDCARD_RATHERRECENTFIRST
|
||||||
|
|
||||||
|
// Add an option in the menu to run all auto#.g files
|
||||||
//#define MENU_ADDAUTOSTART
|
//#define MENU_ADDAUTOSTART
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -685,69 +687,12 @@
|
||||||
#define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
|
#define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Default mesh area is an area with an inset margin on the print area.
|
#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
|
||||||
// Below are the macros that are used to define the borders for the mesh area,
|
// Override the mesh area if the automatic (max) area is too large
|
||||||
// made available here for specialized needs, ie dual extruder setup.
|
//#define MESH_MIN_X MESH_INSET
|
||||||
#if ENABLED(MESH_BED_LEVELING)
|
//#define MESH_MIN_Y MESH_INSET
|
||||||
#if ENABLED(DELTA)
|
//#define MESH_MAX_X X_BED_SIZE - (MESH_INSET)
|
||||||
// Probing points may be verified at compile time within the radius
|
//#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET)
|
||||||
// using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
|
|
||||||
// so that may be added to SanityCheck.h in the future.
|
|
||||||
#define MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MAX_X (X_CENTER + DELTA_PROBEABLE_RADIUS - (MESH_INSET))
|
|
||||||
#define MESH_MAX_Y (Y_CENTER + DELTA_PROBEABLE_RADIUS - (MESH_INSET))
|
|
||||||
#elif IS_SCARA
|
|
||||||
#define MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MAX_X (X_CENTER + SCARA_PRINTABLE_RADIUS - (MESH_INSET))
|
|
||||||
#define MESH_MAX_Y (Y_CENTER + SCARA_PRINTABLE_RADIUS - (MESH_INSET))
|
|
||||||
#else
|
|
||||||
// Boundaries for Cartesian probing based on set limits
|
|
||||||
#if ENABLED(BED_CENTER_AT_0_0)
|
|
||||||
#define MESH_MIN_X (max(MESH_INSET, 0) - (X_BED_SIZE) / 2)
|
|
||||||
#define MESH_MIN_Y (max(MESH_INSET, 0) - (Y_BED_SIZE) / 2)
|
|
||||||
#define MESH_MAX_X (min(X_BED_SIZE - (MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
|
|
||||||
#define MESH_MAX_Y (min(Y_BED_SIZE - (MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
|
|
||||||
#else
|
|
||||||
#define MESH_MIN_X (max(X_MIN_POS + MESH_INSET, 0))
|
|
||||||
#define MESH_MIN_Y (max(Y_MIN_POS + MESH_INSET, 0))
|
|
||||||
#define MESH_MAX_X (min(X_MAX_POS - (MESH_INSET), X_BED_SIZE))
|
|
||||||
#define MESH_MAX_Y (min(Y_MAX_POS - (MESH_INSET), Y_BED_SIZE))
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
#elif ENABLED(AUTO_BED_LEVELING_UBL)
|
|
||||||
#if ENABLED(DELTA)
|
|
||||||
// Probing points may be verified at compile time within the radius
|
|
||||||
// using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
|
|
||||||
// so that may be added to SanityCheck.h in the future.
|
|
||||||
#define UBL_MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MAX_X (X_CENTER + DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#define UBL_MESH_MAX_Y (Y_CENTER + DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#elif IS_SCARA
|
|
||||||
#define UBL_MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MAX_X (X_CENTER + SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#define UBL_MESH_MAX_Y (Y_CENTER + SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#else
|
|
||||||
// Boundaries for Cartesian probing based on set limits
|
|
||||||
#if ENABLED(BED_CENTER_AT_0_0)
|
|
||||||
#define UBL_MESH_MIN_X (max(UBL_MESH_INSET, 0) - (X_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MIN_Y (max(UBL_MESH_INSET, 0) - (Y_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MAX_X (min(X_BED_SIZE - (UBL_MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MAX_Y (min(Y_BED_SIZE - (UBL_MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
|
|
||||||
#else
|
|
||||||
#define UBL_MESH_MIN_X (max(X_MIN_POS + UBL_MESH_INSET, 0))
|
|
||||||
#define UBL_MESH_MIN_Y (max(Y_MIN_POS + UBL_MESH_INSET, 0))
|
|
||||||
#define UBL_MESH_MAX_X (min(X_MAX_POS - (UBL_MESH_INSET), X_BED_SIZE))
|
|
||||||
#define UBL_MESH_MAX_Y (min(Y_MAX_POS - (UBL_MESH_INSET), Y_BED_SIZE))
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// If this is defined, the currently active mesh will be saved in the
|
|
||||||
// current slot on M500.
|
|
||||||
#define UBL_SAVE_ACTIVE_ON_M500
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section extras
|
// @section extras
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
#ifndef _HAL_H
|
#ifndef _HAL_H
|
||||||
#define _HAL_H
|
#define _HAL_H
|
||||||
|
|
||||||
#include "../inc/SPI.h"
|
#include "SPI.h"
|
||||||
|
|
||||||
#ifdef __AVR__
|
#ifdef __AVR__
|
||||||
#include "HAL_AVR/HAL_AVR.h"
|
#include "HAL_AVR/HAL_AVR.h"
|
||||||
|
|
|
@ -37,7 +37,7 @@
|
||||||
// --------------------------------------------------------------------------
|
// --------------------------------------------------------------------------
|
||||||
|
|
||||||
#include "../HAL.h"
|
#include "../HAL.h"
|
||||||
#include "SPI.h"
|
#include "../SPI.h"
|
||||||
#include "pins_arduino.h"
|
#include "pins_arduino.h"
|
||||||
#include "spi_pins.h"
|
#include "spi_pins.h"
|
||||||
#include "../../core/macros.h"
|
#include "../../core/macros.h"
|
||||||
|
|
78
Marlin/src/HAL/SPI.h
Normal file
78
Marlin/src/HAL/SPI.h
Normal file
|
@ -0,0 +1,78 @@
|
||||||
|
/**
|
||||||
|
* Marlin 3D Printer Firmware
|
||||||
|
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
|
||||||
|
*
|
||||||
|
* Based on Sprinter and grbl.
|
||||||
|
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* HAL/SPI.h
|
||||||
|
* Core Marlin definitions for SPI, implemented in the HALs
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SPI_H_
|
||||||
|
#define _SPI_H_
|
||||||
|
|
||||||
|
//#include "../inc/MarlinConfig.h"
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
|
#ifndef SPI_FULL_SPEED
|
||||||
|
|
||||||
|
/**
|
||||||
|
* SPI speed where 0 <= index <= 6
|
||||||
|
*
|
||||||
|
* Approximate rates :
|
||||||
|
*
|
||||||
|
* 0 : 8 - 10 MHz
|
||||||
|
* 1 : 4 - 5 MHz
|
||||||
|
* 2 : 2 - 2.5 MHz
|
||||||
|
* 3 : 1 - 1.25 MHz
|
||||||
|
* 4 : 500 - 625 kHz
|
||||||
|
* 5 : 250 - 312 kHz
|
||||||
|
* 6 : 125 - 156 kHz
|
||||||
|
*
|
||||||
|
* On AVR, actual speed is F_CPU/2^(1 + index).
|
||||||
|
* On other platforms, speed should be in range given above where possible.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define SPI_FULL_SPEED 0 // Set SCK to max rate
|
||||||
|
#define SPI_HALF_SPEED 1 // Set SCK rate to half of max rate
|
||||||
|
#define SPI_QUARTER_SPEED 2 // Set SCK rate to quarter of max rate
|
||||||
|
#define SPI_EIGHTH_SPEED 3 // Set SCK rate to 1/8 of max rate
|
||||||
|
#define SPI_SIXTEENTH_SPEED 4 // Set SCK rate to 1/16 of max rate
|
||||||
|
#define SPI_SPEED_5 5 // Set SCK rate to 1/32 of max rate
|
||||||
|
#define SPI_SPEED_6 6 // Set SCK rate to 1/64 of max rate
|
||||||
|
|
||||||
|
// Standard SPI functions
|
||||||
|
/** Initialise SPI bus */
|
||||||
|
void spiBegin(void);
|
||||||
|
/** Configure SPI for specified SPI speed */
|
||||||
|
void spiInit(uint8_t spiRate);
|
||||||
|
/** Write single byte to SPI */
|
||||||
|
void spiSend(uint8_t b);
|
||||||
|
/** Read single byte from SPI */
|
||||||
|
uint8_t spiRec(void);
|
||||||
|
/** Read from SPI into buffer */
|
||||||
|
void spiRead(uint8_t* buf, uint16_t nbyte);
|
||||||
|
/** Write token and then write from 512 byte buffer to SPI (for SD card) */
|
||||||
|
void spiSendBlock(uint8_t token, const uint8_t* buf);
|
||||||
|
|
||||||
|
#endif // SPI_FULL_SPEED
|
||||||
|
|
||||||
|
#endif // _SPI_H_
|
|
@ -937,7 +937,7 @@
|
||||||
//========================= Unified Bed Leveling ============================
|
//========================= Unified Bed Leveling ============================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
|
||||||
#define UBL_MESH_INSET 1 // Mesh inset margin on print area
|
#define MESH_INSET 1 // Mesh inset margin on print area
|
||||||
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
||||||
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
||||||
|
|
||||||
|
@ -950,6 +950,7 @@
|
||||||
|
|
||||||
//#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
//#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
||||||
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
||||||
|
#define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
|
||||||
|
|
||||||
#elif ENABLED(MESH_BED_LEVELING)
|
#elif ENABLED(MESH_BED_LEVELING)
|
||||||
|
|
||||||
|
|
|
@ -489,12 +489,14 @@
|
||||||
// Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
|
// Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
|
||||||
#define SD_DETECT_INVERTED
|
#define SD_DETECT_INVERTED
|
||||||
|
|
||||||
#define SD_FINISHED_STEPPERRELEASE true //if sd support and the file is finished: disable steppers?
|
#define SD_FINISHED_STEPPERRELEASE true // Disable steppers when SD Print is finished
|
||||||
#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
|
#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
|
||||||
|
|
||||||
#define SDCARD_RATHERRECENTFIRST //reverse file order of sd card menu display. Its sorted practically after the file system block order.
|
// Reverse SD sort to show "more recent" files first, according to the card's FAT.
|
||||||
// if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that.
|
// Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended.
|
||||||
// using:
|
#define SDCARD_RATHERRECENTFIRST
|
||||||
|
|
||||||
|
// Add an option in the menu to run all auto#.g files
|
||||||
//#define MENU_ADDAUTOSTART
|
//#define MENU_ADDAUTOSTART
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -685,69 +687,12 @@
|
||||||
#define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
|
#define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Default mesh area is an area with an inset margin on the print area.
|
#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
|
||||||
// Below are the macros that are used to define the borders for the mesh area,
|
// Override the mesh area if the automatic (max) area is too large
|
||||||
// made available here for specialized needs, ie dual extruder setup.
|
//#define MESH_MIN_X MESH_INSET
|
||||||
#if ENABLED(MESH_BED_LEVELING)
|
//#define MESH_MIN_Y MESH_INSET
|
||||||
#if ENABLED(DELTA)
|
//#define MESH_MAX_X X_BED_SIZE - (MESH_INSET)
|
||||||
// Probing points may be verified at compile time within the radius
|
//#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET)
|
||||||
// using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
|
|
||||||
// so that may be added to SanityCheck.h in the future.
|
|
||||||
#define MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MAX_X (X_CENTER + DELTA_PROBEABLE_RADIUS - (MESH_INSET))
|
|
||||||
#define MESH_MAX_Y (Y_CENTER + DELTA_PROBEABLE_RADIUS - (MESH_INSET))
|
|
||||||
#elif IS_SCARA
|
|
||||||
#define MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MAX_X (X_CENTER + SCARA_PRINTABLE_RADIUS - (MESH_INSET))
|
|
||||||
#define MESH_MAX_Y (Y_CENTER + SCARA_PRINTABLE_RADIUS - (MESH_INSET))
|
|
||||||
#else
|
|
||||||
// Boundaries for Cartesian probing based on set limits
|
|
||||||
#if ENABLED(BED_CENTER_AT_0_0)
|
|
||||||
#define MESH_MIN_X (max(MESH_INSET, 0) - (X_BED_SIZE) / 2)
|
|
||||||
#define MESH_MIN_Y (max(MESH_INSET, 0) - (Y_BED_SIZE) / 2)
|
|
||||||
#define MESH_MAX_X (min(X_BED_SIZE - (MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
|
|
||||||
#define MESH_MAX_Y (min(Y_BED_SIZE - (MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
|
|
||||||
#else
|
|
||||||
#define MESH_MIN_X (max(X_MIN_POS + MESH_INSET, 0))
|
|
||||||
#define MESH_MIN_Y (max(Y_MIN_POS + MESH_INSET, 0))
|
|
||||||
#define MESH_MAX_X (min(X_MAX_POS - (MESH_INSET), X_BED_SIZE))
|
|
||||||
#define MESH_MAX_Y (min(Y_MAX_POS - (MESH_INSET), Y_BED_SIZE))
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
#elif ENABLED(AUTO_BED_LEVELING_UBL)
|
|
||||||
#if ENABLED(DELTA)
|
|
||||||
// Probing points may be verified at compile time within the radius
|
|
||||||
// using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
|
|
||||||
// so that may be added to SanityCheck.h in the future.
|
|
||||||
#define UBL_MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MAX_X (X_CENTER + DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#define UBL_MESH_MAX_Y (Y_CENTER + DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#elif IS_SCARA
|
|
||||||
#define UBL_MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MAX_X (X_CENTER + SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#define UBL_MESH_MAX_Y (Y_CENTER + SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#else
|
|
||||||
// Boundaries for Cartesian probing based on set limits
|
|
||||||
#if ENABLED(BED_CENTER_AT_0_0)
|
|
||||||
#define UBL_MESH_MIN_X (max(UBL_MESH_INSET, 0) - (X_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MIN_Y (max(UBL_MESH_INSET, 0) - (Y_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MAX_X (min(X_BED_SIZE - (UBL_MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MAX_Y (min(Y_BED_SIZE - (UBL_MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
|
|
||||||
#else
|
|
||||||
#define UBL_MESH_MIN_X (max(X_MIN_POS + UBL_MESH_INSET, 0))
|
|
||||||
#define UBL_MESH_MIN_Y (max(Y_MIN_POS + UBL_MESH_INSET, 0))
|
|
||||||
#define UBL_MESH_MAX_X (min(X_MAX_POS - (UBL_MESH_INSET), X_BED_SIZE))
|
|
||||||
#define UBL_MESH_MAX_Y (min(Y_MAX_POS - (UBL_MESH_INSET), Y_BED_SIZE))
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// If this is defined, the currently active mesh will be saved in the
|
|
||||||
// current slot on M500.
|
|
||||||
#define UBL_SAVE_ACTIVE_ON_M500
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section extras
|
// @section extras
|
||||||
|
|
|
@ -957,7 +957,7 @@
|
||||||
//========================= Unified Bed Leveling ============================
|
//========================= Unified Bed Leveling ============================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
|
||||||
#define UBL_MESH_INSET 1 // Mesh inset margin on print area
|
#define MESH_INSET 1 // Mesh inset margin on print area
|
||||||
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
||||||
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
||||||
|
|
||||||
|
@ -970,6 +970,7 @@
|
||||||
|
|
||||||
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
||||||
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
||||||
|
#define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
|
||||||
|
|
||||||
#elif ENABLED(MESH_BED_LEVELING)
|
#elif ENABLED(MESH_BED_LEVELING)
|
||||||
|
|
||||||
|
|
|
@ -489,12 +489,14 @@
|
||||||
// Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
|
// Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
|
||||||
#define SD_DETECT_INVERTED
|
#define SD_DETECT_INVERTED
|
||||||
|
|
||||||
#define SD_FINISHED_STEPPERRELEASE true //if sd support and the file is finished: disable steppers?
|
#define SD_FINISHED_STEPPERRELEASE true // Disable steppers when SD Print is finished
|
||||||
#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
|
#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
|
||||||
|
|
||||||
#define SDCARD_RATHERRECENTFIRST //reverse file order of sd card menu display. Its sorted practically after the file system block order.
|
// Reverse SD sort to show "more recent" files first, according to the card's FAT.
|
||||||
// if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that.
|
// Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended.
|
||||||
// using:
|
#define SDCARD_RATHERRECENTFIRST
|
||||||
|
|
||||||
|
// Add an option in the menu to run all auto#.g files
|
||||||
//#define MENU_ADDAUTOSTART
|
//#define MENU_ADDAUTOSTART
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -684,69 +686,12 @@
|
||||||
#define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
|
#define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Default mesh area is an area with an inset margin on the print area.
|
#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
|
||||||
// Below are the macros that are used to define the borders for the mesh area,
|
// Override the mesh area if the automatic (max) area is too large
|
||||||
// made available here for specialized needs, ie dual extruder setup.
|
//#define MESH_MIN_X MESH_INSET
|
||||||
#if ENABLED(MESH_BED_LEVELING)
|
//#define MESH_MIN_Y MESH_INSET
|
||||||
#if ENABLED(DELTA)
|
//#define MESH_MAX_X X_BED_SIZE - (MESH_INSET)
|
||||||
// Probing points may be verified at compile time within the radius
|
//#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET)
|
||||||
// using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
|
|
||||||
// so that may be added to SanityCheck.h in the future.
|
|
||||||
#define MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MAX_X (X_CENTER + DELTA_PROBEABLE_RADIUS - (MESH_INSET))
|
|
||||||
#define MESH_MAX_Y (Y_CENTER + DELTA_PROBEABLE_RADIUS - (MESH_INSET))
|
|
||||||
#elif IS_SCARA
|
|
||||||
#define MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MAX_X (X_CENTER + SCARA_PRINTABLE_RADIUS - (MESH_INSET))
|
|
||||||
#define MESH_MAX_Y (Y_CENTER + SCARA_PRINTABLE_RADIUS - (MESH_INSET))
|
|
||||||
#else
|
|
||||||
// Boundaries for Cartesian probing based on set limits
|
|
||||||
#if ENABLED(BED_CENTER_AT_0_0)
|
|
||||||
#define MESH_MIN_X (max(MESH_INSET, 0) - (X_BED_SIZE) / 2)
|
|
||||||
#define MESH_MIN_Y (max(MESH_INSET, 0) - (Y_BED_SIZE) / 2)
|
|
||||||
#define MESH_MAX_X (min(X_BED_SIZE - (MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
|
|
||||||
#define MESH_MAX_Y (min(Y_BED_SIZE - (MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
|
|
||||||
#else
|
|
||||||
#define MESH_MIN_X (max(X_MIN_POS + MESH_INSET, 0))
|
|
||||||
#define MESH_MIN_Y (max(Y_MIN_POS + MESH_INSET, 0))
|
|
||||||
#define MESH_MAX_X (min(X_MAX_POS - (MESH_INSET), X_BED_SIZE))
|
|
||||||
#define MESH_MAX_Y (min(Y_MAX_POS - (MESH_INSET), Y_BED_SIZE))
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
#elif ENABLED(AUTO_BED_LEVELING_UBL)
|
|
||||||
#if ENABLED(DELTA)
|
|
||||||
// Probing points may be verified at compile time within the radius
|
|
||||||
// using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
|
|
||||||
// so that may be added to SanityCheck.h in the future.
|
|
||||||
#define UBL_MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MAX_X (X_CENTER + DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#define UBL_MESH_MAX_Y (Y_CENTER + DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#elif IS_SCARA
|
|
||||||
#define UBL_MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MAX_X (X_CENTER + SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#define UBL_MESH_MAX_Y (Y_CENTER + SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#else
|
|
||||||
// Boundaries for Cartesian probing based on set limits
|
|
||||||
#if ENABLED(BED_CENTER_AT_0_0)
|
|
||||||
#define UBL_MESH_MIN_X (max(UBL_MESH_INSET, 0) - (X_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MIN_Y (max(UBL_MESH_INSET, 0) - (Y_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MAX_X (min(X_BED_SIZE - (UBL_MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MAX_Y (min(Y_BED_SIZE - (UBL_MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
|
|
||||||
#else
|
|
||||||
#define UBL_MESH_MIN_X (max(X_MIN_POS + UBL_MESH_INSET, 0))
|
|
||||||
#define UBL_MESH_MIN_Y (max(Y_MIN_POS + UBL_MESH_INSET, 0))
|
|
||||||
#define UBL_MESH_MAX_X (min(X_MAX_POS - (UBL_MESH_INSET), X_BED_SIZE))
|
|
||||||
#define UBL_MESH_MAX_Y (min(Y_MAX_POS - (UBL_MESH_INSET), Y_BED_SIZE))
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// If this is defined, the currently active mesh will be saved in the
|
|
||||||
// current slot on M500.
|
|
||||||
#define UBL_SAVE_ACTIVE_ON_M500
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section extras
|
// @section extras
|
||||||
|
|
|
@ -937,7 +937,7 @@
|
||||||
//========================= Unified Bed Leveling ============================
|
//========================= Unified Bed Leveling ============================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
|
||||||
#define UBL_MESH_INSET 1 // Mesh inset margin on print area
|
#define MESH_INSET 1 // Mesh inset margin on print area
|
||||||
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
||||||
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
||||||
|
|
||||||
|
@ -950,6 +950,7 @@
|
||||||
|
|
||||||
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
||||||
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
||||||
|
#define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
|
||||||
|
|
||||||
#elif ENABLED(MESH_BED_LEVELING)
|
#elif ENABLED(MESH_BED_LEVELING)
|
||||||
|
|
||||||
|
|
|
@ -1080,7 +1080,7 @@
|
||||||
//========================= Unified Bed Leveling ============================
|
//========================= Unified Bed Leveling ============================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
|
||||||
#define UBL_MESH_INSET 1 // Mesh inset margin on print area
|
#define MESH_INSET 1 // Mesh inset margin on print area
|
||||||
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
||||||
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
||||||
|
|
||||||
|
@ -1093,6 +1093,7 @@
|
||||||
|
|
||||||
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
||||||
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
||||||
|
#define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
|
||||||
|
|
||||||
#elif ENABLED(MESH_BED_LEVELING)
|
#elif ENABLED(MESH_BED_LEVELING)
|
||||||
|
|
||||||
|
|
|
@ -489,12 +489,14 @@
|
||||||
// Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
|
// Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
|
||||||
//#define SD_DETECT_INVERTED
|
//#define SD_DETECT_INVERTED
|
||||||
|
|
||||||
#define SD_FINISHED_STEPPERRELEASE true //if sd support and the file is finished: disable steppers?
|
#define SD_FINISHED_STEPPERRELEASE true // Disable steppers when SD Print is finished
|
||||||
#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
|
#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
|
||||||
|
|
||||||
#define SDCARD_RATHERRECENTFIRST //reverse file order of sd card menu display. Its sorted practically after the file system block order.
|
// Reverse SD sort to show "more recent" files first, according to the card's FAT.
|
||||||
// if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that.
|
// Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended.
|
||||||
// using:
|
#define SDCARD_RATHERRECENTFIRST
|
||||||
|
|
||||||
|
// Add an option in the menu to run all auto#.g files
|
||||||
//#define MENU_ADDAUTOSTART
|
//#define MENU_ADDAUTOSTART
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -684,69 +686,12 @@
|
||||||
#define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
|
#define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Default mesh area is an area with an inset margin on the print area.
|
#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
|
||||||
// Below are the macros that are used to define the borders for the mesh area,
|
// Override the mesh area if the automatic (max) area is too large
|
||||||
// made available here for specialized needs, ie dual extruder setup.
|
//#define MESH_MIN_X MESH_INSET
|
||||||
#if ENABLED(MESH_BED_LEVELING)
|
//#define MESH_MIN_Y MESH_INSET
|
||||||
#if ENABLED(DELTA)
|
//#define MESH_MAX_X X_BED_SIZE - (MESH_INSET)
|
||||||
// Probing points may be verified at compile time within the radius
|
//#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET)
|
||||||
// using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
|
|
||||||
// so that may be added to SanityCheck.h in the future.
|
|
||||||
#define MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MAX_X (X_CENTER + DELTA_PROBEABLE_RADIUS - (MESH_INSET))
|
|
||||||
#define MESH_MAX_Y (Y_CENTER + DELTA_PROBEABLE_RADIUS - (MESH_INSET))
|
|
||||||
#elif IS_SCARA
|
|
||||||
#define MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MAX_X (X_CENTER + SCARA_PRINTABLE_RADIUS - (MESH_INSET))
|
|
||||||
#define MESH_MAX_Y (Y_CENTER + SCARA_PRINTABLE_RADIUS - (MESH_INSET))
|
|
||||||
#else
|
|
||||||
// Boundaries for Cartesian probing based on set limits
|
|
||||||
#if ENABLED(BED_CENTER_AT_0_0)
|
|
||||||
#define MESH_MIN_X (max(MESH_INSET, 0) - (X_BED_SIZE) / 2)
|
|
||||||
#define MESH_MIN_Y (max(MESH_INSET, 0) - (Y_BED_SIZE) / 2)
|
|
||||||
#define MESH_MAX_X (min(X_BED_SIZE - (MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
|
|
||||||
#define MESH_MAX_Y (min(Y_BED_SIZE - (MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
|
|
||||||
#else
|
|
||||||
#define MESH_MIN_X (max(X_MIN_POS + MESH_INSET, 0))
|
|
||||||
#define MESH_MIN_Y (max(Y_MIN_POS + MESH_INSET, 0))
|
|
||||||
#define MESH_MAX_X (min(X_MAX_POS - (MESH_INSET), X_BED_SIZE))
|
|
||||||
#define MESH_MAX_Y (min(Y_MAX_POS - (MESH_INSET), Y_BED_SIZE))
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
#elif ENABLED(AUTO_BED_LEVELING_UBL)
|
|
||||||
#if ENABLED(DELTA)
|
|
||||||
// Probing points may be verified at compile time within the radius
|
|
||||||
// using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
|
|
||||||
// so that may be added to SanityCheck.h in the future.
|
|
||||||
#define UBL_MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MAX_X (X_CENTER + DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#define UBL_MESH_MAX_Y (Y_CENTER + DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#elif IS_SCARA
|
|
||||||
#define UBL_MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MAX_X (X_CENTER + SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#define UBL_MESH_MAX_Y (Y_CENTER + SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#else
|
|
||||||
// Boundaries for Cartesian probing based on set limits
|
|
||||||
#if ENABLED(BED_CENTER_AT_0_0)
|
|
||||||
#define UBL_MESH_MIN_X (max(UBL_MESH_INSET, 0) - (X_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MIN_Y (max(UBL_MESH_INSET, 0) - (Y_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MAX_X (min(X_BED_SIZE - (UBL_MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MAX_Y (min(Y_BED_SIZE - (UBL_MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
|
|
||||||
#else
|
|
||||||
#define UBL_MESH_MIN_X (max(X_MIN_POS + UBL_MESH_INSET, 0))
|
|
||||||
#define UBL_MESH_MIN_Y (max(Y_MIN_POS + UBL_MESH_INSET, 0))
|
|
||||||
#define UBL_MESH_MAX_X (min(X_MAX_POS - (UBL_MESH_INSET), X_BED_SIZE))
|
|
||||||
#define UBL_MESH_MAX_Y (min(Y_MAX_POS - (UBL_MESH_INSET), Y_BED_SIZE))
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// If this is defined, the currently active mesh will be saved in the
|
|
||||||
// current slot on M500.
|
|
||||||
#define UBL_SAVE_ACTIVE_ON_M500
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section extras
|
// @section extras
|
||||||
|
|
|
@ -943,7 +943,7 @@
|
||||||
//========================= Unified Bed Leveling ============================
|
//========================= Unified Bed Leveling ============================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
|
||||||
#define UBL_MESH_INSET 1 // Mesh inset margin on print area
|
#define MESH_INSET 1 // Mesh inset margin on print area
|
||||||
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
||||||
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
||||||
|
|
||||||
|
@ -956,6 +956,7 @@
|
||||||
|
|
||||||
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
||||||
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
||||||
|
#define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
|
||||||
|
|
||||||
#elif ENABLED(MESH_BED_LEVELING)
|
#elif ENABLED(MESH_BED_LEVELING)
|
||||||
|
|
||||||
|
|
|
@ -489,12 +489,14 @@
|
||||||
// Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
|
// Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
|
||||||
//#define SD_DETECT_INVERTED
|
//#define SD_DETECT_INVERTED
|
||||||
|
|
||||||
#define SD_FINISHED_STEPPERRELEASE true //if sd support and the file is finished: disable steppers?
|
#define SD_FINISHED_STEPPERRELEASE true // Disable steppers when SD Print is finished
|
||||||
#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
|
#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
|
||||||
|
|
||||||
#define SDCARD_RATHERRECENTFIRST //reverse file order of sd card menu display. Its sorted practically after the file system block order.
|
// Reverse SD sort to show "more recent" files first, according to the card's FAT.
|
||||||
// if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that.
|
// Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended.
|
||||||
// using:
|
#define SDCARD_RATHERRECENTFIRST
|
||||||
|
|
||||||
|
// Add an option in the menu to run all auto#.g files
|
||||||
//#define MENU_ADDAUTOSTART
|
//#define MENU_ADDAUTOSTART
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -684,69 +686,12 @@
|
||||||
#define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
|
#define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Default mesh area is an area with an inset margin on the print area.
|
#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
|
||||||
// Below are the macros that are used to define the borders for the mesh area,
|
// Override the mesh area if the automatic (max) area is too large
|
||||||
// made available here for specialized needs, ie dual extruder setup.
|
//#define MESH_MIN_X MESH_INSET
|
||||||
#if ENABLED(MESH_BED_LEVELING)
|
//#define MESH_MIN_Y MESH_INSET
|
||||||
#if ENABLED(DELTA)
|
//#define MESH_MAX_X X_BED_SIZE - (MESH_INSET)
|
||||||
// Probing points may be verified at compile time within the radius
|
//#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET)
|
||||||
// using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
|
|
||||||
// so that may be added to SanityCheck.h in the future.
|
|
||||||
#define MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MAX_X (X_CENTER + DELTA_PROBEABLE_RADIUS - (MESH_INSET))
|
|
||||||
#define MESH_MAX_Y (Y_CENTER + DELTA_PROBEABLE_RADIUS - (MESH_INSET))
|
|
||||||
#elif IS_SCARA
|
|
||||||
#define MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MAX_X (X_CENTER + SCARA_PRINTABLE_RADIUS - (MESH_INSET))
|
|
||||||
#define MESH_MAX_Y (Y_CENTER + SCARA_PRINTABLE_RADIUS - (MESH_INSET))
|
|
||||||
#else
|
|
||||||
// Boundaries for Cartesian probing based on set limits
|
|
||||||
#if ENABLED(BED_CENTER_AT_0_0)
|
|
||||||
#define MESH_MIN_X (max(MESH_INSET, 0) - (X_BED_SIZE) / 2)
|
|
||||||
#define MESH_MIN_Y (max(MESH_INSET, 0) - (Y_BED_SIZE) / 2)
|
|
||||||
#define MESH_MAX_X (min(X_BED_SIZE - (MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
|
|
||||||
#define MESH_MAX_Y (min(Y_BED_SIZE - (MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
|
|
||||||
#else
|
|
||||||
#define MESH_MIN_X (max(X_MIN_POS + MESH_INSET, 0))
|
|
||||||
#define MESH_MIN_Y (max(Y_MIN_POS + MESH_INSET, 0))
|
|
||||||
#define MESH_MAX_X (min(X_MAX_POS - (MESH_INSET), X_BED_SIZE))
|
|
||||||
#define MESH_MAX_Y (min(Y_MAX_POS - (MESH_INSET), Y_BED_SIZE))
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
#elif ENABLED(AUTO_BED_LEVELING_UBL)
|
|
||||||
#if ENABLED(DELTA)
|
|
||||||
// Probing points may be verified at compile time within the radius
|
|
||||||
// using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
|
|
||||||
// so that may be added to SanityCheck.h in the future.
|
|
||||||
#define UBL_MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MAX_X (X_CENTER + DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#define UBL_MESH_MAX_Y (Y_CENTER + DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#elif IS_SCARA
|
|
||||||
#define UBL_MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MAX_X (X_CENTER + SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#define UBL_MESH_MAX_Y (Y_CENTER + SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#else
|
|
||||||
// Boundaries for Cartesian probing based on set limits
|
|
||||||
#if ENABLED(BED_CENTER_AT_0_0)
|
|
||||||
#define UBL_MESH_MIN_X (max(UBL_MESH_INSET, 0) - (X_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MIN_Y (max(UBL_MESH_INSET, 0) - (Y_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MAX_X (min(X_BED_SIZE - (UBL_MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MAX_Y (min(Y_BED_SIZE - (UBL_MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
|
|
||||||
#else
|
|
||||||
#define UBL_MESH_MIN_X (max(X_MIN_POS + UBL_MESH_INSET, 0))
|
|
||||||
#define UBL_MESH_MIN_Y (max(Y_MIN_POS + UBL_MESH_INSET, 0))
|
|
||||||
#define UBL_MESH_MAX_X (min(X_MAX_POS - (UBL_MESH_INSET), X_BED_SIZE))
|
|
||||||
#define UBL_MESH_MAX_Y (min(Y_MAX_POS - (UBL_MESH_INSET), Y_BED_SIZE))
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// If this is defined, the currently active mesh will be saved in the
|
|
||||||
// current slot on M500.
|
|
||||||
#define UBL_SAVE_ACTIVE_ON_M500
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section extras
|
// @section extras
|
||||||
|
|
|
@ -928,7 +928,7 @@
|
||||||
//========================= Unified Bed Leveling ============================
|
//========================= Unified Bed Leveling ============================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
|
||||||
#define UBL_MESH_INSET 1 // Mesh inset margin on print area
|
#define MESH_INSET 1 // Mesh inset margin on print area
|
||||||
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
||||||
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
||||||
|
|
||||||
|
@ -941,6 +941,7 @@
|
||||||
|
|
||||||
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
||||||
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
||||||
|
#define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
|
||||||
|
|
||||||
#elif ENABLED(MESH_BED_LEVELING)
|
#elif ENABLED(MESH_BED_LEVELING)
|
||||||
|
|
||||||
|
|
|
@ -489,12 +489,14 @@
|
||||||
// Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
|
// Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
|
||||||
#define SD_DETECT_INVERTED
|
#define SD_DETECT_INVERTED
|
||||||
|
|
||||||
#define SD_FINISHED_STEPPERRELEASE true //if sd support and the file is finished: disable steppers?
|
#define SD_FINISHED_STEPPERRELEASE true // Disable steppers when SD Print is finished
|
||||||
#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
|
#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
|
||||||
|
|
||||||
#define SDCARD_RATHERRECENTFIRST //reverse file order of sd card menu display. Its sorted practically after the file system block order.
|
// Reverse SD sort to show "more recent" files first, according to the card's FAT.
|
||||||
// if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that.
|
// Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended.
|
||||||
// using:
|
#define SDCARD_RATHERRECENTFIRST
|
||||||
|
|
||||||
|
// Add an option in the menu to run all auto#.g files
|
||||||
//#define MENU_ADDAUTOSTART
|
//#define MENU_ADDAUTOSTART
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -684,69 +686,12 @@
|
||||||
#define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
|
#define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Default mesh area is an area with an inset margin on the print area.
|
#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
|
||||||
// Below are the macros that are used to define the borders for the mesh area,
|
// Override the mesh area if the automatic (max) area is too large
|
||||||
// made available here for specialized needs, ie dual extruder setup.
|
//#define MESH_MIN_X MESH_INSET
|
||||||
#if ENABLED(MESH_BED_LEVELING)
|
//#define MESH_MIN_Y MESH_INSET
|
||||||
#if ENABLED(DELTA)
|
//#define MESH_MAX_X X_BED_SIZE - (MESH_INSET)
|
||||||
// Probing points may be verified at compile time within the radius
|
//#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET)
|
||||||
// using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
|
|
||||||
// so that may be added to SanityCheck.h in the future.
|
|
||||||
#define MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MAX_X (X_CENTER + DELTA_PROBEABLE_RADIUS - (MESH_INSET))
|
|
||||||
#define MESH_MAX_Y (Y_CENTER + DELTA_PROBEABLE_RADIUS - (MESH_INSET))
|
|
||||||
#elif IS_SCARA
|
|
||||||
#define MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MAX_X (X_CENTER + SCARA_PRINTABLE_RADIUS - (MESH_INSET))
|
|
||||||
#define MESH_MAX_Y (Y_CENTER + SCARA_PRINTABLE_RADIUS - (MESH_INSET))
|
|
||||||
#else
|
|
||||||
// Boundaries for Cartesian probing based on set limits
|
|
||||||
#if ENABLED(BED_CENTER_AT_0_0)
|
|
||||||
#define MESH_MIN_X (max(MESH_INSET, 0) - (X_BED_SIZE) / 2)
|
|
||||||
#define MESH_MIN_Y (max(MESH_INSET, 0) - (Y_BED_SIZE) / 2)
|
|
||||||
#define MESH_MAX_X (min(X_BED_SIZE - (MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
|
|
||||||
#define MESH_MAX_Y (min(Y_BED_SIZE - (MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
|
|
||||||
#else
|
|
||||||
#define MESH_MIN_X (max(X_MIN_POS + MESH_INSET, 0))
|
|
||||||
#define MESH_MIN_Y (max(Y_MIN_POS + MESH_INSET, 0))
|
|
||||||
#define MESH_MAX_X (min(X_MAX_POS - (MESH_INSET), X_BED_SIZE))
|
|
||||||
#define MESH_MAX_Y (min(Y_MAX_POS - (MESH_INSET), Y_BED_SIZE))
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
#elif ENABLED(AUTO_BED_LEVELING_UBL)
|
|
||||||
#if ENABLED(DELTA)
|
|
||||||
// Probing points may be verified at compile time within the radius
|
|
||||||
// using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
|
|
||||||
// so that may be added to SanityCheck.h in the future.
|
|
||||||
#define UBL_MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MAX_X (X_CENTER + DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#define UBL_MESH_MAX_Y (Y_CENTER + DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#elif IS_SCARA
|
|
||||||
#define UBL_MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MAX_X (X_CENTER + SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#define UBL_MESH_MAX_Y (Y_CENTER + SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#else
|
|
||||||
// Boundaries for Cartesian probing based on set limits
|
|
||||||
#if ENABLED(BED_CENTER_AT_0_0)
|
|
||||||
#define UBL_MESH_MIN_X (max(UBL_MESH_INSET, 0) - (X_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MIN_Y (max(UBL_MESH_INSET, 0) - (Y_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MAX_X (min(X_BED_SIZE - (UBL_MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MAX_Y (min(Y_BED_SIZE - (UBL_MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
|
|
||||||
#else
|
|
||||||
#define UBL_MESH_MIN_X (max(X_MIN_POS + UBL_MESH_INSET, 0))
|
|
||||||
#define UBL_MESH_MIN_Y (max(Y_MIN_POS + UBL_MESH_INSET, 0))
|
|
||||||
#define UBL_MESH_MAX_X (min(X_MAX_POS - (UBL_MESH_INSET), X_BED_SIZE))
|
|
||||||
#define UBL_MESH_MAX_Y (min(Y_MAX_POS - (UBL_MESH_INSET), Y_BED_SIZE))
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// If this is defined, the currently active mesh will be saved in the
|
|
||||||
// current slot on M500.
|
|
||||||
#define UBL_SAVE_ACTIVE_ON_M500
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section extras
|
// @section extras
|
||||||
|
|
|
@ -938,7 +938,7 @@
|
||||||
//========================= Unified Bed Leveling ============================
|
//========================= Unified Bed Leveling ============================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
|
||||||
#define UBL_MESH_INSET 1 // Mesh inset margin on print area
|
#define MESH_INSET 1 // Mesh inset margin on print area
|
||||||
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
||||||
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
||||||
|
|
||||||
|
@ -951,6 +951,7 @@
|
||||||
|
|
||||||
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
||||||
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
||||||
|
#define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
|
||||||
|
|
||||||
#elif ENABLED(MESH_BED_LEVELING)
|
#elif ENABLED(MESH_BED_LEVELING)
|
||||||
|
|
||||||
|
|
|
@ -489,12 +489,14 @@
|
||||||
// Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
|
// Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
|
||||||
#define SD_DETECT_INVERTED
|
#define SD_DETECT_INVERTED
|
||||||
|
|
||||||
#define SD_FINISHED_STEPPERRELEASE true //if sd support and the file is finished: disable steppers?
|
#define SD_FINISHED_STEPPERRELEASE true // Disable steppers when SD Print is finished
|
||||||
#define SD_FINISHED_RELEASECOMMAND "M104 S0\nM84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
|
#define SD_FINISHED_RELEASECOMMAND "M104 S0\nM84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
|
||||||
|
|
||||||
#define SDCARD_RATHERRECENTFIRST //reverse file order of sd card menu display. Its sorted practically after the file system block order.
|
// Reverse SD sort to show "more recent" files first, according to the card's FAT.
|
||||||
// if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that.
|
// Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended.
|
||||||
// using:
|
#define SDCARD_RATHERRECENTFIRST
|
||||||
|
|
||||||
|
// Add an option in the menu to run all auto#.g files
|
||||||
//#define MENU_ADDAUTOSTART
|
//#define MENU_ADDAUTOSTART
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -681,69 +683,12 @@
|
||||||
#define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
|
#define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Default mesh area is an area with an inset margin on the print area.
|
#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
|
||||||
// Below are the macros that are used to define the borders for the mesh area,
|
// Override the mesh area if the automatic (max) area is too large
|
||||||
// made available here for specialized needs, ie dual extruder setup.
|
//#define MESH_MIN_X MESH_INSET
|
||||||
#if ENABLED(MESH_BED_LEVELING)
|
//#define MESH_MIN_Y MESH_INSET
|
||||||
#if ENABLED(DELTA)
|
//#define MESH_MAX_X X_BED_SIZE - (MESH_INSET)
|
||||||
// Probing points may be verified at compile time within the radius
|
//#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET)
|
||||||
// using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
|
|
||||||
// so that may be added to SanityCheck.h in the future.
|
|
||||||
#define MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MAX_X (X_CENTER + DELTA_PROBEABLE_RADIUS - (MESH_INSET))
|
|
||||||
#define MESH_MAX_Y (Y_CENTER + DELTA_PROBEABLE_RADIUS - (MESH_INSET))
|
|
||||||
#elif IS_SCARA
|
|
||||||
#define MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MAX_X (X_CENTER + SCARA_PRINTABLE_RADIUS - (MESH_INSET))
|
|
||||||
#define MESH_MAX_Y (Y_CENTER + SCARA_PRINTABLE_RADIUS - (MESH_INSET))
|
|
||||||
#else
|
|
||||||
// Boundaries for Cartesian probing based on set limits
|
|
||||||
#if ENABLED(BED_CENTER_AT_0_0)
|
|
||||||
#define MESH_MIN_X (max(MESH_INSET, 0) - (X_BED_SIZE) / 2)
|
|
||||||
#define MESH_MIN_Y (max(MESH_INSET, 0) - (Y_BED_SIZE) / 2)
|
|
||||||
#define MESH_MAX_X (min(X_BED_SIZE - (MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
|
|
||||||
#define MESH_MAX_Y (min(Y_BED_SIZE - (MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
|
|
||||||
#else
|
|
||||||
#define MESH_MIN_X (max(X_MIN_POS + MESH_INSET, 0))
|
|
||||||
#define MESH_MIN_Y (max(Y_MIN_POS + MESH_INSET, 0))
|
|
||||||
#define MESH_MAX_X (min(X_MAX_POS - (MESH_INSET), X_BED_SIZE))
|
|
||||||
#define MESH_MAX_Y (min(Y_MAX_POS - (MESH_INSET), Y_BED_SIZE))
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
#elif ENABLED(AUTO_BED_LEVELING_UBL)
|
|
||||||
#if ENABLED(DELTA)
|
|
||||||
// Probing points may be verified at compile time within the radius
|
|
||||||
// using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
|
|
||||||
// so that may be added to SanityCheck.h in the future.
|
|
||||||
#define UBL_MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MAX_X (X_CENTER + DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#define UBL_MESH_MAX_Y (Y_CENTER + DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#elif IS_SCARA
|
|
||||||
#define UBL_MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MAX_X (X_CENTER + SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#define UBL_MESH_MAX_Y (Y_CENTER + SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#else
|
|
||||||
// Boundaries for Cartesian probing based on set limits
|
|
||||||
#if ENABLED(BED_CENTER_AT_0_0)
|
|
||||||
#define UBL_MESH_MIN_X (max(UBL_MESH_INSET, 0) - (X_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MIN_Y (max(UBL_MESH_INSET, 0) - (Y_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MAX_X (min(X_BED_SIZE - (UBL_MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MAX_Y (min(Y_BED_SIZE - (UBL_MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
|
|
||||||
#else
|
|
||||||
#define UBL_MESH_MIN_X (max(X_MIN_POS + UBL_MESH_INSET, 0))
|
|
||||||
#define UBL_MESH_MIN_Y (max(Y_MIN_POS + UBL_MESH_INSET, 0))
|
|
||||||
#define UBL_MESH_MAX_X (min(X_MAX_POS - (UBL_MESH_INSET), X_BED_SIZE))
|
|
||||||
#define UBL_MESH_MAX_Y (min(Y_MAX_POS - (UBL_MESH_INSET), Y_BED_SIZE))
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// If this is defined, the currently active mesh will be saved in the
|
|
||||||
// current slot on M500.
|
|
||||||
#define UBL_SAVE_ACTIVE_ON_M500
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section extras
|
// @section extras
|
||||||
|
|
|
@ -928,7 +928,7 @@
|
||||||
//========================= Unified Bed Leveling ============================
|
//========================= Unified Bed Leveling ============================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
|
||||||
#define UBL_MESH_INSET 1 // Mesh inset margin on print area
|
#define MESH_INSET 1 // Mesh inset margin on print area
|
||||||
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
||||||
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
||||||
|
|
||||||
|
@ -941,6 +941,7 @@
|
||||||
|
|
||||||
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
||||||
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
||||||
|
#define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
|
||||||
|
|
||||||
#elif ENABLED(MESH_BED_LEVELING)
|
#elif ENABLED(MESH_BED_LEVELING)
|
||||||
|
|
||||||
|
|
|
@ -489,12 +489,14 @@
|
||||||
// Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
|
// Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
|
||||||
#define SD_DETECT_INVERTED
|
#define SD_DETECT_INVERTED
|
||||||
|
|
||||||
#define SD_FINISHED_STEPPERRELEASE true //if sd support and the file is finished: disable steppers?
|
#define SD_FINISHED_STEPPERRELEASE true // Disable steppers when SD Print is finished
|
||||||
#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
|
#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
|
||||||
|
|
||||||
#define SDCARD_RATHERRECENTFIRST //reverse file order of sd card menu display. Its sorted practically after the file system block order.
|
// Reverse SD sort to show "more recent" files first, according to the card's FAT.
|
||||||
// if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that.
|
// Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended.
|
||||||
// using:
|
#define SDCARD_RATHERRECENTFIRST
|
||||||
|
|
||||||
|
// Add an option in the menu to run all auto#.g files
|
||||||
//#define MENU_ADDAUTOSTART
|
//#define MENU_ADDAUTOSTART
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -684,69 +686,12 @@
|
||||||
#define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
|
#define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Default mesh area is an area with an inset margin on the print area.
|
#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
|
||||||
// Below are the macros that are used to define the borders for the mesh area,
|
// Override the mesh area if the automatic (max) area is too large
|
||||||
// made available here for specialized needs, ie dual extruder setup.
|
//#define MESH_MIN_X MESH_INSET
|
||||||
#if ENABLED(MESH_BED_LEVELING)
|
//#define MESH_MIN_Y MESH_INSET
|
||||||
#if ENABLED(DELTA)
|
//#define MESH_MAX_X X_BED_SIZE - (MESH_INSET)
|
||||||
// Probing points may be verified at compile time within the radius
|
//#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET)
|
||||||
// using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
|
|
||||||
// so that may be added to SanityCheck.h in the future.
|
|
||||||
#define MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MAX_X (X_CENTER + DELTA_PROBEABLE_RADIUS - (MESH_INSET))
|
|
||||||
#define MESH_MAX_Y (Y_CENTER + DELTA_PROBEABLE_RADIUS - (MESH_INSET))
|
|
||||||
#elif IS_SCARA
|
|
||||||
#define MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MAX_X (X_CENTER + SCARA_PRINTABLE_RADIUS - (MESH_INSET))
|
|
||||||
#define MESH_MAX_Y (Y_CENTER + SCARA_PRINTABLE_RADIUS - (MESH_INSET))
|
|
||||||
#else
|
|
||||||
// Boundaries for Cartesian probing based on set limits
|
|
||||||
#if ENABLED(BED_CENTER_AT_0_0)
|
|
||||||
#define MESH_MIN_X (max(MESH_INSET, 0) - (X_BED_SIZE) / 2)
|
|
||||||
#define MESH_MIN_Y (max(MESH_INSET, 0) - (Y_BED_SIZE) / 2)
|
|
||||||
#define MESH_MAX_X (min(X_BED_SIZE - (MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
|
|
||||||
#define MESH_MAX_Y (min(Y_BED_SIZE - (MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
|
|
||||||
#else
|
|
||||||
#define MESH_MIN_X (max(X_MIN_POS + MESH_INSET, 0))
|
|
||||||
#define MESH_MIN_Y (max(Y_MIN_POS + MESH_INSET, 0))
|
|
||||||
#define MESH_MAX_X (min(X_MAX_POS - (MESH_INSET), X_BED_SIZE))
|
|
||||||
#define MESH_MAX_Y (min(Y_MAX_POS - (MESH_INSET), Y_BED_SIZE))
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
#elif ENABLED(AUTO_BED_LEVELING_UBL)
|
|
||||||
#if ENABLED(DELTA)
|
|
||||||
// Probing points may be verified at compile time within the radius
|
|
||||||
// using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
|
|
||||||
// so that may be added to SanityCheck.h in the future.
|
|
||||||
#define UBL_MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MAX_X (X_CENTER + DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#define UBL_MESH_MAX_Y (Y_CENTER + DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#elif IS_SCARA
|
|
||||||
#define UBL_MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MAX_X (X_CENTER + SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#define UBL_MESH_MAX_Y (Y_CENTER + SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#else
|
|
||||||
// Boundaries for Cartesian probing based on set limits
|
|
||||||
#if ENABLED(BED_CENTER_AT_0_0)
|
|
||||||
#define UBL_MESH_MIN_X (max(UBL_MESH_INSET, 0) - (X_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MIN_Y (max(UBL_MESH_INSET, 0) - (Y_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MAX_X (min(X_BED_SIZE - (UBL_MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MAX_Y (min(Y_BED_SIZE - (UBL_MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
|
|
||||||
#else
|
|
||||||
#define UBL_MESH_MIN_X (max(X_MIN_POS + UBL_MESH_INSET, 0))
|
|
||||||
#define UBL_MESH_MIN_Y (max(Y_MIN_POS + UBL_MESH_INSET, 0))
|
|
||||||
#define UBL_MESH_MAX_X (min(X_MAX_POS - (UBL_MESH_INSET), X_BED_SIZE))
|
|
||||||
#define UBL_MESH_MAX_Y (min(Y_MAX_POS - (UBL_MESH_INSET), Y_BED_SIZE))
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// If this is defined, the currently active mesh will be saved in the
|
|
||||||
// current slot on M500.
|
|
||||||
#define UBL_SAVE_ACTIVE_ON_M500
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section extras
|
// @section extras
|
||||||
|
|
|
@ -936,7 +936,7 @@
|
||||||
//========================= Unified Bed Leveling ============================
|
//========================= Unified Bed Leveling ============================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
|
||||||
#define UBL_MESH_INSET 1 // Mesh inset margin on print area
|
#define MESH_INSET 1 // Mesh inset margin on print area
|
||||||
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
||||||
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
||||||
|
|
||||||
|
@ -949,6 +949,7 @@
|
||||||
|
|
||||||
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
||||||
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
||||||
|
#define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
|
||||||
|
|
||||||
#elif ENABLED(MESH_BED_LEVELING)
|
#elif ENABLED(MESH_BED_LEVELING)
|
||||||
|
|
||||||
|
|
|
@ -489,12 +489,14 @@
|
||||||
// Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
|
// Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
|
||||||
#define SD_DETECT_INVERTED
|
#define SD_DETECT_INVERTED
|
||||||
|
|
||||||
#define SD_FINISHED_STEPPERRELEASE true //if sd support and the file is finished: disable steppers?
|
#define SD_FINISHED_STEPPERRELEASE true // Disable steppers when SD Print is finished
|
||||||
#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
|
#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
|
||||||
|
|
||||||
#define SDCARD_RATHERRECENTFIRST //reverse file order of sd card menu display. Its sorted practically after the file system block order.
|
// Reverse SD sort to show "more recent" files first, according to the card's FAT.
|
||||||
// if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that.
|
// Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended.
|
||||||
// using:
|
#define SDCARD_RATHERRECENTFIRST
|
||||||
|
|
||||||
|
// Add an option in the menu to run all auto#.g files
|
||||||
//#define MENU_ADDAUTOSTART
|
//#define MENU_ADDAUTOSTART
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -684,69 +686,12 @@
|
||||||
#define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
|
#define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Default mesh area is an area with an inset margin on the print area.
|
#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
|
||||||
// Below are the macros that are used to define the borders for the mesh area,
|
// Override the mesh area if the automatic (max) area is too large
|
||||||
// made available here for specialized needs, ie dual extruder setup.
|
//#define MESH_MIN_X MESH_INSET
|
||||||
#if ENABLED(MESH_BED_LEVELING)
|
//#define MESH_MIN_Y MESH_INSET
|
||||||
#if ENABLED(DELTA)
|
//#define MESH_MAX_X X_BED_SIZE - (MESH_INSET)
|
||||||
// Probing points may be verified at compile time within the radius
|
//#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET)
|
||||||
// using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
|
|
||||||
// so that may be added to SanityCheck.h in the future.
|
|
||||||
#define MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MAX_X (X_CENTER + DELTA_PROBEABLE_RADIUS - (MESH_INSET))
|
|
||||||
#define MESH_MAX_Y (Y_CENTER + DELTA_PROBEABLE_RADIUS - (MESH_INSET))
|
|
||||||
#elif IS_SCARA
|
|
||||||
#define MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MAX_X (X_CENTER + SCARA_PRINTABLE_RADIUS - (MESH_INSET))
|
|
||||||
#define MESH_MAX_Y (Y_CENTER + SCARA_PRINTABLE_RADIUS - (MESH_INSET))
|
|
||||||
#else
|
|
||||||
// Boundaries for Cartesian probing based on set limits
|
|
||||||
#if ENABLED(BED_CENTER_AT_0_0)
|
|
||||||
#define MESH_MIN_X (max(MESH_INSET, 0) - (X_BED_SIZE) / 2)
|
|
||||||
#define MESH_MIN_Y (max(MESH_INSET, 0) - (Y_BED_SIZE) / 2)
|
|
||||||
#define MESH_MAX_X (min(X_BED_SIZE - (MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
|
|
||||||
#define MESH_MAX_Y (min(Y_BED_SIZE - (MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
|
|
||||||
#else
|
|
||||||
#define MESH_MIN_X (max(X_MIN_POS + MESH_INSET, 0))
|
|
||||||
#define MESH_MIN_Y (max(Y_MIN_POS + MESH_INSET, 0))
|
|
||||||
#define MESH_MAX_X (min(X_MAX_POS - (MESH_INSET), X_BED_SIZE))
|
|
||||||
#define MESH_MAX_Y (min(Y_MAX_POS - (MESH_INSET), Y_BED_SIZE))
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
#elif ENABLED(AUTO_BED_LEVELING_UBL)
|
|
||||||
#if ENABLED(DELTA)
|
|
||||||
// Probing points may be verified at compile time within the radius
|
|
||||||
// using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
|
|
||||||
// so that may be added to SanityCheck.h in the future.
|
|
||||||
#define UBL_MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MAX_X (X_CENTER + DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#define UBL_MESH_MAX_Y (Y_CENTER + DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#elif IS_SCARA
|
|
||||||
#define UBL_MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MAX_X (X_CENTER + SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#define UBL_MESH_MAX_Y (Y_CENTER + SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#else
|
|
||||||
// Boundaries for Cartesian probing based on set limits
|
|
||||||
#if ENABLED(BED_CENTER_AT_0_0)
|
|
||||||
#define UBL_MESH_MIN_X (max(UBL_MESH_INSET, 0) - (X_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MIN_Y (max(UBL_MESH_INSET, 0) - (Y_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MAX_X (min(X_BED_SIZE - (UBL_MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MAX_Y (min(Y_BED_SIZE - (UBL_MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
|
|
||||||
#else
|
|
||||||
#define UBL_MESH_MIN_X (max(X_MIN_POS + UBL_MESH_INSET, 0))
|
|
||||||
#define UBL_MESH_MIN_Y (max(Y_MIN_POS + UBL_MESH_INSET, 0))
|
|
||||||
#define UBL_MESH_MAX_X (min(X_MAX_POS - (UBL_MESH_INSET), X_BED_SIZE))
|
|
||||||
#define UBL_MESH_MAX_Y (min(Y_MAX_POS - (UBL_MESH_INSET), Y_BED_SIZE))
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// If this is defined, the currently active mesh will be saved in the
|
|
||||||
// current slot on M500.
|
|
||||||
#define UBL_SAVE_ACTIVE_ON_M500
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section extras
|
// @section extras
|
||||||
|
|
|
@ -947,7 +947,7 @@
|
||||||
//========================= Unified Bed Leveling ============================
|
//========================= Unified Bed Leveling ============================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
|
||||||
#define UBL_MESH_INSET 1 // Mesh inset margin on print area
|
#define MESH_INSET 1 // Mesh inset margin on print area
|
||||||
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
||||||
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
||||||
|
|
||||||
|
@ -960,6 +960,7 @@
|
||||||
|
|
||||||
//#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
//#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
||||||
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
||||||
|
#define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
|
||||||
|
|
||||||
#elif ENABLED(MESH_BED_LEVELING)
|
#elif ENABLED(MESH_BED_LEVELING)
|
||||||
|
|
||||||
|
|
|
@ -489,12 +489,14 @@
|
||||||
// Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
|
// Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
|
||||||
#define SD_DETECT_INVERTED
|
#define SD_DETECT_INVERTED
|
||||||
|
|
||||||
#define SD_FINISHED_STEPPERRELEASE true //if sd support and the file is finished: disable steppers?
|
#define SD_FINISHED_STEPPERRELEASE true // Disable steppers when SD Print is finished
|
||||||
#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
|
#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
|
||||||
|
|
||||||
#define SDCARD_RATHERRECENTFIRST //reverse file order of sd card menu display. Its sorted practically after the file system block order.
|
// Reverse SD sort to show "more recent" files first, according to the card's FAT.
|
||||||
// if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that.
|
// Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended.
|
||||||
// using:
|
#define SDCARD_RATHERRECENTFIRST
|
||||||
|
|
||||||
|
// Add an option in the menu to run all auto#.g files
|
||||||
//#define MENU_ADDAUTOSTART
|
//#define MENU_ADDAUTOSTART
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -684,69 +686,12 @@
|
||||||
#define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
|
#define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Default mesh area is an area with an inset margin on the print area.
|
#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
|
||||||
// Below are the macros that are used to define the borders for the mesh area,
|
// Override the mesh area if the automatic (max) area is too large
|
||||||
// made available here for specialized needs, ie dual extruder setup.
|
//#define MESH_MIN_X MESH_INSET
|
||||||
#if ENABLED(MESH_BED_LEVELING)
|
//#define MESH_MIN_Y MESH_INSET
|
||||||
#if ENABLED(DELTA)
|
//#define MESH_MAX_X X_BED_SIZE - (MESH_INSET)
|
||||||
// Probing points may be verified at compile time within the radius
|
//#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET)
|
||||||
// using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
|
|
||||||
// so that may be added to SanityCheck.h in the future.
|
|
||||||
#define MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MAX_X (X_CENTER + DELTA_PROBEABLE_RADIUS - (MESH_INSET))
|
|
||||||
#define MESH_MAX_Y (Y_CENTER + DELTA_PROBEABLE_RADIUS - (MESH_INSET))
|
|
||||||
#elif IS_SCARA
|
|
||||||
#define MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MAX_X (X_CENTER + SCARA_PRINTABLE_RADIUS - (MESH_INSET))
|
|
||||||
#define MESH_MAX_Y (Y_CENTER + SCARA_PRINTABLE_RADIUS - (MESH_INSET))
|
|
||||||
#else
|
|
||||||
// Boundaries for Cartesian probing based on set limits
|
|
||||||
#if ENABLED(BED_CENTER_AT_0_0)
|
|
||||||
#define MESH_MIN_X (max(MESH_INSET, 0) - (X_BED_SIZE) / 2)
|
|
||||||
#define MESH_MIN_Y (max(MESH_INSET, 0) - (Y_BED_SIZE) / 2)
|
|
||||||
#define MESH_MAX_X (min(X_BED_SIZE - (MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
|
|
||||||
#define MESH_MAX_Y (min(Y_BED_SIZE - (MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
|
|
||||||
#else
|
|
||||||
#define MESH_MIN_X (max(X_MIN_POS + MESH_INSET, 0))
|
|
||||||
#define MESH_MIN_Y (max(Y_MIN_POS + MESH_INSET, 0))
|
|
||||||
#define MESH_MAX_X (min(X_MAX_POS - (MESH_INSET), X_BED_SIZE))
|
|
||||||
#define MESH_MAX_Y (min(Y_MAX_POS - (MESH_INSET), Y_BED_SIZE))
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
#elif ENABLED(AUTO_BED_LEVELING_UBL)
|
|
||||||
#if ENABLED(DELTA)
|
|
||||||
// Probing points may be verified at compile time within the radius
|
|
||||||
// using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
|
|
||||||
// so that may be added to SanityCheck.h in the future.
|
|
||||||
#define UBL_MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MAX_X (X_CENTER + DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#define UBL_MESH_MAX_Y (Y_CENTER + DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#elif IS_SCARA
|
|
||||||
#define UBL_MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MAX_X (X_CENTER + SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#define UBL_MESH_MAX_Y (Y_CENTER + SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#else
|
|
||||||
// Boundaries for Cartesian probing based on set limits
|
|
||||||
#if ENABLED(BED_CENTER_AT_0_0)
|
|
||||||
#define UBL_MESH_MIN_X (max(UBL_MESH_INSET, 0) - (X_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MIN_Y (max(UBL_MESH_INSET, 0) - (Y_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MAX_X (min(X_BED_SIZE - (UBL_MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MAX_Y (min(Y_BED_SIZE - (UBL_MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
|
|
||||||
#else
|
|
||||||
#define UBL_MESH_MIN_X (max(X_MIN_POS + UBL_MESH_INSET, 0))
|
|
||||||
#define UBL_MESH_MIN_Y (max(Y_MIN_POS + UBL_MESH_INSET, 0))
|
|
||||||
#define UBL_MESH_MAX_X (min(X_MAX_POS - (UBL_MESH_INSET), X_BED_SIZE))
|
|
||||||
#define UBL_MESH_MAX_Y (min(Y_MAX_POS - (UBL_MESH_INSET), Y_BED_SIZE))
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// If this is defined, the currently active mesh will be saved in the
|
|
||||||
// current slot on M500.
|
|
||||||
#define UBL_SAVE_ACTIVE_ON_M500
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section extras
|
// @section extras
|
||||||
|
|
|
@ -919,7 +919,7 @@
|
||||||
//========================= Unified Bed Leveling ============================
|
//========================= Unified Bed Leveling ============================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
|
||||||
#define UBL_MESH_INSET 1 // Mesh inset margin on print area
|
#define MESH_INSET 1 // Mesh inset margin on print area
|
||||||
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
||||||
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
||||||
|
|
||||||
|
@ -932,6 +932,7 @@
|
||||||
|
|
||||||
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
||||||
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
||||||
|
#define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
|
||||||
|
|
||||||
#elif ENABLED(MESH_BED_LEVELING)
|
#elif ENABLED(MESH_BED_LEVELING)
|
||||||
|
|
||||||
|
|
|
@ -489,12 +489,14 @@
|
||||||
// Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
|
// Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
|
||||||
#define SD_DETECT_INVERTED
|
#define SD_DETECT_INVERTED
|
||||||
|
|
||||||
#define SD_FINISHED_STEPPERRELEASE true //if sd support and the file is finished: disable steppers?
|
#define SD_FINISHED_STEPPERRELEASE true // Disable steppers when SD Print is finished
|
||||||
#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
|
#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
|
||||||
|
|
||||||
#define SDCARD_RATHERRECENTFIRST //reverse file order of sd card menu display. Its sorted practically after the file system block order.
|
// Reverse SD sort to show "more recent" files first, according to the card's FAT.
|
||||||
// if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that.
|
// Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended.
|
||||||
// using:
|
#define SDCARD_RATHERRECENTFIRST
|
||||||
|
|
||||||
|
// Add an option in the menu to run all auto#.g files
|
||||||
//#define MENU_ADDAUTOSTART
|
//#define MENU_ADDAUTOSTART
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -684,69 +686,12 @@
|
||||||
#define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
|
#define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Default mesh area is an area with an inset margin on the print area.
|
#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
|
||||||
// Below are the macros that are used to define the borders for the mesh area,
|
// Override the mesh area if the automatic (max) area is too large
|
||||||
// made available here for specialized needs, ie dual extruder setup.
|
//#define MESH_MIN_X MESH_INSET
|
||||||
#if ENABLED(MESH_BED_LEVELING)
|
//#define MESH_MIN_Y MESH_INSET
|
||||||
#if ENABLED(DELTA)
|
//#define MESH_MAX_X X_BED_SIZE - (MESH_INSET)
|
||||||
// Probing points may be verified at compile time within the radius
|
//#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET)
|
||||||
// using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
|
|
||||||
// so that may be added to SanityCheck.h in the future.
|
|
||||||
#define MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MAX_X (X_CENTER + DELTA_PROBEABLE_RADIUS - (MESH_INSET))
|
|
||||||
#define MESH_MAX_Y (Y_CENTER + DELTA_PROBEABLE_RADIUS - (MESH_INSET))
|
|
||||||
#elif IS_SCARA
|
|
||||||
#define MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MAX_X (X_CENTER + SCARA_PRINTABLE_RADIUS - (MESH_INSET))
|
|
||||||
#define MESH_MAX_Y (Y_CENTER + SCARA_PRINTABLE_RADIUS - (MESH_INSET))
|
|
||||||
#else
|
|
||||||
// Boundaries for Cartesian probing based on set limits
|
|
||||||
#if ENABLED(BED_CENTER_AT_0_0)
|
|
||||||
#define MESH_MIN_X (max(MESH_INSET, 0) - (X_BED_SIZE) / 2)
|
|
||||||
#define MESH_MIN_Y (max(MESH_INSET, 0) - (Y_BED_SIZE) / 2)
|
|
||||||
#define MESH_MAX_X (min(X_BED_SIZE - (MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
|
|
||||||
#define MESH_MAX_Y (min(Y_BED_SIZE - (MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
|
|
||||||
#else
|
|
||||||
#define MESH_MIN_X (max(X_MIN_POS + MESH_INSET, 0))
|
|
||||||
#define MESH_MIN_Y (max(Y_MIN_POS + MESH_INSET, 0))
|
|
||||||
#define MESH_MAX_X (min(X_MAX_POS - (MESH_INSET), X_BED_SIZE))
|
|
||||||
#define MESH_MAX_Y (min(Y_MAX_POS - (MESH_INSET), Y_BED_SIZE))
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
#elif ENABLED(AUTO_BED_LEVELING_UBL)
|
|
||||||
#if ENABLED(DELTA)
|
|
||||||
// Probing points may be verified at compile time within the radius
|
|
||||||
// using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
|
|
||||||
// so that may be added to SanityCheck.h in the future.
|
|
||||||
#define UBL_MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MAX_X (X_CENTER + DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#define UBL_MESH_MAX_Y (Y_CENTER + DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#elif IS_SCARA
|
|
||||||
#define UBL_MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MAX_X (X_CENTER + SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#define UBL_MESH_MAX_Y (Y_CENTER + SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#else
|
|
||||||
// Boundaries for Cartesian probing based on set limits
|
|
||||||
#if ENABLED(BED_CENTER_AT_0_0)
|
|
||||||
#define UBL_MESH_MIN_X (max(UBL_MESH_INSET, 0) - (X_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MIN_Y (max(UBL_MESH_INSET, 0) - (Y_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MAX_X (min(X_BED_SIZE - (UBL_MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MAX_Y (min(Y_BED_SIZE - (UBL_MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
|
|
||||||
#else
|
|
||||||
#define UBL_MESH_MIN_X (max(X_MIN_POS + UBL_MESH_INSET, 0))
|
|
||||||
#define UBL_MESH_MIN_Y (max(Y_MIN_POS + UBL_MESH_INSET, 0))
|
|
||||||
#define UBL_MESH_MAX_X (min(X_MAX_POS - (UBL_MESH_INSET), X_BED_SIZE))
|
|
||||||
#define UBL_MESH_MAX_Y (min(Y_MAX_POS - (UBL_MESH_INSET), Y_BED_SIZE))
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// If this is defined, the currently active mesh will be saved in the
|
|
||||||
// current slot on M500.
|
|
||||||
#define UBL_SAVE_ACTIVE_ON_M500
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section extras
|
// @section extras
|
||||||
|
|
|
@ -919,7 +919,7 @@
|
||||||
//========================= Unified Bed Leveling ============================
|
//========================= Unified Bed Leveling ============================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
|
||||||
#define UBL_MESH_INSET 1 // Mesh inset margin on print area
|
#define MESH_INSET 1 // Mesh inset margin on print area
|
||||||
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
||||||
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
||||||
|
|
||||||
|
@ -932,6 +932,7 @@
|
||||||
|
|
||||||
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
||||||
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
||||||
|
#define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
|
||||||
|
|
||||||
#elif ENABLED(MESH_BED_LEVELING)
|
#elif ENABLED(MESH_BED_LEVELING)
|
||||||
|
|
||||||
|
|
|
@ -934,7 +934,7 @@
|
||||||
//========================= Unified Bed Leveling ============================
|
//========================= Unified Bed Leveling ============================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
|
||||||
#define UBL_MESH_INSET 1 // Mesh inset margin on print area
|
#define MESH_INSET 1 // Mesh inset margin on print area
|
||||||
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
||||||
#define GRID_MAX_POINTS_Y 10
|
#define GRID_MAX_POINTS_Y 10
|
||||||
|
|
||||||
|
@ -947,6 +947,7 @@
|
||||||
|
|
||||||
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
||||||
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
||||||
|
#define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
|
||||||
|
|
||||||
#elif ENABLED(MESH_BED_LEVELING)
|
#elif ENABLED(MESH_BED_LEVELING)
|
||||||
|
|
||||||
|
|
|
@ -489,12 +489,14 @@
|
||||||
// Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
|
// Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
|
||||||
#define SD_DETECT_INVERTED
|
#define SD_DETECT_INVERTED
|
||||||
|
|
||||||
#define SD_FINISHED_STEPPERRELEASE true //if sd support and the file is finished: disable steppers?
|
#define SD_FINISHED_STEPPERRELEASE true // Disable steppers when SD Print is finished
|
||||||
#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
|
#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
|
||||||
|
|
||||||
#define SDCARD_RATHERRECENTFIRST //reverse file order of sd card menu display. Its sorted practically after the file system block order.
|
// Reverse SD sort to show "more recent" files first, according to the card's FAT.
|
||||||
// if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that.
|
// Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended.
|
||||||
// using:
|
#define SDCARD_RATHERRECENTFIRST
|
||||||
|
|
||||||
|
// Add an option in the menu to run all auto#.g files
|
||||||
//#define MENU_ADDAUTOSTART
|
//#define MENU_ADDAUTOSTART
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -685,69 +687,12 @@
|
||||||
#define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
|
#define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Default mesh area is an area with an inset margin on the print area.
|
#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
|
||||||
// Below are the macros that are used to define the borders for the mesh area,
|
// Override the mesh area if the automatic (max) area is too large
|
||||||
// made available here for specialized needs, ie dual extruder setup.
|
//#define MESH_MIN_X MESH_INSET
|
||||||
#if ENABLED(MESH_BED_LEVELING)
|
//#define MESH_MIN_Y MESH_INSET
|
||||||
#if ENABLED(DELTA)
|
//#define MESH_MAX_X X_BED_SIZE - (MESH_INSET)
|
||||||
// Probing points may be verified at compile time within the radius
|
//#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET)
|
||||||
// using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
|
|
||||||
// so that may be added to SanityCheck.h in the future.
|
|
||||||
#define MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MAX_X (X_CENTER + DELTA_PROBEABLE_RADIUS - (MESH_INSET))
|
|
||||||
#define MESH_MAX_Y (Y_CENTER + DELTA_PROBEABLE_RADIUS - (MESH_INSET))
|
|
||||||
#elif IS_SCARA
|
|
||||||
#define MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MAX_X (X_CENTER + SCARA_PRINTABLE_RADIUS - (MESH_INSET))
|
|
||||||
#define MESH_MAX_Y (Y_CENTER + SCARA_PRINTABLE_RADIUS - (MESH_INSET))
|
|
||||||
#else
|
|
||||||
// Boundaries for Cartesian probing based on set limits
|
|
||||||
#if ENABLED(BED_CENTER_AT_0_0)
|
|
||||||
#define MESH_MIN_X (max(MESH_INSET, 0) - (X_BED_SIZE) / 2)
|
|
||||||
#define MESH_MIN_Y (max(MESH_INSET, 0) - (Y_BED_SIZE) / 2)
|
|
||||||
#define MESH_MAX_X (min(X_BED_SIZE - (MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
|
|
||||||
#define MESH_MAX_Y (min(Y_BED_SIZE - (MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
|
|
||||||
#else
|
|
||||||
#define MESH_MIN_X (max(X_MIN_POS + MESH_INSET, 0))
|
|
||||||
#define MESH_MIN_Y (max(Y_MIN_POS + MESH_INSET, 0))
|
|
||||||
#define MESH_MAX_X (min(X_MAX_POS - (MESH_INSET), X_BED_SIZE))
|
|
||||||
#define MESH_MAX_Y (min(Y_MAX_POS - (MESH_INSET), Y_BED_SIZE))
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
#elif ENABLED(AUTO_BED_LEVELING_UBL)
|
|
||||||
#if ENABLED(DELTA)
|
|
||||||
// Probing points may be verified at compile time within the radius
|
|
||||||
// using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
|
|
||||||
// so that may be added to SanityCheck.h in the future.
|
|
||||||
#define UBL_MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MAX_X (X_CENTER + DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#define UBL_MESH_MAX_Y (Y_CENTER + DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#elif IS_SCARA
|
|
||||||
#define UBL_MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MAX_X (X_CENTER + SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#define UBL_MESH_MAX_Y (Y_CENTER + SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#else
|
|
||||||
// Boundaries for Cartesian probing based on set limits
|
|
||||||
#if ENABLED(BED_CENTER_AT_0_0)
|
|
||||||
#define UBL_MESH_MIN_X (max(UBL_MESH_INSET, 0) - (X_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MIN_Y (max(UBL_MESH_INSET, 0) - (Y_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MAX_X (min(X_BED_SIZE - (UBL_MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MAX_Y (min(Y_BED_SIZE - (UBL_MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
|
|
||||||
#else
|
|
||||||
#define UBL_MESH_MIN_X (max(X_MIN_POS + UBL_MESH_INSET, 0))
|
|
||||||
#define UBL_MESH_MIN_Y (max(Y_MIN_POS + UBL_MESH_INSET, 0))
|
|
||||||
#define UBL_MESH_MAX_X (min(X_MAX_POS - (UBL_MESH_INSET), X_BED_SIZE))
|
|
||||||
#define UBL_MESH_MAX_Y (min(Y_MAX_POS - (UBL_MESH_INSET), Y_BED_SIZE))
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// If this is defined, the currently active mesh will be saved in the
|
|
||||||
// current slot on M500.
|
|
||||||
#define UBL_SAVE_ACTIVE_ON_M500
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section extras
|
// @section extras
|
||||||
|
|
|
@ -952,7 +952,7 @@
|
||||||
//========================= Unified Bed Leveling ============================
|
//========================= Unified Bed Leveling ============================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
|
||||||
#define UBL_MESH_INSET 1 // Mesh inset margin on print area
|
#define MESH_INSET 1 // Mesh inset margin on print area
|
||||||
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
||||||
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
||||||
|
|
||||||
|
@ -965,6 +965,7 @@
|
||||||
|
|
||||||
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
||||||
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
||||||
|
#define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
|
||||||
|
|
||||||
#elif ENABLED(MESH_BED_LEVELING)
|
#elif ENABLED(MESH_BED_LEVELING)
|
||||||
|
|
||||||
|
|
|
@ -937,7 +937,7 @@
|
||||||
//========================= Unified Bed Leveling ============================
|
//========================= Unified Bed Leveling ============================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
|
||||||
#define UBL_MESH_INSET 1 // Mesh inset margin on print area
|
#define MESH_INSET 1 // Mesh inset margin on print area
|
||||||
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
||||||
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
||||||
|
|
||||||
|
@ -950,6 +950,7 @@
|
||||||
|
|
||||||
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
||||||
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
||||||
|
#define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
|
||||||
|
|
||||||
#elif ENABLED(MESH_BED_LEVELING)
|
#elif ENABLED(MESH_BED_LEVELING)
|
||||||
|
|
||||||
|
|
|
@ -941,7 +941,7 @@
|
||||||
//========================= Unified Bed Leveling ============================
|
//========================= Unified Bed Leveling ============================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
|
||||||
#define UBL_MESH_INSET 1 // Mesh inset margin on print area
|
#define MESH_INSET 1 // Mesh inset margin on print area
|
||||||
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
||||||
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
||||||
|
|
||||||
|
@ -954,6 +954,7 @@
|
||||||
|
|
||||||
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
||||||
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
||||||
|
#define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
|
||||||
|
|
||||||
#elif ENABLED(MESH_BED_LEVELING)
|
#elif ENABLED(MESH_BED_LEVELING)
|
||||||
|
|
||||||
|
|
|
@ -489,12 +489,14 @@
|
||||||
// Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
|
// Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
|
||||||
#define SD_DETECT_INVERTED
|
#define SD_DETECT_INVERTED
|
||||||
|
|
||||||
#define SD_FINISHED_STEPPERRELEASE true //if sd support and the file is finished: disable steppers?
|
#define SD_FINISHED_STEPPERRELEASE true // Disable steppers when SD Print is finished
|
||||||
#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
|
#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
|
||||||
|
|
||||||
#define SDCARD_RATHERRECENTFIRST //reverse file order of sd card menu display. Its sorted practically after the file system block order.
|
// Reverse SD sort to show "more recent" files first, according to the card's FAT.
|
||||||
// if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that.
|
// Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended.
|
||||||
// using:
|
#define SDCARD_RATHERRECENTFIRST
|
||||||
|
|
||||||
|
// Add an option in the menu to run all auto#.g files
|
||||||
//#define MENU_ADDAUTOSTART
|
//#define MENU_ADDAUTOSTART
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -684,69 +686,12 @@
|
||||||
#define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
|
#define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Default mesh area is an area with an inset margin on the print area.
|
#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
|
||||||
// Below are the macros that are used to define the borders for the mesh area,
|
// Override the mesh area if the automatic (max) area is too large
|
||||||
// made available here for specialized needs, ie dual extruder setup.
|
//#define MESH_MIN_X MESH_INSET
|
||||||
#if ENABLED(MESH_BED_LEVELING)
|
//#define MESH_MIN_Y MESH_INSET
|
||||||
#if ENABLED(DELTA)
|
//#define MESH_MAX_X X_BED_SIZE - (MESH_INSET)
|
||||||
// Probing points may be verified at compile time within the radius
|
//#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET)
|
||||||
// using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
|
|
||||||
// so that may be added to SanityCheck.h in the future.
|
|
||||||
#define MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MAX_X (X_CENTER + DELTA_PROBEABLE_RADIUS - (MESH_INSET))
|
|
||||||
#define MESH_MAX_Y (Y_CENTER + DELTA_PROBEABLE_RADIUS - (MESH_INSET))
|
|
||||||
#elif IS_SCARA
|
|
||||||
#define MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MAX_X (X_CENTER + SCARA_PRINTABLE_RADIUS - (MESH_INSET))
|
|
||||||
#define MESH_MAX_Y (Y_CENTER + SCARA_PRINTABLE_RADIUS - (MESH_INSET))
|
|
||||||
#else
|
|
||||||
// Boundaries for Cartesian probing based on set limits
|
|
||||||
#if ENABLED(BED_CENTER_AT_0_0)
|
|
||||||
#define MESH_MIN_X (max(MESH_INSET, 0) - (X_BED_SIZE) / 2)
|
|
||||||
#define MESH_MIN_Y (max(MESH_INSET, 0) - (Y_BED_SIZE) / 2)
|
|
||||||
#define MESH_MAX_X (min(X_BED_SIZE - (MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
|
|
||||||
#define MESH_MAX_Y (min(Y_BED_SIZE - (MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
|
|
||||||
#else
|
|
||||||
#define MESH_MIN_X (max(X_MIN_POS + MESH_INSET, 0))
|
|
||||||
#define MESH_MIN_Y (max(Y_MIN_POS + MESH_INSET, 0))
|
|
||||||
#define MESH_MAX_X (min(X_MAX_POS - (MESH_INSET), X_BED_SIZE))
|
|
||||||
#define MESH_MAX_Y (min(Y_MAX_POS - (MESH_INSET), Y_BED_SIZE))
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
#elif ENABLED(AUTO_BED_LEVELING_UBL)
|
|
||||||
#if ENABLED(DELTA)
|
|
||||||
// Probing points may be verified at compile time within the radius
|
|
||||||
// using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
|
|
||||||
// so that may be added to SanityCheck.h in the future.
|
|
||||||
#define UBL_MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MAX_X (X_CENTER + DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#define UBL_MESH_MAX_Y (Y_CENTER + DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#elif IS_SCARA
|
|
||||||
#define UBL_MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MAX_X (X_CENTER + SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#define UBL_MESH_MAX_Y (Y_CENTER + SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#else
|
|
||||||
// Boundaries for Cartesian probing based on set limits
|
|
||||||
#if ENABLED(BED_CENTER_AT_0_0)
|
|
||||||
#define UBL_MESH_MIN_X (max(UBL_MESH_INSET, 0) - (X_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MIN_Y (max(UBL_MESH_INSET, 0) - (Y_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MAX_X (min(X_BED_SIZE - (UBL_MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MAX_Y (min(Y_BED_SIZE - (UBL_MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
|
|
||||||
#else
|
|
||||||
#define UBL_MESH_MIN_X (max(X_MIN_POS + UBL_MESH_INSET, 0))
|
|
||||||
#define UBL_MESH_MIN_Y (max(Y_MIN_POS + UBL_MESH_INSET, 0))
|
|
||||||
#define UBL_MESH_MAX_X (min(X_MAX_POS - (UBL_MESH_INSET), X_BED_SIZE))
|
|
||||||
#define UBL_MESH_MAX_Y (min(Y_MAX_POS - (UBL_MESH_INSET), Y_BED_SIZE))
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// If this is defined, the currently active mesh will be saved in the
|
|
||||||
// current slot on M500.
|
|
||||||
#define UBL_SAVE_ACTIVE_ON_M500
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section extras
|
// @section extras
|
||||||
|
|
|
@ -965,7 +965,7 @@
|
||||||
//========================= Unified Bed Leveling ============================
|
//========================= Unified Bed Leveling ============================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
|
||||||
#define UBL_MESH_INSET 1 // Mesh inset margin on print area
|
#define MESH_INSET 1 // Mesh inset margin on print area
|
||||||
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
||||||
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
||||||
|
|
||||||
|
@ -978,6 +978,7 @@
|
||||||
|
|
||||||
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
||||||
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
||||||
|
#define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
|
||||||
|
|
||||||
#elif ENABLED(MESH_BED_LEVELING)
|
#elif ENABLED(MESH_BED_LEVELING)
|
||||||
|
|
||||||
|
|
|
@ -489,12 +489,14 @@
|
||||||
// Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
|
// Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
|
||||||
#define SD_DETECT_INVERTED
|
#define SD_DETECT_INVERTED
|
||||||
|
|
||||||
#define SD_FINISHED_STEPPERRELEASE true //if sd support and the file is finished: disable steppers?
|
#define SD_FINISHED_STEPPERRELEASE true // Disable steppers when SD Print is finished
|
||||||
#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
|
#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
|
||||||
|
|
||||||
#define SDCARD_RATHERRECENTFIRST //reverse file order of sd card menu display. Its sorted practically after the file system block order.
|
// Reverse SD sort to show "more recent" files first, according to the card's FAT.
|
||||||
// if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that.
|
// Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended.
|
||||||
// using:
|
#define SDCARD_RATHERRECENTFIRST
|
||||||
|
|
||||||
|
// Add an option in the menu to run all auto#.g files
|
||||||
//#define MENU_ADDAUTOSTART
|
//#define MENU_ADDAUTOSTART
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -681,69 +683,12 @@
|
||||||
#define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
|
#define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Default mesh area is an area with an inset margin on the print area.
|
#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
|
||||||
// Below are the macros that are used to define the borders for the mesh area,
|
// Override the mesh area if the automatic (max) area is too large
|
||||||
// made available here for specialized needs, ie dual extruder setup.
|
//#define MESH_MIN_X MESH_INSET
|
||||||
#if ENABLED(MESH_BED_LEVELING)
|
//#define MESH_MIN_Y MESH_INSET
|
||||||
#if ENABLED(DELTA)
|
//#define MESH_MAX_X X_BED_SIZE - (MESH_INSET)
|
||||||
// Probing points may be verified at compile time within the radius
|
//#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET)
|
||||||
// using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
|
|
||||||
// so that may be added to SanityCheck.h in the future.
|
|
||||||
#define MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MAX_X (X_CENTER + DELTA_PROBEABLE_RADIUS - (MESH_INSET))
|
|
||||||
#define MESH_MAX_Y (Y_CENTER + DELTA_PROBEABLE_RADIUS - (MESH_INSET))
|
|
||||||
#elif IS_SCARA
|
|
||||||
#define MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MAX_X (X_CENTER + SCARA_PRINTABLE_RADIUS - (MESH_INSET))
|
|
||||||
#define MESH_MAX_Y (Y_CENTER + SCARA_PRINTABLE_RADIUS - (MESH_INSET))
|
|
||||||
#else
|
|
||||||
// Boundaries for Cartesian probing based on set limits
|
|
||||||
#if ENABLED(BED_CENTER_AT_0_0)
|
|
||||||
#define MESH_MIN_X (max(MESH_INSET, 0) - (X_BED_SIZE) / 2)
|
|
||||||
#define MESH_MIN_Y (max(MESH_INSET, 0) - (Y_BED_SIZE) / 2)
|
|
||||||
#define MESH_MAX_X (min(X_BED_SIZE - (MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
|
|
||||||
#define MESH_MAX_Y (min(Y_BED_SIZE - (MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
|
|
||||||
#else
|
|
||||||
#define MESH_MIN_X (max(X_MIN_POS + MESH_INSET, 0))
|
|
||||||
#define MESH_MIN_Y (max(Y_MIN_POS + MESH_INSET, 0))
|
|
||||||
#define MESH_MAX_X (min(X_MAX_POS - (MESH_INSET), X_BED_SIZE))
|
|
||||||
#define MESH_MAX_Y (min(Y_MAX_POS - (MESH_INSET), Y_BED_SIZE))
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
#elif ENABLED(AUTO_BED_LEVELING_UBL)
|
|
||||||
#if ENABLED(DELTA)
|
|
||||||
// Probing points may be verified at compile time within the radius
|
|
||||||
// using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
|
|
||||||
// so that may be added to SanityCheck.h in the future.
|
|
||||||
#define UBL_MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MAX_X (X_CENTER + DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#define UBL_MESH_MAX_Y (Y_CENTER + DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#elif IS_SCARA
|
|
||||||
#define UBL_MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MAX_X (X_CENTER + SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#define UBL_MESH_MAX_Y (Y_CENTER + SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#else
|
|
||||||
// Boundaries for Cartesian probing based on set limits
|
|
||||||
#if ENABLED(BED_CENTER_AT_0_0)
|
|
||||||
#define UBL_MESH_MIN_X (max(UBL_MESH_INSET, 0) - (X_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MIN_Y (max(UBL_MESH_INSET, 0) - (Y_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MAX_X (min(X_BED_SIZE - (UBL_MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MAX_Y (min(Y_BED_SIZE - (UBL_MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
|
|
||||||
#else
|
|
||||||
#define UBL_MESH_MIN_X (max(X_MIN_POS + UBL_MESH_INSET, 0))
|
|
||||||
#define UBL_MESH_MIN_Y (max(Y_MIN_POS + UBL_MESH_INSET, 0))
|
|
||||||
#define UBL_MESH_MAX_X (min(X_MAX_POS - (UBL_MESH_INSET), X_BED_SIZE))
|
|
||||||
#define UBL_MESH_MAX_Y (min(Y_MAX_POS - (UBL_MESH_INSET), Y_BED_SIZE))
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// If this is defined, the currently active mesh will be saved in the
|
|
||||||
// current slot on M500.
|
|
||||||
#define UBL_SAVE_ACTIVE_ON_M500
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section extras
|
// @section extras
|
||||||
|
|
|
@ -941,7 +941,7 @@
|
||||||
//========================= Unified Bed Leveling ============================
|
//========================= Unified Bed Leveling ============================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
|
||||||
#define UBL_MESH_INSET 1 // Mesh inset margin on print area
|
#define MESH_INSET 1 // Mesh inset margin on print area
|
||||||
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
||||||
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
||||||
|
|
||||||
|
@ -954,6 +954,7 @@
|
||||||
|
|
||||||
//#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
//#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
||||||
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
||||||
|
#define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
|
||||||
|
|
||||||
#elif ENABLED(MESH_BED_LEVELING)
|
#elif ENABLED(MESH_BED_LEVELING)
|
||||||
|
|
||||||
|
|
|
@ -941,7 +941,7 @@
|
||||||
//========================= Unified Bed Leveling ============================
|
//========================= Unified Bed Leveling ============================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
|
||||||
#define UBL_MESH_INSET 1 // Mesh inset margin on print area
|
#define MESH_INSET 1 // Mesh inset margin on print area
|
||||||
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
||||||
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
||||||
|
|
||||||
|
@ -954,6 +954,7 @@
|
||||||
|
|
||||||
//#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
//#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
||||||
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
||||||
|
#define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
|
||||||
|
|
||||||
#elif ENABLED(MESH_BED_LEVELING)
|
#elif ENABLED(MESH_BED_LEVELING)
|
||||||
|
|
||||||
|
|
|
@ -939,7 +939,7 @@
|
||||||
//========================= Unified Bed Leveling ============================
|
//========================= Unified Bed Leveling ============================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
|
||||||
#define UBL_MESH_INSET 1 // Mesh inset margin on print area
|
#define MESH_INSET 1 // Mesh inset margin on print area
|
||||||
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
||||||
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
||||||
|
|
||||||
|
@ -952,6 +952,7 @@
|
||||||
|
|
||||||
//#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
//#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
||||||
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
||||||
|
#define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
|
||||||
|
|
||||||
#elif ENABLED(MESH_BED_LEVELING)
|
#elif ENABLED(MESH_BED_LEVELING)
|
||||||
|
|
||||||
|
|
|
@ -489,12 +489,14 @@
|
||||||
// Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
|
// Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
|
||||||
#define SD_DETECT_INVERTED
|
#define SD_DETECT_INVERTED
|
||||||
|
|
||||||
#define SD_FINISHED_STEPPERRELEASE true //if sd support and the file is finished: disable steppers?
|
#define SD_FINISHED_STEPPERRELEASE true // Disable steppers when SD Print is finished
|
||||||
#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
|
#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
|
||||||
|
|
||||||
#define SDCARD_RATHERRECENTFIRST //reverse file order of sd card menu display. Its sorted practically after the file system block order.
|
// Reverse SD sort to show "more recent" files first, according to the card's FAT.
|
||||||
// if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that.
|
// Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended.
|
||||||
// using:
|
#define SDCARD_RATHERRECENTFIRST
|
||||||
|
|
||||||
|
// Add an option in the menu to run all auto#.g files
|
||||||
//#define MENU_ADDAUTOSTART
|
//#define MENU_ADDAUTOSTART
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -705,69 +707,12 @@
|
||||||
#define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
|
#define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Default mesh area is an area with an inset margin on the print area.
|
#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
|
||||||
// Below are the macros that are used to define the borders for the mesh area,
|
// Override the mesh area if the automatic (max) area is too large
|
||||||
// made available here for specialized needs, ie dual extruder setup.
|
//#define MESH_MIN_X MESH_INSET
|
||||||
#if ENABLED(MESH_BED_LEVELING)
|
//#define MESH_MIN_Y MESH_INSET
|
||||||
#if ENABLED(DELTA)
|
//#define MESH_MAX_X X_BED_SIZE - (MESH_INSET)
|
||||||
// Probing points may be verified at compile time within the radius
|
//#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET)
|
||||||
// using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
|
|
||||||
// so that may be added to SanityCheck.h in the future.
|
|
||||||
#define MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MAX_X (X_CENTER + DELTA_PROBEABLE_RADIUS - (MESH_INSET))
|
|
||||||
#define MESH_MAX_Y (Y_CENTER + DELTA_PROBEABLE_RADIUS - (MESH_INSET))
|
|
||||||
#elif IS_SCARA
|
|
||||||
#define MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MAX_X (X_CENTER + SCARA_PRINTABLE_RADIUS - (MESH_INSET))
|
|
||||||
#define MESH_MAX_Y (Y_CENTER + SCARA_PRINTABLE_RADIUS - (MESH_INSET))
|
|
||||||
#else
|
|
||||||
// Boundaries for Cartesian probing based on set limits
|
|
||||||
#if ENABLED(BED_CENTER_AT_0_0)
|
|
||||||
#define MESH_MIN_X (max(MESH_INSET, 0) - (X_BED_SIZE) / 2)
|
|
||||||
#define MESH_MIN_Y (max(MESH_INSET, 0) - (Y_BED_SIZE) / 2)
|
|
||||||
#define MESH_MAX_X (min(X_BED_SIZE - (MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
|
|
||||||
#define MESH_MAX_Y (min(Y_BED_SIZE - (MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
|
|
||||||
#else
|
|
||||||
#define MESH_MIN_X (max(X_MIN_POS + MESH_INSET, 0))
|
|
||||||
#define MESH_MIN_Y (max(Y_MIN_POS + MESH_INSET, 0))
|
|
||||||
#define MESH_MAX_X (min(X_MAX_POS - (MESH_INSET), X_BED_SIZE))
|
|
||||||
#define MESH_MAX_Y (min(Y_MAX_POS - (MESH_INSET), Y_BED_SIZE))
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
#elif ENABLED(AUTO_BED_LEVELING_UBL)
|
|
||||||
#if ENABLED(DELTA)
|
|
||||||
// Probing points may be verified at compile time within the radius
|
|
||||||
// using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
|
|
||||||
// so that may be added to SanityCheck.h in the future.
|
|
||||||
#define UBL_MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MAX_X (X_CENTER + DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#define UBL_MESH_MAX_Y (Y_CENTER + DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#elif IS_SCARA
|
|
||||||
#define UBL_MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MAX_X (X_CENTER + SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#define UBL_MESH_MAX_Y (Y_CENTER + SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#else
|
|
||||||
// Boundaries for Cartesian probing based on set limits
|
|
||||||
#if ENABLED(BED_CENTER_AT_0_0)
|
|
||||||
#define UBL_MESH_MIN_X (max(UBL_MESH_INSET, 0) - (X_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MIN_Y (max(UBL_MESH_INSET, 0) - (Y_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MAX_X (min(X_BED_SIZE - (UBL_MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MAX_Y (min(Y_BED_SIZE - (UBL_MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
|
|
||||||
#else
|
|
||||||
#define UBL_MESH_MIN_X (max(X_MIN_POS + UBL_MESH_INSET, 0))
|
|
||||||
#define UBL_MESH_MIN_Y (max(Y_MIN_POS + UBL_MESH_INSET, 0))
|
|
||||||
#define UBL_MESH_MAX_X (min(X_MAX_POS - (UBL_MESH_INSET), X_BED_SIZE))
|
|
||||||
#define UBL_MESH_MAX_Y (min(Y_MAX_POS - (UBL_MESH_INSET), Y_BED_SIZE))
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// If this is defined, the currently active mesh will be saved in the
|
|
||||||
// current slot on M500.
|
|
||||||
#define UBL_SAVE_ACTIVE_ON_M500
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section extras
|
// @section extras
|
||||||
|
|
|
@ -937,7 +937,7 @@
|
||||||
//========================= Unified Bed Leveling ============================
|
//========================= Unified Bed Leveling ============================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
|
||||||
#define UBL_MESH_INSET 1 // Mesh inset margin on print area
|
#define MESH_INSET 1 // Mesh inset margin on print area
|
||||||
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
||||||
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
||||||
|
|
||||||
|
@ -950,6 +950,7 @@
|
||||||
|
|
||||||
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
||||||
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
||||||
|
#define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
|
||||||
|
|
||||||
#elif ENABLED(MESH_BED_LEVELING)
|
#elif ENABLED(MESH_BED_LEVELING)
|
||||||
|
|
||||||
|
|
|
@ -935,7 +935,7 @@
|
||||||
//========================= Unified Bed Leveling ============================
|
//========================= Unified Bed Leveling ============================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
|
||||||
#define UBL_MESH_INSET 1 // Mesh inset margin on print area
|
#define MESH_INSET 1 // Mesh inset margin on print area
|
||||||
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
||||||
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
||||||
|
|
||||||
|
@ -948,6 +948,7 @@
|
||||||
|
|
||||||
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
||||||
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
||||||
|
#define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
|
||||||
|
|
||||||
#elif ENABLED(MESH_BED_LEVELING)
|
#elif ENABLED(MESH_BED_LEVELING)
|
||||||
|
|
||||||
|
|
|
@ -489,12 +489,14 @@
|
||||||
// Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
|
// Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
|
||||||
#define SD_DETECT_INVERTED
|
#define SD_DETECT_INVERTED
|
||||||
|
|
||||||
#define SD_FINISHED_STEPPERRELEASE true //if sd support and the file is finished: disable steppers?
|
#define SD_FINISHED_STEPPERRELEASE true // Disable steppers when SD Print is finished
|
||||||
#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
|
#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
|
||||||
|
|
||||||
#define SDCARD_RATHERRECENTFIRST //reverse file order of sd card menu display. Its sorted practically after the file system block order.
|
// Reverse SD sort to show "more recent" files first, according to the card's FAT.
|
||||||
// if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that.
|
// Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended.
|
||||||
// using:
|
#define SDCARD_RATHERRECENTFIRST
|
||||||
|
|
||||||
|
// Add an option in the menu to run all auto#.g files
|
||||||
//#define MENU_ADDAUTOSTART
|
//#define MENU_ADDAUTOSTART
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -684,69 +686,12 @@
|
||||||
#define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
|
#define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Default mesh area is an area with an inset margin on the print area.
|
#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
|
||||||
// Below are the macros that are used to define the borders for the mesh area,
|
// Override the mesh area if the automatic (max) area is too large
|
||||||
// made available here for specialized needs, ie dual extruder setup.
|
//#define MESH_MIN_X MESH_INSET
|
||||||
#if ENABLED(MESH_BED_LEVELING)
|
//#define MESH_MIN_Y MESH_INSET
|
||||||
#if ENABLED(DELTA)
|
//#define MESH_MAX_X X_BED_SIZE - (MESH_INSET)
|
||||||
// Probing points may be verified at compile time within the radius
|
//#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET)
|
||||||
// using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
|
|
||||||
// so that may be added to SanityCheck.h in the future.
|
|
||||||
#define MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MAX_X (X_CENTER + DELTA_PROBEABLE_RADIUS - (MESH_INSET))
|
|
||||||
#define MESH_MAX_Y (Y_CENTER + DELTA_PROBEABLE_RADIUS - (MESH_INSET))
|
|
||||||
#elif IS_SCARA
|
|
||||||
#define MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MAX_X (X_CENTER + SCARA_PRINTABLE_RADIUS - (MESH_INSET))
|
|
||||||
#define MESH_MAX_Y (Y_CENTER + SCARA_PRINTABLE_RADIUS - (MESH_INSET))
|
|
||||||
#else
|
|
||||||
// Boundaries for Cartesian probing based on set limits
|
|
||||||
#if ENABLED(BED_CENTER_AT_0_0)
|
|
||||||
#define MESH_MIN_X (max(MESH_INSET, 0) - (X_BED_SIZE) / 2)
|
|
||||||
#define MESH_MIN_Y (max(MESH_INSET, 0) - (Y_BED_SIZE) / 2)
|
|
||||||
#define MESH_MAX_X (min(X_BED_SIZE - (MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
|
|
||||||
#define MESH_MAX_Y (min(Y_BED_SIZE - (MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
|
|
||||||
#else
|
|
||||||
#define MESH_MIN_X (max(X_MIN_POS + MESH_INSET, 0))
|
|
||||||
#define MESH_MIN_Y (max(Y_MIN_POS + MESH_INSET, 0))
|
|
||||||
#define MESH_MAX_X (min(X_MAX_POS - (MESH_INSET), X_BED_SIZE))
|
|
||||||
#define MESH_MAX_Y (min(Y_MAX_POS - (MESH_INSET), Y_BED_SIZE))
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
#elif ENABLED(AUTO_BED_LEVELING_UBL)
|
|
||||||
#if ENABLED(DELTA)
|
|
||||||
// Probing points may be verified at compile time within the radius
|
|
||||||
// using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
|
|
||||||
// so that may be added to SanityCheck.h in the future.
|
|
||||||
#define UBL_MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MAX_X (X_CENTER + DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#define UBL_MESH_MAX_Y (Y_CENTER + DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#elif IS_SCARA
|
|
||||||
#define UBL_MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MAX_X (X_CENTER + SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#define UBL_MESH_MAX_Y (Y_CENTER + SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#else
|
|
||||||
// Boundaries for Cartesian probing based on set limits
|
|
||||||
#if ENABLED(BED_CENTER_AT_0_0)
|
|
||||||
#define UBL_MESH_MIN_X (max(UBL_MESH_INSET, 0) - (X_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MIN_Y (max(UBL_MESH_INSET, 0) - (Y_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MAX_X (min(X_BED_SIZE - (UBL_MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MAX_Y (min(Y_BED_SIZE - (UBL_MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
|
|
||||||
#else
|
|
||||||
#define UBL_MESH_MIN_X (max(X_MIN_POS + UBL_MESH_INSET, 0))
|
|
||||||
#define UBL_MESH_MIN_Y (max(Y_MIN_POS + UBL_MESH_INSET, 0))
|
|
||||||
#define UBL_MESH_MAX_X (min(X_MAX_POS - (UBL_MESH_INSET), X_BED_SIZE))
|
|
||||||
#define UBL_MESH_MAX_Y (min(Y_MAX_POS - (UBL_MESH_INSET), Y_BED_SIZE))
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// If this is defined, the currently active mesh will be saved in the
|
|
||||||
// current slot on M500.
|
|
||||||
#define UBL_SAVE_ACTIVE_ON_M500
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section extras
|
// @section extras
|
||||||
|
|
|
@ -949,7 +949,7 @@
|
||||||
//========================= Unified Bed Leveling ============================
|
//========================= Unified Bed Leveling ============================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
|
||||||
#define UBL_MESH_INSET 1 // Mesh inset margin on print area
|
#define MESH_INSET 1 // Mesh inset margin on print area
|
||||||
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
||||||
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
||||||
|
|
||||||
|
@ -962,6 +962,7 @@
|
||||||
|
|
||||||
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
||||||
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
||||||
|
#define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
|
||||||
|
|
||||||
#elif ENABLED(MESH_BED_LEVELING)
|
#elif ENABLED(MESH_BED_LEVELING)
|
||||||
|
|
||||||
|
|
|
@ -489,12 +489,14 @@
|
||||||
// Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
|
// Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
|
||||||
#define SD_DETECT_INVERTED
|
#define SD_DETECT_INVERTED
|
||||||
|
|
||||||
#define SD_FINISHED_STEPPERRELEASE true //if sd support and the file is finished: disable steppers?
|
#define SD_FINISHED_STEPPERRELEASE true // Disable steppers when SD Print is finished
|
||||||
#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
|
#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
|
||||||
|
|
||||||
#define SDCARD_RATHERRECENTFIRST //reverse file order of sd card menu display. Its sorted practically after the file system block order.
|
// Reverse SD sort to show "more recent" files first, according to the card's FAT.
|
||||||
// if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that.
|
// Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended.
|
||||||
// using:
|
#define SDCARD_RATHERRECENTFIRST
|
||||||
|
|
||||||
|
// Add an option in the menu to run all auto#.g files
|
||||||
//#define MENU_ADDAUTOSTART
|
//#define MENU_ADDAUTOSTART
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -684,69 +686,12 @@
|
||||||
#define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
|
#define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Default mesh area is an area with an inset margin on the print area.
|
#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
|
||||||
// Below are the macros that are used to define the borders for the mesh area,
|
// Override the mesh area if the automatic (max) area is too large
|
||||||
// made available here for specialized needs, ie dual extruder setup.
|
//#define MESH_MIN_X MESH_INSET
|
||||||
#if ENABLED(MESH_BED_LEVELING)
|
//#define MESH_MIN_Y MESH_INSET
|
||||||
#if ENABLED(DELTA)
|
//#define MESH_MAX_X X_BED_SIZE - (MESH_INSET)
|
||||||
// Probing points may be verified at compile time within the radius
|
//#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET)
|
||||||
// using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
|
|
||||||
// so that may be added to SanityCheck.h in the future.
|
|
||||||
#define MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MAX_X (X_CENTER + DELTA_PROBEABLE_RADIUS - (MESH_INSET))
|
|
||||||
#define MESH_MAX_Y (Y_CENTER + DELTA_PROBEABLE_RADIUS - (MESH_INSET))
|
|
||||||
#elif IS_SCARA
|
|
||||||
#define MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MAX_X (X_CENTER + SCARA_PRINTABLE_RADIUS - (MESH_INSET))
|
|
||||||
#define MESH_MAX_Y (Y_CENTER + SCARA_PRINTABLE_RADIUS - (MESH_INSET))
|
|
||||||
#else
|
|
||||||
// Boundaries for Cartesian probing based on set limits
|
|
||||||
#if ENABLED(BED_CENTER_AT_0_0)
|
|
||||||
#define MESH_MIN_X (max(MESH_INSET, 0) - (X_BED_SIZE) / 2)
|
|
||||||
#define MESH_MIN_Y (max(MESH_INSET, 0) - (Y_BED_SIZE) / 2)
|
|
||||||
#define MESH_MAX_X (min(X_BED_SIZE - (MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
|
|
||||||
#define MESH_MAX_Y (min(Y_BED_SIZE - (MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
|
|
||||||
#else
|
|
||||||
#define MESH_MIN_X (max(X_MIN_POS + MESH_INSET, 0))
|
|
||||||
#define MESH_MIN_Y (max(Y_MIN_POS + MESH_INSET, 0))
|
|
||||||
#define MESH_MAX_X (min(X_MAX_POS - (MESH_INSET), X_BED_SIZE))
|
|
||||||
#define MESH_MAX_Y (min(Y_MAX_POS - (MESH_INSET), Y_BED_SIZE))
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
#elif ENABLED(AUTO_BED_LEVELING_UBL)
|
|
||||||
#if ENABLED(DELTA)
|
|
||||||
// Probing points may be verified at compile time within the radius
|
|
||||||
// using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
|
|
||||||
// so that may be added to SanityCheck.h in the future.
|
|
||||||
#define UBL_MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MAX_X (X_CENTER + DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#define UBL_MESH_MAX_Y (Y_CENTER + DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#elif IS_SCARA
|
|
||||||
#define UBL_MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MAX_X (X_CENTER + SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#define UBL_MESH_MAX_Y (Y_CENTER + SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#else
|
|
||||||
// Boundaries for Cartesian probing based on set limits
|
|
||||||
#if ENABLED(BED_CENTER_AT_0_0)
|
|
||||||
#define UBL_MESH_MIN_X (max(UBL_MESH_INSET, 0) - (X_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MIN_Y (max(UBL_MESH_INSET, 0) - (Y_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MAX_X (min(X_BED_SIZE - (UBL_MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MAX_Y (min(Y_BED_SIZE - (UBL_MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
|
|
||||||
#else
|
|
||||||
#define UBL_MESH_MIN_X (max(X_MIN_POS + UBL_MESH_INSET, 0))
|
|
||||||
#define UBL_MESH_MIN_Y (max(Y_MIN_POS + UBL_MESH_INSET, 0))
|
|
||||||
#define UBL_MESH_MAX_X (min(X_MAX_POS - (UBL_MESH_INSET), X_BED_SIZE))
|
|
||||||
#define UBL_MESH_MAX_Y (min(Y_MAX_POS - (UBL_MESH_INSET), Y_BED_SIZE))
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// If this is defined, the currently active mesh will be saved in the
|
|
||||||
// current slot on M500.
|
|
||||||
#define UBL_SAVE_ACTIVE_ON_M500
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section extras
|
// @section extras
|
||||||
|
|
|
@ -968,7 +968,7 @@
|
||||||
//========================= Unified Bed Leveling ============================
|
//========================= Unified Bed Leveling ============================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
|
||||||
#define UBL_MESH_INSET 1 // Mesh inset margin on print area
|
#define MESH_INSET 1 // Mesh inset margin on print area
|
||||||
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
||||||
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
||||||
|
|
||||||
|
@ -981,6 +981,7 @@
|
||||||
|
|
||||||
//#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
//#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
||||||
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
||||||
|
#define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
|
||||||
|
|
||||||
#elif ENABLED(MESH_BED_LEVELING)
|
#elif ENABLED(MESH_BED_LEVELING)
|
||||||
|
|
||||||
|
|
|
@ -478,12 +478,14 @@
|
||||||
// Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
|
// Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
|
||||||
#define SD_DETECT_INVERTED
|
#define SD_DETECT_INVERTED
|
||||||
|
|
||||||
#define SD_FINISHED_STEPPERRELEASE true //if sd support and the file is finished: disable steppers?
|
#define SD_FINISHED_STEPPERRELEASE true // Disable steppers when SD Print is finished
|
||||||
#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
|
#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
|
||||||
|
|
||||||
#define SDCARD_RATHERRECENTFIRST //reverse file order of sd card menu display. Its sorted practically after the file system block order.
|
// Reverse SD sort to show "more recent" files first, according to the card's FAT.
|
||||||
// if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that.
|
// Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended.
|
||||||
// using:
|
#define SDCARD_RATHERRECENTFIRST
|
||||||
|
|
||||||
|
// Add an option in the menu to run all auto#.g files
|
||||||
//#define MENU_ADDAUTOSTART
|
//#define MENU_ADDAUTOSTART
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -673,69 +675,12 @@
|
||||||
#define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
|
#define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Default mesh area is an area with an inset margin on the print area.
|
#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
|
||||||
// Below are the macros that are used to define the borders for the mesh area,
|
// Override the mesh area if the automatic (max) area is too large
|
||||||
// made available here for specialized needs, ie dual extruder setup.
|
//#define MESH_MIN_X MESH_INSET
|
||||||
#if ENABLED(MESH_BED_LEVELING)
|
//#define MESH_MIN_Y MESH_INSET
|
||||||
#if ENABLED(DELTA)
|
//#define MESH_MAX_X X_BED_SIZE - (MESH_INSET)
|
||||||
// Probing points may be verified at compile time within the radius
|
//#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET)
|
||||||
// using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
|
|
||||||
// so that may be added to SanityCheck.h in the future.
|
|
||||||
#define MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MAX_X (X_CENTER + DELTA_PROBEABLE_RADIUS - (MESH_INSET))
|
|
||||||
#define MESH_MAX_Y (Y_CENTER + DELTA_PROBEABLE_RADIUS - (MESH_INSET))
|
|
||||||
#elif IS_SCARA
|
|
||||||
#define MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MAX_X (X_CENTER + SCARA_PRINTABLE_RADIUS - (MESH_INSET))
|
|
||||||
#define MESH_MAX_Y (Y_CENTER + SCARA_PRINTABLE_RADIUS - (MESH_INSET))
|
|
||||||
#else
|
|
||||||
// Boundaries for Cartesian probing based on set limits
|
|
||||||
#if ENABLED(BED_CENTER_AT_0_0)
|
|
||||||
#define MESH_MIN_X (max(MESH_INSET, 0) - (X_BED_SIZE) / 2)
|
|
||||||
#define MESH_MIN_Y (max(MESH_INSET, 0) - (Y_BED_SIZE) / 2)
|
|
||||||
#define MESH_MAX_X (min(X_BED_SIZE - (MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
|
|
||||||
#define MESH_MAX_Y (min(Y_BED_SIZE - (MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
|
|
||||||
#else
|
|
||||||
#define MESH_MIN_X (max(X_MIN_POS + MESH_INSET, 0))
|
|
||||||
#define MESH_MIN_Y (max(Y_MIN_POS + MESH_INSET, 0))
|
|
||||||
#define MESH_MAX_X (min(X_MAX_POS - (MESH_INSET), X_BED_SIZE))
|
|
||||||
#define MESH_MAX_Y (min(Y_MAX_POS - (MESH_INSET), Y_BED_SIZE))
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
#elif ENABLED(AUTO_BED_LEVELING_UBL)
|
|
||||||
#if ENABLED(DELTA)
|
|
||||||
// Probing points may be verified at compile time within the radius
|
|
||||||
// using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
|
|
||||||
// so that may be added to SanityCheck.h in the future.
|
|
||||||
#define UBL_MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MAX_X (X_CENTER + DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#define UBL_MESH_MAX_Y (Y_CENTER + DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#elif IS_SCARA
|
|
||||||
#define UBL_MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MAX_X (X_CENTER + SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#define UBL_MESH_MAX_Y (Y_CENTER + SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#else
|
|
||||||
// Boundaries for Cartesian probing based on set limits
|
|
||||||
#if ENABLED(BED_CENTER_AT_0_0)
|
|
||||||
#define UBL_MESH_MIN_X (max(UBL_MESH_INSET, 0) - (X_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MIN_Y (max(UBL_MESH_INSET, 0) - (Y_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MAX_X (min(X_BED_SIZE - (UBL_MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MAX_Y (min(Y_BED_SIZE - (UBL_MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
|
|
||||||
#else
|
|
||||||
#define UBL_MESH_MIN_X (max(X_MIN_POS + UBL_MESH_INSET, 0))
|
|
||||||
#define UBL_MESH_MIN_Y (max(Y_MIN_POS + UBL_MESH_INSET, 0))
|
|
||||||
#define UBL_MESH_MAX_X (min(X_MAX_POS - (UBL_MESH_INSET), X_BED_SIZE))
|
|
||||||
#define UBL_MESH_MAX_Y (min(Y_MAX_POS - (UBL_MESH_INSET), Y_BED_SIZE))
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// If this is defined, the currently active mesh will be saved in the
|
|
||||||
// current slot on M500.
|
|
||||||
#define UBL_SAVE_ACTIVE_ON_M500
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section extras
|
// @section extras
|
||||||
|
|
|
@ -993,7 +993,7 @@
|
||||||
//========================= Unified Bed Leveling ============================
|
//========================= Unified Bed Leveling ============================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
|
||||||
#define UBL_MESH_INSET 1 // Mesh inset margin on print area
|
#define MESH_INSET 1 // Mesh inset margin on print area
|
||||||
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
||||||
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
||||||
|
|
||||||
|
@ -1006,6 +1006,7 @@
|
||||||
|
|
||||||
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
||||||
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
||||||
|
#define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
|
||||||
|
|
||||||
#elif ENABLED(MESH_BED_LEVELING)
|
#elif ENABLED(MESH_BED_LEVELING)
|
||||||
|
|
||||||
|
|
|
@ -489,12 +489,14 @@
|
||||||
// Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
|
// Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
|
||||||
#define SD_DETECT_INVERTED
|
#define SD_DETECT_INVERTED
|
||||||
|
|
||||||
#define SD_FINISHED_STEPPERRELEASE true //if sd support and the file is finished: disable steppers?
|
#define SD_FINISHED_STEPPERRELEASE true // Disable steppers when SD Print is finished
|
||||||
#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
|
#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
|
||||||
|
|
||||||
#define SDCARD_RATHERRECENTFIRST //reverse file order of sd card menu display. Its sorted practically after the file system block order.
|
// Reverse SD sort to show "more recent" files first, according to the card's FAT.
|
||||||
// if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that.
|
// Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended.
|
||||||
// using:
|
#define SDCARD_RATHERRECENTFIRST
|
||||||
|
|
||||||
|
// Add an option in the menu to run all auto#.g files
|
||||||
//#define MENU_ADDAUTOSTART
|
//#define MENU_ADDAUTOSTART
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -684,69 +686,12 @@
|
||||||
#define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
|
#define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Default mesh area is an area with an inset margin on the print area.
|
#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
|
||||||
// Below are the macros that are used to define the borders for the mesh area,
|
// Override the mesh area if the automatic (max) area is too large
|
||||||
// made available here for specialized needs, ie dual extruder setup.
|
//#define MESH_MIN_X MESH_INSET
|
||||||
#if ENABLED(MESH_BED_LEVELING)
|
//#define MESH_MIN_Y MESH_INSET
|
||||||
#if ENABLED(DELTA)
|
//#define MESH_MAX_X X_BED_SIZE - (MESH_INSET)
|
||||||
// Probing points may be verified at compile time within the radius
|
//#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET)
|
||||||
// using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
|
|
||||||
// so that may be added to SanityCheck.h in the future.
|
|
||||||
#define MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MAX_X (X_CENTER + DELTA_PROBEABLE_RADIUS - (MESH_INSET))
|
|
||||||
#define MESH_MAX_Y (Y_CENTER + DELTA_PROBEABLE_RADIUS - (MESH_INSET))
|
|
||||||
#elif IS_SCARA
|
|
||||||
#define MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MAX_X (X_CENTER + SCARA_PRINTABLE_RADIUS - (MESH_INSET))
|
|
||||||
#define MESH_MAX_Y (Y_CENTER + SCARA_PRINTABLE_RADIUS - (MESH_INSET))
|
|
||||||
#else
|
|
||||||
// Boundaries for Cartesian probing based on set limits
|
|
||||||
#if ENABLED(BED_CENTER_AT_0_0)
|
|
||||||
#define MESH_MIN_X (max(MESH_INSET, 0) - (X_BED_SIZE) / 2)
|
|
||||||
#define MESH_MIN_Y (max(MESH_INSET, 0) - (Y_BED_SIZE) / 2)
|
|
||||||
#define MESH_MAX_X (min(X_BED_SIZE - (MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
|
|
||||||
#define MESH_MAX_Y (min(Y_BED_SIZE - (MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
|
|
||||||
#else
|
|
||||||
#define MESH_MIN_X (max(X_MIN_POS + MESH_INSET, 0))
|
|
||||||
#define MESH_MIN_Y (max(Y_MIN_POS + MESH_INSET, 0))
|
|
||||||
#define MESH_MAX_X (min(X_MAX_POS - (MESH_INSET), X_BED_SIZE))
|
|
||||||
#define MESH_MAX_Y (min(Y_MAX_POS - (MESH_INSET), Y_BED_SIZE))
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
#elif ENABLED(AUTO_BED_LEVELING_UBL)
|
|
||||||
#if ENABLED(DELTA)
|
|
||||||
// Probing points may be verified at compile time within the radius
|
|
||||||
// using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
|
|
||||||
// so that may be added to SanityCheck.h in the future.
|
|
||||||
#define UBL_MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MAX_X (X_CENTER + DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#define UBL_MESH_MAX_Y (Y_CENTER + DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#elif IS_SCARA
|
|
||||||
#define UBL_MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MAX_X (X_CENTER + SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#define UBL_MESH_MAX_Y (Y_CENTER + SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#else
|
|
||||||
// Boundaries for Cartesian probing based on set limits
|
|
||||||
#if ENABLED(BED_CENTER_AT_0_0)
|
|
||||||
#define UBL_MESH_MIN_X (max(UBL_MESH_INSET, 0) - (X_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MIN_Y (max(UBL_MESH_INSET, 0) - (Y_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MAX_X (min(X_BED_SIZE - (UBL_MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MAX_Y (min(Y_BED_SIZE - (UBL_MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
|
|
||||||
#else
|
|
||||||
#define UBL_MESH_MIN_X (max(X_MIN_POS + UBL_MESH_INSET, 0))
|
|
||||||
#define UBL_MESH_MIN_Y (max(Y_MIN_POS + UBL_MESH_INSET, 0))
|
|
||||||
#define UBL_MESH_MAX_X (min(X_MAX_POS - (UBL_MESH_INSET), X_BED_SIZE))
|
|
||||||
#define UBL_MESH_MAX_Y (min(Y_MAX_POS - (UBL_MESH_INSET), Y_BED_SIZE))
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// If this is defined, the currently active mesh will be saved in the
|
|
||||||
// current slot on M500.
|
|
||||||
#define UBL_SAVE_ACTIVE_ON_M500
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section extras
|
// @section extras
|
||||||
|
|
|
@ -967,7 +967,7 @@
|
||||||
//========================= Unified Bed Leveling ============================
|
//========================= Unified Bed Leveling ============================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
|
||||||
#define UBL_MESH_INSET 1 // Mesh inset margin on print area
|
#define MESH_INSET 1 // Mesh inset margin on print area
|
||||||
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
||||||
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
||||||
|
|
||||||
|
@ -980,6 +980,7 @@
|
||||||
|
|
||||||
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
||||||
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
||||||
|
#define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
|
||||||
|
|
||||||
#elif ENABLED(MESH_BED_LEVELING)
|
#elif ENABLED(MESH_BED_LEVELING)
|
||||||
|
|
||||||
|
|
|
@ -502,7 +502,7 @@
|
||||||
// Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
|
// Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
|
||||||
#define SD_DETECT_INVERTED
|
#define SD_DETECT_INVERTED
|
||||||
|
|
||||||
#define SD_FINISHED_STEPPERRELEASE true //if sd support and the file is finished: disable steppers?
|
#define SD_FINISHED_STEPPERRELEASE true // Disable steppers when SD Print is finished
|
||||||
#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
|
#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
|
||||||
|
|
||||||
#define SDCARD_RATHERRECENTFIRST //reverse file order of sd card menu display. Its sorted practically after the file system block order.
|
#define SDCARD_RATHERRECENTFIRST //reverse file order of sd card menu display. Its sorted practically after the file system block order.
|
||||||
|
@ -694,69 +694,12 @@
|
||||||
#define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
|
#define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Default mesh area is an area with an inset margin on the print area.
|
#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
|
||||||
// Below are the macros that are used to define the borders for the mesh area,
|
// Override the mesh area if the automatic (max) area is too large
|
||||||
// made available here for specialized needs, ie dual extruder setup.
|
//#define MESH_MIN_X MESH_INSET
|
||||||
#if ENABLED(MESH_BED_LEVELING)
|
//#define MESH_MIN_Y MESH_INSET
|
||||||
#if ENABLED(DELTA)
|
//#define MESH_MAX_X X_BED_SIZE - (MESH_INSET)
|
||||||
// Probing points may be verified at compile time within the radius
|
//#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET)
|
||||||
// using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
|
|
||||||
// so that may be added to SanityCheck.h in the future.
|
|
||||||
#define MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MAX_X (X_CENTER + DELTA_PROBEABLE_RADIUS - (MESH_INSET))
|
|
||||||
#define MESH_MAX_Y (Y_CENTER + DELTA_PROBEABLE_RADIUS - (MESH_INSET))
|
|
||||||
#elif IS_SCARA
|
|
||||||
#define MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MAX_X (X_CENTER + SCARA_PRINTABLE_RADIUS - (MESH_INSET))
|
|
||||||
#define MESH_MAX_Y (Y_CENTER + SCARA_PRINTABLE_RADIUS - (MESH_INSET))
|
|
||||||
#else
|
|
||||||
// Boundaries for Cartesian probing based on set limits
|
|
||||||
#if ENABLED(BED_CENTER_AT_0_0)
|
|
||||||
#define MESH_MIN_X (max(MESH_INSET, 0) - (X_BED_SIZE) / 2)
|
|
||||||
#define MESH_MIN_Y (max(MESH_INSET, 0) - (Y_BED_SIZE) / 2)
|
|
||||||
#define MESH_MAX_X (min(X_BED_SIZE - (MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
|
|
||||||
#define MESH_MAX_Y (min(Y_BED_SIZE - (MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
|
|
||||||
#else
|
|
||||||
#define MESH_MIN_X (max(X_MIN_POS + MESH_INSET, 0))
|
|
||||||
#define MESH_MIN_Y (max(Y_MIN_POS + MESH_INSET, 0))
|
|
||||||
#define MESH_MAX_X (min(X_MAX_POS - (MESH_INSET), X_BED_SIZE))
|
|
||||||
#define MESH_MAX_Y (min(Y_MAX_POS - (MESH_INSET), Y_BED_SIZE))
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
#elif ENABLED(AUTO_BED_LEVELING_UBL)
|
|
||||||
#if ENABLED(DELTA)
|
|
||||||
// Probing points may be verified at compile time within the radius
|
|
||||||
// using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
|
|
||||||
// so that may be added to SanityCheck.h in the future.
|
|
||||||
#define UBL_MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MAX_X (X_CENTER + DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#define UBL_MESH_MAX_Y (Y_CENTER + DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#elif IS_SCARA
|
|
||||||
#define UBL_MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MAX_X (X_CENTER + SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#define UBL_MESH_MAX_Y (Y_CENTER + SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#else
|
|
||||||
// Boundaries for Cartesian probing based on set limits
|
|
||||||
#if ENABLED(BED_CENTER_AT_0_0)
|
|
||||||
#define UBL_MESH_MIN_X (max(UBL_MESH_INSET, 0) - (X_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MIN_Y (max(UBL_MESH_INSET, 0) - (Y_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MAX_X (min(X_BED_SIZE - (UBL_MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MAX_Y (min(Y_BED_SIZE - (UBL_MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
|
|
||||||
#else
|
|
||||||
#define UBL_MESH_MIN_X (max(X_MIN_POS + UBL_MESH_INSET, 0))
|
|
||||||
#define UBL_MESH_MIN_Y (max(Y_MIN_POS + UBL_MESH_INSET, 0))
|
|
||||||
#define UBL_MESH_MAX_X (min(X_MAX_POS - (UBL_MESH_INSET), X_BED_SIZE))
|
|
||||||
#define UBL_MESH_MAX_Y (min(Y_MAX_POS - (UBL_MESH_INSET), Y_BED_SIZE))
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// If this is defined, the currently active mesh will be saved in the
|
|
||||||
// current slot on M500.
|
|
||||||
#define UBL_SAVE_ACTIVE_ON_M500
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section extras
|
// @section extras
|
||||||
|
|
|
@ -937,7 +937,7 @@
|
||||||
//========================= Unified Bed Leveling ============================
|
//========================= Unified Bed Leveling ============================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
|
||||||
#define UBL_MESH_INSET 1 // Mesh inset margin on print area
|
#define MESH_INSET 1 // Mesh inset margin on print area
|
||||||
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
||||||
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
||||||
|
|
||||||
|
@ -950,6 +950,7 @@
|
||||||
|
|
||||||
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
||||||
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
||||||
|
#define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
|
||||||
|
|
||||||
#elif ENABLED(MESH_BED_LEVELING)
|
#elif ENABLED(MESH_BED_LEVELING)
|
||||||
|
|
||||||
|
|
|
@ -489,12 +489,14 @@
|
||||||
// Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
|
// Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
|
||||||
#define SD_DETECT_INVERTED
|
#define SD_DETECT_INVERTED
|
||||||
|
|
||||||
#define SD_FINISHED_STEPPERRELEASE true //if sd support and the file is finished: disable steppers?
|
#define SD_FINISHED_STEPPERRELEASE true // Disable steppers when SD Print is finished
|
||||||
#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
|
#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
|
||||||
|
|
||||||
#define SDCARD_RATHERRECENTFIRST //reverse file order of sd card menu display. Its sorted practically after the file system block order.
|
// Reverse SD sort to show "more recent" files first, according to the card's FAT.
|
||||||
// if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that.
|
// Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended.
|
||||||
// using:
|
#define SDCARD_RATHERRECENTFIRST
|
||||||
|
|
||||||
|
// Add an option in the menu to run all auto#.g files
|
||||||
//#define MENU_ADDAUTOSTART
|
//#define MENU_ADDAUTOSTART
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -684,69 +686,12 @@
|
||||||
#define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
|
#define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Default mesh area is an area with an inset margin on the print area.
|
#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
|
||||||
// Below are the macros that are used to define the borders for the mesh area,
|
// Override the mesh area if the automatic (max) area is too large
|
||||||
// made available here for specialized needs, ie dual extruder setup.
|
//#define MESH_MIN_X MESH_INSET
|
||||||
#if ENABLED(MESH_BED_LEVELING)
|
//#define MESH_MIN_Y MESH_INSET
|
||||||
#if ENABLED(DELTA)
|
//#define MESH_MAX_X X_BED_SIZE - (MESH_INSET)
|
||||||
// Probing points may be verified at compile time within the radius
|
//#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET)
|
||||||
// using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
|
|
||||||
// so that may be added to SanityCheck.h in the future.
|
|
||||||
#define MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MAX_X (X_CENTER + DELTA_PROBEABLE_RADIUS - (MESH_INSET))
|
|
||||||
#define MESH_MAX_Y (Y_CENTER + DELTA_PROBEABLE_RADIUS - (MESH_INSET))
|
|
||||||
#elif IS_SCARA
|
|
||||||
#define MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MAX_X (X_CENTER + SCARA_PRINTABLE_RADIUS - (MESH_INSET))
|
|
||||||
#define MESH_MAX_Y (Y_CENTER + SCARA_PRINTABLE_RADIUS - (MESH_INSET))
|
|
||||||
#else
|
|
||||||
// Boundaries for Cartesian probing based on set limits
|
|
||||||
#if ENABLED(BED_CENTER_AT_0_0)
|
|
||||||
#define MESH_MIN_X (max(MESH_INSET, 0) - (X_BED_SIZE) / 2)
|
|
||||||
#define MESH_MIN_Y (max(MESH_INSET, 0) - (Y_BED_SIZE) / 2)
|
|
||||||
#define MESH_MAX_X (min(X_BED_SIZE - (MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
|
|
||||||
#define MESH_MAX_Y (min(Y_BED_SIZE - (MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
|
|
||||||
#else
|
|
||||||
#define MESH_MIN_X (max(X_MIN_POS + MESH_INSET, 0))
|
|
||||||
#define MESH_MIN_Y (max(Y_MIN_POS + MESH_INSET, 0))
|
|
||||||
#define MESH_MAX_X (min(X_MAX_POS - (MESH_INSET), X_BED_SIZE))
|
|
||||||
#define MESH_MAX_Y (min(Y_MAX_POS - (MESH_INSET), Y_BED_SIZE))
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
#elif ENABLED(AUTO_BED_LEVELING_UBL)
|
|
||||||
#if ENABLED(DELTA)
|
|
||||||
// Probing points may be verified at compile time within the radius
|
|
||||||
// using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
|
|
||||||
// so that may be added to SanityCheck.h in the future.
|
|
||||||
#define UBL_MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MAX_X (X_CENTER + DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#define UBL_MESH_MAX_Y (Y_CENTER + DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#elif IS_SCARA
|
|
||||||
#define UBL_MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MAX_X (X_CENTER + SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#define UBL_MESH_MAX_Y (Y_CENTER + SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#else
|
|
||||||
// Boundaries for Cartesian probing based on set limits
|
|
||||||
#if ENABLED(BED_CENTER_AT_0_0)
|
|
||||||
#define UBL_MESH_MIN_X (max(UBL_MESH_INSET, 0) - (X_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MIN_Y (max(UBL_MESH_INSET, 0) - (Y_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MAX_X (min(X_BED_SIZE - (UBL_MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MAX_Y (min(Y_BED_SIZE - (UBL_MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
|
|
||||||
#else
|
|
||||||
#define UBL_MESH_MIN_X (max(X_MIN_POS + UBL_MESH_INSET, 0))
|
|
||||||
#define UBL_MESH_MIN_Y (max(Y_MIN_POS + UBL_MESH_INSET, 0))
|
|
||||||
#define UBL_MESH_MAX_X (min(X_MAX_POS - (UBL_MESH_INSET), X_BED_SIZE))
|
|
||||||
#define UBL_MESH_MAX_Y (min(Y_MAX_POS - (UBL_MESH_INSET), Y_BED_SIZE))
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// If this is defined, the currently active mesh will be saved in the
|
|
||||||
// current slot on M500.
|
|
||||||
#define UBL_SAVE_ACTIVE_ON_M500
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section extras
|
// @section extras
|
||||||
|
|
|
@ -937,7 +937,7 @@
|
||||||
//========================= Unified Bed Leveling ============================
|
//========================= Unified Bed Leveling ============================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
|
||||||
#define UBL_MESH_INSET 1 // Mesh inset margin on print area
|
#define MESH_INSET 1 // Mesh inset margin on print area
|
||||||
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
||||||
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
||||||
|
|
||||||
|
@ -950,6 +950,7 @@
|
||||||
|
|
||||||
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
||||||
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
||||||
|
#define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
|
||||||
|
|
||||||
#elif ENABLED(MESH_BED_LEVELING)
|
#elif ENABLED(MESH_BED_LEVELING)
|
||||||
|
|
||||||
|
|
|
@ -937,7 +937,7 @@
|
||||||
//========================= Unified Bed Leveling ============================
|
//========================= Unified Bed Leveling ============================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
|
||||||
#define UBL_MESH_INSET 1 // Mesh inset margin on print area
|
#define MESH_INSET 1 // Mesh inset margin on print area
|
||||||
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
||||||
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
||||||
|
|
||||||
|
@ -950,6 +950,7 @@
|
||||||
|
|
||||||
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
||||||
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
||||||
|
#define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
|
||||||
|
|
||||||
#elif ENABLED(MESH_BED_LEVELING)
|
#elif ENABLED(MESH_BED_LEVELING)
|
||||||
|
|
||||||
|
|
|
@ -1063,7 +1063,7 @@
|
||||||
//========================= Unified Bed Leveling ============================
|
//========================= Unified Bed Leveling ============================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
|
||||||
#define UBL_MESH_INSET 1 // Mesh inset margin on print area
|
#define MESH_INSET 1 // Mesh inset margin on print area
|
||||||
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
||||||
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
||||||
|
|
||||||
|
@ -1078,6 +1078,7 @@
|
||||||
|
|
||||||
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
||||||
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
||||||
|
#define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
|
||||||
|
|
||||||
#elif ENABLED(MESH_BED_LEVELING)
|
#elif ENABLED(MESH_BED_LEVELING)
|
||||||
|
|
||||||
|
|
|
@ -491,12 +491,14 @@
|
||||||
// Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
|
// Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
|
||||||
#define SD_DETECT_INVERTED
|
#define SD_DETECT_INVERTED
|
||||||
|
|
||||||
#define SD_FINISHED_STEPPERRELEASE true //if sd support and the file is finished: disable steppers?
|
#define SD_FINISHED_STEPPERRELEASE true // Disable steppers when SD Print is finished
|
||||||
#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
|
#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
|
||||||
|
|
||||||
#define SDCARD_RATHERRECENTFIRST //reverse file order of sd card menu display. Its sorted practically after the file system block order.
|
// Reverse SD sort to show "more recent" files first, according to the card's FAT.
|
||||||
// if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that.
|
// Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended.
|
||||||
// using:
|
#define SDCARD_RATHERRECENTFIRST
|
||||||
|
|
||||||
|
// Add an option in the menu to run all auto#.g files
|
||||||
//#define MENU_ADDAUTOSTART
|
//#define MENU_ADDAUTOSTART
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -686,69 +688,12 @@
|
||||||
#define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
|
#define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Default mesh area is an area with an inset margin on the print area.
|
#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
|
||||||
// Below are the macros that are used to define the borders for the mesh area,
|
// Override the mesh area if the automatic (max) area is too large
|
||||||
// made available here for specialized needs, ie dual extruder setup.
|
//#define MESH_MIN_X MESH_INSET
|
||||||
#if ENABLED(MESH_BED_LEVELING)
|
//#define MESH_MIN_Y MESH_INSET
|
||||||
#if ENABLED(DELTA)
|
//#define MESH_MAX_X X_BED_SIZE - (MESH_INSET)
|
||||||
// Probing points may be verified at compile time within the radius
|
//#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET)
|
||||||
// using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
|
|
||||||
// so that may be added to SanityCheck.h in the future.
|
|
||||||
#define MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MAX_X (X_CENTER + DELTA_PROBEABLE_RADIUS - (MESH_INSET))
|
|
||||||
#define MESH_MAX_Y (Y_CENTER + DELTA_PROBEABLE_RADIUS - (MESH_INSET))
|
|
||||||
#elif IS_SCARA
|
|
||||||
#define MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MAX_X (X_CENTER + SCARA_PRINTABLE_RADIUS - (MESH_INSET))
|
|
||||||
#define MESH_MAX_Y (Y_CENTER + SCARA_PRINTABLE_RADIUS - (MESH_INSET))
|
|
||||||
#else
|
|
||||||
// Boundaries for Cartesian probing based on set limits
|
|
||||||
#if ENABLED(BED_CENTER_AT_0_0)
|
|
||||||
#define MESH_MIN_X (max(MESH_INSET, 0) - (X_BED_SIZE) / 2)
|
|
||||||
#define MESH_MIN_Y (max(MESH_INSET, 0) - (Y_BED_SIZE) / 2)
|
|
||||||
#define MESH_MAX_X (min(X_BED_SIZE - (MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
|
|
||||||
#define MESH_MAX_Y (min(Y_BED_SIZE - (MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
|
|
||||||
#else
|
|
||||||
#define MESH_MIN_X (max(X_MIN_POS + MESH_INSET, 0))
|
|
||||||
#define MESH_MIN_Y (max(Y_MIN_POS + MESH_INSET, 0))
|
|
||||||
#define MESH_MAX_X (min(X_MAX_POS - (MESH_INSET), X_BED_SIZE))
|
|
||||||
#define MESH_MAX_Y (min(Y_MAX_POS - (MESH_INSET), Y_BED_SIZE))
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
#elif ENABLED(AUTO_BED_LEVELING_UBL)
|
|
||||||
#if ENABLED(DELTA)
|
|
||||||
// Probing points may be verified at compile time within the radius
|
|
||||||
// using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
|
|
||||||
// so that may be added to SanityCheck.h in the future.
|
|
||||||
#define UBL_MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MAX_X (X_CENTER + DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#define UBL_MESH_MAX_Y (Y_CENTER + DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#elif IS_SCARA
|
|
||||||
#define UBL_MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MAX_X (X_CENTER + SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#define UBL_MESH_MAX_Y (Y_CENTER + SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#else
|
|
||||||
// Boundaries for Cartesian probing based on set limits
|
|
||||||
#if ENABLED(BED_CENTER_AT_0_0)
|
|
||||||
#define UBL_MESH_MIN_X (max(UBL_MESH_INSET, 0) - (X_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MIN_Y (max(UBL_MESH_INSET, 0) - (Y_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MAX_X (min(X_BED_SIZE - (UBL_MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MAX_Y (min(Y_BED_SIZE - (UBL_MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
|
|
||||||
#else
|
|
||||||
#define UBL_MESH_MIN_X (max(X_MIN_POS + UBL_MESH_INSET, 0))
|
|
||||||
#define UBL_MESH_MIN_Y (max(Y_MIN_POS + UBL_MESH_INSET, 0))
|
|
||||||
#define UBL_MESH_MAX_X (min(X_MAX_POS - (UBL_MESH_INSET), X_BED_SIZE))
|
|
||||||
#define UBL_MESH_MAX_Y (min(Y_MAX_POS - (UBL_MESH_INSET), Y_BED_SIZE))
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// If this is defined, the currently active mesh will be saved in the
|
|
||||||
// current slot on M500.
|
|
||||||
#define UBL_SAVE_ACTIVE_ON_M500
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section extras
|
// @section extras
|
||||||
|
|
|
@ -1057,7 +1057,7 @@
|
||||||
//========================= Unified Bed Leveling ============================
|
//========================= Unified Bed Leveling ============================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
|
||||||
#define UBL_MESH_INSET 1 // Mesh inset margin on print area
|
#define MESH_INSET 1 // Mesh inset margin on print area
|
||||||
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
||||||
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
||||||
|
|
||||||
|
@ -1072,6 +1072,7 @@
|
||||||
|
|
||||||
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
||||||
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
||||||
|
#define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
|
||||||
|
|
||||||
#elif ENABLED(MESH_BED_LEVELING)
|
#elif ENABLED(MESH_BED_LEVELING)
|
||||||
|
|
||||||
|
|
|
@ -491,12 +491,14 @@
|
||||||
// Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
|
// Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
|
||||||
#define SD_DETECT_INVERTED
|
#define SD_DETECT_INVERTED
|
||||||
|
|
||||||
#define SD_FINISHED_STEPPERRELEASE true //if sd support and the file is finished: disable steppers?
|
#define SD_FINISHED_STEPPERRELEASE true // Disable steppers when SD Print is finished
|
||||||
#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
|
#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
|
||||||
|
|
||||||
#define SDCARD_RATHERRECENTFIRST //reverse file order of sd card menu display. Its sorted practically after the file system block order.
|
// Reverse SD sort to show "more recent" files first, according to the card's FAT.
|
||||||
// if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that.
|
// Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended.
|
||||||
// using:
|
#define SDCARD_RATHERRECENTFIRST
|
||||||
|
|
||||||
|
// Add an option in the menu to run all auto#.g files
|
||||||
//#define MENU_ADDAUTOSTART
|
//#define MENU_ADDAUTOSTART
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -686,69 +688,12 @@
|
||||||
#define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
|
#define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Default mesh area is an area with an inset margin on the print area.
|
#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
|
||||||
// Below are the macros that are used to define the borders for the mesh area,
|
// Override the mesh area if the automatic (max) area is too large
|
||||||
// made available here for specialized needs, ie dual extruder setup.
|
//#define MESH_MIN_X MESH_INSET
|
||||||
#if ENABLED(MESH_BED_LEVELING)
|
//#define MESH_MIN_Y MESH_INSET
|
||||||
#if ENABLED(DELTA)
|
//#define MESH_MAX_X X_BED_SIZE - (MESH_INSET)
|
||||||
// Probing points may be verified at compile time within the radius
|
//#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET)
|
||||||
// using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
|
|
||||||
// so that may be added to SanityCheck.h in the future.
|
|
||||||
#define MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MAX_X (X_CENTER + DELTA_PROBEABLE_RADIUS - (MESH_INSET))
|
|
||||||
#define MESH_MAX_Y (Y_CENTER + DELTA_PROBEABLE_RADIUS - (MESH_INSET))
|
|
||||||
#elif IS_SCARA
|
|
||||||
#define MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MAX_X (X_CENTER + SCARA_PRINTABLE_RADIUS - (MESH_INSET))
|
|
||||||
#define MESH_MAX_Y (Y_CENTER + SCARA_PRINTABLE_RADIUS - (MESH_INSET))
|
|
||||||
#else
|
|
||||||
// Boundaries for Cartesian probing based on set limits
|
|
||||||
#if ENABLED(BED_CENTER_AT_0_0)
|
|
||||||
#define MESH_MIN_X (max(MESH_INSET, 0) - (X_BED_SIZE) / 2)
|
|
||||||
#define MESH_MIN_Y (max(MESH_INSET, 0) - (Y_BED_SIZE) / 2)
|
|
||||||
#define MESH_MAX_X (min(X_BED_SIZE - (MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
|
|
||||||
#define MESH_MAX_Y (min(Y_BED_SIZE - (MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
|
|
||||||
#else
|
|
||||||
#define MESH_MIN_X (max(X_MIN_POS + MESH_INSET, 0))
|
|
||||||
#define MESH_MIN_Y (max(Y_MIN_POS + MESH_INSET, 0))
|
|
||||||
#define MESH_MAX_X (min(X_MAX_POS - (MESH_INSET), X_BED_SIZE))
|
|
||||||
#define MESH_MAX_Y (min(Y_MAX_POS - (MESH_INSET), Y_BED_SIZE))
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
#elif ENABLED(AUTO_BED_LEVELING_UBL)
|
|
||||||
#if ENABLED(DELTA)
|
|
||||||
// Probing points may be verified at compile time within the radius
|
|
||||||
// using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
|
|
||||||
// so that may be added to SanityCheck.h in the future.
|
|
||||||
#define UBL_MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MAX_X (X_CENTER + DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#define UBL_MESH_MAX_Y (Y_CENTER + DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#elif IS_SCARA
|
|
||||||
#define UBL_MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MAX_X (X_CENTER + SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#define UBL_MESH_MAX_Y (Y_CENTER + SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#else
|
|
||||||
// Boundaries for Cartesian probing based on set limits
|
|
||||||
#if ENABLED(BED_CENTER_AT_0_0)
|
|
||||||
#define UBL_MESH_MIN_X (max(UBL_MESH_INSET, 0) - (X_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MIN_Y (max(UBL_MESH_INSET, 0) - (Y_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MAX_X (min(X_BED_SIZE - (UBL_MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MAX_Y (min(Y_BED_SIZE - (UBL_MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
|
|
||||||
#else
|
|
||||||
#define UBL_MESH_MIN_X (max(X_MIN_POS + UBL_MESH_INSET, 0))
|
|
||||||
#define UBL_MESH_MIN_Y (max(Y_MIN_POS + UBL_MESH_INSET, 0))
|
|
||||||
#define UBL_MESH_MAX_X (min(X_MAX_POS - (UBL_MESH_INSET), X_BED_SIZE))
|
|
||||||
#define UBL_MESH_MAX_Y (min(Y_MAX_POS - (UBL_MESH_INSET), Y_BED_SIZE))
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// If this is defined, the currently active mesh will be saved in the
|
|
||||||
// current slot on M500.
|
|
||||||
#define UBL_SAVE_ACTIVE_ON_M500
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section extras
|
// @section extras
|
||||||
|
|
|
@ -1052,7 +1052,7 @@
|
||||||
//========================= Unified Bed Leveling ============================
|
//========================= Unified Bed Leveling ============================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
|
||||||
#define UBL_MESH_INSET 1 // Mesh inset margin on print area
|
#define MESH_INSET 1 // Mesh inset margin on print area
|
||||||
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
||||||
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
||||||
|
|
||||||
|
@ -1067,6 +1067,7 @@
|
||||||
|
|
||||||
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
||||||
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
||||||
|
#define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
|
||||||
|
|
||||||
#elif ENABLED(MESH_BED_LEVELING)
|
#elif ENABLED(MESH_BED_LEVELING)
|
||||||
|
|
||||||
|
|
|
@ -491,12 +491,14 @@
|
||||||
// Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
|
// Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
|
||||||
#define SD_DETECT_INVERTED
|
#define SD_DETECT_INVERTED
|
||||||
|
|
||||||
#define SD_FINISHED_STEPPERRELEASE true //if sd support and the file is finished: disable steppers?
|
#define SD_FINISHED_STEPPERRELEASE true // Disable steppers when SD Print is finished
|
||||||
#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
|
#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
|
||||||
|
|
||||||
#define SDCARD_RATHERRECENTFIRST //reverse file order of sd card menu display. Its sorted practically after the file system block order.
|
// Reverse SD sort to show "more recent" files first, according to the card's FAT.
|
||||||
// if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that.
|
// Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended.
|
||||||
// using:
|
#define SDCARD_RATHERRECENTFIRST
|
||||||
|
|
||||||
|
// Add an option in the menu to run all auto#.g files
|
||||||
//#define MENU_ADDAUTOSTART
|
//#define MENU_ADDAUTOSTART
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -686,69 +688,12 @@
|
||||||
#define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
|
#define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Default mesh area is an area with an inset margin on the print area.
|
#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
|
||||||
// Below are the macros that are used to define the borders for the mesh area,
|
// Override the mesh area if the automatic (max) area is too large
|
||||||
// made available here for specialized needs, ie dual extruder setup.
|
//#define MESH_MIN_X MESH_INSET
|
||||||
#if ENABLED(MESH_BED_LEVELING)
|
//#define MESH_MIN_Y MESH_INSET
|
||||||
#if ENABLED(DELTA)
|
//#define MESH_MAX_X X_BED_SIZE - (MESH_INSET)
|
||||||
// Probing points may be verified at compile time within the radius
|
//#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET)
|
||||||
// using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
|
|
||||||
// so that may be added to SanityCheck.h in the future.
|
|
||||||
#define MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MAX_X (X_CENTER + DELTA_PROBEABLE_RADIUS - (MESH_INSET))
|
|
||||||
#define MESH_MAX_Y (Y_CENTER + DELTA_PROBEABLE_RADIUS - (MESH_INSET))
|
|
||||||
#elif IS_SCARA
|
|
||||||
#define MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MAX_X (X_CENTER + SCARA_PRINTABLE_RADIUS - (MESH_INSET))
|
|
||||||
#define MESH_MAX_Y (Y_CENTER + SCARA_PRINTABLE_RADIUS - (MESH_INSET))
|
|
||||||
#else
|
|
||||||
// Boundaries for Cartesian probing based on set limits
|
|
||||||
#if ENABLED(BED_CENTER_AT_0_0)
|
|
||||||
#define MESH_MIN_X (max(MESH_INSET, 0) - (X_BED_SIZE) / 2)
|
|
||||||
#define MESH_MIN_Y (max(MESH_INSET, 0) - (Y_BED_SIZE) / 2)
|
|
||||||
#define MESH_MAX_X (min(X_BED_SIZE - (MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
|
|
||||||
#define MESH_MAX_Y (min(Y_BED_SIZE - (MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
|
|
||||||
#else
|
|
||||||
#define MESH_MIN_X (max(X_MIN_POS + MESH_INSET, 0))
|
|
||||||
#define MESH_MIN_Y (max(Y_MIN_POS + MESH_INSET, 0))
|
|
||||||
#define MESH_MAX_X (min(X_MAX_POS - (MESH_INSET), X_BED_SIZE))
|
|
||||||
#define MESH_MAX_Y (min(Y_MAX_POS - (MESH_INSET), Y_BED_SIZE))
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
#elif ENABLED(AUTO_BED_LEVELING_UBL)
|
|
||||||
#if ENABLED(DELTA)
|
|
||||||
// Probing points may be verified at compile time within the radius
|
|
||||||
// using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
|
|
||||||
// so that may be added to SanityCheck.h in the future.
|
|
||||||
#define UBL_MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MAX_X (X_CENTER + DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#define UBL_MESH_MAX_Y (Y_CENTER + DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#elif IS_SCARA
|
|
||||||
#define UBL_MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MAX_X (X_CENTER + SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#define UBL_MESH_MAX_Y (Y_CENTER + SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#else
|
|
||||||
// Boundaries for Cartesian probing based on set limits
|
|
||||||
#if ENABLED(BED_CENTER_AT_0_0)
|
|
||||||
#define UBL_MESH_MIN_X (max(UBL_MESH_INSET, 0) - (X_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MIN_Y (max(UBL_MESH_INSET, 0) - (Y_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MAX_X (min(X_BED_SIZE - (UBL_MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MAX_Y (min(Y_BED_SIZE - (UBL_MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
|
|
||||||
#else
|
|
||||||
#define UBL_MESH_MIN_X (max(X_MIN_POS + UBL_MESH_INSET, 0))
|
|
||||||
#define UBL_MESH_MIN_Y (max(Y_MIN_POS + UBL_MESH_INSET, 0))
|
|
||||||
#define UBL_MESH_MAX_X (min(X_MAX_POS - (UBL_MESH_INSET), X_BED_SIZE))
|
|
||||||
#define UBL_MESH_MAX_Y (min(Y_MAX_POS - (UBL_MESH_INSET), Y_BED_SIZE))
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// If this is defined, the currently active mesh will be saved in the
|
|
||||||
// current slot on M500.
|
|
||||||
#define UBL_SAVE_ACTIVE_ON_M500
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section extras
|
// @section extras
|
||||||
|
|
|
@ -1055,7 +1055,7 @@
|
||||||
//========================= Unified Bed Leveling ============================
|
//========================= Unified Bed Leveling ============================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
|
||||||
#define UBL_MESH_INSET 1 // Mesh inset margin on print area
|
#define MESH_INSET 1 // Mesh inset margin on print area
|
||||||
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
||||||
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
||||||
|
|
||||||
|
@ -1070,6 +1070,7 @@
|
||||||
|
|
||||||
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
||||||
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
||||||
|
#define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
|
||||||
|
|
||||||
#elif ENABLED(MESH_BED_LEVELING)
|
#elif ENABLED(MESH_BED_LEVELING)
|
||||||
|
|
||||||
|
|
|
@ -491,12 +491,14 @@
|
||||||
// Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
|
// Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
|
||||||
#define SD_DETECT_INVERTED
|
#define SD_DETECT_INVERTED
|
||||||
|
|
||||||
#define SD_FINISHED_STEPPERRELEASE true //if sd support and the file is finished: disable steppers?
|
#define SD_FINISHED_STEPPERRELEASE true // Disable steppers when SD Print is finished
|
||||||
#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
|
#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
|
||||||
|
|
||||||
#define SDCARD_RATHERRECENTFIRST //reverse file order of sd card menu display. Its sorted practically after the file system block order.
|
// Reverse SD sort to show "more recent" files first, according to the card's FAT.
|
||||||
// if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that.
|
// Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended.
|
||||||
// using:
|
#define SDCARD_RATHERRECENTFIRST
|
||||||
|
|
||||||
|
// Add an option in the menu to run all auto#.g files
|
||||||
//#define MENU_ADDAUTOSTART
|
//#define MENU_ADDAUTOSTART
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -686,69 +688,12 @@
|
||||||
#define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
|
#define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Default mesh area is an area with an inset margin on the print area.
|
#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
|
||||||
// Below are the macros that are used to define the borders for the mesh area,
|
// Override the mesh area if the automatic (max) area is too large
|
||||||
// made available here for specialized needs, ie dual extruder setup.
|
//#define MESH_MIN_X MESH_INSET
|
||||||
#if ENABLED(MESH_BED_LEVELING)
|
//#define MESH_MIN_Y MESH_INSET
|
||||||
#if ENABLED(DELTA)
|
//#define MESH_MAX_X X_BED_SIZE - (MESH_INSET)
|
||||||
// Probing points may be verified at compile time within the radius
|
//#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET)
|
||||||
// using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
|
|
||||||
// so that may be added to SanityCheck.h in the future.
|
|
||||||
#define MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MAX_X (X_CENTER + DELTA_PROBEABLE_RADIUS - (MESH_INSET))
|
|
||||||
#define MESH_MAX_Y (Y_CENTER + DELTA_PROBEABLE_RADIUS - (MESH_INSET))
|
|
||||||
#elif IS_SCARA
|
|
||||||
#define MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MAX_X (X_CENTER + SCARA_PRINTABLE_RADIUS - (MESH_INSET))
|
|
||||||
#define MESH_MAX_Y (Y_CENTER + SCARA_PRINTABLE_RADIUS - (MESH_INSET))
|
|
||||||
#else
|
|
||||||
// Boundaries for Cartesian probing based on set limits
|
|
||||||
#if ENABLED(BED_CENTER_AT_0_0)
|
|
||||||
#define MESH_MIN_X (max(MESH_INSET, 0) - (X_BED_SIZE) / 2)
|
|
||||||
#define MESH_MIN_Y (max(MESH_INSET, 0) - (Y_BED_SIZE) / 2)
|
|
||||||
#define MESH_MAX_X (min(X_BED_SIZE - (MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
|
|
||||||
#define MESH_MAX_Y (min(Y_BED_SIZE - (MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
|
|
||||||
#else
|
|
||||||
#define MESH_MIN_X (max(X_MIN_POS + MESH_INSET, 0))
|
|
||||||
#define MESH_MIN_Y (max(Y_MIN_POS + MESH_INSET, 0))
|
|
||||||
#define MESH_MAX_X (min(X_MAX_POS - (MESH_INSET), X_BED_SIZE))
|
|
||||||
#define MESH_MAX_Y (min(Y_MAX_POS - (MESH_INSET), Y_BED_SIZE))
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
#elif ENABLED(AUTO_BED_LEVELING_UBL)
|
|
||||||
#if ENABLED(DELTA)
|
|
||||||
// Probing points may be verified at compile time within the radius
|
|
||||||
// using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
|
|
||||||
// so that may be added to SanityCheck.h in the future.
|
|
||||||
#define UBL_MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MAX_X (X_CENTER + DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#define UBL_MESH_MAX_Y (Y_CENTER + DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#elif IS_SCARA
|
|
||||||
#define UBL_MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MAX_X (X_CENTER + SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#define UBL_MESH_MAX_Y (Y_CENTER + SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#else
|
|
||||||
// Boundaries for Cartesian probing based on set limits
|
|
||||||
#if ENABLED(BED_CENTER_AT_0_0)
|
|
||||||
#define UBL_MESH_MIN_X (max(UBL_MESH_INSET, 0) - (X_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MIN_Y (max(UBL_MESH_INSET, 0) - (Y_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MAX_X (min(X_BED_SIZE - (UBL_MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MAX_Y (min(Y_BED_SIZE - (UBL_MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
|
|
||||||
#else
|
|
||||||
#define UBL_MESH_MIN_X (max(X_MIN_POS + UBL_MESH_INSET, 0))
|
|
||||||
#define UBL_MESH_MIN_Y (max(Y_MIN_POS + UBL_MESH_INSET, 0))
|
|
||||||
#define UBL_MESH_MAX_X (min(X_MAX_POS - (UBL_MESH_INSET), X_BED_SIZE))
|
|
||||||
#define UBL_MESH_MAX_Y (min(Y_MAX_POS - (UBL_MESH_INSET), Y_BED_SIZE))
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// If this is defined, the currently active mesh will be saved in the
|
|
||||||
// current slot on M500.
|
|
||||||
#define UBL_SAVE_ACTIVE_ON_M500
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section extras
|
// @section extras
|
||||||
|
|
|
@ -1055,7 +1055,7 @@
|
||||||
//========================= Unified Bed Leveling ============================
|
//========================= Unified Bed Leveling ============================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
|
||||||
#define UBL_MESH_INSET 1 // Mesh inset margin on print area
|
#define MESH_INSET 1 // Mesh inset margin on print area
|
||||||
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
||||||
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
||||||
|
|
||||||
|
@ -1070,6 +1070,7 @@
|
||||||
|
|
||||||
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
||||||
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
||||||
|
#define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
|
||||||
|
|
||||||
#elif ENABLED(MESH_BED_LEVELING)
|
#elif ENABLED(MESH_BED_LEVELING)
|
||||||
|
|
||||||
|
|
|
@ -496,12 +496,14 @@
|
||||||
// Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
|
// Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
|
||||||
#define SD_DETECT_INVERTED
|
#define SD_DETECT_INVERTED
|
||||||
|
|
||||||
#define SD_FINISHED_STEPPERRELEASE true //if sd support and the file is finished: disable steppers?
|
#define SD_FINISHED_STEPPERRELEASE true // Disable steppers when SD Print is finished
|
||||||
#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
|
#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
|
||||||
|
|
||||||
#define SDCARD_RATHERRECENTFIRST //reverse file order of sd card menu display. Its sorted practically after the file system block order.
|
// Reverse SD sort to show "more recent" files first, according to the card's FAT.
|
||||||
// if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that.
|
// Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended.
|
||||||
// using:
|
#define SDCARD_RATHERRECENTFIRST
|
||||||
|
|
||||||
|
// Add an option in the menu to run all auto#.g files
|
||||||
//#define MENU_ADDAUTOSTART
|
//#define MENU_ADDAUTOSTART
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -691,69 +693,12 @@
|
||||||
#define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
|
#define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Default mesh area is an area with an inset margin on the print area.
|
#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
|
||||||
// Below are the macros that are used to define the borders for the mesh area,
|
// Override the mesh area if the automatic (max) area is too large
|
||||||
// made available here for specialized needs, ie dual extruder setup.
|
//#define MESH_MIN_X MESH_INSET
|
||||||
#if ENABLED(MESH_BED_LEVELING)
|
//#define MESH_MIN_Y MESH_INSET
|
||||||
#if ENABLED(DELTA)
|
//#define MESH_MAX_X X_BED_SIZE - (MESH_INSET)
|
||||||
// Probing points may be verified at compile time within the radius
|
//#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET)
|
||||||
// using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
|
|
||||||
// so that may be added to SanityCheck.h in the future.
|
|
||||||
#define MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MAX_X (X_CENTER + DELTA_PROBEABLE_RADIUS - (MESH_INSET))
|
|
||||||
#define MESH_MAX_Y (Y_CENTER + DELTA_PROBEABLE_RADIUS - (MESH_INSET))
|
|
||||||
#elif IS_SCARA
|
|
||||||
#define MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MAX_X (X_CENTER + SCARA_PRINTABLE_RADIUS - (MESH_INSET))
|
|
||||||
#define MESH_MAX_Y (Y_CENTER + SCARA_PRINTABLE_RADIUS - (MESH_INSET))
|
|
||||||
#else
|
|
||||||
// Boundaries for Cartesian probing based on set limits
|
|
||||||
#if ENABLED(BED_CENTER_AT_0_0)
|
|
||||||
#define MESH_MIN_X (max(MESH_INSET, 0) - (X_BED_SIZE) / 2)
|
|
||||||
#define MESH_MIN_Y (max(MESH_INSET, 0) - (Y_BED_SIZE) / 2)
|
|
||||||
#define MESH_MAX_X (min(X_BED_SIZE - (MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
|
|
||||||
#define MESH_MAX_Y (min(Y_BED_SIZE - (MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
|
|
||||||
#else
|
|
||||||
#define MESH_MIN_X (max(X_MIN_POS + MESH_INSET, 0))
|
|
||||||
#define MESH_MIN_Y (max(Y_MIN_POS + MESH_INSET, 0))
|
|
||||||
#define MESH_MAX_X (min(X_MAX_POS - (MESH_INSET), X_BED_SIZE))
|
|
||||||
#define MESH_MAX_Y (min(Y_MAX_POS - (MESH_INSET), Y_BED_SIZE))
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
#elif ENABLED(AUTO_BED_LEVELING_UBL)
|
|
||||||
#if ENABLED(DELTA)
|
|
||||||
// Probing points may be verified at compile time within the radius
|
|
||||||
// using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
|
|
||||||
// so that may be added to SanityCheck.h in the future.
|
|
||||||
#define UBL_MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MAX_X (X_CENTER + DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#define UBL_MESH_MAX_Y (Y_CENTER + DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#elif IS_SCARA
|
|
||||||
#define UBL_MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MAX_X (X_CENTER + SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#define UBL_MESH_MAX_Y (Y_CENTER + SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#else
|
|
||||||
// Boundaries for Cartesian probing based on set limits
|
|
||||||
#if ENABLED(BED_CENTER_AT_0_0)
|
|
||||||
#define UBL_MESH_MIN_X (max(UBL_MESH_INSET, 0) - (X_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MIN_Y (max(UBL_MESH_INSET, 0) - (Y_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MAX_X (min(X_BED_SIZE - (UBL_MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MAX_Y (min(Y_BED_SIZE - (UBL_MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
|
|
||||||
#else
|
|
||||||
#define UBL_MESH_MIN_X (max(X_MIN_POS + UBL_MESH_INSET, 0))
|
|
||||||
#define UBL_MESH_MIN_Y (max(Y_MIN_POS + UBL_MESH_INSET, 0))
|
|
||||||
#define UBL_MESH_MAX_X (min(X_MAX_POS - (UBL_MESH_INSET), X_BED_SIZE))
|
|
||||||
#define UBL_MESH_MAX_Y (min(Y_MAX_POS - (UBL_MESH_INSET), Y_BED_SIZE))
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// If this is defined, the currently active mesh will be saved in the
|
|
||||||
// current slot on M500.
|
|
||||||
#define UBL_SAVE_ACTIVE_ON_M500
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section extras
|
// @section extras
|
||||||
|
|
|
@ -1064,7 +1064,7 @@
|
||||||
//========================= Unified Bed Leveling ============================
|
//========================= Unified Bed Leveling ============================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
|
||||||
#define UBL_MESH_INSET 1 // Mesh inset margin on print area
|
#define MESH_INSET 1 // Mesh inset margin on print area
|
||||||
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
||||||
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
||||||
|
|
||||||
|
@ -1079,6 +1079,7 @@
|
||||||
|
|
||||||
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
||||||
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
||||||
|
#define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
|
||||||
|
|
||||||
#elif ENABLED(MESH_BED_LEVELING)
|
#elif ENABLED(MESH_BED_LEVELING)
|
||||||
|
|
||||||
|
|
|
@ -491,12 +491,14 @@
|
||||||
// Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
|
// Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
|
||||||
#define SD_DETECT_INVERTED
|
#define SD_DETECT_INVERTED
|
||||||
|
|
||||||
#define SD_FINISHED_STEPPERRELEASE true //if sd support and the file is finished: disable steppers?
|
#define SD_FINISHED_STEPPERRELEASE true // Disable steppers when SD Print is finished
|
||||||
#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
|
#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
|
||||||
|
|
||||||
#define SDCARD_RATHERRECENTFIRST //reverse file order of sd card menu display. Its sorted practically after the file system block order.
|
// Reverse SD sort to show "more recent" files first, according to the card's FAT.
|
||||||
// if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that.
|
// Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended.
|
||||||
// using:
|
#define SDCARD_RATHERRECENTFIRST
|
||||||
|
|
||||||
|
// Add an option in the menu to run all auto#.g files
|
||||||
//#define MENU_ADDAUTOSTART
|
//#define MENU_ADDAUTOSTART
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -686,69 +688,12 @@
|
||||||
#define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
|
#define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Default mesh area is an area with an inset margin on the print area.
|
#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
|
||||||
// Below are the macros that are used to define the borders for the mesh area,
|
// Override the mesh area if the automatic (max) area is too large
|
||||||
// made available here for specialized needs, ie dual extruder setup.
|
//#define MESH_MIN_X MESH_INSET
|
||||||
#if ENABLED(MESH_BED_LEVELING)
|
//#define MESH_MIN_Y MESH_INSET
|
||||||
#if ENABLED(DELTA)
|
//#define MESH_MAX_X X_BED_SIZE - (MESH_INSET)
|
||||||
// Probing points may be verified at compile time within the radius
|
//#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET)
|
||||||
// using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
|
|
||||||
// so that may be added to SanityCheck.h in the future.
|
|
||||||
#define MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MAX_X (X_CENTER + DELTA_PROBEABLE_RADIUS - (MESH_INSET))
|
|
||||||
#define MESH_MAX_Y (Y_CENTER + DELTA_PROBEABLE_RADIUS - (MESH_INSET))
|
|
||||||
#elif IS_SCARA
|
|
||||||
#define MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MAX_X (X_CENTER + SCARA_PRINTABLE_RADIUS - (MESH_INSET))
|
|
||||||
#define MESH_MAX_Y (Y_CENTER + SCARA_PRINTABLE_RADIUS - (MESH_INSET))
|
|
||||||
#else
|
|
||||||
// Boundaries for Cartesian probing based on set limits
|
|
||||||
#if ENABLED(BED_CENTER_AT_0_0)
|
|
||||||
#define MESH_MIN_X (max(MESH_INSET, 0) - (X_BED_SIZE) / 2)
|
|
||||||
#define MESH_MIN_Y (max(MESH_INSET, 0) - (Y_BED_SIZE) / 2)
|
|
||||||
#define MESH_MAX_X (min(X_BED_SIZE - (MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
|
|
||||||
#define MESH_MAX_Y (min(Y_BED_SIZE - (MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
|
|
||||||
#else
|
|
||||||
#define MESH_MIN_X (max(X_MIN_POS + MESH_INSET, 0))
|
|
||||||
#define MESH_MIN_Y (max(Y_MIN_POS + MESH_INSET, 0))
|
|
||||||
#define MESH_MAX_X (min(X_MAX_POS - (MESH_INSET), X_BED_SIZE))
|
|
||||||
#define MESH_MAX_Y (min(Y_MAX_POS - (MESH_INSET), Y_BED_SIZE))
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
#elif ENABLED(AUTO_BED_LEVELING_UBL)
|
|
||||||
#if ENABLED(DELTA)
|
|
||||||
// Probing points may be verified at compile time within the radius
|
|
||||||
// using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
|
|
||||||
// so that may be added to SanityCheck.h in the future.
|
|
||||||
#define UBL_MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MAX_X (X_CENTER + DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#define UBL_MESH_MAX_Y (Y_CENTER + DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#elif IS_SCARA
|
|
||||||
#define UBL_MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MAX_X (X_CENTER + SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#define UBL_MESH_MAX_Y (Y_CENTER + SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#else
|
|
||||||
// Boundaries for Cartesian probing based on set limits
|
|
||||||
#if ENABLED(BED_CENTER_AT_0_0)
|
|
||||||
#define UBL_MESH_MIN_X (max(UBL_MESH_INSET, 0) - (X_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MIN_Y (max(UBL_MESH_INSET, 0) - (Y_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MAX_X (min(X_BED_SIZE - (UBL_MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MAX_Y (min(Y_BED_SIZE - (UBL_MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
|
|
||||||
#else
|
|
||||||
#define UBL_MESH_MIN_X (max(X_MIN_POS + UBL_MESH_INSET, 0))
|
|
||||||
#define UBL_MESH_MIN_Y (max(Y_MIN_POS + UBL_MESH_INSET, 0))
|
|
||||||
#define UBL_MESH_MAX_X (min(X_MAX_POS - (UBL_MESH_INSET), X_BED_SIZE))
|
|
||||||
#define UBL_MESH_MAX_Y (min(Y_MAX_POS - (UBL_MESH_INSET), Y_BED_SIZE))
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// If this is defined, the currently active mesh will be saved in the
|
|
||||||
// current slot on M500.
|
|
||||||
#define UBL_SAVE_ACTIVE_ON_M500
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section extras
|
// @section extras
|
||||||
|
|
|
@ -951,7 +951,7 @@
|
||||||
//========================= Unified Bed Leveling ============================
|
//========================= Unified Bed Leveling ============================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
|
||||||
#define UBL_MESH_INSET 45 // Mesh inset margin on print area
|
#define MESH_INSET 45 // Mesh inset margin on print area
|
||||||
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
||||||
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
||||||
|
|
||||||
|
@ -964,6 +964,7 @@
|
||||||
|
|
||||||
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
||||||
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
||||||
|
#define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
|
||||||
|
|
||||||
#elif ENABLED(MESH_BED_LEVELING)
|
#elif ENABLED(MESH_BED_LEVELING)
|
||||||
|
|
||||||
|
|
|
@ -489,12 +489,14 @@
|
||||||
// Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
|
// Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
|
||||||
#define SD_DETECT_INVERTED
|
#define SD_DETECT_INVERTED
|
||||||
|
|
||||||
#define SD_FINISHED_STEPPERRELEASE true //if sd support and the file is finished: disable steppers?
|
#define SD_FINISHED_STEPPERRELEASE true // Disable steppers when SD Print is finished
|
||||||
#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
|
#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
|
||||||
|
|
||||||
#define SDCARD_RATHERRECENTFIRST //reverse file order of sd card menu display. Its sorted practically after the file system block order.
|
// Reverse SD sort to show "more recent" files first, according to the card's FAT.
|
||||||
// if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that.
|
// Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended.
|
||||||
// using:
|
#define SDCARD_RATHERRECENTFIRST
|
||||||
|
|
||||||
|
// Add an option in the menu to run all auto#.g files
|
||||||
//#define MENU_ADDAUTOSTART
|
//#define MENU_ADDAUTOSTART
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -684,69 +686,12 @@
|
||||||
#define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
|
#define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Default mesh area is an area with an inset margin on the print area.
|
#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
|
||||||
// Below are the macros that are used to define the borders for the mesh area,
|
// Override the mesh area if the automatic (max) area is too large
|
||||||
// made available here for specialized needs, ie dual extruder setup.
|
//#define MESH_MIN_X MESH_INSET
|
||||||
#if ENABLED(MESH_BED_LEVELING)
|
//#define MESH_MIN_Y MESH_INSET
|
||||||
#if ENABLED(DELTA)
|
//#define MESH_MAX_X X_BED_SIZE - (MESH_INSET)
|
||||||
// Probing points may be verified at compile time within the radius
|
//#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET)
|
||||||
// using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
|
|
||||||
// so that may be added to SanityCheck.h in the future.
|
|
||||||
#define MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MAX_X (X_CENTER + DELTA_PROBEABLE_RADIUS - (MESH_INSET))
|
|
||||||
#define MESH_MAX_Y (Y_CENTER + DELTA_PROBEABLE_RADIUS - (MESH_INSET))
|
|
||||||
#elif IS_SCARA
|
|
||||||
#define MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MAX_X (X_CENTER + SCARA_PRINTABLE_RADIUS - (MESH_INSET))
|
|
||||||
#define MESH_MAX_Y (Y_CENTER + SCARA_PRINTABLE_RADIUS - (MESH_INSET))
|
|
||||||
#else
|
|
||||||
// Boundaries for Cartesian probing based on set limits
|
|
||||||
#if ENABLED(BED_CENTER_AT_0_0)
|
|
||||||
#define MESH_MIN_X (max(MESH_INSET, 0) - (X_BED_SIZE) / 2)
|
|
||||||
#define MESH_MIN_Y (max(MESH_INSET, 0) - (Y_BED_SIZE) / 2)
|
|
||||||
#define MESH_MAX_X (min(X_BED_SIZE - (MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
|
|
||||||
#define MESH_MAX_Y (min(Y_BED_SIZE - (MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
|
|
||||||
#else
|
|
||||||
#define MESH_MIN_X (max(X_MIN_POS + MESH_INSET, 0))
|
|
||||||
#define MESH_MIN_Y (max(Y_MIN_POS + MESH_INSET, 0))
|
|
||||||
#define MESH_MAX_X (min(X_MAX_POS - (MESH_INSET), X_BED_SIZE))
|
|
||||||
#define MESH_MAX_Y (min(Y_MAX_POS - (MESH_INSET), Y_BED_SIZE))
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
#elif ENABLED(AUTO_BED_LEVELING_UBL)
|
|
||||||
#if ENABLED(DELTA)
|
|
||||||
// Probing points may be verified at compile time within the radius
|
|
||||||
// using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
|
|
||||||
// so that may be added to SanityCheck.h in the future.
|
|
||||||
#define UBL_MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MAX_X (X_CENTER + DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#define UBL_MESH_MAX_Y (Y_CENTER + DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#elif IS_SCARA
|
|
||||||
#define UBL_MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MAX_X (X_CENTER + SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#define UBL_MESH_MAX_Y (Y_CENTER + SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#else
|
|
||||||
// Boundaries for Cartesian probing based on set limits
|
|
||||||
#if ENABLED(BED_CENTER_AT_0_0)
|
|
||||||
#define UBL_MESH_MIN_X (max(UBL_MESH_INSET, 0) - (X_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MIN_Y (max(UBL_MESH_INSET, 0) - (Y_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MAX_X (min(X_BED_SIZE - (UBL_MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MAX_Y (min(Y_BED_SIZE - (UBL_MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
|
|
||||||
#else
|
|
||||||
#define UBL_MESH_MIN_X (max(X_MIN_POS + UBL_MESH_INSET, 0))
|
|
||||||
#define UBL_MESH_MIN_Y (max(Y_MIN_POS + UBL_MESH_INSET, 0))
|
|
||||||
#define UBL_MESH_MAX_X (min(X_MAX_POS - (UBL_MESH_INSET), X_BED_SIZE))
|
|
||||||
#define UBL_MESH_MAX_Y (min(Y_MAX_POS - (UBL_MESH_INSET), Y_BED_SIZE))
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// If this is defined, the currently active mesh will be saved in the
|
|
||||||
// current slot on M500.
|
|
||||||
#define UBL_SAVE_ACTIVE_ON_M500
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section extras
|
// @section extras
|
||||||
|
|
|
@ -940,7 +940,7 @@
|
||||||
//========================= Unified Bed Leveling ============================
|
//========================= Unified Bed Leveling ============================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
|
||||||
#define UBL_MESH_INSET 1 // Mesh inset margin on print area
|
#define MESH_INSET 1 // Mesh inset margin on print area
|
||||||
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
||||||
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
||||||
|
|
||||||
|
@ -953,6 +953,7 @@
|
||||||
|
|
||||||
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
||||||
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
||||||
|
#define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
|
||||||
|
|
||||||
#elif ENABLED(MESH_BED_LEVELING)
|
#elif ENABLED(MESH_BED_LEVELING)
|
||||||
|
|
||||||
|
|
|
@ -489,12 +489,14 @@
|
||||||
// Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
|
// Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
|
||||||
//#define SD_DETECT_INVERTED
|
//#define SD_DETECT_INVERTED
|
||||||
|
|
||||||
#define SD_FINISHED_STEPPERRELEASE true //if sd support and the file is finished: disable steppers?
|
#define SD_FINISHED_STEPPERRELEASE true // Disable steppers when SD Print is finished
|
||||||
#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
|
#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
|
||||||
|
|
||||||
#define SDCARD_RATHERRECENTFIRST //reverse file order of sd card menu display. Its sorted practically after the file system block order.
|
// Reverse SD sort to show "more recent" files first, according to the card's FAT.
|
||||||
// if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that.
|
// Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended.
|
||||||
// using:
|
#define SDCARD_RATHERRECENTFIRST
|
||||||
|
|
||||||
|
// Add an option in the menu to run all auto#.g files
|
||||||
//#define MENU_ADDAUTOSTART
|
//#define MENU_ADDAUTOSTART
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -684,69 +686,12 @@
|
||||||
#define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
|
#define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Default mesh area is an area with an inset margin on the print area.
|
#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
|
||||||
// Below are the macros that are used to define the borders for the mesh area,
|
// Override the mesh area if the automatic (max) area is too large
|
||||||
// made available here for specialized needs, ie dual extruder setup.
|
//#define MESH_MIN_X MESH_INSET
|
||||||
#if ENABLED(MESH_BED_LEVELING)
|
//#define MESH_MIN_Y MESH_INSET
|
||||||
#if ENABLED(DELTA)
|
//#define MESH_MAX_X X_BED_SIZE - (MESH_INSET)
|
||||||
// Probing points may be verified at compile time within the radius
|
//#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET)
|
||||||
// using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
|
|
||||||
// so that may be added to SanityCheck.h in the future.
|
|
||||||
#define MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MAX_X (X_CENTER + DELTA_PROBEABLE_RADIUS - (MESH_INSET))
|
|
||||||
#define MESH_MAX_Y (Y_CENTER + DELTA_PROBEABLE_RADIUS - (MESH_INSET))
|
|
||||||
#elif IS_SCARA
|
|
||||||
#define MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MAX_X (X_CENTER + SCARA_PRINTABLE_RADIUS - (MESH_INSET))
|
|
||||||
#define MESH_MAX_Y (Y_CENTER + SCARA_PRINTABLE_RADIUS - (MESH_INSET))
|
|
||||||
#else
|
|
||||||
// Boundaries for Cartesian probing based on set limits
|
|
||||||
#if ENABLED(BED_CENTER_AT_0_0)
|
|
||||||
#define MESH_MIN_X (max(MESH_INSET, 0) - (X_BED_SIZE) / 2)
|
|
||||||
#define MESH_MIN_Y (max(MESH_INSET, 0) - (Y_BED_SIZE) / 2)
|
|
||||||
#define MESH_MAX_X (min(X_BED_SIZE - (MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
|
|
||||||
#define MESH_MAX_Y (min(Y_BED_SIZE - (MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
|
|
||||||
#else
|
|
||||||
#define MESH_MIN_X (max(X_MIN_POS + MESH_INSET, 0))
|
|
||||||
#define MESH_MIN_Y (max(Y_MIN_POS + MESH_INSET, 0))
|
|
||||||
#define MESH_MAX_X (min(X_MAX_POS - (MESH_INSET), X_BED_SIZE))
|
|
||||||
#define MESH_MAX_Y (min(Y_MAX_POS - (MESH_INSET), Y_BED_SIZE))
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
#elif ENABLED(AUTO_BED_LEVELING_UBL)
|
|
||||||
#if ENABLED(DELTA)
|
|
||||||
// Probing points may be verified at compile time within the radius
|
|
||||||
// using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
|
|
||||||
// so that may be added to SanityCheck.h in the future.
|
|
||||||
#define UBL_MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MAX_X (X_CENTER + DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#define UBL_MESH_MAX_Y (Y_CENTER + DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#elif IS_SCARA
|
|
||||||
#define UBL_MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MAX_X (X_CENTER + SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#define UBL_MESH_MAX_Y (Y_CENTER + SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#else
|
|
||||||
// Boundaries for Cartesian probing based on set limits
|
|
||||||
#if ENABLED(BED_CENTER_AT_0_0)
|
|
||||||
#define UBL_MESH_MIN_X (max(UBL_MESH_INSET, 0) - (X_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MIN_Y (max(UBL_MESH_INSET, 0) - (Y_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MAX_X (min(X_BED_SIZE - (UBL_MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MAX_Y (min(Y_BED_SIZE - (UBL_MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
|
|
||||||
#else
|
|
||||||
#define UBL_MESH_MIN_X (max(X_MIN_POS + UBL_MESH_INSET, 0))
|
|
||||||
#define UBL_MESH_MIN_Y (max(Y_MIN_POS + UBL_MESH_INSET, 0))
|
|
||||||
#define UBL_MESH_MAX_X (min(X_MAX_POS - (UBL_MESH_INSET), X_BED_SIZE))
|
|
||||||
#define UBL_MESH_MAX_Y (min(Y_MAX_POS - (UBL_MESH_INSET), Y_BED_SIZE))
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// If this is defined, the currently active mesh will be saved in the
|
|
||||||
// current slot on M500.
|
|
||||||
#define UBL_SAVE_ACTIVE_ON_M500
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section extras
|
// @section extras
|
||||||
|
|
|
@ -924,7 +924,7 @@
|
||||||
//========================= Unified Bed Leveling ============================
|
//========================= Unified Bed Leveling ============================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
|
||||||
#define UBL_MESH_INSET 1 // Mesh inset margin on print area
|
#define MESH_INSET 1 // Mesh inset margin on print area
|
||||||
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
||||||
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
||||||
|
|
||||||
|
@ -937,6 +937,7 @@
|
||||||
|
|
||||||
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
||||||
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
||||||
|
#define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
|
||||||
|
|
||||||
#elif ENABLED(MESH_BED_LEVELING)
|
#elif ENABLED(MESH_BED_LEVELING)
|
||||||
|
|
||||||
|
|
|
@ -932,7 +932,7 @@
|
||||||
//========================= Unified Bed Leveling ============================
|
//========================= Unified Bed Leveling ============================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
|
||||||
#define UBL_MESH_INSET 1 // Mesh inset margin on print area
|
#define MESH_INSET 1 // Mesh inset margin on print area
|
||||||
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
||||||
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
||||||
|
|
||||||
|
@ -945,6 +945,7 @@
|
||||||
|
|
||||||
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
||||||
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
||||||
|
#define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
|
||||||
|
|
||||||
#elif ENABLED(MESH_BED_LEVELING)
|
#elif ENABLED(MESH_BED_LEVELING)
|
||||||
|
|
||||||
|
|
|
@ -489,12 +489,14 @@
|
||||||
// Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
|
// Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
|
||||||
#define SD_DETECT_INVERTED
|
#define SD_DETECT_INVERTED
|
||||||
|
|
||||||
#define SD_FINISHED_STEPPERRELEASE true //if sd support and the file is finished: disable steppers?
|
#define SD_FINISHED_STEPPERRELEASE true // Disable steppers when SD Print is finished
|
||||||
#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
|
#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
|
||||||
|
|
||||||
#define SDCARD_RATHERRECENTFIRST //reverse file order of sd card menu display. Its sorted practically after the file system block order.
|
// Reverse SD sort to show "more recent" files first, according to the card's FAT.
|
||||||
// if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that.
|
// Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended.
|
||||||
// using:
|
#define SDCARD_RATHERRECENTFIRST
|
||||||
|
|
||||||
|
// Add an option in the menu to run all auto#.g files
|
||||||
//#define MENU_ADDAUTOSTART
|
//#define MENU_ADDAUTOSTART
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -684,69 +686,12 @@
|
||||||
#define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
|
#define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Default mesh area is an area with an inset margin on the print area.
|
#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
|
||||||
// Below are the macros that are used to define the borders for the mesh area,
|
// Override the mesh area if the automatic (max) area is too large
|
||||||
// made available here for specialized needs, ie dual extruder setup.
|
//#define MESH_MIN_X MESH_INSET
|
||||||
#if ENABLED(MESH_BED_LEVELING)
|
//#define MESH_MIN_Y MESH_INSET
|
||||||
#if ENABLED(DELTA)
|
//#define MESH_MAX_X X_BED_SIZE - (MESH_INSET)
|
||||||
// Probing points may be verified at compile time within the radius
|
//#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET)
|
||||||
// using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
|
|
||||||
// so that may be added to SanityCheck.h in the future.
|
|
||||||
#define MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MAX_X (X_CENTER + DELTA_PROBEABLE_RADIUS - (MESH_INSET))
|
|
||||||
#define MESH_MAX_Y (Y_CENTER + DELTA_PROBEABLE_RADIUS - (MESH_INSET))
|
|
||||||
#elif IS_SCARA
|
|
||||||
#define MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MAX_X (X_CENTER + SCARA_PRINTABLE_RADIUS - (MESH_INSET))
|
|
||||||
#define MESH_MAX_Y (Y_CENTER + SCARA_PRINTABLE_RADIUS - (MESH_INSET))
|
|
||||||
#else
|
|
||||||
// Boundaries for Cartesian probing based on set limits
|
|
||||||
#if ENABLED(BED_CENTER_AT_0_0)
|
|
||||||
#define MESH_MIN_X (max(MESH_INSET, 0) - (X_BED_SIZE) / 2)
|
|
||||||
#define MESH_MIN_Y (max(MESH_INSET, 0) - (Y_BED_SIZE) / 2)
|
|
||||||
#define MESH_MAX_X (min(X_BED_SIZE - (MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
|
|
||||||
#define MESH_MAX_Y (min(Y_BED_SIZE - (MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
|
|
||||||
#else
|
|
||||||
#define MESH_MIN_X (max(X_MIN_POS + MESH_INSET, 0))
|
|
||||||
#define MESH_MIN_Y (max(Y_MIN_POS + MESH_INSET, 0))
|
|
||||||
#define MESH_MAX_X (min(X_MAX_POS - (MESH_INSET), X_BED_SIZE))
|
|
||||||
#define MESH_MAX_Y (min(Y_MAX_POS - (MESH_INSET), Y_BED_SIZE))
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
#elif ENABLED(AUTO_BED_LEVELING_UBL)
|
|
||||||
#if ENABLED(DELTA)
|
|
||||||
// Probing points may be verified at compile time within the radius
|
|
||||||
// using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
|
|
||||||
// so that may be added to SanityCheck.h in the future.
|
|
||||||
#define UBL_MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MAX_X (X_CENTER + DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#define UBL_MESH_MAX_Y (Y_CENTER + DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#elif IS_SCARA
|
|
||||||
#define UBL_MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MAX_X (X_CENTER + SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#define UBL_MESH_MAX_Y (Y_CENTER + SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#else
|
|
||||||
// Boundaries for Cartesian probing based on set limits
|
|
||||||
#if ENABLED(BED_CENTER_AT_0_0)
|
|
||||||
#define UBL_MESH_MIN_X (max(UBL_MESH_INSET, 0) - (X_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MIN_Y (max(UBL_MESH_INSET, 0) - (Y_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MAX_X (min(X_BED_SIZE - (UBL_MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MAX_Y (min(Y_BED_SIZE - (UBL_MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
|
|
||||||
#else
|
|
||||||
#define UBL_MESH_MIN_X (max(X_MIN_POS + UBL_MESH_INSET, 0))
|
|
||||||
#define UBL_MESH_MIN_Y (max(Y_MIN_POS + UBL_MESH_INSET, 0))
|
|
||||||
#define UBL_MESH_MAX_X (min(X_MAX_POS - (UBL_MESH_INSET), X_BED_SIZE))
|
|
||||||
#define UBL_MESH_MAX_Y (min(Y_MAX_POS - (UBL_MESH_INSET), Y_BED_SIZE))
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// If this is defined, the currently active mesh will be saved in the
|
|
||||||
// current slot on M500.
|
|
||||||
#define UBL_SAVE_ACTIVE_ON_M500
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section extras
|
// @section extras
|
||||||
|
|
|
@ -942,7 +942,7 @@
|
||||||
//========================= Unified Bed Leveling ============================
|
//========================= Unified Bed Leveling ============================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
|
||||||
#define UBL_MESH_INSET 1 // Mesh inset margin on print area
|
#define MESH_INSET 1 // Mesh inset margin on print area
|
||||||
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
|
||||||
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
|
||||||
|
|
||||||
|
@ -955,6 +955,7 @@
|
||||||
|
|
||||||
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
#define UBL_G26_MESH_VALIDATION // Enable G26 mesh validation
|
||||||
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
|
||||||
|
#define UBL_SAVE_ACTIVE_ON_M500 // Save the currently active mesh in the current slot on M500
|
||||||
|
|
||||||
#elif ENABLED(MESH_BED_LEVELING)
|
#elif ENABLED(MESH_BED_LEVELING)
|
||||||
|
|
||||||
|
|
|
@ -489,12 +489,14 @@
|
||||||
// Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
|
// Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
|
||||||
#define SD_DETECT_INVERTED
|
#define SD_DETECT_INVERTED
|
||||||
|
|
||||||
#define SD_FINISHED_STEPPERRELEASE true //if sd support and the file is finished: disable steppers?
|
#define SD_FINISHED_STEPPERRELEASE true // Disable steppers when SD Print is finished
|
||||||
#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
|
#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
|
||||||
|
|
||||||
#define SDCARD_RATHERRECENTFIRST //reverse file order of sd card menu display. Its sorted practically after the file system block order.
|
// Reverse SD sort to show "more recent" files first, according to the card's FAT.
|
||||||
// if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that.
|
// Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended.
|
||||||
// using:
|
#define SDCARD_RATHERRECENTFIRST
|
||||||
|
|
||||||
|
// Add an option in the menu to run all auto#.g files
|
||||||
//#define MENU_ADDAUTOSTART
|
//#define MENU_ADDAUTOSTART
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -684,69 +686,12 @@
|
||||||
#define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
|
#define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Default mesh area is an area with an inset margin on the print area.
|
#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
|
||||||
// Below are the macros that are used to define the borders for the mesh area,
|
// Override the mesh area if the automatic (max) area is too large
|
||||||
// made available here for specialized needs, ie dual extruder setup.
|
//#define MESH_MIN_X MESH_INSET
|
||||||
#if ENABLED(MESH_BED_LEVELING)
|
//#define MESH_MIN_Y MESH_INSET
|
||||||
#if ENABLED(DELTA)
|
//#define MESH_MAX_X X_BED_SIZE - (MESH_INSET)
|
||||||
// Probing points may be verified at compile time within the radius
|
//#define MESH_MAX_Y Y_BED_SIZE - (MESH_INSET)
|
||||||
// using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
|
|
||||||
// so that may be added to SanityCheck.h in the future.
|
|
||||||
#define MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MAX_X (X_CENTER + DELTA_PROBEABLE_RADIUS - (MESH_INSET))
|
|
||||||
#define MESH_MAX_Y (Y_CENTER + DELTA_PROBEABLE_RADIUS - (MESH_INSET))
|
|
||||||
#elif IS_SCARA
|
|
||||||
#define MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + MESH_INSET)
|
|
||||||
#define MESH_MAX_X (X_CENTER + SCARA_PRINTABLE_RADIUS - (MESH_INSET))
|
|
||||||
#define MESH_MAX_Y (Y_CENTER + SCARA_PRINTABLE_RADIUS - (MESH_INSET))
|
|
||||||
#else
|
|
||||||
// Boundaries for Cartesian probing based on set limits
|
|
||||||
#if ENABLED(BED_CENTER_AT_0_0)
|
|
||||||
#define MESH_MIN_X (max(MESH_INSET, 0) - (X_BED_SIZE) / 2)
|
|
||||||
#define MESH_MIN_Y (max(MESH_INSET, 0) - (Y_BED_SIZE) / 2)
|
|
||||||
#define MESH_MAX_X (min(X_BED_SIZE - (MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
|
|
||||||
#define MESH_MAX_Y (min(Y_BED_SIZE - (MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
|
|
||||||
#else
|
|
||||||
#define MESH_MIN_X (max(X_MIN_POS + MESH_INSET, 0))
|
|
||||||
#define MESH_MIN_Y (max(Y_MIN_POS + MESH_INSET, 0))
|
|
||||||
#define MESH_MAX_X (min(X_MAX_POS - (MESH_INSET), X_BED_SIZE))
|
|
||||||
#define MESH_MAX_Y (min(Y_MAX_POS - (MESH_INSET), Y_BED_SIZE))
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
#elif ENABLED(AUTO_BED_LEVELING_UBL)
|
|
||||||
#if ENABLED(DELTA)
|
|
||||||
// Probing points may be verified at compile time within the radius
|
|
||||||
// using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
|
|
||||||
// so that may be added to SanityCheck.h in the future.
|
|
||||||
#define UBL_MESH_MIN_X (X_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MIN_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MAX_X (X_CENTER + DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#define UBL_MESH_MAX_Y (Y_CENTER + DELTA_PROBEABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#elif IS_SCARA
|
|
||||||
#define UBL_MESH_MIN_X (X_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MIN_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS) + UBL_MESH_INSET)
|
|
||||||
#define UBL_MESH_MAX_X (X_CENTER + SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#define UBL_MESH_MAX_Y (Y_CENTER + SCARA_PRINTABLE_RADIUS - (UBL_MESH_INSET))
|
|
||||||
#else
|
|
||||||
// Boundaries for Cartesian probing based on set limits
|
|
||||||
#if ENABLED(BED_CENTER_AT_0_0)
|
|
||||||
#define UBL_MESH_MIN_X (max(UBL_MESH_INSET, 0) - (X_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MIN_Y (max(UBL_MESH_INSET, 0) - (Y_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MAX_X (min(X_BED_SIZE - (UBL_MESH_INSET), X_BED_SIZE) - (X_BED_SIZE) / 2)
|
|
||||||
#define UBL_MESH_MAX_Y (min(Y_BED_SIZE - (UBL_MESH_INSET), Y_BED_SIZE) - (Y_BED_SIZE) / 2)
|
|
||||||
#else
|
|
||||||
#define UBL_MESH_MIN_X (max(X_MIN_POS + UBL_MESH_INSET, 0))
|
|
||||||
#define UBL_MESH_MIN_Y (max(Y_MIN_POS + UBL_MESH_INSET, 0))
|
|
||||||
#define UBL_MESH_MAX_X (min(X_MAX_POS - (UBL_MESH_INSET), X_BED_SIZE))
|
|
||||||
#define UBL_MESH_MAX_Y (min(Y_MAX_POS - (UBL_MESH_INSET), Y_BED_SIZE))
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// If this is defined, the currently active mesh will be saved in the
|
|
||||||
// current slot on M500.
|
|
||||||
#define UBL_SAVE_ACTIVE_ON_M500
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @section extras
|
// @section extras
|
||||||
|
|
|
@ -125,9 +125,9 @@
|
||||||
SERIAL_ECHO_SP(spaces + 3);
|
SERIAL_ECHO_SP(spaces + 3);
|
||||||
serial_echo_xy(GRID_MAX_POINTS_X - 1, GRID_MAX_POINTS_Y - 1);
|
serial_echo_xy(GRID_MAX_POINTS_X - 1, GRID_MAX_POINTS_Y - 1);
|
||||||
SERIAL_EOL();
|
SERIAL_EOL();
|
||||||
serial_echo_xy(UBL_MESH_MIN_X, UBL_MESH_MAX_Y);
|
serial_echo_xy(MESH_MIN_X, MESH_MAX_Y);
|
||||||
SERIAL_ECHO_SP(spaces);
|
SERIAL_ECHO_SP(spaces);
|
||||||
serial_echo_xy(UBL_MESH_MAX_X, UBL_MESH_MAX_Y);
|
serial_echo_xy(MESH_MAX_X, MESH_MAX_Y);
|
||||||
SERIAL_EOL();
|
SERIAL_EOL();
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
@ -174,9 +174,9 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
if (map_type == 0) {
|
if (map_type == 0) {
|
||||||
serial_echo_xy(UBL_MESH_MIN_X, UBL_MESH_MIN_Y);
|
serial_echo_xy(MESH_MIN_X, MESH_MIN_Y);
|
||||||
SERIAL_ECHO_SP(spaces + 4);
|
SERIAL_ECHO_SP(spaces + 4);
|
||||||
serial_echo_xy(UBL_MESH_MAX_X, UBL_MESH_MIN_Y);
|
serial_echo_xy(MESH_MAX_X, MESH_MIN_Y);
|
||||||
SERIAL_EOL();
|
SERIAL_EOL();
|
||||||
serial_echo_xy(0, 0);
|
serial_echo_xy(0, 0);
|
||||||
SERIAL_ECHO_SP(spaces + 5);
|
SERIAL_ECHO_SP(spaces + 5);
|
||||||
|
|
|
@ -67,8 +67,8 @@ extern uint8_t ubl_cnt;
|
||||||
void lcd_quick_feedback();
|
void lcd_quick_feedback();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define MESH_X_DIST (float(UBL_MESH_MAX_X - (UBL_MESH_MIN_X)) / float(GRID_MAX_POINTS_X - 1))
|
#define MESH_X_DIST (float(MESH_MAX_X - (MESH_MIN_X)) / float(GRID_MAX_POINTS_X - 1))
|
||||||
#define MESH_Y_DIST (float(UBL_MESH_MAX_Y - (UBL_MESH_MIN_Y)) / float(GRID_MAX_POINTS_Y - 1))
|
#define MESH_Y_DIST (float(MESH_MAX_Y - (MESH_MIN_Y)) / float(GRID_MAX_POINTS_Y - 1))
|
||||||
|
|
||||||
class unified_bed_leveling {
|
class unified_bed_leveling {
|
||||||
private:
|
private:
|
||||||
|
@ -162,25 +162,25 @@ class unified_bed_leveling {
|
||||||
// 15 is the maximum nubmer of grid points supported + 1 safety margin for now,
|
// 15 is the maximum nubmer of grid points supported + 1 safety margin for now,
|
||||||
// until determinism prevails
|
// until determinism prevails
|
||||||
constexpr static float _mesh_index_to_xpos[16] PROGMEM = {
|
constexpr static float _mesh_index_to_xpos[16] PROGMEM = {
|
||||||
UBL_MESH_MIN_X + 0 * (MESH_X_DIST), UBL_MESH_MIN_X + 1 * (MESH_X_DIST),
|
MESH_MIN_X + 0 * (MESH_X_DIST), MESH_MIN_X + 1 * (MESH_X_DIST),
|
||||||
UBL_MESH_MIN_X + 2 * (MESH_X_DIST), UBL_MESH_MIN_X + 3 * (MESH_X_DIST),
|
MESH_MIN_X + 2 * (MESH_X_DIST), MESH_MIN_X + 3 * (MESH_X_DIST),
|
||||||
UBL_MESH_MIN_X + 4 * (MESH_X_DIST), UBL_MESH_MIN_X + 5 * (MESH_X_DIST),
|
MESH_MIN_X + 4 * (MESH_X_DIST), MESH_MIN_X + 5 * (MESH_X_DIST),
|
||||||
UBL_MESH_MIN_X + 6 * (MESH_X_DIST), UBL_MESH_MIN_X + 7 * (MESH_X_DIST),
|
MESH_MIN_X + 6 * (MESH_X_DIST), MESH_MIN_X + 7 * (MESH_X_DIST),
|
||||||
UBL_MESH_MIN_X + 8 * (MESH_X_DIST), UBL_MESH_MIN_X + 9 * (MESH_X_DIST),
|
MESH_MIN_X + 8 * (MESH_X_DIST), MESH_MIN_X + 9 * (MESH_X_DIST),
|
||||||
UBL_MESH_MIN_X + 10 * (MESH_X_DIST), UBL_MESH_MIN_X + 11 * (MESH_X_DIST),
|
MESH_MIN_X + 10 * (MESH_X_DIST), MESH_MIN_X + 11 * (MESH_X_DIST),
|
||||||
UBL_MESH_MIN_X + 12 * (MESH_X_DIST), UBL_MESH_MIN_X + 13 * (MESH_X_DIST),
|
MESH_MIN_X + 12 * (MESH_X_DIST), MESH_MIN_X + 13 * (MESH_X_DIST),
|
||||||
UBL_MESH_MIN_X + 14 * (MESH_X_DIST), UBL_MESH_MIN_X + 15 * (MESH_X_DIST)
|
MESH_MIN_X + 14 * (MESH_X_DIST), MESH_MIN_X + 15 * (MESH_X_DIST)
|
||||||
};
|
};
|
||||||
|
|
||||||
constexpr static float _mesh_index_to_ypos[16] PROGMEM = {
|
constexpr static float _mesh_index_to_ypos[16] PROGMEM = {
|
||||||
UBL_MESH_MIN_Y + 0 * (MESH_Y_DIST), UBL_MESH_MIN_Y + 1 * (MESH_Y_DIST),
|
MESH_MIN_Y + 0 * (MESH_Y_DIST), MESH_MIN_Y + 1 * (MESH_Y_DIST),
|
||||||
UBL_MESH_MIN_Y + 2 * (MESH_Y_DIST), UBL_MESH_MIN_Y + 3 * (MESH_Y_DIST),
|
MESH_MIN_Y + 2 * (MESH_Y_DIST), MESH_MIN_Y + 3 * (MESH_Y_DIST),
|
||||||
UBL_MESH_MIN_Y + 4 * (MESH_Y_DIST), UBL_MESH_MIN_Y + 5 * (MESH_Y_DIST),
|
MESH_MIN_Y + 4 * (MESH_Y_DIST), MESH_MIN_Y + 5 * (MESH_Y_DIST),
|
||||||
UBL_MESH_MIN_Y + 6 * (MESH_Y_DIST), UBL_MESH_MIN_Y + 7 * (MESH_Y_DIST),
|
MESH_MIN_Y + 6 * (MESH_Y_DIST), MESH_MIN_Y + 7 * (MESH_Y_DIST),
|
||||||
UBL_MESH_MIN_Y + 8 * (MESH_Y_DIST), UBL_MESH_MIN_Y + 9 * (MESH_Y_DIST),
|
MESH_MIN_Y + 8 * (MESH_Y_DIST), MESH_MIN_Y + 9 * (MESH_Y_DIST),
|
||||||
UBL_MESH_MIN_Y + 10 * (MESH_Y_DIST), UBL_MESH_MIN_Y + 11 * (MESH_Y_DIST),
|
MESH_MIN_Y + 10 * (MESH_Y_DIST), MESH_MIN_Y + 11 * (MESH_Y_DIST),
|
||||||
UBL_MESH_MIN_Y + 12 * (MESH_Y_DIST), UBL_MESH_MIN_Y + 13 * (MESH_Y_DIST),
|
MESH_MIN_Y + 12 * (MESH_Y_DIST), MESH_MIN_Y + 13 * (MESH_Y_DIST),
|
||||||
UBL_MESH_MIN_Y + 14 * (MESH_Y_DIST), UBL_MESH_MIN_Y + 15 * (MESH_Y_DIST)
|
MESH_MIN_Y + 14 * (MESH_Y_DIST), MESH_MIN_Y + 15 * (MESH_Y_DIST)
|
||||||
};
|
};
|
||||||
|
|
||||||
static bool g26_debug_flag, has_control_of_lcd_panel;
|
static bool g26_debug_flag, has_control_of_lcd_panel;
|
||||||
|
@ -196,14 +196,14 @@ class unified_bed_leveling {
|
||||||
FORCE_INLINE static void set_z(const int8_t px, const int8_t py, const float &z) { z_values[px][py] = z; }
|
FORCE_INLINE static void set_z(const int8_t px, const int8_t py, const float &z) { z_values[px][py] = z; }
|
||||||
|
|
||||||
static int8_t get_cell_index_x(const float &x) {
|
static int8_t get_cell_index_x(const float &x) {
|
||||||
const int8_t cx = (x - (UBL_MESH_MIN_X)) * (1.0 / (MESH_X_DIST));
|
const int8_t cx = (x - (MESH_MIN_X)) * (1.0 / (MESH_X_DIST));
|
||||||
return constrain(cx, 0, (GRID_MAX_POINTS_X) - 1); // -1 is appropriate if we want all movement to the X_MAX
|
return constrain(cx, 0, (GRID_MAX_POINTS_X) - 1); // -1 is appropriate if we want all movement to the X_MAX
|
||||||
} // position. But with this defined this way, it is possible
|
} // position. But with this defined this way, it is possible
|
||||||
// to extrapolate off of this point even further out. Probably
|
// to extrapolate off of this point even further out. Probably
|
||||||
// that is OK because something else should be keeping that from
|
// that is OK because something else should be keeping that from
|
||||||
// happening and should not be worried about at this level.
|
// happening and should not be worried about at this level.
|
||||||
static int8_t get_cell_index_y(const float &y) {
|
static int8_t get_cell_index_y(const float &y) {
|
||||||
const int8_t cy = (y - (UBL_MESH_MIN_Y)) * (1.0 / (MESH_Y_DIST));
|
const int8_t cy = (y - (MESH_MIN_Y)) * (1.0 / (MESH_Y_DIST));
|
||||||
return constrain(cy, 0, (GRID_MAX_POINTS_Y) - 1); // -1 is appropriate if we want all movement to the Y_MAX
|
return constrain(cy, 0, (GRID_MAX_POINTS_Y) - 1); // -1 is appropriate if we want all movement to the Y_MAX
|
||||||
} // position. But with this defined this way, it is possible
|
} // position. But with this defined this way, it is possible
|
||||||
// to extrapolate off of this point even further out. Probably
|
// to extrapolate off of this point even further out. Probably
|
||||||
|
@ -211,12 +211,12 @@ class unified_bed_leveling {
|
||||||
// happening and should not be worried about at this level.
|
// happening and should not be worried about at this level.
|
||||||
|
|
||||||
static int8_t find_closest_x_index(const float &x) {
|
static int8_t find_closest_x_index(const float &x) {
|
||||||
const int8_t px = (x - (UBL_MESH_MIN_X) + (MESH_X_DIST) * 0.5) * (1.0 / (MESH_X_DIST));
|
const int8_t px = (x - (MESH_MIN_X) + (MESH_X_DIST) * 0.5) * (1.0 / (MESH_X_DIST));
|
||||||
return WITHIN(px, 0, GRID_MAX_POINTS_X - 1) ? px : -1;
|
return WITHIN(px, 0, GRID_MAX_POINTS_X - 1) ? px : -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int8_t find_closest_y_index(const float &y) {
|
static int8_t find_closest_y_index(const float &y) {
|
||||||
const int8_t py = (y - (UBL_MESH_MIN_Y) + (MESH_Y_DIST) * 0.5) * (1.0 / (MESH_Y_DIST));
|
const int8_t py = (y - (MESH_MIN_Y) + (MESH_Y_DIST) * 0.5) * (1.0 / (MESH_Y_DIST));
|
||||||
return WITHIN(py, 0, GRID_MAX_POINTS_Y - 1) ? py : -1;
|
return WITHIN(py, 0, GRID_MAX_POINTS_Y - 1) ? py : -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -362,11 +362,11 @@ class unified_bed_leveling {
|
||||||
}
|
}
|
||||||
|
|
||||||
FORCE_INLINE static float mesh_index_to_xpos(const uint8_t i) {
|
FORCE_INLINE static float mesh_index_to_xpos(const uint8_t i) {
|
||||||
return i < GRID_MAX_POINTS_X ? pgm_read_float(&_mesh_index_to_xpos[i]) : UBL_MESH_MIN_X + i * (MESH_X_DIST);
|
return i < GRID_MAX_POINTS_X ? pgm_read_float(&_mesh_index_to_xpos[i]) : MESH_MIN_X + i * (MESH_X_DIST);
|
||||||
}
|
}
|
||||||
|
|
||||||
FORCE_INLINE static float mesh_index_to_ypos(const uint8_t i) {
|
FORCE_INLINE static float mesh_index_to_ypos(const uint8_t i) {
|
||||||
return i < GRID_MAX_POINTS_Y ? pgm_read_float(&_mesh_index_to_ypos[i]) : UBL_MESH_MIN_Y + i * (MESH_Y_DIST);
|
return i < GRID_MAX_POINTS_Y ? pgm_read_float(&_mesh_index_to_ypos[i]) : MESH_MIN_Y + i * (MESH_Y_DIST);
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool prepare_segmented_line_to(const float ltarget[XYZE], const float &feedrate);
|
static bool prepare_segmented_line_to(const float ltarget[XYZE], const float &feedrate);
|
||||||
|
|
|
@ -415,7 +415,7 @@
|
||||||
z2 -= get_z_correction(LOGICAL_X_POSITION(UBL_PROBE_PT_2_X), LOGICAL_Y_POSITION(UBL_PROBE_PT_2_Y)) /* + zprobe_zoffset */ ;
|
z2 -= get_z_correction(LOGICAL_X_POSITION(UBL_PROBE_PT_2_X), LOGICAL_Y_POSITION(UBL_PROBE_PT_2_Y)) /* + zprobe_zoffset */ ;
|
||||||
z3 -= get_z_correction(LOGICAL_X_POSITION(UBL_PROBE_PT_3_X), LOGICAL_Y_POSITION(UBL_PROBE_PT_3_Y)) /* + zprobe_zoffset */ ;
|
z3 -= get_z_correction(LOGICAL_X_POSITION(UBL_PROBE_PT_3_X), LOGICAL_Y_POSITION(UBL_PROBE_PT_3_Y)) /* + zprobe_zoffset */ ;
|
||||||
|
|
||||||
do_blocking_move_to_xy(0.5 * (UBL_MESH_MAX_X - (UBL_MESH_MIN_X)), 0.5 * (UBL_MESH_MAX_Y - (UBL_MESH_MIN_Y)));
|
do_blocking_move_to_xy(0.5 * (MESH_MAX_X - (MESH_MIN_X)), 0.5 * (MESH_MAX_Y - (MESH_MIN_Y)));
|
||||||
tilt_mesh_based_on_3pts(z1, z2, z3);
|
tilt_mesh_based_on_3pts(z1, z2, z3);
|
||||||
restore_ubl_active_state_and_leave();
|
restore_ubl_active_state_and_leave();
|
||||||
}
|
}
|
||||||
|
@ -778,8 +778,8 @@
|
||||||
restore_ubl_active_state_and_leave();
|
restore_ubl_active_state_and_leave();
|
||||||
|
|
||||||
do_blocking_move_to_xy(
|
do_blocking_move_to_xy(
|
||||||
constrain(lx - (X_PROBE_OFFSET_FROM_EXTRUDER), UBL_MESH_MIN_X, UBL_MESH_MAX_X),
|
constrain(lx - (X_PROBE_OFFSET_FROM_EXTRUDER), MESH_MIN_X, MESH_MAX_X),
|
||||||
constrain(ly - (Y_PROBE_OFFSET_FROM_EXTRUDER), UBL_MESH_MIN_Y, UBL_MESH_MAX_Y)
|
constrain(ly - (Y_PROBE_OFFSET_FROM_EXTRUDER), MESH_MIN_Y, MESH_MAX_Y)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -915,7 +915,7 @@
|
||||||
save_ubl_active_state_and_disable(); // Disable bed level correction for probing
|
save_ubl_active_state_and_disable(); // Disable bed level correction for probing
|
||||||
|
|
||||||
do_blocking_move_to_z(in_height);
|
do_blocking_move_to_z(in_height);
|
||||||
do_blocking_move_to_xy(0.5 * (UBL_MESH_MAX_X - (UBL_MESH_MIN_X)), 0.5 * (UBL_MESH_MAX_Y - (UBL_MESH_MIN_Y)));
|
do_blocking_move_to_xy(0.5 * (MESH_MAX_X - (MESH_MIN_X)), 0.5 * (MESH_MAX_Y - (MESH_MIN_Y)));
|
||||||
//, min(planner.max_feedrate_mm_s[X_AXIS], planner.max_feedrate_mm_s[Y_AXIS]) / 2.0);
|
//, min(planner.max_feedrate_mm_s[X_AXIS], planner.max_feedrate_mm_s[Y_AXIS]) / 2.0);
|
||||||
stepper.synchronize();
|
stepper.synchronize();
|
||||||
|
|
||||||
|
@ -1221,11 +1221,11 @@
|
||||||
SERIAL_EOL();
|
SERIAL_EOL();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
SERIAL_ECHOLNPAIR("UBL_MESH_MIN_X " STRINGIFY(UBL_MESH_MIN_X) "=", UBL_MESH_MIN_X);
|
SERIAL_ECHOLNPAIR("MESH_MIN_X " STRINGIFY(MESH_MIN_X) "=", MESH_MIN_X);
|
||||||
SERIAL_ECHOLNPAIR("UBL_MESH_MIN_Y " STRINGIFY(UBL_MESH_MIN_Y) "=", UBL_MESH_MIN_Y);
|
SERIAL_ECHOLNPAIR("MESH_MIN_Y " STRINGIFY(MESH_MIN_Y) "=", MESH_MIN_Y);
|
||||||
safe_delay(25);
|
safe_delay(25);
|
||||||
SERIAL_ECHOLNPAIR("UBL_MESH_MAX_X " STRINGIFY(UBL_MESH_MAX_X) "=", UBL_MESH_MAX_X);
|
SERIAL_ECHOLNPAIR("MESH_MAX_X " STRINGIFY(MESH_MAX_X) "=", MESH_MAX_X);
|
||||||
SERIAL_ECHOLNPAIR("UBL_MESH_MAX_Y " STRINGIFY(UBL_MESH_MAX_Y) "=", UBL_MESH_MAX_Y);
|
SERIAL_ECHOLNPAIR("MESH_MAX_Y " STRINGIFY(MESH_MAX_Y) "=", MESH_MAX_Y);
|
||||||
safe_delay(25);
|
safe_delay(25);
|
||||||
SERIAL_ECHOLNPAIR("GRID_MAX_POINTS_X ", GRID_MAX_POINTS_X);
|
SERIAL_ECHOLNPAIR("GRID_MAX_POINTS_X ", GRID_MAX_POINTS_X);
|
||||||
SERIAL_ECHOLNPAIR("GRID_MAX_POINTS_Y ", GRID_MAX_POINTS_Y);
|
SERIAL_ECHOLNPAIR("GRID_MAX_POINTS_Y ", GRID_MAX_POINTS_Y);
|
||||||
|
@ -1641,10 +1641,10 @@
|
||||||
#if HAS_BED_PROBE
|
#if HAS_BED_PROBE
|
||||||
|
|
||||||
void unified_bed_leveling::tilt_mesh_based_on_probed_grid(const bool do_ubl_mesh_map) {
|
void unified_bed_leveling::tilt_mesh_based_on_probed_grid(const bool do_ubl_mesh_map) {
|
||||||
constexpr int16_t x_min = max(MIN_PROBE_X, UBL_MESH_MIN_X),
|
constexpr int16_t x_min = max(MIN_PROBE_X, MESH_MIN_X),
|
||||||
x_max = min(MAX_PROBE_X, UBL_MESH_MAX_X),
|
x_max = min(MAX_PROBE_X, MESH_MAX_X),
|
||||||
y_min = max(MIN_PROBE_Y, UBL_MESH_MIN_Y),
|
y_min = max(MIN_PROBE_Y, MESH_MIN_Y),
|
||||||
y_max = min(MAX_PROBE_Y, UBL_MESH_MAX_Y);
|
y_max = min(MAX_PROBE_Y, MESH_MAX_Y);
|
||||||
|
|
||||||
const float dx = float(x_max - x_min) / (g29_grid_size - 1.0),
|
const float dx = float(x_max - x_min) / (g29_grid_size - 1.0),
|
||||||
dy = float(y_max - y_min) / (g29_grid_size - 1.0);
|
dy = float(y_max - y_min) / (g29_grid_size - 1.0);
|
||||||
|
|
|
@ -622,8 +622,8 @@
|
||||||
// in top of loop and again re-find same adjacent cell and use it, just less efficient
|
// in top of loop and again re-find same adjacent cell and use it, just less efficient
|
||||||
// for mesh inset area.
|
// for mesh inset area.
|
||||||
|
|
||||||
int8_t cell_xi = (seg_rx - (UBL_MESH_MIN_X)) * (1.0 / (MESH_X_DIST)),
|
int8_t cell_xi = (seg_rx - (MESH_MIN_X)) * (1.0 / (MESH_X_DIST)),
|
||||||
cell_yi = (seg_ry - (UBL_MESH_MIN_Y)) * (1.0 / (MESH_X_DIST));
|
cell_yi = (seg_ry - (MESH_MIN_Y)) * (1.0 / (MESH_X_DIST));
|
||||||
|
|
||||||
cell_xi = constrain(cell_xi, 0, (GRID_MAX_POINTS_X) - 1);
|
cell_xi = constrain(cell_xi, 0, (GRID_MAX_POINTS_X) - 1);
|
||||||
cell_yi = constrain(cell_yi, 0, (GRID_MAX_POINTS_Y) - 1);
|
cell_yi = constrain(cell_yi, 0, (GRID_MAX_POINTS_Y) - 1);
|
||||||
|
|
|
@ -810,9 +810,12 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Delta endstops, radius/rod trimmers, angle trimmers
|
* Delta radius/rod trimmers/angle trimmers
|
||||||
*/
|
*/
|
||||||
#if ENABLED(DELTA)
|
#if ENABLED(DELTA)
|
||||||
|
#ifndef DELTA_PROBEABLE_RADIUS
|
||||||
|
#define DELTA_PROBEABLE_RADIUS DELTA_PRINTABLE_RADIUS
|
||||||
|
#endif
|
||||||
#ifndef DELTA_CALIBRATION_RADIUS
|
#ifndef DELTA_CALIBRATION_RADIUS
|
||||||
#define DELTA_CALIBRATION_RADIUS DELTA_PRINTABLE_RADIUS - 10
|
#define DELTA_CALIBRATION_RADIUS DELTA_PRINTABLE_RADIUS - 10
|
||||||
#endif
|
#endif
|
||||||
|
@ -833,7 +836,6 @@
|
||||||
/**
|
/**
|
||||||
* Set granular options based on the specific type of leveling
|
* Set granular options based on the specific type of leveling
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define UBL_DELTA (ENABLED(AUTO_BED_LEVELING_UBL) && (ENABLED(DELTA) || ENABLED(UBL_GRANULAR_SEGMENTATION_FOR_CARTESIAN)))
|
#define UBL_DELTA (ENABLED(AUTO_BED_LEVELING_UBL) && (ENABLED(DELTA) || ENABLED(UBL_GRANULAR_SEGMENTATION_FOR_CARTESIAN)))
|
||||||
#define ABL_PLANAR (ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_3POINT))
|
#define ABL_PLANAR (ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_3POINT))
|
||||||
#define ABL_GRID (ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR))
|
#define ABL_GRID (ENABLED(AUTO_BED_LEVELING_LINEAR) || ENABLED(AUTO_BED_LEVELING_BILINEAR))
|
||||||
|
@ -849,6 +851,70 @@
|
||||||
#define PROBE_BED_HEIGHT abs(BACK_PROBE_BED_POSITION - (FRONT_PROBE_BED_POSITION))
|
#define PROBE_BED_HEIGHT abs(BACK_PROBE_BED_POSITION - (FRONT_PROBE_BED_POSITION))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Bed Probing rectangular bounds
|
||||||
|
* These can be further constrained in code for Delta and SCARA
|
||||||
|
*/
|
||||||
|
#if ENABLED(DELTA)
|
||||||
|
// Probing points may be verified at compile time within the radius
|
||||||
|
// using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
|
||||||
|
// so that may be added to SanityCheck.h in the future.
|
||||||
|
#define MIN_PROBE_X (X_CENTER - (DELTA_PROBEABLE_RADIUS))
|
||||||
|
#define MIN_PROBE_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS))
|
||||||
|
#define MAX_PROBE_X (X_CENTER + DELTA_PROBEABLE_RADIUS)
|
||||||
|
#define MAX_PROBE_Y (Y_CENTER + DELTA_PROBEABLE_RADIUS)
|
||||||
|
#elif IS_SCARA
|
||||||
|
#define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
|
||||||
|
#define MIN_PROBE_X (X_CENTER - (SCARA_PRINTABLE_RADIUS))
|
||||||
|
#define MIN_PROBE_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS))
|
||||||
|
#define MAX_PROBE_X (X_CENTER + SCARA_PRINTABLE_RADIUS)
|
||||||
|
#define MAX_PROBE_Y (Y_CENTER + SCARA_PRINTABLE_RADIUS)
|
||||||
|
#else
|
||||||
|
// Boundaries for Cartesian probing based on bed limits
|
||||||
|
#define MIN_PROBE_X (max(X_MIN_BED, X_MIN_POS + X_PROBE_OFFSET_FROM_EXTRUDER))
|
||||||
|
#define MIN_PROBE_Y (max(Y_MIN_BED, Y_MIN_POS + Y_PROBE_OFFSET_FROM_EXTRUDER))
|
||||||
|
#define MAX_PROBE_X (min(X_MAX_BED, X_MAX_POS + X_PROBE_OFFSET_FROM_EXTRUDER))
|
||||||
|
#define MAX_PROBE_Y (min(Y_MAX_BED, Y_MAX_POS + Y_PROBE_OFFSET_FROM_EXTRUDER))
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Default mesh area is an area with an inset margin on the print area.
|
||||||
|
*/
|
||||||
|
#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
|
||||||
|
#if IS_KINEMATIC
|
||||||
|
// Probing points may be verified at compile time within the radius
|
||||||
|
// using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
|
||||||
|
// so that may be added to SanityCheck.h in the future.
|
||||||
|
#define _MESH_MIN_X (MIN_PROBE_X + MESH_INSET)
|
||||||
|
#define _MESH_MIN_Y (MIN_PROBE_Y + MESH_INSET)
|
||||||
|
#define _MESH_MAX_X (MAX_PROBE_X - (MESH_INSET))
|
||||||
|
#define _MESH_MAX_Y (MAX_PROBE_Y - (MESH_INSET))
|
||||||
|
#else
|
||||||
|
// Boundaries for Cartesian probing based on set limits
|
||||||
|
#define _MESH_MIN_X (max(X_MIN_BED + MESH_INSET, X_MIN_POS + X_PROBE_OFFSET_FROM_EXTRUDER))
|
||||||
|
#define _MESH_MIN_Y (max(Y_MIN_BED + MESH_INSET, Y_MIN_POS + Y_PROBE_OFFSET_FROM_EXTRUDER))
|
||||||
|
#define _MESH_MAX_X (min(X_MAX_BED - (MESH_INSET), X_MAX_POS + X_PROBE_OFFSET_FROM_EXTRUDER))
|
||||||
|
#define _MESH_MAX_Y (min(Y_MAX_BED - (MESH_INSET), Y_MAX_POS + Y_PROBE_OFFSET_FROM_EXTRUDER))
|
||||||
|
#endif
|
||||||
|
/**
|
||||||
|
* These may be overridden in Configuration if a smaller area is wanted
|
||||||
|
*/
|
||||||
|
#if ENABLED(MESH_BED_LEVELING) || ENABLED(AUTO_BED_LEVELING_UBL)
|
||||||
|
#ifndef MESH_MIN_X
|
||||||
|
#define MESH_MIN_X _MESH_MIN_X
|
||||||
|
#endif
|
||||||
|
#ifndef MESH_MIN_Y
|
||||||
|
#define MESH_MIN_Y _MESH_MIN_Y
|
||||||
|
#endif
|
||||||
|
#ifndef MESH_MAX_X
|
||||||
|
#define MESH_MAX_X _MESH_MAX_X
|
||||||
|
#endif
|
||||||
|
#ifndef MESH_MAX_Y
|
||||||
|
#define MESH_MAX_Y _MESH_MAX_Y
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif // MESH_BED_LEVELING || AUTO_BED_LEVELING_UBL
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Buzzer/Speaker
|
* Buzzer/Speaker
|
||||||
*/
|
*/
|
||||||
|
@ -899,35 +965,6 @@
|
||||||
#define MANUAL_PROBE_HEIGHT Z_HOMING_HEIGHT
|
#define MANUAL_PROBE_HEIGHT Z_HOMING_HEIGHT
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
|
||||||
* Bed Probing rectangular bounds
|
|
||||||
* These can be further constrained in code for Delta and SCARA
|
|
||||||
*/
|
|
||||||
#if ENABLED(DELTA)
|
|
||||||
#ifndef DELTA_PROBEABLE_RADIUS
|
|
||||||
#define DELTA_PROBEABLE_RADIUS DELTA_PRINTABLE_RADIUS
|
|
||||||
#endif
|
|
||||||
// Probing points may be verified at compile time within the radius
|
|
||||||
// using static_assert(HYPOT2(X2-X1,Y2-Y1)<=sq(DELTA_PRINTABLE_RADIUS),"bad probe point!")
|
|
||||||
// so that may be added to SanityCheck.h in the future.
|
|
||||||
#define MIN_PROBE_X (X_CENTER - (DELTA_PROBEABLE_RADIUS))
|
|
||||||
#define MIN_PROBE_Y (Y_CENTER - (DELTA_PROBEABLE_RADIUS))
|
|
||||||
#define MAX_PROBE_X (X_CENTER + DELTA_PROBEABLE_RADIUS)
|
|
||||||
#define MAX_PROBE_Y (Y_CENTER + DELTA_PROBEABLE_RADIUS)
|
|
||||||
#elif IS_SCARA
|
|
||||||
#define SCARA_PRINTABLE_RADIUS (SCARA_LINKAGE_1 + SCARA_LINKAGE_2)
|
|
||||||
#define MIN_PROBE_X (X_CENTER - (SCARA_PRINTABLE_RADIUS))
|
|
||||||
#define MIN_PROBE_Y (Y_CENTER - (SCARA_PRINTABLE_RADIUS))
|
|
||||||
#define MAX_PROBE_X (X_CENTER + SCARA_PRINTABLE_RADIUS)
|
|
||||||
#define MAX_PROBE_Y (Y_CENTER + SCARA_PRINTABLE_RADIUS)
|
|
||||||
#else
|
|
||||||
// Boundaries for Cartesian probing based on bed limits
|
|
||||||
#define MIN_PROBE_X (max(X_MIN_POS + X_PROBE_OFFSET_FROM_EXTRUDER, X_MIN_BED))
|
|
||||||
#define MIN_PROBE_Y (max(Y_MIN_POS + Y_PROBE_OFFSET_FROM_EXTRUDER, Y_MIN_BED))
|
|
||||||
#define MAX_PROBE_X (min(X_MAX_POS + X_PROBE_OFFSET_FROM_EXTRUDER, X_MAX_BED))
|
|
||||||
#define MAX_PROBE_Y (min(Y_MAX_POS + Y_PROBE_OFFSET_FROM_EXTRUDER, Y_MAX_BED))
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// Stepper pulse duration, in cycles
|
// Stepper pulse duration, in cycles
|
||||||
#define STEP_PULSE_CYCLES ((MINIMUM_STEPPER_PULSE) * CYCLES_PER_MICROSECOND)
|
#define STEP_PULSE_CYCLES ((MINIMUM_STEPPER_PULSE) * CYCLES_PER_MICROSECOND)
|
||||||
#ifdef CPU_32_BIT
|
#ifdef CPU_32_BIT
|
||||||
|
@ -1025,4 +1062,5 @@
|
||||||
|
|
||||||
#define NOT_A_PIN 0 // For PINS_DEBUGGING
|
#define NOT_A_PIN 0 // For PINS_DEBUGGING
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif // CONDITIONALS_POST_H
|
#endif // CONDITIONALS_POST_H
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
#include "../core/boards.h"
|
#include "../core/boards.h"
|
||||||
#include "../core/macros.h"
|
#include "../core/macros.h"
|
||||||
#include "Version.h"
|
#include "Version.h"
|
||||||
#include "SPI.h"
|
#include "../HAL/SPI.h"
|
||||||
#include "../../Configuration.h"
|
#include "../../Configuration.h"
|
||||||
#include "Conditionals_LCD.h"
|
#include "Conditionals_LCD.h"
|
||||||
#include "../../Configuration_adv.h"
|
#include "../../Configuration_adv.h"
|
||||||
|
|
|
@ -1,52 +0,0 @@
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
|
|
||||||
#ifndef SPI_FULL_SPEED
|
|
||||||
|
|
||||||
/**
|
|
||||||
* SPI speed where 0 <= index <= 6
|
|
||||||
*
|
|
||||||
* Approximate rates :
|
|
||||||
*
|
|
||||||
* 0 : 8 - 10 MHz
|
|
||||||
* 1 : 4 - 5 MHz
|
|
||||||
* 2 : 2 - 2.5 MHz
|
|
||||||
* 3 : 1 - 1.25 MHz
|
|
||||||
* 4 : 500 - 625 kHz
|
|
||||||
* 5 : 250 - 312 kHz
|
|
||||||
* 6 : 125 - 156 kHz
|
|
||||||
*
|
|
||||||
* On AVR, actual speed is F_CPU/2^(1 + index).
|
|
||||||
* On other platforms, speed should be in range given above where possible.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/** Set SCK to max rate */
|
|
||||||
#define SPI_FULL_SPEED 0
|
|
||||||
/** Set SCK rate to half max rate. */
|
|
||||||
#define SPI_HALF_SPEED 1
|
|
||||||
/** Set SCK rate to quarter max rate. */
|
|
||||||
#define SPI_QUARTER_SPEED 2
|
|
||||||
/** Set SCK rate to 1/8 max rate. */
|
|
||||||
#define SPI_EIGHTH_SPEED 3
|
|
||||||
/** Set SCK rate to 1/16 of max rate. */
|
|
||||||
#define SPI_SIXTEENTH_SPEED 4
|
|
||||||
/** Set SCK rate to 1/32 of max rate. */
|
|
||||||
#define SPI_SPEED_5 5
|
|
||||||
/** Set SCK rate to 1/64 of max rate. */
|
|
||||||
#define SPI_SPEED_6 6
|
|
||||||
|
|
||||||
// Standard SPI functions
|
|
||||||
/** Initialise SPI bus */
|
|
||||||
void spiBegin(void);
|
|
||||||
/** Configure SPI for specified SPI speed */
|
|
||||||
void spiInit(uint8_t spiRate);
|
|
||||||
/** Write single byte to SPI */
|
|
||||||
void spiSend(uint8_t b);
|
|
||||||
/** Read single byte from SPI */
|
|
||||||
uint8_t spiRec(void);
|
|
||||||
/** Read from SPI into buffer */
|
|
||||||
void spiRead(uint8_t* buf, uint16_t nbyte);
|
|
||||||
/** Write token and then write from 512 byte buffer to SPI (for SD card) */
|
|
||||||
void spiSendBlock(uint8_t token, const uint8_t* buf);
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -26,6 +26,9 @@
|
||||||
* Test configuration values for errors at compile-time.
|
* Test configuration values for errors at compile-time.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#ifndef _SANITYCHECK_H_
|
||||||
|
#define _SANITYCHECK_H_
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Require gcc 4.7 or newer (first included with Arduino 1.6.8) for C++11 features.
|
* Require gcc 4.7 or newer (first included with Arduino 1.6.8) for C++11 features.
|
||||||
*/
|
*/
|
||||||
|
@ -212,6 +215,10 @@
|
||||||
#error "ADVANCE was removed in Marlin 1.1.6. Please use LIN_ADVANCE."
|
#error "ADVANCE was removed in Marlin 1.1.6. Please use LIN_ADVANCE."
|
||||||
#elif defined(NEOPIXEL_RGBW_LED)
|
#elif defined(NEOPIXEL_RGBW_LED)
|
||||||
#error "NEOPIXEL_RGBW_LED is now NEOPIXEL_LED. Please update your configuration."
|
#error "NEOPIXEL_RGBW_LED is now NEOPIXEL_LED. Please update your configuration."
|
||||||
|
#elif defined(UBL_MESH_INSET)
|
||||||
|
#error "UBL_MESH_INSET is now just MESH_INSET. Please update your configuration."
|
||||||
|
#elif defined(UBL_MESH_MIN_X) || defined(UBL_MESH_MIN_Y) || defined(UBL_MESH_MAX_X) || defined(UBL_MESH_MAX_Y)
|
||||||
|
#error "UBL_MESH_(MIN|MAX)_[XY] is now just MESH_(MIN|MAX)_[XY]. Please update your configuration."
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1379,5 +1386,6 @@ static_assert(COUNT(sanity_arr_1) <= XYZE_N, "DEFAULT_AXIS_STEPS_PER_UNIT has to
|
||||||
static_assert(COUNT(sanity_arr_2) <= XYZE_N, "DEFAULT_MAX_FEEDRATE has too many elements.");
|
static_assert(COUNT(sanity_arr_2) <= XYZE_N, "DEFAULT_MAX_FEEDRATE has too many elements.");
|
||||||
static_assert(COUNT(sanity_arr_3) <= XYZE_N, "DEFAULT_MAX_ACCELERATION has too many elements.");
|
static_assert(COUNT(sanity_arr_3) <= XYZE_N, "DEFAULT_MAX_ACCELERATION has too many elements.");
|
||||||
|
|
||||||
|
|
||||||
#include "../HAL/HAL_SanityCheck.h" // get CPU specific checks
|
#include "../HAL/HAL_SanityCheck.h" // get CPU specific checks
|
||||||
|
|
||||||
|
#endif // _SANITYCHECK_H_
|
||||||
|
|
|
@ -20,6 +20,11 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#ifndef _VERSION_H_
|
||||||
|
#define _VERSION_H_
|
||||||
|
|
||||||
|
#include "MarlinConfig.h"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This file is the standard Marlin version identifier file, all fields can be
|
* This file is the standard Marlin version identifier file, all fields can be
|
||||||
* overriden by the ones defined on _Version.h by using the Configuration.h
|
* overriden by the ones defined on _Version.h by using the Configuration.h
|
||||||
|
@ -48,7 +53,7 @@
|
||||||
* here we define this default string as the date where the latest release
|
* here we define this default string as the date where the latest release
|
||||||
* version was tagged.
|
* version was tagged.
|
||||||
*/
|
*/
|
||||||
#define STRING_DISTRIBUTION_DATE "2017-07-27 12:00"
|
#define STRING_DISTRIBUTION_DATE "2017-10-19 12:00"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Required minimum Configuration.h and Configuration_adv.h file versions.
|
* Required minimum Configuration.h and Configuration_adv.h file versions.
|
||||||
|
@ -92,3 +97,5 @@
|
||||||
#define WEBSITE_URL "http://marlinfw.org"
|
#define WEBSITE_URL "http://marlinfw.org"
|
||||||
|
|
||||||
#endif // USE_AUTOMATIC_VERSIONING
|
#endif // USE_AUTOMATIC_VERSIONING
|
||||||
|
|
||||||
|
#endif // _VERSION_H_
|
||||||
|
|
Reference in a new issue