diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index 4b9908b34b79..f0b4402ed68b 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -552,9 +552,12 @@ #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. /** - * Specify Stepper Driver types - * The options are used to determine driver pulse timings as well as more advanced functionality. - * Stepper timing options can be overridden in Configuration_adv.h + * Stepper Drivers + * + * These settings allow Marlin to tune stepper driver timing and enable advanced options for + * stepper drivers that support them. You may also override timing options in Configuration_adv.h. + * + * A4988 is assumed for unspecified drivers. * * Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, @@ -562,17 +565,17 @@ * TMC5130, TMC5130_STANDALONE * :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] */ -#define X_DRIVER_TYPE A4988 -#define Y_DRIVER_TYPE A4988 -#define Z_DRIVER_TYPE A4988 -#define X2_DRIVER_TYPE A4988 -#define Y2_DRIVER_TYPE A4988 -#define Z2_DRIVER_TYPE A4988 -#define E0_DRIVER_TYPE A4988 -#define E1_DRIVER_TYPE A4988 -#define E2_DRIVER_TYPE A4988 -#define E3_DRIVER_TYPE A4988 -#define E4_DRIVER_TYPE A4988 +//#define X_DRIVER_TYPE A4988 +//#define Y_DRIVER_TYPE A4988 +//#define Z_DRIVER_TYPE A4988 +//#define X2_DRIVER_TYPE A4988 +//#define Y2_DRIVER_TYPE A4988 +//#define Z2_DRIVER_TYPE A4988 +//#define E0_DRIVER_TYPE A4988 +//#define E1_DRIVER_TYPE A4988 +//#define E2_DRIVER_TYPE A4988 +//#define E3_DRIVER_TYPE A4988 +//#define E4_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -1803,7 +1806,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/HAL/HAL_AVR/HAL.h b/Marlin/src/HAL/HAL_AVR/HAL.h index 02aafc0fbdd4..3ce7d53ef16e 100644 --- a/Marlin/src/HAL/HAL_AVR/HAL.h +++ b/Marlin/src/HAL/HAL_AVR/HAL.h @@ -34,7 +34,7 @@ #include #include -#include "../HAL_SPI.h" +#include "../shared/HAL_SPI.h" #include "fastio_AVR.h" #include "watchdog_AVR.h" #include "math_AVR.h" diff --git a/Marlin/src/HAL/HAL_AVR/persistent_store_eeprom.cpp b/Marlin/src/HAL/HAL_AVR/persistent_store_eeprom.cpp new file mode 100644 index 000000000000..1593b1829c9a --- /dev/null +++ b/Marlin/src/HAL/HAL_AVR/persistent_store_eeprom.cpp @@ -0,0 +1,68 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (C) 2016, 2017 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 . + * + */ +#ifdef __AVR__ + +#include "../../inc/MarlinConfig.h" + +#if ENABLED(EEPROM_SETTINGS) + +#include "../shared/persistent_store_api.h" + +bool PersistentStore::access_start() { return true; } +bool PersistentStore::access_finish() { return true; } + +bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, uint16_t *crc) { + while (size--) { + uint8_t * const p = (uint8_t * const)pos; + uint8_t v = *value; + // EEPROM has only ~100,000 write cycles, + // so only write bytes that have changed! + if (v != eeprom_read_byte(p)) { + eeprom_write_byte(p, v); + if (eeprom_read_byte(p) != v) { + SERIAL_ECHO_START(); + SERIAL_ECHOLNPGM(MSG_ERR_EEPROM_WRITE); + return true; + } + } + crc16(crc, &v, 1); + pos++; + value++; + }; + return false; +} + +bool PersistentStore::read_data(int &pos, uint8_t* value, size_t size, uint16_t *crc, const bool writing/*=true*/) { + do { + uint8_t c = eeprom_read_byte((unsigned char*)pos); + if (writing) *value = c; + crc16(crc, &c, 1); + pos++; + value++; + } while (--size); + return false; // always assume success for AVR's +} + +size_t PersistentStore::capacity() { return E2END + 1; } + +#endif // EEPROM_SETTINGS +#endif // __AVR__ diff --git a/Marlin/src/HAL/HAL_AVR/persistent_store_impl.cpp b/Marlin/src/HAL/HAL_AVR/persistent_store_impl.cpp deleted file mode 100644 index ef6fbeabd50d..000000000000 --- a/Marlin/src/HAL/HAL_AVR/persistent_store_impl.cpp +++ /dev/null @@ -1,51 +0,0 @@ -#ifdef __AVR__ - -#include "../persistent_store_api.h" - -#include "../../inc/MarlinConfig.h" - -#if ENABLED(EEPROM_SETTINGS) - -namespace HAL { -namespace PersistentStore { - -bool access_start() { return true; } -bool access_finish() { return true; } - -bool write_data(int &pos, const uint8_t *value, uint16_t size, uint16_t *crc) { - while (size--) { - uint8_t * const p = (uint8_t * const)pos; - uint8_t v = *value; - // EEPROM has only ~100,000 write cycles, - // so only write bytes that have changed! - if (v != eeprom_read_byte(p)) { - eeprom_write_byte(p, v); - if (eeprom_read_byte(p) != v) { - SERIAL_ECHO_START(); - SERIAL_ECHOLNPGM(MSG_ERR_EEPROM_WRITE); - return true; - } - } - crc16(crc, &v, 1); - pos++; - value++; - }; - return false; -} - -bool read_data(int &pos, uint8_t* value, uint16_t size, uint16_t *crc, const bool writing/*=true*/) { - do { - uint8_t c = eeprom_read_byte((unsigned char*)pos); - if (writing) *value = c; - crc16(crc, &c, 1); - pos++; - value++; - } while (--size); - return false; // always assume success for AVR's -} - -} -} - -#endif // EEPROM_SETTINGS -#endif // __AVR__ diff --git a/Marlin/src/HAL/HAL_AVR/servo_AVR.cpp b/Marlin/src/HAL/HAL_AVR/servo_AVR.cpp index c02dd4c203b5..ea227b195640 100644 --- a/Marlin/src/HAL/HAL_AVR/servo_AVR.cpp +++ b/Marlin/src/HAL/HAL_AVR/servo_AVR.cpp @@ -60,8 +60,8 @@ #include #include -#include "../servo.h" -#include "../servo_private.h" +#include "../shared/servo.h" +#include "../shared/servo_private.h" static volatile int8_t Channel[_Nbr_16timers]; // counter for the servo being pulsed for each timer (or -1 if refresh interval) diff --git a/Marlin/src/HAL/HAL_DUE/EepromEmulation_Due.cpp b/Marlin/src/HAL/HAL_DUE/EepromEmulation_Due.cpp index 466556554416..b852af9fa3a7 100644 --- a/Marlin/src/HAL/HAL_DUE/EepromEmulation_Due.cpp +++ b/Marlin/src/HAL/HAL_DUE/EepromEmulation_Due.cpp @@ -31,7 +31,7 @@ #ifdef ARDUINO_ARCH_SAM -#include "../persistent_store_api.h" +#include "../shared/persistent_store_api.h" #include "../../inc/MarlinConfig.h" #if ENABLED(EEPROM_SETTINGS) && DISABLED(I2C_EEPROM) && DISABLED(SPI_EEPROM) diff --git a/Marlin/src/HAL/HAL_DUE/HAL.h b/Marlin/src/HAL/HAL_DUE/HAL.h index c0f8141e5b8f..7cba8097ce16 100644 --- a/Marlin/src/HAL/HAL_DUE/HAL.h +++ b/Marlin/src/HAL/HAL_DUE/HAL.h @@ -35,8 +35,8 @@ #include -#include "../math_32bit.h" -#include "../HAL_SPI.h" +#include "../shared/math_32bit.h" +#include "../shared/HAL_SPI.h" #include "fastio_Due.h" #include "watchdog_Due.h" #include "HAL_timers_Due.h" diff --git a/Marlin/src/HAL/HAL_DUE/HAL_spi_Due.cpp b/Marlin/src/HAL/HAL_DUE/HAL_spi_Due.cpp index 84c0f8f4bf7e..a45306e3169d 100644 --- a/Marlin/src/HAL/HAL_DUE/HAL_spi_Due.cpp +++ b/Marlin/src/HAL/HAL_DUE/HAL_spi_Due.cpp @@ -42,7 +42,7 @@ // -------------------------------------------------------------------------- #include "../../inc/MarlinConfig.h" -#include "../Delay.h" +#include "../shared/Delay.h" // -------------------------------------------------------------------------- // Public Variables diff --git a/Marlin/src/HAL/HAL_DUE/Servo_Due.cpp b/Marlin/src/HAL/HAL_DUE/Servo_Due.cpp index 84c48999235b..d2207d91aa71 100644 --- a/Marlin/src/HAL/HAL_DUE/Servo_Due.cpp +++ b/Marlin/src/HAL/HAL_DUE/Servo_Due.cpp @@ -45,8 +45,8 @@ #if HAS_SERVOS #include -#include "../servo.h" -#include "../servo_private.h" +#include "../shared/servo.h" +#include "../shared/servo_private.h" static volatile int8_t Channel[_Nbr_16timers]; // counter for the servo being pulsed for each timer (or -1 if refresh interval) @@ -158,4 +158,3 @@ void finISR(timer16_Sequence_t timer) { #endif // HAS_SERVOS #endif // ARDUINO_ARCH_SAM - diff --git a/Marlin/src/HAL/HAL_DUE/persistent_store_eeprom.cpp b/Marlin/src/HAL/HAL_DUE/persistent_store_eeprom.cpp new file mode 100644 index 000000000000..fa611111d0e7 --- /dev/null +++ b/Marlin/src/HAL/HAL_DUE/persistent_store_eeprom.cpp @@ -0,0 +1,82 @@ +/** + * Marlin 3D Printer Firmware + * + * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * Copyright (c) 2016 Bob Cousins bobcousins42@googlemail.com + * Copyright (c) 2015-2016 Nico Tonnhofer wurstnase.reprap@gmail.com + * Copyright (c) 2016 Victor Perez victor_pv@hotmail.com + * + * 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 . + * + */ +#ifdef ARDUINO_ARCH_SAM + +#include "../../inc/MarlinConfigPre.h" + +#if ENABLED(EEPROM_SETTINGS) + +#include "../../inc/MarlinConfig.h" +#include "../shared/persistent_store_api.h" + +#if DISABLED(I2C_EEPROM) && DISABLED(SPI_EEPROM) + #define E2END 0xFFF // Default to Flash emulated EEPROM size (EepromEmulation_Due.cpp) +#endif + +extern void eeprom_flush(void); + +bool PersistentStore::access_start() { return true; } + +bool PersistentStore::access_finish() { + #if DISABLED(I2C_EEPROM) && DISABLED(SPI_EEPROM) + eeprom_flush(); + #endif + return true; +} + +bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, uint16_t *crc) { + while (size--) { + uint8_t * const p = (uint8_t * const)pos; + uint8_t v = *value; + // EEPROM has only ~100,000 write cycles, + // so only write bytes that have changed! + if (v != eeprom_read_byte(p)) { + eeprom_write_byte(p, v); + if (eeprom_read_byte(p) != v) { + SERIAL_ECHO_START(); + SERIAL_ECHOLNPGM(MSG_ERR_EEPROM_WRITE); + return true; + } + } + crc16(crc, &v, 1); + pos++; + value++; + }; + return false; +} + +bool PersistentStore::read_data(int &pos, uint8_t* value, size_t size, uint16_t *crc, const bool writing/*=true*/) { + do { + uint8_t c = eeprom_read_byte((unsigned char*)pos); + if (writing) *value = c; + crc16(crc, &c, 1); + pos++; + value++; + } while (--size); + return false; +} + +size_t PersistentStore::capacity() { return E2END + 1; } + +#endif // EEPROM_SETTINGS +#endif // ARDUINO_ARCH_SAM diff --git a/Marlin/src/HAL/HAL_DUE/persistent_store_impl.cpp b/Marlin/src/HAL/HAL_DUE/persistent_store_impl.cpp deleted file mode 100644 index aef1d79f48fc..000000000000 --- a/Marlin/src/HAL/HAL_DUE/persistent_store_impl.cpp +++ /dev/null @@ -1,59 +0,0 @@ -#ifdef ARDUINO_ARCH_SAM - -#include "../persistent_store_api.h" - -#include "../../inc/MarlinConfig.h" - -#if ENABLED(EEPROM_SETTINGS) - -extern void eeprom_flush(void); - -namespace HAL { -namespace PersistentStore { - -bool access_start() { return true; } - -bool access_finish() { - #if DISABLED(I2C_EEPROM) && DISABLED(SPI_EEPROM) - eeprom_flush(); - #endif - return true; -} - -bool write_data(int &pos, const uint8_t *value, uint16_t size, uint16_t *crc) { - while (size--) { - uint8_t * const p = (uint8_t * const)pos; - uint8_t v = *value; - // EEPROM has only ~100,000 write cycles, - // so only write bytes that have changed! - if (v != eeprom_read_byte(p)) { - eeprom_write_byte(p, v); - if (eeprom_read_byte(p) != v) { - SERIAL_ECHO_START(); - SERIAL_ECHOLNPGM(MSG_ERR_EEPROM_WRITE); - return true; - } - } - crc16(crc, &v, 1); - pos++; - value++; - }; - return false; -} - -bool read_data(int &pos, uint8_t* value, uint16_t size, uint16_t *crc, const bool writing/*=true*/) { - do { - uint8_t c = eeprom_read_byte((unsigned char*)pos); - if (writing) *value = c; - crc16(crc, &c, 1); - pos++; - value++; - } while (--size); - return false; -} - -} -} - -#endif // EEPROM_SETTINGS -#endif // __AVR__ diff --git a/Marlin/src/HAL/HAL_DUE/u8g_com_HAL_DUE_st7920_sw_spi.cpp b/Marlin/src/HAL/HAL_DUE/u8g_com_HAL_DUE_st7920_sw_spi.cpp index df33f9db626a..243033e68b01 100644 --- a/Marlin/src/HAL/HAL_DUE/u8g_com_HAL_DUE_st7920_sw_spi.cpp +++ b/Marlin/src/HAL/HAL_DUE/u8g_com_HAL_DUE_st7920_sw_spi.cpp @@ -61,7 +61,7 @@ #include #include -#include "../Delay.h" +#include "../shared/Delay.h" void u8g_SetPIOutput_DUE(u8g_t *u8g, uint8_t pin_index) { PIO_Configure(g_APinDescription[u8g->pin_list[pin_index]].pPort, PIO_OUTPUT_1, diff --git a/Marlin/src/HAL/HAL_ESP32/HAL.h b/Marlin/src/HAL/HAL_ESP32/HAL.h index 28e75b332e6f..106299295aa9 100644 --- a/Marlin/src/HAL/HAL_ESP32/HAL.h +++ b/Marlin/src/HAL/HAL_ESP32/HAL.h @@ -40,8 +40,8 @@ #undef DISABLED #define DISABLED(b) (!_CAT(SWITCH_ENABLED_, b)) -#include "../math_32bit.h" -#include "../HAL_SPI.h" +#include "../shared/math_32bit.h" +#include "../shared/HAL_SPI.h" #include "fastio_ESP32.h" #include "watchdog_ESP32.h" diff --git a/Marlin/src/HAL/HAL_ESP32/HAL_spi_ESP32.cpp b/Marlin/src/HAL/HAL_ESP32/HAL_spi_ESP32.cpp index e59e1f90de7e..c93227822d05 100644 --- a/Marlin/src/HAL/HAL_ESP32/HAL_spi_ESP32.cpp +++ b/Marlin/src/HAL/HAL_ESP32/HAL_spi_ESP32.cpp @@ -28,7 +28,7 @@ // -------------------------------------------------------------------------- #include "HAL.h" -#include "../HAL_SPI.h" +#include "../shared/HAL_SPI.h" #include "pins_arduino.h" #include "spi_pins.h" #include "../../core/macros.h" diff --git a/Marlin/src/HAL/HAL_LPC1768/HAL.cpp b/Marlin/src/HAL/HAL_LPC1768/HAL.cpp index b579aa620a35..aec9b4ce73c2 100644 --- a/Marlin/src/HAL/HAL_LPC1768/HAL.cpp +++ b/Marlin/src/HAL/HAL_LPC1768/HAL.cpp @@ -21,7 +21,7 @@ #ifdef TARGET_LPC1768 #include "../../inc/MarlinConfig.h" -#include "../Delay.h" +#include "../shared/Delay.h" HalSerial usb_serial; @@ -125,13 +125,13 @@ bool HAL_adc_finished(void) { // possible config options if something similar is extended to more platforms. #define ADC_USE_MEDIAN_FILTER // Filter out erroneous readings -#define ADC_MEDIAN_FILTER_SIZE (23) // Higher values increase step delay (phase shift), +#define ADC_MEDIAN_FILTER_SIZE 23 // Higher values increase step delay (phase shift), // (ADC_MEDIAN_FILTER_SIZE + 1) / 2 sample step delay (12 samples @ 500Hz: 24ms phase shift) // Memory usage per ADC channel (bytes): (6 * ADC_MEDIAN_FILTER_SIZE) + 16 // 8 * ((6 * 23) + 16 ) = 1232 Bytes for 8 channels #define ADC_USE_LOWPASS_FILTER // Filter out high frequency noise -#define ADC_LOWPASS_K_VALUE (6) // Higher values increase rise time +#define ADC_LOWPASS_K_VALUE 6 // Higher values increase rise time // Rise time sample delays for 100% signal convergence on full range step // (1 : 13, 2 : 32, 3 : 67, 4 : 139, 5 : 281, 6 : 565, 7 : 1135, 8 : 2273) // K = 6, 565 samples, 500Hz sample rate, 1.13s convergence on full range step @@ -162,7 +162,7 @@ struct MedianFilter { datum = STOPPER + 1; // No stoppers allowed. } - if ( (++datpoint - buffer) >= ADC_MEDIAN_FILTER_SIZE) { + if ( (++datpoint - buffer) >= (ADC_MEDIAN_FILTER_SIZE)) { datpoint = buffer; // Increment and wrap data in pointer. } @@ -224,9 +224,9 @@ struct MedianFilter { struct LowpassFilter { uint32_t data_delay = 0; - uint16_t update(uint16_t value) { - data_delay = data_delay - (data_delay >> ADC_LOWPASS_K_VALUE) + value; - return (uint16_t)(data_delay >> ADC_LOWPASS_K_VALUE); + uint16_t update(const uint16_t value) { + data_delay -= (data_delay >> (ADC_LOWPASS_K_VALUE)) - value; + return (uint16_t)(data_delay >> (ADC_LOWPASS_K_VALUE)); } }; diff --git a/Marlin/src/HAL/HAL_LPC1768/HAL.h b/Marlin/src/HAL/HAL_LPC1768/HAL.h index b26581d44356..5a90dafa6698 100644 --- a/Marlin/src/HAL/HAL_LPC1768/HAL.h +++ b/Marlin/src/HAL/HAL_LPC1768/HAL.h @@ -60,8 +60,8 @@ extern "C" volatile uint32_t _millis; #include #include -#include "../math_32bit.h" -#include "../HAL_SPI.h" +#include "../shared/math_32bit.h" +#include "../shared/HAL_SPI.h" #include "fastio.h" #include "watchdog.h" #include "serial.h" diff --git a/Marlin/src/HAL/HAL_LPC1768/arduino.cpp b/Marlin/src/HAL/HAL_LPC1768/arduino.cpp index abdc6b353903..92efd3495a73 100644 --- a/Marlin/src/HAL/HAL_LPC1768/arduino.cpp +++ b/Marlin/src/HAL/HAL_LPC1768/arduino.cpp @@ -26,7 +26,7 @@ #include #include "../../inc/MarlinConfig.h" -#include "../Delay.h" +#include "../shared/Delay.h" // Interrupts void cli(void) { __disable_irq(); } // Disable diff --git a/Marlin/src/HAL/HAL_LPC1768/include/Arduino.h b/Marlin/src/HAL/HAL_LPC1768/include/Arduino.h index 7bc26b1439fd..aebc76a6eae7 100644 --- a/Marlin/src/HAL/HAL_LPC1768/include/Arduino.h +++ b/Marlin/src/HAL/HAL_LPC1768/include/Arduino.h @@ -43,8 +43,6 @@ #define FALLING 0x03 #define RISING 0x04 -#define E2END 0xFFF // EEPROM end address - typedef uint8_t byte; #define PROGMEM #define PSTR(v) (v) diff --git a/Marlin/src/HAL/HAL_LPC1768/include/SPI.h b/Marlin/src/HAL/HAL_LPC1768/include/SPI.h index bcd2d7b54f60..2515634236a2 100644 --- a/Marlin/src/HAL/HAL_LPC1768/include/SPI.h +++ b/Marlin/src/HAL/HAL_LPC1768/include/SPI.h @@ -22,7 +22,7 @@ #pragma once -#include "../../HAL_SPI.h" +#include "../../shared/HAL_SPI.h" #include diff --git a/Marlin/src/HAL/HAL_LPC1768/include/SoftwareSerial.cpp b/Marlin/src/HAL/HAL_LPC1768/include/SoftwareSerial.cpp index 607ea9dcb2f6..1d469dab3a5b 100644 --- a/Marlin/src/HAL/HAL_LPC1768/include/SoftwareSerial.cpp +++ b/Marlin/src/HAL/HAL_LPC1768/include/SoftwareSerial.cpp @@ -37,7 +37,7 @@ // //#include #include "../../../inc/MarlinConfig.h" -#include "../../Delay.h" +#include "../../shared/Delay.h" #include #include #include diff --git a/Marlin/src/HAL/HAL_LPC1768/persistent_store_api.h b/Marlin/src/HAL/HAL_LPC1768/persistent_store_api.h new file mode 100644 index 000000000000..9f6d62649194 --- /dev/null +++ b/Marlin/src/HAL/HAL_LPC1768/persistent_store_api.h @@ -0,0 +1,24 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (C) 2016, 2017 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 . + * + */ +#include "../shared/persistent_store_api.h" + +//#define FLASH_EEPROM diff --git a/Marlin/src/HAL/HAL_LPC1768/persistent_store_flash.cpp b/Marlin/src/HAL/HAL_LPC1768/persistent_store_flash.cpp new file mode 100644 index 000000000000..a9dbb3f1b0d0 --- /dev/null +++ b/Marlin/src/HAL/HAL_LPC1768/persistent_store_flash.cpp @@ -0,0 +1,138 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (C) 2016, 2017 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 . + * + */ +#ifdef TARGET_LPC1768 + +/** + * Emulate EEPROM storage using Flash Memory + * + * Use a single 32K flash sector to store EEPROM data. To reduce the + * number of erase operations a simple "levelling" scheme is used that + * maintains a number of EEPROM "slots" within the larger flash sector. + * Each slot is used in turn and the entire sector is only erased when all + * slots have been used. + * + * A simple RAM image is used to hold the EEPROM data during I/O operations + * and this is flushed to the next available slot when an update is complete. + * If RAM usage becomes an issue we could store this image in one of the two + * 16Kb I/O buffers (intended to hold DMA USB and Ethernet data, but currently + * unused). + */ +#include "../../inc/MarlinConfigPre.h" + +#if ENABLED(EEPROM_SETTINGS) + +#include "persistent_store_api.h" +#include "../../inc/MarlinConfig.h" + +#if ENABLED(FLASH_EEPROM) + +extern "C" { + #include "lpc17xx_iap.h" +} + +#define SECTOR_START(sector) ((sector < 16) ? (sector * 0x1000) : ((sector - 14) * 0x8000)) +#define EEPROM_SECTOR 29 +#define EEPROM_SIZE (4096) +#define SECTOR_SIZE (32768) +#define EEPROM_SLOTS (SECTOR_SIZE/EEPROM_SIZE) +#define EEPROM_ERASE (0xff) +#define SLOT_ADDRESS(sector, slot) (((uint8_t *)SECTOR_START(sector)) + slot * EEPROM_SIZE) + +static uint8_t ram_eeprom[EEPROM_SIZE]; +static bool eeprom_dirty = false; +static int current_slot = 0; + +bool PersistentStore::access_start() { + uint32_t first_nblank_loc, first_nblank_val; + IAP_STATUS_CODE status; + + // discover which slot we are currently using. + __disable_irq(); + status = BlankCheckSector(EEPROM_SECTOR, EEPROM_SECTOR, &first_nblank_loc, &first_nblank_val); + __enable_irq(); + SERIAL_PROTOCOLLNPAIR("Blank check status: ", status); + if (status == CMD_SUCCESS) { + // sector is blank so nothing stored yet + SERIAL_PROTOCOLLNPGM("FLASH empty"); + for (int i = 0; i < EEPROM_SIZE; i++) ram_eeprom[i] = EEPROM_ERASE; + current_slot = EEPROM_SLOTS; + } + else { + // current slot is the first non blank one + current_slot = first_nblank_loc / EEPROM_SIZE; + SERIAL_PROTOCOLLNPAIR("Flash slot: ", current_slot); + uint8_t *eeprom_data = SLOT_ADDRESS(EEPROM_SECTOR, current_slot); + SERIAL_PROTOCOLLNPAIR("Address: ", (int)eeprom_data); + + // load current settings + for (int i = 0; i < EEPROM_SIZE; i++) ram_eeprom[i] = eeprom_data[i]; + } + eeprom_dirty = false; + + return true; +} + +bool PersistentStore::access_finish() { + if (eeprom_dirty) { + IAP_STATUS_CODE status; + if (--current_slot < 0) { + // all slots have been used, erase everything and start again + __disable_irq(); + PrepareSector(EEPROM_SECTOR, EEPROM_SECTOR); + status = EraseSector(EEPROM_SECTOR, EEPROM_SECTOR); + __enable_irq(); + SERIAL_PROTOCOLLNPAIR("Erase status: ", status); + current_slot = EEPROM_SLOTS - 1; + } + SERIAL_PROTOCOLLNPAIR("Writing data to: ", current_slot); + __disable_irq(); + PrepareSector(EEPROM_SECTOR, EEPROM_SECTOR); + status = CopyRAM2Flash(SLOT_ADDRESS(EEPROM_SECTOR, current_slot), ram_eeprom, IAP_WRITE_4096); + __enable_irq(); + SERIAL_PROTOCOLLNPAIR("CopyRAM2Flash status: ", status); + if (status != CMD_SUCCESS) return false; + eeprom_dirty = false; + } + return true; +} + +bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, uint16_t *crc) { + for (int i = 0; i < size; i++) ram_eeprom[pos + i] = value[i]; + eeprom_dirty = true; + crc16(crc, value, size); + pos += size; + return false; // return true for any error +} + +bool PersistentStore::read_data(int &pos, uint8_t* value, size_t size, uint16_t *crc, const bool writing/*=true*/) { + const uint8_t * const buff = writing ? &value[0] : &ram_eeprom[pos]; + if (writing) for (int i = 0; i < size; i++) value[i] = ram_eeprom[pos + i]; + crc16(crc, buff, size); + pos += size; + return false; // return true for any error +} + +size_t PersistentStore::capacity() { return EEPROM_SIZE; } + +#endif // FLASH_EEPROM +#endif // EEPROM_SETTINGS +#endif // TARGET_LPC1768 diff --git a/Marlin/src/HAL/HAL_LPC1768/persistent_store_impl.cpp b/Marlin/src/HAL/HAL_LPC1768/persistent_store_sdcard.cpp similarity index 55% rename from Marlin/src/HAL/HAL_LPC1768/persistent_store_impl.cpp rename to Marlin/src/HAL/HAL_LPC1768/persistent_store_sdcard.cpp index c03dceeec689..490f16e07b4c 100644 --- a/Marlin/src/HAL/HAL_LPC1768/persistent_store_impl.cpp +++ b/Marlin/src/HAL/HAL_LPC1768/persistent_store_sdcard.cpp @@ -1,9 +1,10 @@ /** * Marlin 3D Printer Firmware - * Copyright (C) 2016, 2017 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] * - * Based on Sprinter and grbl. - * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm + * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * Copyright (c) 2016 Bob Cousins bobcousins42@googlemail.com + * Copyright (c) 2015-2016 Nico Tonnhofer wurstnase.reprap@gmail.com + * Copyright (c) 2016 Victor Perez victor_pv@hotmail.com * * 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 @@ -21,25 +22,26 @@ */ #ifdef TARGET_LPC1768 -#include "../../inc/MarlinConfig.h" +#include "../../inc/MarlinConfigPre.h" #if ENABLED(EEPROM_SETTINGS) -#include "../persistent_store_api.h" +#include "../../inc/MarlinConfig.h" +#include "persistent_store_api.h" + +#if DISABLED(FLASH_EEPROM) -#include "chanfs/diskio.h" -#include "chanfs/ff.h" +#include +#include extern uint32_t MSC_Aquire_Lock(); extern uint32_t MSC_Release_Lock(); -namespace HAL { -namespace PersistentStore { - FATFS fat_fs; FIL eeprom_file; +bool eeprom_file_open = false; -bool access_start() { +bool PersistentStore::access_start() { const char eeprom_erase_value = 0xFF; MSC_Aquire_Lock(); if (f_mount(&fat_fs, "", 1)) { @@ -53,7 +55,7 @@ bool access_start() { UINT bytes_written; FSIZE_t file_size = f_size(&eeprom_file); f_lseek(&eeprom_file, file_size); - while (file_size <= E2END && res == FR_OK) { + while (file_size < capacity() && res == FR_OK) { res = f_write(&eeprom_file, &eeprom_erase_value, 1, &bytes_written); file_size++; } @@ -61,19 +63,44 @@ bool access_start() { if (res == FR_OK) { f_lseek(&eeprom_file, 0); f_sync(&eeprom_file); + eeprom_file_open = true; } return res == FR_OK; } -bool access_finish() { +bool PersistentStore::access_finish() { f_close(&eeprom_file); f_unmount(""); MSC_Release_Lock(); + eeprom_file_open = false; return true; } -// File function return codes for type FRESULT This goes away soon. But it is helpful right now to see -// the different errors the read_data() and write_data() functions are seeing. +// This extra chit-chat goes away soon, but is helpful for now +// to see errors that are happening in read_data / write_data +static void debug_rw(const bool write, int &pos, const uint8_t *value, const size_t size, const FRESULT s, const size_t total=0) { + const char * const rw_str = write ? PSTR("write") : PSTR("read"); + SERIAL_PROTOCOLCHAR(' '); + serialprintPGM(rw_str); + SERIAL_PROTOCOLPAIR("_data(", pos); + SERIAL_PROTOCOLPAIR(",", (int)value); + SERIAL_PROTOCOLPAIR(",", (int)size); + SERIAL_PROTOCOLLNPGM(", ...)"); + if (total) { + SERIAL_PROTOCOLPGM(" f_"); + serialprintPGM(rw_str); + SERIAL_PROTOCOLPAIR("()=", (int)s); + SERIAL_PROTOCOLPAIR("\n size=", size); + SERIAL_PROTOCOLPGM("\n bytes_"); + serialprintPGM(write ? PSTR("written=") : PSTR("read=")); + SERIAL_PROTOCOLLN(total); + } + else + SERIAL_PROTOCOLLNPAIR(" f_lseek()=", (int)s); +} + +// File function return codes for type FRESULT. This goes away soon, but +// is helpful right now to see any errors in read_data and write_data. // // typedef enum { // FR_OK = 0, /* (0) Succeeded */ @@ -98,73 +125,59 @@ bool access_finish() { // FR_INVALID_PARAMETER /* (19) Given parameter is invalid */ // } FRESULT; -bool write_data(int &pos, const uint8_t *value, uint16_t size, uint16_t *crc) { +bool PersistentStore::write_data(int &pos, const uint8_t *value, const size_t size, uint16_t *crc) { + if (!eeprom_file_open) return true; FRESULT s; UINT bytes_written = 0; s = f_lseek(&eeprom_file, pos); if (s) { - SERIAL_PROTOCOLPAIR(" write_data(", pos); // This extra chit-chat goes away soon. But it is helpful - SERIAL_PROTOCOLPAIR(",", (int)value); // right now to see errors that are happening in the - SERIAL_PROTOCOLPAIR(",", (int)size); // read_data() and write_data() functions - SERIAL_PROTOCOLLNPGM("...)"); - SERIAL_PROTOCOLLNPAIR(" f_lseek()=", (int)s); - return s; + debug_rw(true, pos, value, size, s); + return s; } - s = f_write(&eeprom_file, (void *)value, size, &bytes_written); + s = f_write(&eeprom_file, (void*)value, size, &bytes_written); if (s) { - SERIAL_PROTOCOLPAIR(" write_data(", pos); // This extra chit-chat goes away soon. But it is helpful - SERIAL_PROTOCOLPAIR(",", (int)value); // right now to see errors that are happening in the - SERIAL_PROTOCOLPAIR(",", size); // read_data() and write_data() functions - SERIAL_PROTOCOLLNPGM("...)"); - SERIAL_PROTOCOLLNPAIR(" f_write()=", (int)s); - SERIAL_PROTOCOLPAIR(" size=", size); - SERIAL_PROTOCOLLNPAIR("\n bytes_written=", bytes_written); - return s; + debug_rw(true, pos, value, size, s, bytes_written); + return s; } crc16(crc, value, size); - pos = pos + size; - return (bytes_written != size); // return true for any error + pos += size; + return bytes_written != size; // return true for any error } -bool read_data(int &pos, uint8_t* value, uint16_t size, uint16_t *crc, const bool writing/*=true*/) { +bool PersistentStore::read_data(int &pos, uint8_t* value, const size_t size, uint16_t *crc, const bool writing/*=true*/) { + if (!eeprom_file_open) return true; UINT bytes_read = 0; FRESULT s; s = f_lseek(&eeprom_file, pos); + if (s) { - SERIAL_PROTOCOLPAIR(" read_data(", pos); // This extra chit-chat goes away soon. But it is helpful - SERIAL_PROTOCOLPAIR(",", (int)value); // right now to see errors that are happening in the - SERIAL_PROTOCOLPAIR(",", size); // read_data() and write_data() functions - SERIAL_PROTOCOLLNPGM("...)"); - SERIAL_PROTOCOLLNPAIR(" f_lseek()=", (int)s); - return true; + debug_rw(false, pos, value, size, s); + return true; } + if (writing) { - s = f_read(&eeprom_file, (void *)value, size, &bytes_read); + s = f_read(&eeprom_file, (void*)value, size, &bytes_read); crc16(crc, value, size); } else { uint8_t temp[size]; - s = f_read(&eeprom_file, (void *)temp, size, &bytes_read); + s = f_read(&eeprom_file, (void*)temp, size, &bytes_read); crc16(crc, temp, size); } + if (s) { - SERIAL_PROTOCOLPAIR(" read_data(", pos); // This extra chit-chat goes away soon. But it is helpful - SERIAL_PROTOCOLPAIR(",", (int)value); // right now to see errors that are happening in the - SERIAL_PROTOCOLPAIR(",", size); // read_data() and write_data() functions - SERIAL_PROTOCOLLNPGM("...)"); - SERIAL_PROTOCOLLNPAIR(" f_write()=", (int)s); - SERIAL_PROTOCOLPAIR(" size=", size); - SERIAL_PROTOCOLLNPAIR("\n bytes_read=", bytes_read); - return true; + debug_rw(false, pos, value, size, s, bytes_read); + return true; } - pos = pos + size; + + pos += size; return bytes_read != size; // return true for any error } -} // PersistentStore -} // HAL +size_t PersistentStore::capacity() { return 4096; } // 4KiB of Emulated EEPROM +#endif // !FLASH_EEPROM #endif // EEPROM_SETTINGS #endif // TARGET_LPC1768 diff --git a/Marlin/src/HAL/HAL_LPC1768/u8g_com_HAL_LPC1768_st7920_hw_spi.cpp b/Marlin/src/HAL/HAL_LPC1768/u8g_com_HAL_LPC1768_st7920_hw_spi.cpp index c61fa4a8cefa..6b036ba5eab2 100644 --- a/Marlin/src/HAL/HAL_LPC1768/u8g_com_HAL_LPC1768_st7920_hw_spi.cpp +++ b/Marlin/src/HAL/HAL_LPC1768/u8g_com_HAL_LPC1768_st7920_hw_spi.cpp @@ -61,7 +61,7 @@ //#include #include -#include "../Delay.h" +#include "../shared/Delay.h" #define SPI_FULL_SPEED 0 #define SPI_HALF_SPEED 1 diff --git a/Marlin/src/HAL/HAL_LPC1768/u8g_com_HAL_LPC1768_st7920_sw_spi.cpp b/Marlin/src/HAL/HAL_LPC1768/u8g_com_HAL_LPC1768_st7920_sw_spi.cpp index 700ed5946320..a189b9126d01 100644 --- a/Marlin/src/HAL/HAL_LPC1768/u8g_com_HAL_LPC1768_st7920_sw_spi.cpp +++ b/Marlin/src/HAL/HAL_LPC1768/u8g_com_HAL_LPC1768_st7920_sw_spi.cpp @@ -61,7 +61,7 @@ #include #include "SoftwareSPI.h" -#include "../Delay.h" +#include "../shared/Delay.h" #define SPI_SPEED 3 // About 1 MHz diff --git a/Marlin/src/HAL/HAL_STM32F1/HAL.h b/Marlin/src/HAL/HAL_STM32F1/HAL.h index 8d459b1dbb6d..8ce614e73aaf 100644 --- a/Marlin/src/HAL/HAL_STM32F1/HAL.h +++ b/Marlin/src/HAL/HAL_STM32F1/HAL.h @@ -56,8 +56,8 @@ // Includes // -------------------------------------------------------------------------- -#include "../math_32bit.h" -#include "../HAL_SPI.h" +#include "../shared/math_32bit.h" +#include "../shared/HAL_SPI.h" #include "fastio_Stm32f1.h" #include "watchdog_Stm32f1.h" diff --git a/Marlin/src/HAL/HAL_STM32F1/HAL_spi_Stm32f1.cpp b/Marlin/src/HAL/HAL_STM32F1/HAL_spi_Stm32f1.cpp index 59835829a783..58d22ac572a5 100644 --- a/Marlin/src/HAL/HAL_STM32F1/HAL_spi_Stm32f1.cpp +++ b/Marlin/src/HAL/HAL_STM32F1/HAL_spi_Stm32f1.cpp @@ -37,7 +37,7 @@ // -------------------------------------------------------------------------- #include "HAL.h" -#include "../HAL_SPI.h" +#include "../shared/HAL_SPI.h" #include "pins_arduino.h" #include "spi_pins.h" #include "../../core/macros.h" diff --git a/Marlin/src/HAL/HAL_STM32F1/persistent_store_flash.cpp b/Marlin/src/HAL/HAL_STM32F1/persistent_store_flash.cpp index 15472368e44d..ad29a1be47db 100644 --- a/Marlin/src/HAL/HAL_STM32F1/persistent_store_flash.cpp +++ b/Marlin/src/HAL/HAL_STM32F1/persistent_store_flash.cpp @@ -34,33 +34,28 @@ // This is for EEPROM emulation in flash #if ENABLED(EEPROM_SETTINGS) && ENABLED(FLASH_EEPROM_EMULATION) -#include "../persistent_store_api.h" +#include "../shared/persistent_store_api.h" #include #include -namespace HAL { -namespace PersistentStore { +// Store settings in the last two pages +// Flash pages must be erased before writing, so keep track. +bool firstWrite = false; +uint32_t pageBase = EEPROM_START_ADDRESS; -namespace { - // Store settings in the last two pages - // Flash pages must be erased before writing, so keep track. - bool firstWrite = false; - uint32_t pageBase = EEPROM_START_ADDRESS; -} - -bool access_start() { +bool PersistentStore::access_start() { firstWrite = true; return true; } -bool access_finish() { +bool PersistentStore::access_finish() { FLASH_Lock(); firstWrite = false; return true; } -bool write_data(int &pos, const uint8_t *value, uint16_t size, uint16_t *crc) { +bool PersistentStore::write_data(int &pos, const uint8_t *value, const size_t size, uint16_t *crc) { FLASH_Status status; if (firstWrite) { @@ -95,7 +90,7 @@ bool write_data(int &pos, const uint8_t *value, uint16_t size, uint16_t *crc) { return false; } -bool read_data(int &pos, uint8_t* value, uint16_t size, uint16_t *crc, const bool writing/*=true*/) { +bool PersistentStore::read_data(int &pos, uint8_t* value, const size_t size, uint16_t *crc, const bool writing/*=true*/) { for (uint16_t i = 0; i < size; i++) { byte* accessPoint = (byte*)(pageBase + pos + i); uint8_t c = *accessPoint; @@ -106,8 +101,7 @@ bool read_data(int &pos, uint8_t* value, uint16_t size, uint16_t *crc, const boo return false; } -} // PersistentStore -} // HAL +size_t PersistentStore::capacity() { return E2END + 1; } #endif // EEPROM_SETTINGS && EEPROM FLASH #endif // __STM32F1__ diff --git a/Marlin/src/HAL/HAL_STM32F1/persistent_store_impl.cpp b/Marlin/src/HAL/HAL_STM32F1/persistent_store_sdcard.cpp similarity index 83% rename from Marlin/src/HAL/HAL_STM32F1/persistent_store_impl.cpp rename to Marlin/src/HAL/HAL_STM32F1/persistent_store_sdcard.cpp index a64eab076fb1..349abba246b9 100644 --- a/Marlin/src/HAL/HAL_STM32F1/persistent_store_impl.cpp +++ b/Marlin/src/HAL/HAL_STM32F1/persistent_store_sdcard.cpp @@ -31,25 +31,16 @@ #if ENABLED(EEPROM_SETTINGS) && DISABLED(FLASH_EEPROM_EMULATION) -#include "../persistent_store_api.h" - -//#include "../../core/types.h" -//#include "../../core/language.h" -//#include "../../core/serial.h" -//#include "../../core/utility.h" +#include "../shared/persistent_store_api.h" #include "../../sd/cardreader.h" - -namespace HAL { -namespace PersistentStore { - #define HAL_STM32F1_EEPROM_SIZE 4096 char HAL_STM32F1_eeprom_content[HAL_STM32F1_EEPROM_SIZE]; char eeprom_filename[] = "eeprom.dat"; -bool access_start() { +bool PersistentStore::access_start() { if (!card.cardOK) return false; int16_t bytes_read = 0; constexpr char eeprom_zero = 0xFF; @@ -62,7 +53,7 @@ bool access_start() { return true; } -bool access_finish() { +bool PersistentStore::access_finish() { if (!card.cardOK) return false; card.openFile(eeprom_filename, true); int16_t bytes_written = card.write(HAL_STM32F1_eeprom_content, HAL_STM32F1_EEPROM_SIZE); @@ -70,7 +61,7 @@ bool access_finish() { return (bytes_written == HAL_STM32F1_EEPROM_SIZE); } -bool write_data(int &pos, const uint8_t *value, uint16_t size, uint16_t *crc) { +bool PersistentStore::write_data(int &pos, const uint8_t *value, const size_t size, uint16_t *crc) { for (int i = 0; i < size; i++) HAL_STM32F1_eeprom_content[pos + i] = value[i]; crc16(crc, value, size); @@ -78,7 +69,7 @@ bool write_data(int &pos, const uint8_t *value, uint16_t size, uint16_t *crc) { return false; } -bool read_data(int &pos, uint8_t* value, uint16_t size, uint16_t *crc, const bool writing/*=true*/) { +bool PersistentStore::read_data(int &pos, uint8_t* value, const size_t size, uint16_t *crc, const bool writing/*=true*/) { for (int i = 0; i < size; i++) { uint8_t c = HAL_STM32F1_eeprom_content[pos + i]; if (writing) value[i] = c; @@ -88,10 +79,8 @@ bool read_data(int &pos, uint8_t* value, uint16_t size, uint16_t *crc, const boo return false; } -} // PersistentStore:: -} // HAL:: +size_t PersistentStore::capacity() { return HAL_STM32F1_EEPROM_SIZE; } #endif // EEPROM_SETTINGS #endif // __STM32F1__ - diff --git a/Marlin/src/HAL/HAL_STM32F4/HAL.h b/Marlin/src/HAL/HAL_STM32F4/HAL.h index b5beefbfe191..bf648a108bcd 100644 --- a/Marlin/src/HAL/HAL_STM32F4/HAL.h +++ b/Marlin/src/HAL/HAL_STM32F4/HAL.h @@ -43,8 +43,8 @@ #include #endif -#include "../math_32bit.h" -#include "../HAL_SPI.h" +#include "../shared/math_32bit.h" +#include "../shared/HAL_SPI.h" #include "fastio_STM32F4.h" #include "watchdog_STM32F4.h" diff --git a/Marlin/src/HAL/HAL_STM32F4/HAL_spi_STM32F4.cpp b/Marlin/src/HAL/HAL_STM32F4/HAL_spi_STM32F4.cpp index 606d43f7f91e..5e3ff4d9d98a 100644 --- a/Marlin/src/HAL/HAL_STM32F4/HAL_spi_STM32F4.cpp +++ b/Marlin/src/HAL/HAL_STM32F4/HAL_spi_STM32F4.cpp @@ -37,7 +37,7 @@ // -------------------------------------------------------------------------- #include "HAL.h" -#include "../HAL_SPI.h" +#include "../shared/HAL_SPI.h" #include "pins_arduino.h" #include "spi_pins.h" #include "../../core/macros.h" diff --git a/Marlin/src/HAL/HAL_STM32F4/persistent_store_impl.cpp b/Marlin/src/HAL/HAL_STM32F4/persistent_store_eeprom.cpp similarity index 81% rename from Marlin/src/HAL/HAL_STM32F4/persistent_store_impl.cpp rename to Marlin/src/HAL/HAL_STM32F4/persistent_store_eeprom.cpp index a896bded3047..194cd21bc6fa 100644 --- a/Marlin/src/HAL/HAL_STM32F4/persistent_store_impl.cpp +++ b/Marlin/src/HAL/HAL_STM32F4/persistent_store_eeprom.cpp @@ -23,19 +23,16 @@ #if defined(STM32F4) || defined(STM32F4xx) -#include "../persistent_store_api.h" +#include "../shared/persistent_store_api.h" #include "../../inc/MarlinConfig.h" #if ENABLED(EEPROM_SETTINGS) -namespace HAL { -namespace PersistentStore { +bool PersistentStore::access_start() { return true; } +bool PersistentStore::access_finish() { return true; } -bool access_start() { return true; } -bool access_finish() { return true; } - -bool write_data(int &pos, const uint8_t *value, uint16_t size, uint16_t *crc) { +bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, uint16_t *crc) { while (size--) { uint8_t * const p = (uint8_t * const)pos; uint8_t v = *value; @@ -56,7 +53,7 @@ bool write_data(int &pos, const uint8_t *value, uint16_t size, uint16_t *crc) { return false; } -bool read_data(int &pos, uint8_t* value, uint16_t size, uint16_t *crc, const bool writing) { +bool PersistentStore::read_data(int &pos, uint8_t* value, size_t size, uint16_t *crc, const bool writing) { do { uint8_t c = eeprom_read_byte((unsigned char*)pos); if (writing) *value = c; @@ -67,8 +64,7 @@ bool read_data(int &pos, uint8_t* value, uint16_t size, uint16_t *crc, const boo return false; } -} // PersistentStore -} // HAL +size_t PersistentStore::capacity() { return E2END + 1; } #endif // EEPROM_SETTINGS #endif // STM32F4 || STM32F4xx diff --git a/Marlin/src/HAL/HAL_STM32F7/HAL.h b/Marlin/src/HAL/HAL_STM32F7/HAL.h index c594392d881e..04588057ba50 100644 --- a/Marlin/src/HAL/HAL_STM32F7/HAL.h +++ b/Marlin/src/HAL/HAL_STM32F7/HAL.h @@ -39,8 +39,8 @@ #include "Arduino.h" -#include "../math_32bit.h" -#include "../HAL_SPI.h" +#include "../shared/math_32bit.h" +#include "../shared/HAL_SPI.h" #include "fastio_STM32F7.h" #include "watchdog_STM32F7.h" diff --git a/Marlin/src/HAL/HAL_STM32F7/HAL_spi_STM32F7.cpp b/Marlin/src/HAL/HAL_STM32F7/HAL_spi_STM32F7.cpp index db595eeeb247..edf889711cbe 100644 --- a/Marlin/src/HAL/HAL_STM32F7/HAL_spi_STM32F7.cpp +++ b/Marlin/src/HAL/HAL_STM32F7/HAL_spi_STM32F7.cpp @@ -37,7 +37,7 @@ // -------------------------------------------------------------------------- #include "HAL.h" -#include "../HAL_SPI.h" +#include "../shared/HAL_SPI.h" #include "pins_arduino.h" #include "spi_pins.h" #include "../../core/macros.h" diff --git a/Marlin/src/HAL/HAL_STM32F7/persistent_store_impl.cpp b/Marlin/src/HAL/HAL_STM32F7/persistent_store_eeprom.cpp similarity index 79% rename from Marlin/src/HAL/HAL_STM32F7/persistent_store_impl.cpp rename to Marlin/src/HAL/HAL_STM32F7/persistent_store_eeprom.cpp index 0cd37b9533da..bd08ad7f0b6b 100644 --- a/Marlin/src/HAL/HAL_STM32F7/persistent_store_impl.cpp +++ b/Marlin/src/HAL/HAL_STM32F7/persistent_store_eeprom.cpp @@ -21,22 +21,18 @@ * */ - #ifdef STM32F7 -#include "../persistent_store_api.h" - -#include "../../inc/MarlinConfig.h" +#include "../../inc/MarlinConfigPre.h" #if ENABLED(EEPROM_SETTINGS) -namespace HAL { -namespace PersistentStore { +#include "../shared/persistent_store_api.h" -bool access_start() { return true; } -bool access_finish() { return true; } +bool PersistentStore::access_start() { return true; } +bool PersistentStore::access_finish() { return true; } -bool write_data(int &pos, const uint8_t *value, uint16_t size, uint16_t *crc) { +bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, uint16_t *crc) { while (size--) { uint8_t * const p = (uint8_t * const)pos; uint8_t v = *value; @@ -57,7 +53,7 @@ bool write_data(int &pos, const uint8_t *value, uint16_t size, uint16_t *crc) { return false; } -bool read_data(int &pos, uint8_t* value, uint16_t size, uint16_t *crc) { +bool PersistentStore::read_data(int &pos, uint8_t* value, size_t size, uint16_t *crc) { do { uint8_t c = eeprom_read_byte((unsigned char*)pos); *value = c; @@ -68,10 +64,7 @@ bool read_data(int &pos, uint8_t* value, uint16_t size, uint16_t *crc) { return false; } -} -} +size_t PersistentStore::capacity() { return E2END + 1; } #endif // EEPROM_SETTINGS #endif // STM32F7 - - diff --git a/Marlin/src/HAL/HAL_TEENSY35_36/HAL.cpp b/Marlin/src/HAL/HAL_TEENSY35_36/HAL.cpp index 5bd3369e439a..4f7f67a3bb14 100644 --- a/Marlin/src/HAL/HAL_TEENSY35_36/HAL.cpp +++ b/Marlin/src/HAL/HAL_TEENSY35_36/HAL.cpp @@ -26,7 +26,7 @@ #if defined(__MK64FX512__) || defined(__MK66FX1M0__) #include "HAL.h" -#include "../Delay.h" +#include "../shared/Delay.h" #include diff --git a/Marlin/src/HAL/HAL_TEENSY35_36/HAL.h b/Marlin/src/HAL/HAL_TEENSY35_36/HAL.h index 6a11bf93c943..b60a5d28ad59 100644 --- a/Marlin/src/HAL/HAL_TEENSY35_36/HAL.h +++ b/Marlin/src/HAL/HAL_TEENSY35_36/HAL.h @@ -42,8 +42,8 @@ #undef sq #define sq(x) ((x)*(x)) -#include "../math_32bit.h" -#include "../HAL_SPI.h" +#include "../shared/math_32bit.h" +#include "../shared/HAL_SPI.h" #include "fastio_Teensy.h" #include "watchdog_Teensy.h" diff --git a/Marlin/src/HAL/HAL_TEENSY35_36/persistent_store_eeprom.cpp b/Marlin/src/HAL/HAL_TEENSY35_36/persistent_store_eeprom.cpp new file mode 100644 index 000000000000..46e88e04a58b --- /dev/null +++ b/Marlin/src/HAL/HAL_TEENSY35_36/persistent_store_eeprom.cpp @@ -0,0 +1,71 @@ +/** + * Marlin 3D Printer Firmware + * + * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * Copyright (c) 2016 Bob Cousins bobcousins42@googlemail.com + * Copyright (c) 2015-2016 Nico Tonnhofer wurstnase.reprap@gmail.com + * Copyright (c) 2016 Victor Perez victor_pv@hotmail.com + * + * 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 . + * + */ + +#if defined(__MK64FX512__) || defined(__MK66FX1M0__) + +#include "../../inc/MarlinConfig.h" + +#if ENABLED(EEPROM_SETTINGS) + +#include "../shared/persistent_store_api.h" +#include + +bool PersistentStore::access_start() { return true; } +bool PersistentStore::access_finish() { return true; } + +bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, uint16_t *crc) { + while (size--) { + uint8_t * const p = (uint8_t * const)pos; + uint8_t v = *value; + // EEPROM has only ~100,000 write cycles, + // so only write bytes that have changed! + if (v != eeprom_read_byte(p)) { + eeprom_write_byte(p, v); + if (eeprom_read_byte(p) != v) { + SERIAL_ECHO_START(); + SERIAL_ECHOLNPGM(MSG_ERR_EEPROM_WRITE); + return true; + } + } + crc16(crc, &v, 1); + pos++; + value++; + }; + return false; +} + +bool PersistentStore::read_data(int &pos, uint8_t* value, size_t size, uint16_t *crc, const bool writing/*=true*/) { + do { + uint8_t c = eeprom_read_byte((unsigned char*)pos); + if (writing) *value = c; + crc16(crc, &c, 1); + pos++; + value++; + } while (--size); + return false; +} + +size_t PersistentStore::capacity() { return E2END + 1; } + +#endif // EEPROM_SETTINGS +#endif // __MK64FX512__ || __MK66FX1M0__ diff --git a/Marlin/src/HAL/HAL_TEENSY35_36/persistent_store_impl.cpp b/Marlin/src/HAL/HAL_TEENSY35_36/persistent_store_impl.cpp index 550d2a851e6f..009cdaa504b5 100644 --- a/Marlin/src/HAL/HAL_TEENSY35_36/persistent_store_impl.cpp +++ b/Marlin/src/HAL/HAL_TEENSY35_36/persistent_store_impl.cpp @@ -4,7 +4,7 @@ #if ENABLED(EEPROM_SETTINGS) -#include "../persistent_store_api.h" +#include "../shared/persistent_store_api.h" namespace HAL { namespace PersistentStore { diff --git a/Marlin/src/HAL/persistent_store_api.h b/Marlin/src/HAL/persistent_store_api.h deleted file mode 100644 index 642e5712f3ec..000000000000 --- a/Marlin/src/HAL/persistent_store_api.h +++ /dev/null @@ -1,18 +0,0 @@ -#ifndef _PERSISTENT_STORE_H_ -#define _PERSISTENT_STORE_H_ - -#include -#include - -namespace HAL { -namespace PersistentStore { - -bool access_start(); -bool access_finish(); -bool write_data(int &pos, const uint8_t *value, uint16_t size, uint16_t *crc); -bool read_data(int &pos, uint8_t* value, uint16_t size, uint16_t *crc, const bool writing=true); - -} // PersistentStore -} // HAL - -#endif // _PERSISTENT_STORE_H_ diff --git a/Marlin/src/HAL/Delay.h b/Marlin/src/HAL/shared/Delay.h similarity index 99% rename from Marlin/src/HAL/Delay.h rename to Marlin/src/HAL/shared/Delay.h index 972f1e2c18be..9b5f1aa123d7 100644 --- a/Marlin/src/HAL/Delay.h +++ b/Marlin/src/HAL/shared/Delay.h @@ -31,7 +31,7 @@ #ifndef MARLIN_DELAY_H #define MARLIN_DELAY_H -#include "../core/macros.h" +#include "../../core/macros.h" #if defined(__arm__) || defined(__thumb__) diff --git a/Marlin/src/HAL/HAL_SPI.h b/Marlin/src/HAL/shared/HAL_SPI.h similarity index 100% rename from Marlin/src/HAL/HAL_SPI.h rename to Marlin/src/HAL/shared/HAL_SPI.h diff --git a/Marlin/src/HAL/I2cEeprom.cpp b/Marlin/src/HAL/shared/I2cEeprom.cpp similarity index 98% rename from Marlin/src/HAL/I2cEeprom.cpp rename to Marlin/src/HAL/shared/I2cEeprom.cpp index 874b99c80a35..792f2c65f691 100644 --- a/Marlin/src/HAL/I2cEeprom.cpp +++ b/Marlin/src/HAL/shared/I2cEeprom.cpp @@ -25,7 +25,7 @@ * Not platform dependent. */ -#include "../inc/MarlinConfig.h" +#include "../../inc/MarlinConfig.h" #if ENABLED(I2C_EEPROM) @@ -33,7 +33,7 @@ // Includes // -------------------------------------------------------------------------- -#include HAL_PATH(., HAL.h) +#include HAL_PATH(.., HAL.h) #include // -------------------------------------------------------------------------- @@ -157,4 +157,3 @@ void eeprom_read_block(void* pos, const void* eeprom_address, size_t n) { #endif // ENABLED(I2C_EEPROM) - diff --git a/Marlin/src/HAL/SpiEeprom.cpp b/Marlin/src/HAL/shared/SpiEeprom.cpp similarity index 98% rename from Marlin/src/HAL/SpiEeprom.cpp rename to Marlin/src/HAL/shared/SpiEeprom.cpp index 6d36d1ca7e47..d63f52fb3885 100644 --- a/Marlin/src/HAL/SpiEeprom.cpp +++ b/Marlin/src/HAL/shared/SpiEeprom.cpp @@ -25,11 +25,11 @@ * Not platform dependent. */ -#include "../inc/MarlinConfig.h" +#include "../../inc/MarlinConfig.h" #if ENABLED(SPI_EEPROM) -#include HAL_PATH(., HAL.h) +#include HAL_PATH(.., HAL.h) #define CMD_WREN 6 // WREN #define CMD_READ 2 // WRITE diff --git a/Marlin/src/HAL/math_32bit.h b/Marlin/src/HAL/shared/math_32bit.h similarity index 97% rename from Marlin/src/HAL/math_32bit.h rename to Marlin/src/HAL/shared/math_32bit.h index a59d221369bf..472dfc3b56fe 100644 --- a/Marlin/src/HAL/math_32bit.h +++ b/Marlin/src/HAL/shared/math_32bit.h @@ -23,7 +23,7 @@ #ifndef MATH_32BIT_H #define MATH_32BIT_H -#include "../core/macros.h" +#include "../../core/macros.h" /** * Math helper functions for 32 bit CPUs diff --git a/Marlin/src/HAL/shared/persistent_store_api.cpp b/Marlin/src/HAL/shared/persistent_store_api.cpp new file mode 100644 index 000000000000..50adc12631ba --- /dev/null +++ b/Marlin/src/HAL/shared/persistent_store_api.cpp @@ -0,0 +1,30 @@ +/** + * Marlin 3D Printer Firmware + * + * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * Copyright (c) 2016 Bob Cousins bobcousins42@googlemail.com + * Copyright (c) 2015-2016 Nico Tonnhofer wurstnase.reprap@gmail.com + * Copyright (c) 2016 Victor Perez victor_pv@hotmail.com + * + * 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 . + * + */ +#include "../../inc/MarlinConfigPre.h" + +#if ENABLED(EEPROM_SETTINGS) + + #include "persistent_store_api.h" + PersistentStore persistentStore; + +#endif diff --git a/Marlin/src/HAL/shared/persistent_store_api.h b/Marlin/src/HAL/shared/persistent_store_api.h new file mode 100644 index 000000000000..09db6310e039 --- /dev/null +++ b/Marlin/src/HAL/shared/persistent_store_api.h @@ -0,0 +1,51 @@ +/** + * Marlin 3D Printer Firmware + * + * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * Copyright (c) 2016 Bob Cousins bobcousins42@googlemail.com + * Copyright (c) 2015-2016 Nico Tonnhofer wurstnase.reprap@gmail.com + * Copyright (c) 2016 Victor Perez victor_pv@hotmail.com + * + * 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 . + * + */ +#pragma once + +#include +#include + +class PersistentStore { +public: + static bool access_start(); + static bool access_finish(); + static bool write_data(int &pos, const uint8_t *value, size_t size, uint16_t *crc); + static bool read_data(int &pos, uint8_t* value, size_t size, uint16_t *crc, const bool writing=true); + static size_t capacity(); + + static inline bool write_data(const int pos, const uint8_t* value, const size_t size=sizeof(uint8_t)) { + int data_pos = pos; + uint16_t crc = 0; + return write_data(data_pos, value, size, &crc); + } + + static inline bool write_data(const int pos, const uint8_t value) { return write_data(pos, &value); } + + static inline bool read_data(const int pos, uint8_t* value, const size_t size=1) { + int data_pos = pos; + uint16_t crc = 0; + return read_data(data_pos, value, size, &crc); + } +}; + +extern PersistentStore persistentStore; diff --git a/Marlin/src/HAL/servo.cpp b/Marlin/src/HAL/shared/servo.cpp similarity index 99% rename from Marlin/src/HAL/servo.cpp rename to Marlin/src/HAL/shared/servo.cpp index a49aac0f998a..2c6be5e1f2df 100644 --- a/Marlin/src/HAL/servo.cpp +++ b/Marlin/src/HAL/shared/servo.cpp @@ -51,7 +51,7 @@ * */ -#include "../inc/MarlinConfig.h" +#include "../../inc/MarlinConfig.h" #if HAS_SERVOS && !(IS_32BIT_TEENSY || defined(TARGET_LPC1768) || defined(STM32F4) || defined(STM32F4xx)) diff --git a/Marlin/src/HAL/servo.h b/Marlin/src/HAL/shared/servo.h similarity index 96% rename from Marlin/src/HAL/servo.h rename to Marlin/src/HAL/shared/servo.h index 5df396efd6fb..e1a57485b051 100644 --- a/Marlin/src/HAL/servo.h +++ b/Marlin/src/HAL/shared/servo.h @@ -70,12 +70,12 @@ #define SERVO_H #if IS_32BIT_TEENSY - #include "HAL_TEENSY35_36/HAL_Servo_Teensy.h" // Teensy HAL uses an inherited library + #include "../HAL_TEENSY35_36/HAL_Servo_Teensy.h" // Teensy HAL uses an inherited library #elif defined(TARGET_LPC1768) - #include "HAL_LPC1768/LPC1768_Servo.h" + #include "../HAL_LPC1768/LPC1768_Servo.h" #elif defined(STM32F4) || defined(STM32F4xx) - #include "HAL_STM32F4/HAL_Servo_STM32F4.h" + #include "../HAL_STM32F4/HAL_Servo_STM32F4.h" #else #include diff --git a/Marlin/src/HAL/servo_private.h b/Marlin/src/HAL/shared/servo_private.h similarity index 98% rename from Marlin/src/HAL/servo_private.h rename to Marlin/src/HAL/shared/servo_private.h index 3b1bcda584ab..2dcc9eb98f82 100644 --- a/Marlin/src/HAL/servo_private.h +++ b/Marlin/src/HAL/shared/servo_private.h @@ -46,9 +46,9 @@ // Architecture specific include #ifdef __AVR__ - #include "HAL_AVR/ServoTimers.h" + #include "../HAL_AVR/ServoTimers.h" #elif defined(ARDUINO_ARCH_SAM) - #include "HAL_DUE/ServoTimers.h" + #include "../HAL_DUE/ServoTimers.h" #else #error "This library only supports boards with an AVR or SAM3X processor." #endif diff --git a/Marlin/src/config/default/Configuration.h b/Marlin/src/config/default/Configuration.h index 4b9908b34b79..f0b4402ed68b 100644 --- a/Marlin/src/config/default/Configuration.h +++ b/Marlin/src/config/default/Configuration.h @@ -552,9 +552,12 @@ #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. /** - * Specify Stepper Driver types - * The options are used to determine driver pulse timings as well as more advanced functionality. - * Stepper timing options can be overridden in Configuration_adv.h + * Stepper Drivers + * + * These settings allow Marlin to tune stepper driver timing and enable advanced options for + * stepper drivers that support them. You may also override timing options in Configuration_adv.h. + * + * A4988 is assumed for unspecified drivers. * * Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, @@ -562,17 +565,17 @@ * TMC5130, TMC5130_STANDALONE * :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] */ -#define X_DRIVER_TYPE A4988 -#define Y_DRIVER_TYPE A4988 -#define Z_DRIVER_TYPE A4988 -#define X2_DRIVER_TYPE A4988 -#define Y2_DRIVER_TYPE A4988 -#define Z2_DRIVER_TYPE A4988 -#define E0_DRIVER_TYPE A4988 -#define E1_DRIVER_TYPE A4988 -#define E2_DRIVER_TYPE A4988 -#define E3_DRIVER_TYPE A4988 -#define E4_DRIVER_TYPE A4988 +//#define X_DRIVER_TYPE A4988 +//#define Y_DRIVER_TYPE A4988 +//#define Z_DRIVER_TYPE A4988 +//#define X2_DRIVER_TYPE A4988 +//#define Y2_DRIVER_TYPE A4988 +//#define Z2_DRIVER_TYPE A4988 +//#define E0_DRIVER_TYPE A4988 +//#define E1_DRIVER_TYPE A4988 +//#define E2_DRIVER_TYPE A4988 +//#define E3_DRIVER_TYPE A4988 +//#define E4_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -1803,7 +1806,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/config/examples/AlephObjects/TAZ4/Configuration.h b/Marlin/src/config/examples/AlephObjects/TAZ4/Configuration.h index 6afa4a76f1d8..7b8852724030 100644 --- a/Marlin/src/config/examples/AlephObjects/TAZ4/Configuration.h +++ b/Marlin/src/config/examples/AlephObjects/TAZ4/Configuration.h @@ -1800,7 +1800,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/config/examples/AliExpress/CL-260/Configuration.h b/Marlin/src/config/examples/AliExpress/CL-260/Configuration.h index 838515213d86..c54b290d7728 100644 --- a/Marlin/src/config/examples/AliExpress/CL-260/Configuration.h +++ b/Marlin/src/config/examples/AliExpress/CL-260/Configuration.h @@ -552,9 +552,12 @@ #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. /** - * Specify Stepper Driver types - * The options are used to determine driver pulse timings as well as more advanced functionality. - * Stepper timing options can be overridden in Configuration_adv.h + * Stepper Drivers + * + * These settings allow Marlin to tune stepper driver timing and enable advanced options for + * stepper drivers that support them. You may also override timing options in Configuration_adv.h. + * + * A4988 is assumed for unspecified drivers. * * Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, @@ -562,17 +565,17 @@ * TMC5130, TMC5130_STANDALONE * :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] */ -#define X_DRIVER_TYPE A4988 -#define Y_DRIVER_TYPE A4988 -#define Z_DRIVER_TYPE A4988 -#define X2_DRIVER_TYPE A4988 -#define Y2_DRIVER_TYPE A4988 -#define Z2_DRIVER_TYPE A4988 -#define E0_DRIVER_TYPE A4988 -#define E1_DRIVER_TYPE A4988 -#define E2_DRIVER_TYPE A4988 -#define E3_DRIVER_TYPE A4988 -#define E4_DRIVER_TYPE A4988 +//#define X_DRIVER_TYPE A4988 +//#define Y_DRIVER_TYPE A4988 +//#define Z_DRIVER_TYPE A4988 +//#define X2_DRIVER_TYPE A4988 +//#define Y2_DRIVER_TYPE A4988 +//#define Z2_DRIVER_TYPE A4988 +//#define E0_DRIVER_TYPE A4988 +//#define E1_DRIVER_TYPE A4988 +//#define E2_DRIVER_TYPE A4988 +//#define E3_DRIVER_TYPE A4988 +//#define E4_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -1803,7 +1806,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/config/examples/Anet/A6/Configuration.h b/Marlin/src/config/examples/Anet/A6/Configuration.h index 103a450a30a4..63eb504d665f 100644 --- a/Marlin/src/config/examples/Anet/A6/Configuration.h +++ b/Marlin/src/config/examples/Anet/A6/Configuration.h @@ -572,9 +572,12 @@ #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. /** - * Specify Stepper Driver types - * The options are used to determine driver pulse timings as well as more advanced functionality. - * Stepper timing options can be overridden in Configuration_adv.h + * Stepper Drivers + * + * These settings allow Marlin to tune stepper driver timing and enable advanced options for + * stepper drivers that support them. You may also override timing options in Configuration_adv.h. + * + * A4988 is assumed for unspecified drivers. * * Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, @@ -582,17 +585,17 @@ * TMC5130, TMC5130_STANDALONE * :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] */ -#define X_DRIVER_TYPE A4988 -#define Y_DRIVER_TYPE A4988 -#define Z_DRIVER_TYPE A4988 -#define X2_DRIVER_TYPE A4988 -#define Y2_DRIVER_TYPE A4988 -#define Z2_DRIVER_TYPE A4988 -#define E0_DRIVER_TYPE A4988 -#define E1_DRIVER_TYPE A4988 -#define E2_DRIVER_TYPE A4988 -#define E3_DRIVER_TYPE A4988 -#define E4_DRIVER_TYPE A4988 +//#define X_DRIVER_TYPE A4988 +//#define Y_DRIVER_TYPE A4988 +//#define Z_DRIVER_TYPE A4988 +//#define X2_DRIVER_TYPE A4988 +//#define Y2_DRIVER_TYPE A4988 +//#define Z2_DRIVER_TYPE A4988 +//#define E0_DRIVER_TYPE A4988 +//#define E1_DRIVER_TYPE A4988 +//#define E2_DRIVER_TYPE A4988 +//#define E3_DRIVER_TYPE A4988 +//#define E4_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -1958,7 +1961,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/config/examples/Anet/A8/Configuration.h b/Marlin/src/config/examples/Anet/A8/Configuration.h index 243004e9ce4d..aa238c2953e9 100644 --- a/Marlin/src/config/examples/Anet/A8/Configuration.h +++ b/Marlin/src/config/examples/Anet/A8/Configuration.h @@ -1789,7 +1789,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/config/examples/Azteeg/X5GT/Configuration.h b/Marlin/src/config/examples/Azteeg/X5GT/Configuration.h index 991d17a13463..4cd654abd34c 100644 --- a/Marlin/src/config/examples/Azteeg/X5GT/Configuration.h +++ b/Marlin/src/config/examples/Azteeg/X5GT/Configuration.h @@ -552,9 +552,12 @@ #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. /** - * Specify Stepper Driver types - * The options are used to determine driver pulse timings as well as more advanced functionality. - * Stepper timing options can be overridden in Configuration_adv.h + * Stepper Drivers + * + * These settings allow Marlin to tune stepper driver timing and enable advanced options for + * stepper drivers that support them. You may also override timing options in Configuration_adv.h. + * + * A4988 is assumed for unspecified drivers. * * Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, @@ -562,17 +565,17 @@ * TMC5130, TMC5130_STANDALONE * :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] */ -#define X_DRIVER_TYPE A4988 -#define Y_DRIVER_TYPE A4988 -#define Z_DRIVER_TYPE A4988 -#define X2_DRIVER_TYPE A4988 -#define Y2_DRIVER_TYPE A4988 -#define Z2_DRIVER_TYPE A4988 -#define E0_DRIVER_TYPE A4988 -#define E1_DRIVER_TYPE A4988 -#define E2_DRIVER_TYPE A4988 -#define E3_DRIVER_TYPE A4988 -#define E4_DRIVER_TYPE A4988 +//#define X_DRIVER_TYPE A4988 +//#define Y_DRIVER_TYPE A4988 +//#define Z_DRIVER_TYPE A4988 +//#define X2_DRIVER_TYPE A4988 +//#define Y2_DRIVER_TYPE A4988 +//#define Z2_DRIVER_TYPE A4988 +//#define E0_DRIVER_TYPE A4988 +//#define E1_DRIVER_TYPE A4988 +//#define E2_DRIVER_TYPE A4988 +//#define E3_DRIVER_TYPE A4988 +//#define E4_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -1823,7 +1826,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/config/examples/BIBO/TouchX/cyclops/Configuration.h b/Marlin/src/config/examples/BIBO/TouchX/cyclops/Configuration.h index 791202ee1e3a..f05cb2352690 100644 --- a/Marlin/src/config/examples/BIBO/TouchX/cyclops/Configuration.h +++ b/Marlin/src/config/examples/BIBO/TouchX/cyclops/Configuration.h @@ -1780,7 +1780,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/config/examples/BIBO/TouchX/default/Configuration.h b/Marlin/src/config/examples/BIBO/TouchX/default/Configuration.h index c6625526b798..fbfb39a4ae9e 100644 --- a/Marlin/src/config/examples/BIBO/TouchX/default/Configuration.h +++ b/Marlin/src/config/examples/BIBO/TouchX/default/Configuration.h @@ -1780,7 +1780,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/config/examples/BQ/Hephestos/Configuration.h b/Marlin/src/config/examples/BQ/Hephestos/Configuration.h index 8aaeee32f4a8..3e7fdc080251 100644 --- a/Marlin/src/config/examples/BQ/Hephestos/Configuration.h +++ b/Marlin/src/config/examples/BQ/Hephestos/Configuration.h @@ -1768,7 +1768,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/config/examples/BQ/Hephestos_2/Configuration.h b/Marlin/src/config/examples/BQ/Hephestos_2/Configuration.h index f580ace14815..a426b1d9a246 100644 --- a/Marlin/src/config/examples/BQ/Hephestos_2/Configuration.h +++ b/Marlin/src/config/examples/BQ/Hephestos_2/Configuration.h @@ -553,9 +553,12 @@ #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. /** - * Specify Stepper Driver types - * The options are used to determine driver pulse timings as well as more advanced functionality. - * Stepper timing options can be overridden in Configuration_adv.h + * Stepper Drivers + * + * These settings allow Marlin to tune stepper driver timing and enable advanced options for + * stepper drivers that support them. You may also override timing options in Configuration_adv.h. + * + * A4988 is assumed for unspecified drivers. * * Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, @@ -563,17 +566,17 @@ * TMC5130, TMC5130_STANDALONE * :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] */ -#define X_DRIVER_TYPE A4988 -#define Y_DRIVER_TYPE A4988 -#define Z_DRIVER_TYPE A4988 -#define X2_DRIVER_TYPE A4988 -#define Y2_DRIVER_TYPE A4988 -#define Z2_DRIVER_TYPE A4988 -#define E0_DRIVER_TYPE A4988 -#define E1_DRIVER_TYPE A4988 -#define E2_DRIVER_TYPE A4988 -#define E3_DRIVER_TYPE A4988 -#define E4_DRIVER_TYPE A4988 +//#define X_DRIVER_TYPE A4988 +//#define Y_DRIVER_TYPE A4988 +//#define Z_DRIVER_TYPE A4988 +//#define X2_DRIVER_TYPE A4988 +//#define Y2_DRIVER_TYPE A4988 +//#define Z2_DRIVER_TYPE A4988 +//#define E0_DRIVER_TYPE A4988 +//#define E1_DRIVER_TYPE A4988 +//#define E2_DRIVER_TYPE A4988 +//#define E3_DRIVER_TYPE A4988 +//#define E4_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -1803,7 +1806,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/config/examples/BQ/WITBOX/Configuration.h b/Marlin/src/config/examples/BQ/WITBOX/Configuration.h index a737bdf75c80..8b57dd6a4dd9 100644 --- a/Marlin/src/config/examples/BQ/WITBOX/Configuration.h +++ b/Marlin/src/config/examples/BQ/WITBOX/Configuration.h @@ -1768,7 +1768,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/config/examples/Cartesio/Configuration.h b/Marlin/src/config/examples/Cartesio/Configuration.h index 699921218727..2c80e1c76e0d 100644 --- a/Marlin/src/config/examples/Cartesio/Configuration.h +++ b/Marlin/src/config/examples/Cartesio/Configuration.h @@ -1779,7 +1779,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/config/examples/Creality/CR-10/Configuration.h b/Marlin/src/config/examples/Creality/CR-10/Configuration.h index 1f739ee1dcf6..182f44f15aac 100755 --- a/Marlin/src/config/examples/Creality/CR-10/Configuration.h +++ b/Marlin/src/config/examples/Creality/CR-10/Configuration.h @@ -562,9 +562,12 @@ #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. /** - * Specify Stepper Driver types - * The options are used to determine driver pulse timings as well as more advanced functionality. - * Stepper timing options can be overridden in Configuration_adv.h + * Stepper Drivers + * + * These settings allow Marlin to tune stepper driver timing and enable advanced options for + * stepper drivers that support them. You may also override timing options in Configuration_adv.h. + * + * A4988 is assumed for unspecified drivers. * * Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, @@ -572,17 +575,17 @@ * TMC5130, TMC5130_STANDALONE * :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] */ -#define X_DRIVER_TYPE A4988 -#define Y_DRIVER_TYPE A4988 -#define Z_DRIVER_TYPE A4988 -#define X2_DRIVER_TYPE A4988 -#define Y2_DRIVER_TYPE A4988 -#define Z2_DRIVER_TYPE A4988 -#define E0_DRIVER_TYPE A4988 -#define E1_DRIVER_TYPE A4988 -#define E2_DRIVER_TYPE A4988 -#define E3_DRIVER_TYPE A4988 -#define E4_DRIVER_TYPE A4988 +//#define X_DRIVER_TYPE A4988 +//#define Y_DRIVER_TYPE A4988 +//#define Z_DRIVER_TYPE A4988 +//#define X2_DRIVER_TYPE A4988 +//#define Y2_DRIVER_TYPE A4988 +//#define Z2_DRIVER_TYPE A4988 +//#define E0_DRIVER_TYPE A4988 +//#define E1_DRIVER_TYPE A4988 +//#define E2_DRIVER_TYPE A4988 +//#define E3_DRIVER_TYPE A4988 +//#define E4_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -1813,7 +1816,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/config/examples/Creality/CR-10S/Configuration.h b/Marlin/src/config/examples/Creality/CR-10S/Configuration.h index c5b24b1fa9e6..6efcb10727af 100644 --- a/Marlin/src/config/examples/Creality/CR-10S/Configuration.h +++ b/Marlin/src/config/examples/Creality/CR-10S/Configuration.h @@ -556,9 +556,12 @@ #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. /** - * Specify Stepper Driver types - * The options are used to determine driver pulse timings as well as more advanced functionality. - * Stepper timing options can be overridden in Configuration_adv.h + * Stepper Drivers + * + * These settings allow Marlin to tune stepper driver timing and enable advanced options for + * stepper drivers that support them. You may also override timing options in Configuration_adv.h. + * + * A4988 is assumed for unspecified drivers. * * Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, @@ -566,17 +569,17 @@ * TMC5130, TMC5130_STANDALONE * :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] */ -#define X_DRIVER_TYPE A4988 -#define Y_DRIVER_TYPE A4988 -#define Z_DRIVER_TYPE A4988 -#define X2_DRIVER_TYPE A4988 -#define Y2_DRIVER_TYPE A4988 -#define Z2_DRIVER_TYPE A4988 -#define E0_DRIVER_TYPE A4988 -#define E1_DRIVER_TYPE A4988 -#define E2_DRIVER_TYPE A4988 -#define E3_DRIVER_TYPE A4988 -#define E4_DRIVER_TYPE A4988 +//#define X_DRIVER_TYPE A4988 +//#define Y_DRIVER_TYPE A4988 +//#define Z_DRIVER_TYPE A4988 +//#define X2_DRIVER_TYPE A4988 +//#define Y2_DRIVER_TYPE A4988 +//#define Z2_DRIVER_TYPE A4988 +//#define E0_DRIVER_TYPE A4988 +//#define E1_DRIVER_TYPE A4988 +//#define E2_DRIVER_TYPE A4988 +//#define E3_DRIVER_TYPE A4988 +//#define E4_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -1808,7 +1811,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/config/examples/Creality/CR-10mini/Configuration.h b/Marlin/src/config/examples/Creality/CR-10mini/Configuration.h index 07a5d3d5b11c..b187d04faf30 100644 --- a/Marlin/src/config/examples/Creality/CR-10mini/Configuration.h +++ b/Marlin/src/config/examples/Creality/CR-10mini/Configuration.h @@ -571,9 +571,12 @@ #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. /** - * Specify Stepper Driver types - * The options are used to determine driver pulse timings as well as more advanced functionality. - * Stepper timing options can be overridden in Configuration_adv.h + * Stepper Drivers + * + * These settings allow Marlin to tune stepper driver timing and enable advanced options for + * stepper drivers that support them. You may also override timing options in Configuration_adv.h. + * + * A4988 is assumed for unspecified drivers. * * Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, @@ -581,17 +584,17 @@ * TMC5130, TMC5130_STANDALONE * :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] */ -#define X_DRIVER_TYPE A4988 -#define Y_DRIVER_TYPE A4988 -#define Z_DRIVER_TYPE A4988 -#define X2_DRIVER_TYPE A4988 -#define Y2_DRIVER_TYPE A4988 -#define Z2_DRIVER_TYPE A4988 -#define E0_DRIVER_TYPE A4988 -#define E1_DRIVER_TYPE A4988 -#define E2_DRIVER_TYPE A4988 -#define E3_DRIVER_TYPE A4988 -#define E4_DRIVER_TYPE A4988 +//#define X_DRIVER_TYPE A4988 +//#define Y_DRIVER_TYPE A4988 +//#define Z_DRIVER_TYPE A4988 +//#define X2_DRIVER_TYPE A4988 +//#define Y2_DRIVER_TYPE A4988 +//#define Z2_DRIVER_TYPE A4988 +//#define E0_DRIVER_TYPE A4988 +//#define E1_DRIVER_TYPE A4988 +//#define E2_DRIVER_TYPE A4988 +//#define E3_DRIVER_TYPE A4988 +//#define E4_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -1822,7 +1825,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/config/examples/Creality/CR-8/Configuration.h b/Marlin/src/config/examples/Creality/CR-8/Configuration.h index c328cf87a6bb..12c3dc73163c 100644 --- a/Marlin/src/config/examples/Creality/CR-8/Configuration.h +++ b/Marlin/src/config/examples/Creality/CR-8/Configuration.h @@ -562,9 +562,12 @@ #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. /** - * Specify Stepper Driver types - * The options are used to determine driver pulse timings as well as more advanced functionality. - * Stepper timing options can be overridden in Configuration_adv.h + * Stepper Drivers + * + * These settings allow Marlin to tune stepper driver timing and enable advanced options for + * stepper drivers that support them. You may also override timing options in Configuration_adv.h. + * + * A4988 is assumed for unspecified drivers. * * Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, @@ -572,17 +575,17 @@ * TMC5130, TMC5130_STANDALONE * :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] */ -#define X_DRIVER_TYPE A4988 -#define Y_DRIVER_TYPE A4988 -#define Z_DRIVER_TYPE A4988 -#define X2_DRIVER_TYPE A4988 -#define Y2_DRIVER_TYPE A4988 -#define Z2_DRIVER_TYPE A4988 -#define E0_DRIVER_TYPE A4988 -#define E1_DRIVER_TYPE A4988 -#define E2_DRIVER_TYPE A4988 -#define E3_DRIVER_TYPE A4988 -#define E4_DRIVER_TYPE A4988 +//#define X_DRIVER_TYPE A4988 +//#define Y_DRIVER_TYPE A4988 +//#define Z_DRIVER_TYPE A4988 +//#define X2_DRIVER_TYPE A4988 +//#define Y2_DRIVER_TYPE A4988 +//#define Z2_DRIVER_TYPE A4988 +//#define E0_DRIVER_TYPE A4988 +//#define E1_DRIVER_TYPE A4988 +//#define E2_DRIVER_TYPE A4988 +//#define E3_DRIVER_TYPE A4988 +//#define E4_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -1813,7 +1816,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/config/examples/Creality/Ender-2/Configuration.h b/Marlin/src/config/examples/Creality/Ender-2/Configuration.h index 23ea4079c722..2f8c8b1a1cb1 100644 --- a/Marlin/src/config/examples/Creality/Ender-2/Configuration.h +++ b/Marlin/src/config/examples/Creality/Ender-2/Configuration.h @@ -556,9 +556,12 @@ #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. /** - * Specify Stepper Driver types - * The options are used to determine driver pulse timings as well as more advanced functionality. - * Stepper timing options can be overridden in Configuration_adv.h + * Stepper Drivers + * + * These settings allow Marlin to tune stepper driver timing and enable advanced options for + * stepper drivers that support them. You may also override timing options in Configuration_adv.h. + * + * A4988 is assumed for unspecified drivers. * * Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, @@ -566,17 +569,17 @@ * TMC5130, TMC5130_STANDALONE * :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] */ -#define X_DRIVER_TYPE A4988 -#define Y_DRIVER_TYPE A4988 -#define Z_DRIVER_TYPE A4988 -#define X2_DRIVER_TYPE A4988 -#define Y2_DRIVER_TYPE A4988 -#define Z2_DRIVER_TYPE A4988 -#define E0_DRIVER_TYPE A4988 -#define E1_DRIVER_TYPE A4988 -#define E2_DRIVER_TYPE A4988 -#define E3_DRIVER_TYPE A4988 -#define E4_DRIVER_TYPE A4988 +//#define X_DRIVER_TYPE A4988 +//#define Y_DRIVER_TYPE A4988 +//#define Z_DRIVER_TYPE A4988 +//#define X2_DRIVER_TYPE A4988 +//#define Y2_DRIVER_TYPE A4988 +//#define Z2_DRIVER_TYPE A4988 +//#define E0_DRIVER_TYPE A4988 +//#define E1_DRIVER_TYPE A4988 +//#define E2_DRIVER_TYPE A4988 +//#define E3_DRIVER_TYPE A4988 +//#define E4_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -1807,7 +1810,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/config/examples/Creality/Ender-3/Configuration.h b/Marlin/src/config/examples/Creality/Ender-3/Configuration.h index 277776f4f4c6..0beccb658bd0 100644 --- a/Marlin/src/config/examples/Creality/Ender-3/Configuration.h +++ b/Marlin/src/config/examples/Creality/Ender-3/Configuration.h @@ -556,9 +556,12 @@ #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. /** - * Specify Stepper Driver types - * The options are used to determine driver pulse timings as well as more advanced functionality. - * Stepper timing options can be overridden in Configuration_adv.h + * Stepper Drivers + * + * These settings allow Marlin to tune stepper driver timing and enable advanced options for + * stepper drivers that support them. You may also override timing options in Configuration_adv.h. + * + * A4988 is assumed for unspecified drivers. * * Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, @@ -566,17 +569,17 @@ * TMC5130, TMC5130_STANDALONE * :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] */ -#define X_DRIVER_TYPE A4988 -#define Y_DRIVER_TYPE A4988 -#define Z_DRIVER_TYPE A4988 -#define X2_DRIVER_TYPE A4988 -#define Y2_DRIVER_TYPE A4988 -#define Z2_DRIVER_TYPE A4988 -#define E0_DRIVER_TYPE A4988 -#define E1_DRIVER_TYPE A4988 -#define E2_DRIVER_TYPE A4988 -#define E3_DRIVER_TYPE A4988 -#define E4_DRIVER_TYPE A4988 +//#define X_DRIVER_TYPE A4988 +//#define Y_DRIVER_TYPE A4988 +//#define Z_DRIVER_TYPE A4988 +//#define X2_DRIVER_TYPE A4988 +//#define Y2_DRIVER_TYPE A4988 +//#define Z2_DRIVER_TYPE A4988 +//#define E0_DRIVER_TYPE A4988 +//#define E1_DRIVER_TYPE A4988 +//#define E2_DRIVER_TYPE A4988 +//#define E3_DRIVER_TYPE A4988 +//#define E4_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -1807,7 +1810,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/config/examples/Creality/Ender-4/Configuration.h b/Marlin/src/config/examples/Creality/Ender-4/Configuration.h index 7bc215cd1f6d..211e06f4c565 100644 --- a/Marlin/src/config/examples/Creality/Ender-4/Configuration.h +++ b/Marlin/src/config/examples/Creality/Ender-4/Configuration.h @@ -562,9 +562,12 @@ #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. /** - * Specify Stepper Driver types - * The options are used to determine driver pulse timings as well as more advanced functionality. - * Stepper timing options can be overridden in Configuration_adv.h + * Stepper Drivers + * + * These settings allow Marlin to tune stepper driver timing and enable advanced options for + * stepper drivers that support them. You may also override timing options in Configuration_adv.h. + * + * A4988 is assumed for unspecified drivers. * * Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, @@ -572,17 +575,17 @@ * TMC5130, TMC5130_STANDALONE * :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] */ -#define X_DRIVER_TYPE A4988 -#define Y_DRIVER_TYPE A4988 -#define Z_DRIVER_TYPE A4988 -#define X2_DRIVER_TYPE A4988 -#define Y2_DRIVER_TYPE A4988 -#define Z2_DRIVER_TYPE A4988 -#define E0_DRIVER_TYPE A4988 -#define E1_DRIVER_TYPE A4988 -#define E2_DRIVER_TYPE A4988 -#define E3_DRIVER_TYPE A4988 -#define E4_DRIVER_TYPE A4988 +//#define X_DRIVER_TYPE A4988 +//#define Y_DRIVER_TYPE A4988 +//#define Z_DRIVER_TYPE A4988 +//#define X2_DRIVER_TYPE A4988 +//#define Y2_DRIVER_TYPE A4988 +//#define Z2_DRIVER_TYPE A4988 +//#define E0_DRIVER_TYPE A4988 +//#define E1_DRIVER_TYPE A4988 +//#define E2_DRIVER_TYPE A4988 +//#define E3_DRIVER_TYPE A4988 +//#define E4_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -1813,7 +1816,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/config/examples/Einstart-S/Configuration.h b/Marlin/src/config/examples/Einstart-S/Configuration.h index 7222773dba98..a847f0d79950 100644 --- a/Marlin/src/config/examples/Einstart-S/Configuration.h +++ b/Marlin/src/config/examples/Einstart-S/Configuration.h @@ -561,7 +561,7 @@ #define X_STOP_INVERTING true #define Y_STOP_INVERTING true -#define Z_STOP_INVERTING true +#define Z_STOP_INVERTING true // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -1795,7 +1795,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/config/examples/Einstart-S/readme.md b/Marlin/src/config/examples/Einstart-S/readme.md index 56635ec7a0cf..fbcb5f7668de 100644 --- a/Marlin/src/config/examples/Einstart-S/readme.md +++ b/Marlin/src/config/examples/Einstart-S/readme.md @@ -84,7 +84,7 @@ PF Part Fan (PWM) ZS Z-Endstop (Max) YS Y-Endstop (Min) XS X-Endstop (Min) -PS SPST Switch to enable DC 24v +PS SPST Switch to enable DC 24v BT Bed Thermistor (header not populated) ET Extruder Thermistor PT1 PT100 Thermocouple (not populated) diff --git a/Marlin/src/config/examples/Felix/Configuration.h b/Marlin/src/config/examples/Felix/Configuration.h index 8e16ed8ee514..1ebb8b70c628 100644 --- a/Marlin/src/config/examples/Felix/Configuration.h +++ b/Marlin/src/config/examples/Felix/Configuration.h @@ -533,9 +533,12 @@ #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. /** - * Specify Stepper Driver types - * The options are used to determine driver pulse timings as well as more advanced functionality. - * Stepper timing options can be overridden in Configuration_adv.h + * Stepper Drivers + * + * These settings allow Marlin to tune stepper driver timing and enable advanced options for + * stepper drivers that support them. You may also override timing options in Configuration_adv.h. + * + * A4988 is assumed for unspecified drivers. * * Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, @@ -543,17 +546,17 @@ * TMC5130, TMC5130_STANDALONE * :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] */ -#define X_DRIVER_TYPE A4988 -#define Y_DRIVER_TYPE A4988 -#define Z_DRIVER_TYPE A4988 -#define X2_DRIVER_TYPE A4988 -#define Y2_DRIVER_TYPE A4988 -#define Z2_DRIVER_TYPE A4988 -#define E0_DRIVER_TYPE A4988 -#define E1_DRIVER_TYPE A4988 -#define E2_DRIVER_TYPE A4988 -#define E3_DRIVER_TYPE A4988 -#define E4_DRIVER_TYPE A4988 +//#define X_DRIVER_TYPE A4988 +//#define Y_DRIVER_TYPE A4988 +//#define Z_DRIVER_TYPE A4988 +//#define X2_DRIVER_TYPE A4988 +//#define Y2_DRIVER_TYPE A4988 +//#define Z2_DRIVER_TYPE A4988 +//#define E0_DRIVER_TYPE A4988 +//#define E1_DRIVER_TYPE A4988 +//#define E2_DRIVER_TYPE A4988 +//#define E3_DRIVER_TYPE A4988 +//#define E4_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -1785,7 +1788,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/config/examples/Felix/DUAL/Configuration.h b/Marlin/src/config/examples/Felix/DUAL/Configuration.h index e0f4dffc5a3d..2077906a33ae 100644 --- a/Marlin/src/config/examples/Felix/DUAL/Configuration.h +++ b/Marlin/src/config/examples/Felix/DUAL/Configuration.h @@ -533,9 +533,12 @@ #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. /** - * Specify Stepper Driver types - * The options are used to determine driver pulse timings as well as more advanced functionality. - * Stepper timing options can be overridden in Configuration_adv.h + * Stepper Drivers + * + * These settings allow Marlin to tune stepper driver timing and enable advanced options for + * stepper drivers that support them. You may also override timing options in Configuration_adv.h. + * + * A4988 is assumed for unspecified drivers. * * Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, @@ -543,17 +546,17 @@ * TMC5130, TMC5130_STANDALONE * :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] */ -#define X_DRIVER_TYPE A4988 -#define Y_DRIVER_TYPE A4988 -#define Z_DRIVER_TYPE A4988 -#define X2_DRIVER_TYPE A4988 -#define Y2_DRIVER_TYPE A4988 -#define Z2_DRIVER_TYPE A4988 -#define E0_DRIVER_TYPE A4988 -#define E1_DRIVER_TYPE A4988 -#define E2_DRIVER_TYPE A4988 -#define E3_DRIVER_TYPE A4988 -#define E4_DRIVER_TYPE A4988 +//#define X_DRIVER_TYPE A4988 +//#define Y_DRIVER_TYPE A4988 +//#define Z_DRIVER_TYPE A4988 +//#define X2_DRIVER_TYPE A4988 +//#define Y2_DRIVER_TYPE A4988 +//#define Z2_DRIVER_TYPE A4988 +//#define E0_DRIVER_TYPE A4988 +//#define E1_DRIVER_TYPE A4988 +//#define E2_DRIVER_TYPE A4988 +//#define E3_DRIVER_TYPE A4988 +//#define E4_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -1785,7 +1788,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/config/examples/FolgerTech/i3-2020/Configuration.h b/Marlin/src/config/examples/FolgerTech/i3-2020/Configuration.h index d273ae8c7067..e64307800042 100644 --- a/Marlin/src/config/examples/FolgerTech/i3-2020/Configuration.h +++ b/Marlin/src/config/examples/FolgerTech/i3-2020/Configuration.h @@ -1786,7 +1786,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/config/examples/Geeetech/GT2560/Configuration.h b/Marlin/src/config/examples/Geeetech/GT2560/Configuration.h index 07196bf793c1..1e5219481dd0 100644 --- a/Marlin/src/config/examples/Geeetech/GT2560/Configuration.h +++ b/Marlin/src/config/examples/Geeetech/GT2560/Configuration.h @@ -567,9 +567,12 @@ #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. /** - * Specify Stepper Driver types - * The options are used to determine driver pulse timings as well as more advanced functionality. - * Stepper timing options can be overridden in Configuration_adv.h + * Stepper Drivers + * + * These settings allow Marlin to tune stepper driver timing and enable advanced options for + * stepper drivers that support them. You may also override timing options in Configuration_adv.h. + * + * A4988 is assumed for unspecified drivers. * * Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, @@ -577,17 +580,17 @@ * TMC5130, TMC5130_STANDALONE * :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] */ -#define X_DRIVER_TYPE A4988 -#define Y_DRIVER_TYPE A4988 -#define Z_DRIVER_TYPE A4988 -#define X2_DRIVER_TYPE A4988 -#define Y2_DRIVER_TYPE A4988 -#define Z2_DRIVER_TYPE A4988 -#define E0_DRIVER_TYPE A4988 -#define E1_DRIVER_TYPE A4988 -#define E2_DRIVER_TYPE A4988 -#define E3_DRIVER_TYPE A4988 -#define E4_DRIVER_TYPE A4988 +//#define X_DRIVER_TYPE A4988 +//#define Y_DRIVER_TYPE A4988 +//#define Z_DRIVER_TYPE A4988 +//#define X2_DRIVER_TYPE A4988 +//#define Y2_DRIVER_TYPE A4988 +//#define Z2_DRIVER_TYPE A4988 +//#define E0_DRIVER_TYPE A4988 +//#define E1_DRIVER_TYPE A4988 +//#define E2_DRIVER_TYPE A4988 +//#define E3_DRIVER_TYPE A4988 +//#define E4_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -1818,7 +1821,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/config/examples/Geeetech/I3_Pro_X-GT2560/Configuration.h b/Marlin/src/config/examples/Geeetech/I3_Pro_X-GT2560/Configuration.h index e8c44864bc83..4a2c62be8368 100644 --- a/Marlin/src/config/examples/Geeetech/I3_Pro_X-GT2560/Configuration.h +++ b/Marlin/src/config/examples/Geeetech/I3_Pro_X-GT2560/Configuration.h @@ -552,9 +552,12 @@ #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. /** - * Specify Stepper Driver types - * The options are used to determine driver pulse timings as well as more advanced functionality. - * Stepper timing options can be overridden in Configuration_adv.h + * Stepper Drivers + * + * These settings allow Marlin to tune stepper driver timing and enable advanced options for + * stepper drivers that support them. You may also override timing options in Configuration_adv.h. + * + * A4988 is assumed for unspecified drivers. * * Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, @@ -562,17 +565,17 @@ * TMC5130, TMC5130_STANDALONE * :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] */ -#define X_DRIVER_TYPE A4988 -#define Y_DRIVER_TYPE A4988 -#define Z_DRIVER_TYPE A4988 -#define X2_DRIVER_TYPE A4988 -#define Y2_DRIVER_TYPE A4988 -#define Z2_DRIVER_TYPE A4988 -#define E0_DRIVER_TYPE A4988 -#define E1_DRIVER_TYPE A4988 -#define E2_DRIVER_TYPE A4988 -#define E3_DRIVER_TYPE A4988 -#define E4_DRIVER_TYPE A4988 +//#define X_DRIVER_TYPE A4988 +//#define Y_DRIVER_TYPE A4988 +//#define Z_DRIVER_TYPE A4988 +//#define X2_DRIVER_TYPE A4988 +//#define Y2_DRIVER_TYPE A4988 +//#define Z2_DRIVER_TYPE A4988 +//#define E0_DRIVER_TYPE A4988 +//#define E1_DRIVER_TYPE A4988 +//#define E2_DRIVER_TYPE A4988 +//#define E3_DRIVER_TYPE A4988 +//#define E4_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -1803,7 +1806,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/config/examples/Geeetech/Prusa i3 Pro B/bltouch/Configuration.h b/Marlin/src/config/examples/Geeetech/Prusa i3 Pro B/bltouch/Configuration.h index 167365fbd07e..63e9f2f3c18f 100644 --- a/Marlin/src/config/examples/Geeetech/Prusa i3 Pro B/bltouch/Configuration.h +++ b/Marlin/src/config/examples/Geeetech/Prusa i3 Pro B/bltouch/Configuration.h @@ -567,9 +567,12 @@ #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. /** - * Specify Stepper Driver types - * The options are used to determine driver pulse timings as well as more advanced functionality. - * Stepper timing options can be overridden in Configuration_adv.h + * Stepper Drivers + * + * These settings allow Marlin to tune stepper driver timing and enable advanced options for + * stepper drivers that support them. You may also override timing options in Configuration_adv.h. + * + * A4988 is assumed for unspecified drivers. * * Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, @@ -577,17 +580,17 @@ * TMC5130, TMC5130_STANDALONE * :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] */ -#define X_DRIVER_TYPE A4988 -#define Y_DRIVER_TYPE A4988 -#define Z_DRIVER_TYPE A4988 -#define X2_DRIVER_TYPE A4988 -#define Y2_DRIVER_TYPE A4988 -#define Z2_DRIVER_TYPE A4988 -#define E0_DRIVER_TYPE A4988 -#define E1_DRIVER_TYPE A4988 -#define E2_DRIVER_TYPE A4988 -#define E3_DRIVER_TYPE A4988 -#define E4_DRIVER_TYPE A4988 +//#define X_DRIVER_TYPE A4988 +//#define Y_DRIVER_TYPE A4988 +//#define Z_DRIVER_TYPE A4988 +//#define X2_DRIVER_TYPE A4988 +//#define Y2_DRIVER_TYPE A4988 +//#define Z2_DRIVER_TYPE A4988 +//#define E0_DRIVER_TYPE A4988 +//#define E1_DRIVER_TYPE A4988 +//#define E2_DRIVER_TYPE A4988 +//#define E3_DRIVER_TYPE A4988 +//#define E4_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -1819,7 +1822,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/config/examples/Geeetech/Prusa i3 Pro B/noprobe/Configuration.h b/Marlin/src/config/examples/Geeetech/Prusa i3 Pro B/noprobe/Configuration.h index d06dabec0c63..5f0040f118be 100644 --- a/Marlin/src/config/examples/Geeetech/Prusa i3 Pro B/noprobe/Configuration.h +++ b/Marlin/src/config/examples/Geeetech/Prusa i3 Pro B/noprobe/Configuration.h @@ -567,9 +567,12 @@ #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. /** - * Specify Stepper Driver types - * The options are used to determine driver pulse timings as well as more advanced functionality. - * Stepper timing options can be overridden in Configuration_adv.h + * Stepper Drivers + * + * These settings allow Marlin to tune stepper driver timing and enable advanced options for + * stepper drivers that support them. You may also override timing options in Configuration_adv.h. + * + * A4988 is assumed for unspecified drivers. * * Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, @@ -577,17 +580,17 @@ * TMC5130, TMC5130_STANDALONE * :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] */ -#define X_DRIVER_TYPE A4988 -#define Y_DRIVER_TYPE A4988 -#define Z_DRIVER_TYPE A4988 -#define X2_DRIVER_TYPE A4988 -#define Y2_DRIVER_TYPE A4988 -#define Z2_DRIVER_TYPE A4988 -#define E0_DRIVER_TYPE A4988 -#define E1_DRIVER_TYPE A4988 -#define E2_DRIVER_TYPE A4988 -#define E3_DRIVER_TYPE A4988 -#define E4_DRIVER_TYPE A4988 +//#define X_DRIVER_TYPE A4988 +//#define Y_DRIVER_TYPE A4988 +//#define Z_DRIVER_TYPE A4988 +//#define X2_DRIVER_TYPE A4988 +//#define Y2_DRIVER_TYPE A4988 +//#define Z2_DRIVER_TYPE A4988 +//#define E0_DRIVER_TYPE A4988 +//#define E1_DRIVER_TYPE A4988 +//#define E2_DRIVER_TYPE A4988 +//#define E3_DRIVER_TYPE A4988 +//#define E4_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -1818,7 +1821,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/config/examples/Geeetech/Prusa i3 Pro C/Configuration.h b/Marlin/src/config/examples/Geeetech/Prusa i3 Pro C/Configuration.h index 0359c5f34990..a303f7aeb3d6 100644 --- a/Marlin/src/config/examples/Geeetech/Prusa i3 Pro C/Configuration.h +++ b/Marlin/src/config/examples/Geeetech/Prusa i3 Pro C/Configuration.h @@ -552,9 +552,12 @@ #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. /** - * Specify Stepper Driver types - * The options are used to determine driver pulse timings as well as more advanced functionality. - * Stepper timing options can be overridden in Configuration_adv.h + * Stepper Drivers + * + * These settings allow Marlin to tune stepper driver timing and enable advanced options for + * stepper drivers that support them. You may also override timing options in Configuration_adv.h. + * + * A4988 is assumed for unspecified drivers. * * Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, @@ -562,17 +565,17 @@ * TMC5130, TMC5130_STANDALONE * :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] */ -#define X_DRIVER_TYPE A4988 -#define Y_DRIVER_TYPE A4988 -#define Z_DRIVER_TYPE A4988 -#define X2_DRIVER_TYPE A4988 -#define Y2_DRIVER_TYPE A4988 -#define Z2_DRIVER_TYPE A4988 -#define E0_DRIVER_TYPE A4988 -#define E1_DRIVER_TYPE A4988 -#define E2_DRIVER_TYPE A4988 -#define E3_DRIVER_TYPE A4988 -#define E4_DRIVER_TYPE A4988 +//#define X_DRIVER_TYPE A4988 +//#define Y_DRIVER_TYPE A4988 +//#define Z_DRIVER_TYPE A4988 +//#define X2_DRIVER_TYPE A4988 +//#define Y2_DRIVER_TYPE A4988 +//#define Z2_DRIVER_TYPE A4988 +//#define E0_DRIVER_TYPE A4988 +//#define E1_DRIVER_TYPE A4988 +//#define E2_DRIVER_TYPE A4988 +//#define E3_DRIVER_TYPE A4988 +//#define E4_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -1803,7 +1806,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/config/examples/Geeetech/Prusa i3 Pro W/Configuration.h b/Marlin/src/config/examples/Geeetech/Prusa i3 Pro W/Configuration.h index a92c6562853f..e26d97898bae 100644 --- a/Marlin/src/config/examples/Geeetech/Prusa i3 Pro W/Configuration.h +++ b/Marlin/src/config/examples/Geeetech/Prusa i3 Pro W/Configuration.h @@ -552,9 +552,12 @@ #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. /** - * Specify Stepper Driver types - * The options are used to determine driver pulse timings as well as more advanced functionality. - * Stepper timing options can be overridden in Configuration_adv.h + * Stepper Drivers + * + * These settings allow Marlin to tune stepper driver timing and enable advanced options for + * stepper drivers that support them. You may also override timing options in Configuration_adv.h. + * + * A4988 is assumed for unspecified drivers. * * Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, @@ -562,17 +565,17 @@ * TMC5130, TMC5130_STANDALONE * :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] */ -#define X_DRIVER_TYPE A4988 -#define Y_DRIVER_TYPE A4988 -#define Z_DRIVER_TYPE A4988 -#define X2_DRIVER_TYPE A4988 -#define Y2_DRIVER_TYPE A4988 -#define Z2_DRIVER_TYPE A4988 -#define E0_DRIVER_TYPE A4988 -#define E1_DRIVER_TYPE A4988 -#define E2_DRIVER_TYPE A4988 -#define E3_DRIVER_TYPE A4988 -#define E4_DRIVER_TYPE A4988 +//#define X_DRIVER_TYPE A4988 +//#define Y_DRIVER_TYPE A4988 +//#define Z_DRIVER_TYPE A4988 +//#define X2_DRIVER_TYPE A4988 +//#define Y2_DRIVER_TYPE A4988 +//#define Z2_DRIVER_TYPE A4988 +//#define E0_DRIVER_TYPE A4988 +//#define E1_DRIVER_TYPE A4988 +//#define E2_DRIVER_TYPE A4988 +//#define E3_DRIVER_TYPE A4988 +//#define E4_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -1803,7 +1806,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/config/examples/Infitary/i3-M508/Configuration.h b/Marlin/src/config/examples/Infitary/i3-M508/Configuration.h index a18577f838e9..95c449ddb831 100644 --- a/Marlin/src/config/examples/Infitary/i3-M508/Configuration.h +++ b/Marlin/src/config/examples/Infitary/i3-M508/Configuration.h @@ -1784,7 +1784,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/config/examples/JGAurora/A5/Configuration.h b/Marlin/src/config/examples/JGAurora/A5/Configuration.h index 748af05d2b1f..f7e7931c43db 100644 --- a/Marlin/src/config/examples/JGAurora/A5/Configuration.h +++ b/Marlin/src/config/examples/JGAurora/A5/Configuration.h @@ -564,9 +564,12 @@ #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. /** - * Specify Stepper Driver types - * The options are used to determine driver pulse timings as well as more advanced functionality. - * Stepper timing options can be overridden in Configuration_adv.h + * Stepper Drivers + * + * These settings allow Marlin to tune stepper driver timing and enable advanced options for + * stepper drivers that support them. You may also override timing options in Configuration_adv.h. + * + * A4988 is assumed for unspecified drivers. * * Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, @@ -574,17 +577,17 @@ * TMC5130, TMC5130_STANDALONE * :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] */ -#define X_DRIVER_TYPE A4988 -#define Y_DRIVER_TYPE A4988 -#define Z_DRIVER_TYPE A4988 -#define X2_DRIVER_TYPE A4988 -#define Y2_DRIVER_TYPE A4988 -#define Z2_DRIVER_TYPE A4988 -#define E0_DRIVER_TYPE A4988 -#define E1_DRIVER_TYPE A4988 -#define E2_DRIVER_TYPE A4988 -#define E3_DRIVER_TYPE A4988 -#define E4_DRIVER_TYPE A4988 +//#define X_DRIVER_TYPE A4988 +//#define Y_DRIVER_TYPE A4988 +//#define Z_DRIVER_TYPE A4988 +//#define X2_DRIVER_TYPE A4988 +//#define Y2_DRIVER_TYPE A4988 +//#define Z2_DRIVER_TYPE A4988 +//#define E0_DRIVER_TYPE A4988 +//#define E1_DRIVER_TYPE A4988 +//#define E2_DRIVER_TYPE A4988 +//#define E3_DRIVER_TYPE A4988 +//#define E4_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -1814,7 +1817,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/config/examples/MakerParts/Configuration.h b/Marlin/src/config/examples/MakerParts/Configuration.h index 123173c71e93..9d02fdefdccd 100644 --- a/Marlin/src/config/examples/MakerParts/Configuration.h +++ b/Marlin/src/config/examples/MakerParts/Configuration.h @@ -1800,7 +1800,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/config/examples/Malyan/M150/Configuration.h b/Marlin/src/config/examples/Malyan/M150/Configuration.h index 5133bf509d0c..fda49340ea94 100644 --- a/Marlin/src/config/examples/Malyan/M150/Configuration.h +++ b/Marlin/src/config/examples/Malyan/M150/Configuration.h @@ -1808,7 +1808,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/config/examples/Malyan/M200/Configuration.h b/Marlin/src/config/examples/Malyan/M200/Configuration.h index 6e6503c8e418..905beb4dc549 100644 --- a/Marlin/src/config/examples/Malyan/M200/Configuration.h +++ b/Marlin/src/config/examples/Malyan/M200/Configuration.h @@ -551,9 +551,12 @@ #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. /** - * Specify Stepper Driver types - * The options are used to determine driver pulse timings as well as more advanced functionality. - * Stepper timing options can be overridden in Configuration_adv.h + * Stepper Drivers + * + * These settings allow Marlin to tune stepper driver timing and enable advanced options for + * stepper drivers that support them. You may also override timing options in Configuration_adv.h. + * + * A4988 is assumed for unspecified drivers. * * Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, @@ -561,17 +564,17 @@ * TMC5130, TMC5130_STANDALONE * :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] */ -#define X_DRIVER_TYPE A4988 -#define Y_DRIVER_TYPE A4988 -#define Z_DRIVER_TYPE A4988 -#define X2_DRIVER_TYPE A4988 -#define Y2_DRIVER_TYPE A4988 -#define Z2_DRIVER_TYPE A4988 -#define E0_DRIVER_TYPE A4988 -#define E1_DRIVER_TYPE A4988 -#define E2_DRIVER_TYPE A4988 -#define E3_DRIVER_TYPE A4988 -#define E4_DRIVER_TYPE A4988 +//#define X_DRIVER_TYPE A4988 +//#define Y_DRIVER_TYPE A4988 +//#define Z_DRIVER_TYPE A4988 +//#define X2_DRIVER_TYPE A4988 +//#define Y2_DRIVER_TYPE A4988 +//#define Z2_DRIVER_TYPE A4988 +//#define E0_DRIVER_TYPE A4988 +//#define E1_DRIVER_TYPE A4988 +//#define E2_DRIVER_TYPE A4988 +//#define E3_DRIVER_TYPE A4988 +//#define E4_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -1802,7 +1805,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // #define MALYAN_LCD diff --git a/Marlin/src/config/examples/Micromake/C1/basic/Configuration.h b/Marlin/src/config/examples/Micromake/C1/basic/Configuration.h index b2a94cb90ad7..4967735e295a 100644 --- a/Marlin/src/config/examples/Micromake/C1/basic/Configuration.h +++ b/Marlin/src/config/examples/Micromake/C1/basic/Configuration.h @@ -552,9 +552,12 @@ #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. /** - * Specify Stepper Driver types - * The options are used to determine driver pulse timings as well as more advanced functionality. - * Stepper timing options can be overridden in Configuration_adv.h + * Stepper Drivers + * + * These settings allow Marlin to tune stepper driver timing and enable advanced options for + * stepper drivers that support them. You may also override timing options in Configuration_adv.h. + * + * A4988 is assumed for unspecified drivers. * * Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, @@ -562,17 +565,17 @@ * TMC5130, TMC5130_STANDALONE * :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] */ -#define X_DRIVER_TYPE A4988 -#define Y_DRIVER_TYPE A4988 -#define Z_DRIVER_TYPE A4988 -#define X2_DRIVER_TYPE A4988 -#define Y2_DRIVER_TYPE A4988 -#define Z2_DRIVER_TYPE A4988 -#define E0_DRIVER_TYPE A4988 -#define E1_DRIVER_TYPE A4988 -#define E2_DRIVER_TYPE A4988 -#define E3_DRIVER_TYPE A4988 -#define E4_DRIVER_TYPE A4988 +//#define X_DRIVER_TYPE A4988 +//#define Y_DRIVER_TYPE A4988 +//#define Z_DRIVER_TYPE A4988 +//#define X2_DRIVER_TYPE A4988 +//#define Y2_DRIVER_TYPE A4988 +//#define Z2_DRIVER_TYPE A4988 +//#define E0_DRIVER_TYPE A4988 +//#define E1_DRIVER_TYPE A4988 +//#define E2_DRIVER_TYPE A4988 +//#define E3_DRIVER_TYPE A4988 +//#define E4_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -1807,7 +1810,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/config/examples/Micromake/C1/enhanced/Configuration.h b/Marlin/src/config/examples/Micromake/C1/enhanced/Configuration.h index f5b1ef7fdabd..755e73af0df3 100644 --- a/Marlin/src/config/examples/Micromake/C1/enhanced/Configuration.h +++ b/Marlin/src/config/examples/Micromake/C1/enhanced/Configuration.h @@ -1784,7 +1784,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/config/examples/Mks/Sbase/Configuration.h b/Marlin/src/config/examples/Mks/Sbase/Configuration.h index 51dff291a9c0..d7256684faee 100644 --- a/Marlin/src/config/examples/Mks/Sbase/Configuration.h +++ b/Marlin/src/config/examples/Mks/Sbase/Configuration.h @@ -1780,7 +1780,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/config/examples/RepRapPro/Huxley/Configuration.h b/Marlin/src/config/examples/RepRapPro/Huxley/Configuration.h index 737e34d04b99..6eef69c2d2ca 100644 --- a/Marlin/src/config/examples/RepRapPro/Huxley/Configuration.h +++ b/Marlin/src/config/examples/RepRapPro/Huxley/Configuration.h @@ -552,9 +552,12 @@ #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. /** - * Specify Stepper Driver types - * The options are used to determine driver pulse timings as well as more advanced functionality. - * Stepper timing options can be overridden in Configuration_adv.h + * Stepper Drivers + * + * These settings allow Marlin to tune stepper driver timing and enable advanced options for + * stepper drivers that support them. You may also override timing options in Configuration_adv.h. + * + * A4988 is assumed for unspecified drivers. * * Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, @@ -562,17 +565,17 @@ * TMC5130, TMC5130_STANDALONE * :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] */ -#define X_DRIVER_TYPE A4988 -#define Y_DRIVER_TYPE A4988 -#define Z_DRIVER_TYPE A4988 -#define X2_DRIVER_TYPE A4988 -#define Y2_DRIVER_TYPE A4988 -#define Z2_DRIVER_TYPE A4988 -#define E0_DRIVER_TYPE A4988 -#define E1_DRIVER_TYPE A4988 -#define E2_DRIVER_TYPE A4988 -#define E3_DRIVER_TYPE A4988 -#define E4_DRIVER_TYPE A4988 +//#define X_DRIVER_TYPE A4988 +//#define Y_DRIVER_TYPE A4988 +//#define Z_DRIVER_TYPE A4988 +//#define X2_DRIVER_TYPE A4988 +//#define Y2_DRIVER_TYPE A4988 +//#define Z2_DRIVER_TYPE A4988 +//#define E0_DRIVER_TYPE A4988 +//#define E1_DRIVER_TYPE A4988 +//#define E2_DRIVER_TYPE A4988 +//#define E3_DRIVER_TYPE A4988 +//#define E4_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -1852,7 +1855,6 @@ Black rubber belt(MXL), 18 - tooth aluminium pulley : 87.489 step per mm (Huxley // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/config/examples/RepRapWorld/Megatronics/Configuration.h b/Marlin/src/config/examples/RepRapWorld/Megatronics/Configuration.h index 1dd0e41fe50a..c93f1fad06cf 100644 --- a/Marlin/src/config/examples/RepRapWorld/Megatronics/Configuration.h +++ b/Marlin/src/config/examples/RepRapWorld/Megatronics/Configuration.h @@ -1780,7 +1780,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/config/examples/RigidBot/Configuration.h b/Marlin/src/config/examples/RigidBot/Configuration.h index 5379744fd608..438dbf0141da 100644 --- a/Marlin/src/config/examples/RigidBot/Configuration.h +++ b/Marlin/src/config/examples/RigidBot/Configuration.h @@ -1780,7 +1780,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/config/examples/SCARA/Configuration.h b/Marlin/src/config/examples/SCARA/Configuration.h index 50497c9ba521..aecb2f630ecf 100644 --- a/Marlin/src/config/examples/SCARA/Configuration.h +++ b/Marlin/src/config/examples/SCARA/Configuration.h @@ -1793,7 +1793,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/config/examples/STM32F10/Configuration.h b/Marlin/src/config/examples/STM32F10/Configuration.h index 34dda7bdbda6..24710c94444c 100644 --- a/Marlin/src/config/examples/STM32F10/Configuration.h +++ b/Marlin/src/config/examples/STM32F10/Configuration.h @@ -554,9 +554,12 @@ #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. /** - * Specify Stepper Driver types - * The options are used to determine driver pulse timings as well as more advanced functionality. - * Stepper timing options can be overridden in Configuration_adv.h + * Stepper Drivers + * + * These settings allow Marlin to tune stepper driver timing and enable advanced options for + * stepper drivers that support them. You may also override timing options in Configuration_adv.h. + * + * A4988 is assumed for unspecified drivers. * * Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, @@ -564,17 +567,17 @@ * TMC5130, TMC5130_STANDALONE * :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] */ -#define X_DRIVER_TYPE A4988 -#define Y_DRIVER_TYPE A4988 -#define Z_DRIVER_TYPE A4988 -#define X2_DRIVER_TYPE A4988 -#define Y2_DRIVER_TYPE A4988 -#define Z2_DRIVER_TYPE A4988 -#define E0_DRIVER_TYPE A4988 -#define E1_DRIVER_TYPE A4988 -#define E2_DRIVER_TYPE A4988 -#define E3_DRIVER_TYPE A4988 -#define E4_DRIVER_TYPE A4988 +//#define X_DRIVER_TYPE A4988 +//#define Y_DRIVER_TYPE A4988 +//#define Z_DRIVER_TYPE A4988 +//#define X2_DRIVER_TYPE A4988 +//#define Y2_DRIVER_TYPE A4988 +//#define Z2_DRIVER_TYPE A4988 +//#define E0_DRIVER_TYPE A4988 +//#define E1_DRIVER_TYPE A4988 +//#define E2_DRIVER_TYPE A4988 +//#define E3_DRIVER_TYPE A4988 +//#define E4_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -1805,7 +1808,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/config/examples/STM32F4/Configuration.h b/Marlin/src/config/examples/STM32F4/Configuration.h index e17efa0b693c..c57ba7e89651 100644 --- a/Marlin/src/config/examples/STM32F4/Configuration.h +++ b/Marlin/src/config/examples/STM32F4/Configuration.h @@ -552,9 +552,12 @@ #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. /** - * Specify Stepper Driver types - * The options are used to determine driver pulse timings as well as more advanced functionality. - * Stepper timing options can be overridden in Configuration_adv.h + * Stepper Drivers + * + * These settings allow Marlin to tune stepper driver timing and enable advanced options for + * stepper drivers that support them. You may also override timing options in Configuration_adv.h. + * + * A4988 is assumed for unspecified drivers. * * Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, @@ -562,17 +565,17 @@ * TMC5130, TMC5130_STANDALONE * :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] */ -#define X_DRIVER_TYPE A4988 -#define Y_DRIVER_TYPE A4988 -#define Z_DRIVER_TYPE A4988 -#define X2_DRIVER_TYPE A4988 -#define Y2_DRIVER_TYPE A4988 -#define Z2_DRIVER_TYPE A4988 -#define E0_DRIVER_TYPE A4988 -#define E1_DRIVER_TYPE A4988 -#define E2_DRIVER_TYPE A4988 -#define E3_DRIVER_TYPE A4988 -#define E4_DRIVER_TYPE A4988 +//#define X_DRIVER_TYPE A4988 +//#define Y_DRIVER_TYPE A4988 +//#define Z_DRIVER_TYPE A4988 +//#define X2_DRIVER_TYPE A4988 +//#define Y2_DRIVER_TYPE A4988 +//#define Z2_DRIVER_TYPE A4988 +//#define E0_DRIVER_TYPE A4988 +//#define E1_DRIVER_TYPE A4988 +//#define E2_DRIVER_TYPE A4988 +//#define E3_DRIVER_TYPE A4988 +//#define E4_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -1803,7 +1806,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/config/examples/Sanguinololu/Configuration.h b/Marlin/src/config/examples/Sanguinololu/Configuration.h index 22119f256775..09756fdbc85a 100644 --- a/Marlin/src/config/examples/Sanguinololu/Configuration.h +++ b/Marlin/src/config/examples/Sanguinololu/Configuration.h @@ -552,9 +552,12 @@ #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. /** - * Specify Stepper Driver types - * The options are used to determine driver pulse timings as well as more advanced functionality. - * Stepper timing options can be overridden in Configuration_adv.h + * Stepper Drivers + * + * These settings allow Marlin to tune stepper driver timing and enable advanced options for + * stepper drivers that support them. You may also override timing options in Configuration_adv.h. + * + * A4988 is assumed for unspecified drivers. * * Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, @@ -562,17 +565,17 @@ * TMC5130, TMC5130_STANDALONE * :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] */ -#define X_DRIVER_TYPE A4988 -#define Y_DRIVER_TYPE A4988 -#define Z_DRIVER_TYPE A4988 -#define X2_DRIVER_TYPE A4988 -#define Y2_DRIVER_TYPE A4988 -#define Z2_DRIVER_TYPE A4988 -#define E0_DRIVER_TYPE A4988 -#define E1_DRIVER_TYPE A4988 -#define E2_DRIVER_TYPE A4988 -#define E3_DRIVER_TYPE A4988 -#define E4_DRIVER_TYPE A4988 +//#define X_DRIVER_TYPE A4988 +//#define Y_DRIVER_TYPE A4988 +//#define Z_DRIVER_TYPE A4988 +//#define X2_DRIVER_TYPE A4988 +//#define Y2_DRIVER_TYPE A4988 +//#define Z2_DRIVER_TYPE A4988 +//#define E0_DRIVER_TYPE A4988 +//#define E1_DRIVER_TYPE A4988 +//#define E2_DRIVER_TYPE A4988 +//#define E3_DRIVER_TYPE A4988 +//#define E4_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -1834,7 +1837,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/config/examples/TheBorg/Configuration.h b/Marlin/src/config/examples/TheBorg/Configuration.h index 8da6fa860e32..f4be5545af66 100644 --- a/Marlin/src/config/examples/TheBorg/Configuration.h +++ b/Marlin/src/config/examples/TheBorg/Configuration.h @@ -1780,7 +1780,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/config/examples/TinyBoy2/Configuration.h b/Marlin/src/config/examples/TinyBoy2/Configuration.h index 00996550aa08..dca6fb9784e0 100644 --- a/Marlin/src/config/examples/TinyBoy2/Configuration.h +++ b/Marlin/src/config/examples/TinyBoy2/Configuration.h @@ -603,9 +603,12 @@ #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. /** - * Specify Stepper Driver types - * The options are used to determine driver pulse timings as well as more advanced functionality. - * Stepper timing options can be overridden in Configuration_adv.h + * Stepper Drivers + * + * These settings allow Marlin to tune stepper driver timing and enable advanced options for + * stepper drivers that support them. You may also override timing options in Configuration_adv.h. + * + * A4988 is assumed for unspecified drivers. * * Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, @@ -613,17 +616,17 @@ * TMC5130, TMC5130_STANDALONE * :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] */ -#define X_DRIVER_TYPE A4988 -#define Y_DRIVER_TYPE A4988 -#define Z_DRIVER_TYPE A4988 -#define X2_DRIVER_TYPE A4988 -#define Y2_DRIVER_TYPE A4988 -#define Z2_DRIVER_TYPE A4988 -#define E0_DRIVER_TYPE A4988 -#define E1_DRIVER_TYPE A4988 -#define E2_DRIVER_TYPE A4988 -#define E3_DRIVER_TYPE A4988 -#define E4_DRIVER_TYPE A4988 +//#define X_DRIVER_TYPE A4988 +//#define Y_DRIVER_TYPE A4988 +//#define Z_DRIVER_TYPE A4988 +//#define X2_DRIVER_TYPE A4988 +//#define Y2_DRIVER_TYPE A4988 +//#define Z2_DRIVER_TYPE A4988 +//#define E0_DRIVER_TYPE A4988 +//#define E1_DRIVER_TYPE A4988 +//#define E2_DRIVER_TYPE A4988 +//#define E3_DRIVER_TYPE A4988 +//#define E4_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -1859,7 +1862,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/config/examples/Tronxy/X1/Configuration.h b/Marlin/src/config/examples/Tronxy/X1/Configuration.h index e1994ea1d2af..6ab113c31bfb 100644 --- a/Marlin/src/config/examples/Tronxy/X1/Configuration.h +++ b/Marlin/src/config/examples/Tronxy/X1/Configuration.h @@ -552,9 +552,12 @@ #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. /** - * Specify Stepper Driver types - * The options are used to determine driver pulse timings as well as more advanced functionality. - * Stepper timing options can be overridden in Configuration_adv.h + * Stepper Drivers + * + * These settings allow Marlin to tune stepper driver timing and enable advanced options for + * stepper drivers that support them. You may also override timing options in Configuration_adv.h. + * + * A4988 is assumed for unspecified drivers. * * Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, @@ -562,17 +565,17 @@ * TMC5130, TMC5130_STANDALONE * :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] */ -#define X_DRIVER_TYPE A4988 -#define Y_DRIVER_TYPE A4988 -#define Z_DRIVER_TYPE A4988 -#define X2_DRIVER_TYPE A4988 -#define Y2_DRIVER_TYPE A4988 -#define Z2_DRIVER_TYPE A4988 -#define E0_DRIVER_TYPE A4988 -#define E1_DRIVER_TYPE A4988 -#define E2_DRIVER_TYPE A4988 -#define E3_DRIVER_TYPE A4988 -#define E4_DRIVER_TYPE A4988 +//#define X_DRIVER_TYPE A4988 +//#define Y_DRIVER_TYPE A4988 +//#define Z_DRIVER_TYPE A4988 +//#define X2_DRIVER_TYPE A4988 +//#define Y2_DRIVER_TYPE A4988 +//#define Z2_DRIVER_TYPE A4988 +//#define E0_DRIVER_TYPE A4988 +//#define E1_DRIVER_TYPE A4988 +//#define E2_DRIVER_TYPE A4988 +//#define E3_DRIVER_TYPE A4988 +//#define E4_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -1803,7 +1806,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/config/examples/Tronxy/X3A/Configuration.h b/Marlin/src/config/examples/Tronxy/X3A/Configuration.h index c6c64da3e4b8..af94b3376780 100644 --- a/Marlin/src/config/examples/Tronxy/X3A/Configuration.h +++ b/Marlin/src/config/examples/Tronxy/X3A/Configuration.h @@ -1785,7 +1785,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/config/examples/Tronxy/X5S/Configuration.h b/Marlin/src/config/examples/Tronxy/X5S/Configuration.h index 46ad95f9a01a..51728de62dbe 100644 --- a/Marlin/src/config/examples/Tronxy/X5S/Configuration.h +++ b/Marlin/src/config/examples/Tronxy/X5S/Configuration.h @@ -1780,7 +1780,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/config/examples/Tronxy/XY100/Configuration.h b/Marlin/src/config/examples/Tronxy/XY100/Configuration.h index 9b88a0e47632..e09aeac6727a 100644 --- a/Marlin/src/config/examples/Tronxy/XY100/Configuration.h +++ b/Marlin/src/config/examples/Tronxy/XY100/Configuration.h @@ -563,9 +563,12 @@ #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. /** - * Specify Stepper Driver types - * The options are used to determine driver pulse timings as well as more advanced functionality. - * Stepper timing options can be overridden in Configuration_adv.h + * Stepper Drivers + * + * These settings allow Marlin to tune stepper driver timing and enable advanced options for + * stepper drivers that support them. You may also override timing options in Configuration_adv.h. + * + * A4988 is assumed for unspecified drivers. * * Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, @@ -573,17 +576,17 @@ * TMC5130, TMC5130_STANDALONE * :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] */ -#define X_DRIVER_TYPE A4988 -#define Y_DRIVER_TYPE A4988 -#define Z_DRIVER_TYPE A4988 -#define X2_DRIVER_TYPE A4988 -#define Y2_DRIVER_TYPE A4988 -#define Z2_DRIVER_TYPE A4988 -#define E0_DRIVER_TYPE A4988 -#define E1_DRIVER_TYPE A4988 -#define E2_DRIVER_TYPE A4988 -#define E3_DRIVER_TYPE A4988 -#define E4_DRIVER_TYPE A4988 +//#define X_DRIVER_TYPE A4988 +//#define Y_DRIVER_TYPE A4988 +//#define Z_DRIVER_TYPE A4988 +//#define X2_DRIVER_TYPE A4988 +//#define Y2_DRIVER_TYPE A4988 +//#define Z2_DRIVER_TYPE A4988 +//#define E0_DRIVER_TYPE A4988 +//#define E1_DRIVER_TYPE A4988 +//#define E2_DRIVER_TYPE A4988 +//#define E3_DRIVER_TYPE A4988 +//#define E4_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -1814,7 +1817,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/config/examples/UltiMachine/Archim2/Configuration.h b/Marlin/src/config/examples/UltiMachine/Archim2/Configuration.h index 13d38e3d32eb..19dbeb336c77 100644 --- a/Marlin/src/config/examples/UltiMachine/Archim2/Configuration.h +++ b/Marlin/src/config/examples/UltiMachine/Archim2/Configuration.h @@ -552,9 +552,12 @@ #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. /** - * Specify Stepper Driver types - * The options are used to determine driver pulse timings as well as more advanced functionality. - * Stepper timing options can be overridden in Configuration_adv.h + * Stepper Drivers + * + * These settings allow Marlin to tune stepper driver timing and enable advanced options for + * stepper drivers that support them. You may also override timing options in Configuration_adv.h. + * + * A4988 is assumed for unspecified drivers. * * Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, @@ -1803,7 +1806,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/config/examples/Velleman/K8200/Configuration.h b/Marlin/src/config/examples/Velleman/K8200/Configuration.h index 94436c52f15b..5650536f3154 100644 --- a/Marlin/src/config/examples/Velleman/K8200/Configuration.h +++ b/Marlin/src/config/examples/Velleman/K8200/Configuration.h @@ -582,9 +582,12 @@ #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. /** - * Specify Stepper Driver types - * The options are used to determine driver pulse timings as well as more advanced functionality. - * Stepper timing options can be overridden in Configuration_adv.h + * Stepper Drivers + * + * These settings allow Marlin to tune stepper driver timing and enable advanced options for + * stepper drivers that support them. You may also override timing options in Configuration_adv.h. + * + * A4988 is assumed for unspecified drivers. * * Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, @@ -592,17 +595,17 @@ * TMC5130, TMC5130_STANDALONE * :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] */ -#define X_DRIVER_TYPE A4988 -#define Y_DRIVER_TYPE A4988 -#define Z_DRIVER_TYPE A4988 -#define X2_DRIVER_TYPE A4988 -#define Y2_DRIVER_TYPE A4988 -#define Z2_DRIVER_TYPE A4988 -#define E0_DRIVER_TYPE A4988 -#define E1_DRIVER_TYPE A4988 -#define E2_DRIVER_TYPE A4988 -#define E3_DRIVER_TYPE A4988 -#define E4_DRIVER_TYPE A4988 +//#define X_DRIVER_TYPE A4988 +//#define Y_DRIVER_TYPE A4988 +//#define Z_DRIVER_TYPE A4988 +//#define X2_DRIVER_TYPE A4988 +//#define Y2_DRIVER_TYPE A4988 +//#define Z2_DRIVER_TYPE A4988 +//#define E0_DRIVER_TYPE A4988 +//#define E1_DRIVER_TYPE A4988 +//#define E2_DRIVER_TYPE A4988 +//#define E3_DRIVER_TYPE A4988 +//#define E4_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -1838,7 +1841,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/config/examples/Velleman/K8400/Configuration.h b/Marlin/src/config/examples/Velleman/K8400/Configuration.h index cf35acc3885f..b61fd82d61ce 100644 --- a/Marlin/src/config/examples/Velleman/K8400/Configuration.h +++ b/Marlin/src/config/examples/Velleman/K8400/Configuration.h @@ -1780,7 +1780,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/config/examples/Velleman/K8400/Dual-head/Configuration.h b/Marlin/src/config/examples/Velleman/K8400/Dual-head/Configuration.h index d5dcea666e17..1d2a37397a7f 100644 --- a/Marlin/src/config/examples/Velleman/K8400/Dual-head/Configuration.h +++ b/Marlin/src/config/examples/Velleman/K8400/Dual-head/Configuration.h @@ -1780,7 +1780,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration.h b/Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration.h index 24dfbf5f53c3..d3449cc33e55 100644 --- a/Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration.h +++ b/Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration.h @@ -562,9 +562,12 @@ #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. /** - * Specify Stepper Driver types - * The options are used to determine driver pulse timings as well as more advanced functionality. - * Stepper timing options can be overridden in Configuration_adv.h + * Stepper Drivers + * + * These settings allow Marlin to tune stepper driver timing and enable advanced options for + * stepper drivers that support them. You may also override timing options in Configuration_adv.h. + * + * A4988 is assumed for unspecified drivers. * * Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, @@ -572,17 +575,17 @@ * TMC5130, TMC5130_STANDALONE * :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] */ -#define X_DRIVER_TYPE A4988 -#define Y_DRIVER_TYPE A4988 -#define Z_DRIVER_TYPE A4988 -#define X2_DRIVER_TYPE A4988 -#define Y2_DRIVER_TYPE A4988 -#define Z2_DRIVER_TYPE A4988 -#define E0_DRIVER_TYPE A4988 -#define E1_DRIVER_TYPE A4988 -#define E2_DRIVER_TYPE A4988 -#define E3_DRIVER_TYPE A4988 -#define E4_DRIVER_TYPE A4988 +//#define X_DRIVER_TYPE A4988 +//#define Y_DRIVER_TYPE A4988 +//#define Z_DRIVER_TYPE A4988 +//#define X2_DRIVER_TYPE A4988 +//#define Y2_DRIVER_TYPE A4988 +//#define Z2_DRIVER_TYPE A4988 +//#define E0_DRIVER_TYPE A4988 +//#define E1_DRIVER_TYPE A4988 +//#define E2_DRIVER_TYPE A4988 +//#define E3_DRIVER_TYPE A4988 +//#define E4_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -1816,7 +1819,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/config/examples/adafruit/ST7565/Configuration.h b/Marlin/src/config/examples/adafruit/ST7565/Configuration.h index 16bb51cb6d98..abb2a3ddb4b1 100644 --- a/Marlin/src/config/examples/adafruit/ST7565/Configuration.h +++ b/Marlin/src/config/examples/adafruit/ST7565/Configuration.h @@ -552,9 +552,12 @@ #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. /** - * Specify Stepper Driver types - * The options are used to determine driver pulse timings as well as more advanced functionality. - * Stepper timing options can be overridden in Configuration_adv.h + * Stepper Drivers + * + * These settings allow Marlin to tune stepper driver timing and enable advanced options for + * stepper drivers that support them. You may also override timing options in Configuration_adv.h. + * + * A4988 is assumed for unspecified drivers. * * Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, @@ -562,17 +565,17 @@ * TMC5130, TMC5130_STANDALONE * :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] */ -#define X_DRIVER_TYPE A4988 -#define Y_DRIVER_TYPE A4988 -#define Z_DRIVER_TYPE A4988 -#define X2_DRIVER_TYPE A4988 -#define Y2_DRIVER_TYPE A4988 -#define Z2_DRIVER_TYPE A4988 -#define E0_DRIVER_TYPE A4988 -#define E1_DRIVER_TYPE A4988 -#define E2_DRIVER_TYPE A4988 -#define E3_DRIVER_TYPE A4988 -#define E4_DRIVER_TYPE A4988 +//#define X_DRIVER_TYPE A4988 +//#define Y_DRIVER_TYPE A4988 +//#define Z_DRIVER_TYPE A4988 +//#define X2_DRIVER_TYPE A4988 +//#define Y2_DRIVER_TYPE A4988 +//#define Z2_DRIVER_TYPE A4988 +//#define E0_DRIVER_TYPE A4988 +//#define E1_DRIVER_TYPE A4988 +//#define E2_DRIVER_TYPE A4988 +//#define E3_DRIVER_TYPE A4988 +//#define E4_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -1809,7 +1812,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration.h b/Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration.h index 5b7a29d28e9e..e78480f786f4 100644 --- a/Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration.h +++ b/Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration.h @@ -1916,7 +1916,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/config/examples/delta/FLSUN/kossel/Configuration.h b/Marlin/src/config/examples/delta/FLSUN/kossel/Configuration.h index f9cc2063f101..4a091a2617a4 100644 --- a/Marlin/src/config/examples/delta/FLSUN/kossel/Configuration.h +++ b/Marlin/src/config/examples/delta/FLSUN/kossel/Configuration.h @@ -1915,7 +1915,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration.h b/Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration.h index 11b40f71ed65..e90b9ef00f7f 100644 --- a/Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration.h +++ b/Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration.h @@ -628,9 +628,12 @@ #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. /** - * Specify Stepper Driver types - * The options are used to determine driver pulse timings as well as more advanced functionality. - * Stepper timing options can be overridden in Configuration_adv.h + * Stepper Drivers + * + * These settings allow Marlin to tune stepper driver timing and enable advanced options for + * stepper drivers that support them. You may also override timing options in Configuration_adv.h. + * + * A4988 is assumed for unspecified drivers. * * Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, @@ -638,17 +641,17 @@ * TMC5130, TMC5130_STANDALONE * :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] */ -#define X_DRIVER_TYPE A4988 -#define Y_DRIVER_TYPE A4988 -#define Z_DRIVER_TYPE A4988 -#define X2_DRIVER_TYPE A4988 -#define Y2_DRIVER_TYPE A4988 -#define Z2_DRIVER_TYPE A4988 -#define E0_DRIVER_TYPE A4988 -#define E1_DRIVER_TYPE A4988 -#define E2_DRIVER_TYPE A4988 -#define E3_DRIVER_TYPE A4988 -#define E4_DRIVER_TYPE A4988 +//#define X_DRIVER_TYPE A4988 +//#define Y_DRIVER_TYPE A4988 +//#define Z_DRIVER_TYPE A4988 +//#define X2_DRIVER_TYPE A4988 +//#define Y2_DRIVER_TYPE A4988 +//#define Z2_DRIVER_TYPE A4988 +//#define E0_DRIVER_TYPE A4988 +//#define E1_DRIVER_TYPE A4988 +//#define E2_DRIVER_TYPE A4988 +//#define E3_DRIVER_TYPE A4988 +//#define E4_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -1937,7 +1940,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/config/examples/delta/Hatchbox_Alpha/Configuration.h b/Marlin/src/config/examples/delta/Hatchbox_Alpha/Configuration.h index f9bb2a615f00..1b5d6478977f 100644 --- a/Marlin/src/config/examples/delta/Hatchbox_Alpha/Configuration.h +++ b/Marlin/src/config/examples/delta/Hatchbox_Alpha/Configuration.h @@ -1917,7 +1917,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/config/examples/delta/generic/Configuration.h b/Marlin/src/config/examples/delta/generic/Configuration.h index e6360aa25003..b9768d3b2747 100644 --- a/Marlin/src/config/examples/delta/generic/Configuration.h +++ b/Marlin/src/config/examples/delta/generic/Configuration.h @@ -1902,7 +1902,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/config/examples/delta/kossel_mini/Configuration.h b/Marlin/src/config/examples/delta/kossel_mini/Configuration.h index add9a040fe2b..e63f2438f522 100644 --- a/Marlin/src/config/examples/delta/kossel_mini/Configuration.h +++ b/Marlin/src/config/examples/delta/kossel_mini/Configuration.h @@ -618,9 +618,12 @@ #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. /** - * Specify Stepper Driver types - * The options are used to determine driver pulse timings as well as more advanced functionality. - * Stepper timing options can be overridden in Configuration_adv.h + * Stepper Drivers + * + * These settings allow Marlin to tune stepper driver timing and enable advanced options for + * stepper drivers that support them. You may also override timing options in Configuration_adv.h. + * + * A4988 is assumed for unspecified drivers. * * Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, @@ -628,17 +631,17 @@ * TMC5130, TMC5130_STANDALONE * :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] */ -#define X_DRIVER_TYPE A4988 -#define Y_DRIVER_TYPE A4988 -#define Z_DRIVER_TYPE A4988 -#define X2_DRIVER_TYPE A4988 -#define Y2_DRIVER_TYPE A4988 -#define Z2_DRIVER_TYPE A4988 -#define E0_DRIVER_TYPE A4988 -#define E1_DRIVER_TYPE A4988 -#define E2_DRIVER_TYPE A4988 -#define E3_DRIVER_TYPE A4988 -#define E4_DRIVER_TYPE A4988 +//#define X_DRIVER_TYPE A4988 +//#define Y_DRIVER_TYPE A4988 +//#define Z_DRIVER_TYPE A4988 +//#define X2_DRIVER_TYPE A4988 +//#define Y2_DRIVER_TYPE A4988 +//#define Z2_DRIVER_TYPE A4988 +//#define E0_DRIVER_TYPE A4988 +//#define E1_DRIVER_TYPE A4988 +//#define E2_DRIVER_TYPE A4988 +//#define E3_DRIVER_TYPE A4988 +//#define E4_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -1927,7 +1930,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/config/examples/delta/kossel_pro/Configuration.h b/Marlin/src/config/examples/delta/kossel_pro/Configuration.h index f3f61ccd5dd2..ac846c4b7908 100644 --- a/Marlin/src/config/examples/delta/kossel_pro/Configuration.h +++ b/Marlin/src/config/examples/delta/kossel_pro/Configuration.h @@ -604,9 +604,12 @@ #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. /** - * Specify Stepper Driver types - * The options are used to determine driver pulse timings as well as more advanced functionality. - * Stepper timing options can be overridden in Configuration_adv.h + * Stepper Drivers + * + * These settings allow Marlin to tune stepper driver timing and enable advanced options for + * stepper drivers that support them. You may also override timing options in Configuration_adv.h. + * + * A4988 is assumed for unspecified drivers. * * Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, @@ -614,17 +617,17 @@ * TMC5130, TMC5130_STANDALONE * :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] */ -#define X_DRIVER_TYPE A4988 -#define Y_DRIVER_TYPE A4988 -#define Z_DRIVER_TYPE A4988 -#define X2_DRIVER_TYPE A4988 -#define Y2_DRIVER_TYPE A4988 -#define Z2_DRIVER_TYPE A4988 -#define E0_DRIVER_TYPE A4988 -#define E1_DRIVER_TYPE A4988 -#define E2_DRIVER_TYPE A4988 -#define E3_DRIVER_TYPE A4988 -#define E4_DRIVER_TYPE A4988 +//#define X_DRIVER_TYPE A4988 +//#define Y_DRIVER_TYPE A4988 +//#define Z_DRIVER_TYPE A4988 +//#define X2_DRIVER_TYPE A4988 +//#define Y2_DRIVER_TYPE A4988 +//#define Z2_DRIVER_TYPE A4988 +//#define E0_DRIVER_TYPE A4988 +//#define E1_DRIVER_TYPE A4988 +//#define E2_DRIVER_TYPE A4988 +//#define E3_DRIVER_TYPE A4988 +//#define E4_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -1928,7 +1931,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/config/examples/delta/kossel_xl/Configuration.h b/Marlin/src/config/examples/delta/kossel_xl/Configuration.h index a4a0cc02a180..20a81cbc992d 100644 --- a/Marlin/src/config/examples/delta/kossel_xl/Configuration.h +++ b/Marlin/src/config/examples/delta/kossel_xl/Configuration.h @@ -622,9 +622,12 @@ #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. /** - * Specify Stepper Driver types - * The options are used to determine driver pulse timings as well as more advanced functionality. - * Stepper timing options can be overridden in Configuration_adv.h + * Stepper Drivers + * + * These settings allow Marlin to tune stepper driver timing and enable advanced options for + * stepper drivers that support them. You may also override timing options in Configuration_adv.h. + * + * A4988 is assumed for unspecified drivers. * * Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, @@ -632,17 +635,17 @@ * TMC5130, TMC5130_STANDALONE * :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] */ -#define X_DRIVER_TYPE A4988 -#define Y_DRIVER_TYPE A4988 -#define Z_DRIVER_TYPE A4988 -#define X2_DRIVER_TYPE A4988 -#define Y2_DRIVER_TYPE A4988 -#define Z2_DRIVER_TYPE A4988 -#define E0_DRIVER_TYPE A4988 -#define E1_DRIVER_TYPE A4988 -#define E2_DRIVER_TYPE A4988 -#define E3_DRIVER_TYPE A4988 -#define E4_DRIVER_TYPE A4988 +//#define X_DRIVER_TYPE A4988 +//#define Y_DRIVER_TYPE A4988 +//#define Z_DRIVER_TYPE A4988 +//#define X2_DRIVER_TYPE A4988 +//#define Y2_DRIVER_TYPE A4988 +//#define Z2_DRIVER_TYPE A4988 +//#define E0_DRIVER_TYPE A4988 +//#define E1_DRIVER_TYPE A4988 +//#define E2_DRIVER_TYPE A4988 +//#define E3_DRIVER_TYPE A4988 +//#define E4_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -1928,7 +1931,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/config/examples/gCreate/gMax1.5+/Configuration.h b/Marlin/src/config/examples/gCreate/gMax1.5+/Configuration.h index 1389e3220dca..152a943d7414 100644 --- a/Marlin/src/config/examples/gCreate/gMax1.5+/Configuration.h +++ b/Marlin/src/config/examples/gCreate/gMax1.5+/Configuration.h @@ -565,9 +565,12 @@ #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. /** - * Specify Stepper Driver types - * The options are used to determine driver pulse timings as well as more advanced functionality. - * Stepper timing options can be overridden in Configuration_adv.h + * Stepper Drivers + * + * These settings allow Marlin to tune stepper driver timing and enable advanced options for + * stepper drivers that support them. You may also override timing options in Configuration_adv.h. + * + * A4988 is assumed for unspecified drivers. * * Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, @@ -575,17 +578,17 @@ * TMC5130, TMC5130_STANDALONE * :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] */ -#define X_DRIVER_TYPE A4988 -#define Y_DRIVER_TYPE A4988 -#define Z_DRIVER_TYPE A4988 -#define X2_DRIVER_TYPE A4988 -#define Y2_DRIVER_TYPE A4988 -#define Z2_DRIVER_TYPE A4988 -#define E0_DRIVER_TYPE A4988 -#define E1_DRIVER_TYPE A4988 -#define E2_DRIVER_TYPE A4988 -#define E3_DRIVER_TYPE A4988 -#define E4_DRIVER_TYPE A4988 +//#define X_DRIVER_TYPE A4988 +//#define Y_DRIVER_TYPE A4988 +//#define Z_DRIVER_TYPE A4988 +//#define X2_DRIVER_TYPE A4988 +//#define Y2_DRIVER_TYPE A4988 +//#define Z2_DRIVER_TYPE A4988 +//#define E0_DRIVER_TYPE A4988 +//#define E1_DRIVER_TYPE A4988 +//#define E2_DRIVER_TYPE A4988 +//#define E3_DRIVER_TYPE A4988 +//#define E4_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -1817,7 +1820,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/config/examples/makibox/Configuration.h b/Marlin/src/config/examples/makibox/Configuration.h index 2c1c9d9cf8d1..a1ad293b9343 100644 --- a/Marlin/src/config/examples/makibox/Configuration.h +++ b/Marlin/src/config/examples/makibox/Configuration.h @@ -555,9 +555,12 @@ #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. /** - * Specify Stepper Driver types - * The options are used to determine driver pulse timings as well as more advanced functionality. - * Stepper timing options can be overridden in Configuration_adv.h + * Stepper Drivers + * + * These settings allow Marlin to tune stepper driver timing and enable advanced options for + * stepper drivers that support them. You may also override timing options in Configuration_adv.h. + * + * A4988 is assumed for unspecified drivers. * * Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, @@ -565,17 +568,17 @@ * TMC5130, TMC5130_STANDALONE * :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] */ -#define X_DRIVER_TYPE A4988 -#define Y_DRIVER_TYPE A4988 -#define Z_DRIVER_TYPE A4988 -#define X2_DRIVER_TYPE A4988 -#define Y2_DRIVER_TYPE A4988 -#define Z2_DRIVER_TYPE A4988 -#define E0_DRIVER_TYPE A4988 -#define E1_DRIVER_TYPE A4988 -#define E2_DRIVER_TYPE A4988 -#define E3_DRIVER_TYPE A4988 -#define E4_DRIVER_TYPE A4988 +//#define X_DRIVER_TYPE A4988 +//#define Y_DRIVER_TYPE A4988 +//#define Z_DRIVER_TYPE A4988 +//#define X2_DRIVER_TYPE A4988 +//#define Y2_DRIVER_TYPE A4988 +//#define Z2_DRIVER_TYPE A4988 +//#define E0_DRIVER_TYPE A4988 +//#define E1_DRIVER_TYPE A4988 +//#define E2_DRIVER_TYPE A4988 +//#define E3_DRIVER_TYPE A4988 +//#define E4_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -1806,7 +1809,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/config/examples/stm32f103ret6/Configuration.h b/Marlin/src/config/examples/stm32f103ret6/Configuration.h index 2c9c69e84a50..e6ad46f7da4d 100644 --- a/Marlin/src/config/examples/stm32f103ret6/Configuration.h +++ b/Marlin/src/config/examples/stm32f103ret6/Configuration.h @@ -554,9 +554,12 @@ #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. /** - * Specify Stepper Driver types - * The options are used to determine driver pulse timings as well as more advanced functionality. - * Stepper timing options can be overridden in Configuration_adv.h + * Stepper Drivers + * + * These settings allow Marlin to tune stepper driver timing and enable advanced options for + * stepper drivers that support them. You may also override timing options in Configuration_adv.h. + * + * A4988 is assumed for unspecified drivers. * * Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, @@ -564,17 +567,17 @@ * TMC5130, TMC5130_STANDALONE * :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] */ -#define X_DRIVER_TYPE A4988 -#define Y_DRIVER_TYPE A4988 -#define Z_DRIVER_TYPE A4988 -#define X2_DRIVER_TYPE A4988 -#define Y2_DRIVER_TYPE A4988 -#define Z2_DRIVER_TYPE A4988 -#define E0_DRIVER_TYPE A4988 -#define E1_DRIVER_TYPE A4988 -#define E2_DRIVER_TYPE A4988 -#define E3_DRIVER_TYPE A4988 -#define E4_DRIVER_TYPE A4988 +//#define X_DRIVER_TYPE A4988 +//#define Y_DRIVER_TYPE A4988 +//#define Z_DRIVER_TYPE A4988 +//#define X2_DRIVER_TYPE A4988 +//#define Y2_DRIVER_TYPE A4988 +//#define Z2_DRIVER_TYPE A4988 +//#define E0_DRIVER_TYPE A4988 +//#define E1_DRIVER_TYPE A4988 +//#define E2_DRIVER_TYPE A4988 +//#define E3_DRIVER_TYPE A4988 +//#define E4_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -1805,7 +1808,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/config/examples/tvrrug/Round2/Configuration.h b/Marlin/src/config/examples/tvrrug/Round2/Configuration.h index dd59302c2ba3..c304bb3fa671 100644 --- a/Marlin/src/config/examples/tvrrug/Round2/Configuration.h +++ b/Marlin/src/config/examples/tvrrug/Round2/Configuration.h @@ -1775,7 +1775,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/config/examples/wt150/Configuration.h b/Marlin/src/config/examples/wt150/Configuration.h index fb1ad71f884d..523fe71d0528 100644 --- a/Marlin/src/config/examples/wt150/Configuration.h +++ b/Marlin/src/config/examples/wt150/Configuration.h @@ -557,9 +557,12 @@ #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. /** - * Specify Stepper Driver types - * The options are used to determine driver pulse timings as well as more advanced functionality. - * Stepper timing options can be overridden in Configuration_adv.h + * Stepper Drivers + * + * These settings allow Marlin to tune stepper driver timing and enable advanced options for + * stepper drivers that support them. You may also override timing options in Configuration_adv.h. + * + * A4988 is assumed for unspecified drivers. * * Options: A4988, A5984, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100, * TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE, @@ -567,17 +570,17 @@ * TMC5130, TMC5130_STANDALONE * :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE'] */ -#define X_DRIVER_TYPE A4988 -#define Y_DRIVER_TYPE A4988 -#define Z_DRIVER_TYPE A4988 -#define X2_DRIVER_TYPE A4988 -#define Y2_DRIVER_TYPE A4988 -#define Z2_DRIVER_TYPE A4988 -#define E0_DRIVER_TYPE A4988 -#define E1_DRIVER_TYPE A4988 -#define E2_DRIVER_TYPE A4988 -#define E3_DRIVER_TYPE A4988 -#define E4_DRIVER_TYPE A4988 +//#define X_DRIVER_TYPE A4988 +//#define Y_DRIVER_TYPE A4988 +//#define Z_DRIVER_TYPE A4988 +//#define X2_DRIVER_TYPE A4988 +//#define Y2_DRIVER_TYPE A4988 +//#define Z2_DRIVER_TYPE A4988 +//#define E0_DRIVER_TYPE A4988 +//#define E1_DRIVER_TYPE A4988 +//#define E2_DRIVER_TYPE A4988 +//#define E3_DRIVER_TYPE A4988 +//#define E4_DRIVER_TYPE A4988 // Enable this feature if all enabled endstop pins are interrupt-capable. // This will remove the need to poll the interrupt pins, saving many CPU cycles. @@ -1808,7 +1811,6 @@ // // LCD for Malyan M200 printers. -// This requires SDSUPPORT to be enabled // //#define MALYAN_LCD diff --git a/Marlin/src/core/drivers.h b/Marlin/src/core/drivers.h index e632062fd354..6ba0df7d4953 100644 --- a/Marlin/src/core/drivers.h +++ b/Marlin/src/core/drivers.h @@ -40,19 +40,21 @@ #define TMC2660 0x10C #define TMC2660_STANDALONE 0x00C -#define AXIS_DRIVER_TYPE(A,T) ( defined(A##_DRIVER_TYPE) && (A##_DRIVER_TYPE == T) ) +#define _AXIS_DRIVER_TYPE(A,T) ( defined(A##_DRIVER_TYPE) && (A##_DRIVER_TYPE == T) ) -#define AXIS_DRIVER_TYPE_X(T) AXIS_DRIVER_TYPE(X,T) -#define AXIS_DRIVER_TYPE_Y(T) AXIS_DRIVER_TYPE(Y,T) -#define AXIS_DRIVER_TYPE_Z(T) AXIS_DRIVER_TYPE(Z,T) -#define AXIS_DRIVER_TYPE_X2(T) (ENABLED(X_DUAL_STEPPER_DRIVERS) || ENABLED(DUAL_X_CARRIAGE)) && AXIS_DRIVER_TYPE(X2,T) -#define AXIS_DRIVER_TYPE_Y2(T) (ENABLED(Y_DUAL_STEPPER_DRIVERS) && AXIS_DRIVER_TYPE(Y2,T)) -#define AXIS_DRIVER_TYPE_Z2(T) (ENABLED(Z_DUAL_STEPPER_DRIVERS) && AXIS_DRIVER_TYPE(Z2,T)) -#define AXIS_DRIVER_TYPE_E0(T) (E_STEPPERS > 0 && AXIS_DRIVER_TYPE(E0,T)) -#define AXIS_DRIVER_TYPE_E1(T) (E_STEPPERS > 1 && AXIS_DRIVER_TYPE(E1,T)) -#define AXIS_DRIVER_TYPE_E2(T) (E_STEPPERS > 2 && AXIS_DRIVER_TYPE(E2,T)) -#define AXIS_DRIVER_TYPE_E3(T) (E_STEPPERS > 3 && AXIS_DRIVER_TYPE(E3,T)) -#define AXIS_DRIVER_TYPE_E4(T) (E_STEPPERS > 4 && AXIS_DRIVER_TYPE(E4,T)) +#define AXIS_DRIVER_TYPE_X(T) _AXIS_DRIVER_TYPE(X,T) +#define AXIS_DRIVER_TYPE_Y(T) _AXIS_DRIVER_TYPE(Y,T) +#define AXIS_DRIVER_TYPE_Z(T) _AXIS_DRIVER_TYPE(Z,T) +#define AXIS_DRIVER_TYPE_X2(T) (ENABLED(X_DUAL_STEPPER_DRIVERS) || ENABLED(DUAL_X_CARRIAGE)) && _AXIS_DRIVER_TYPE(X2,T) +#define AXIS_DRIVER_TYPE_Y2(T) (ENABLED(Y_DUAL_STEPPER_DRIVERS) && _AXIS_DRIVER_TYPE(Y2,T)) +#define AXIS_DRIVER_TYPE_Z2(T) (ENABLED(Z_DUAL_STEPPER_DRIVERS) && _AXIS_DRIVER_TYPE(Z2,T)) +#define AXIS_DRIVER_TYPE_E0(T) (E_STEPPERS > 0 && _AXIS_DRIVER_TYPE(E0,T)) +#define AXIS_DRIVER_TYPE_E1(T) (E_STEPPERS > 1 && _AXIS_DRIVER_TYPE(E1,T)) +#define AXIS_DRIVER_TYPE_E2(T) (E_STEPPERS > 2 && _AXIS_DRIVER_TYPE(E2,T)) +#define AXIS_DRIVER_TYPE_E3(T) (E_STEPPERS > 3 && _AXIS_DRIVER_TYPE(E3,T)) +#define AXIS_DRIVER_TYPE_E4(T) (E_STEPPERS > 4 && _AXIS_DRIVER_TYPE(E4,T)) + +#define AXIS_DRIVER_TYPE(A,T) AXIS_DRIVER_TYPE_##A(T) #define HAS_DRIVER(T) (AXIS_DRIVER_TYPE_X(T) || AXIS_DRIVER_TYPE_X2(T) || \ AXIS_DRIVER_TYPE_Y(T) || AXIS_DRIVER_TYPE_Y2(T) || \ @@ -66,5 +68,4 @@ #define HAS_TRINAMIC (HAS_DRIVER(TMC2130) || HAS_DRIVER(TMC2208)) #define AXIS_IS_TMC(A) ( AXIS_DRIVER_TYPE_##A(TMC2130) || \ - AXIS_DRIVER_TYPE_##A(TMC2208) || \ - AXIS_DRIVER_TYPE_##A(TMC2660) ) + AXIS_DRIVER_TYPE_##A(TMC2208) ) diff --git a/Marlin/src/feature/Max7219_Debug_LEDs.cpp b/Marlin/src/feature/Max7219_Debug_LEDs.cpp index 3e808d56beb5..c69be41d4e92 100644 --- a/Marlin/src/feature/Max7219_Debug_LEDs.cpp +++ b/Marlin/src/feature/Max7219_Debug_LEDs.cpp @@ -46,7 +46,7 @@ #include "../module/planner.h" #include "../module/stepper.h" #include "../Marlin.h" -#include "../HAL/Delay.h" +#include "../HAL/shared/Delay.h" uint8_t LEDs[8 * (MAX7219_NUMBER_UNITS)] = { 0 }; diff --git a/Marlin/src/feature/Max7219_Debug_LEDs.h b/Marlin/src/feature/Max7219_Debug_LEDs.h index e550a2906df4..d1b11d10b23c 100644 --- a/Marlin/src/feature/Max7219_Debug_LEDs.h +++ b/Marlin/src/feature/Max7219_Debug_LEDs.h @@ -64,6 +64,7 @@ #define max7219_reg_displayTest 0x0F void Max7219_init(); +void Max7219_register_setup(); void Max7219_PutByte(uint8_t data); void Max7219_pulse_load(); diff --git a/Marlin/src/feature/bedlevel/ubl/ubl.h b/Marlin/src/feature/bedlevel/ubl/ubl.h index cbd5ed4bf6bb..2db2b4dd7adc 100644 --- a/Marlin/src/feature/bedlevel/ubl/ubl.h +++ b/Marlin/src/feature/bedlevel/ubl/ubl.h @@ -215,7 +215,7 @@ class unified_bed_leveling { * z_correction_for_x_on_horizontal_mesh_line is an optimization for * the case where the printer is making a vertical line that only crosses horizontal mesh lines. */ - inline static float z_correction_for_x_on_horizontal_mesh_line(const float &rx0, const int x1_i, const int yi) { + static inline float z_correction_for_x_on_horizontal_mesh_line(const float &rx0, const int x1_i, const int yi) { if (!WITHIN(x1_i, 0, GRID_MAX_POINTS_X - 1) || !WITHIN(yi, 0, GRID_MAX_POINTS_Y - 1)) { #if ENABLED(DEBUG_LEVELING_FEATURE) if (DEBUGGING(LEVELING)) { @@ -249,7 +249,7 @@ class unified_bed_leveling { // // See comments above for z_correction_for_x_on_horizontal_mesh_line // - inline static float z_correction_for_y_on_vertical_mesh_line(const float &ry0, const int xi, const int y1_i) { + static inline float z_correction_for_y_on_vertical_mesh_line(const float &ry0, const int xi, const int y1_i) { if (!WITHIN(xi, 0, GRID_MAX_POINTS_X - 1) || !WITHIN(y1_i, 0, GRID_MAX_POINTS_Y - 1)) { #if ENABLED(DEBUG_LEVELING_FEATURE) if (DEBUGGING(LEVELING)) { @@ -362,7 +362,7 @@ class unified_bed_leveling { static void line_to_destination_cartesian(const float &fr, const uint8_t e); #endif - inline static bool mesh_is_valid() { + static inline bool mesh_is_valid() { for (uint8_t x = 0; x < GRID_MAX_POINTS_X; x++) for (uint8_t y = 0; y < GRID_MAX_POINTS_Y; y++) if (isnan(z_values[x][y])) return false; diff --git a/Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp b/Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp index 654b4c193c22..422513840b5a 100644 --- a/Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp +++ b/Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp @@ -29,6 +29,7 @@ #include "ubl.h" #include "../../../Marlin.h" + #include "../../../HAL/shared/persistent_store_api.h" #include "../../../libs/hex_print_routines.h" #include "../../../module/configuration_store.h" #include "../../../lcd/ultralcd.h" @@ -1167,24 +1168,24 @@ * right now, it is good to have the extra information. Soon... we prune this. */ void unified_bed_leveling::g29_eeprom_dump() { - unsigned char cccc; - unsigned int kkkk; // Needs to be of unspecfied size to compile clean on all platforms + uint8_t cccc; SERIAL_ECHO_START(); SERIAL_ECHOLNPGM("EEPROM Dump:"); - for (uint16_t i = 0; i <= E2END; i += 16) { + persistentStore.access_start(); + for (uint16_t i = 0; i < persistentStore.capacity(); i += 16) { if (!(i & 0x3)) idle(); print_hex_word(i); SERIAL_ECHOPGM(": "); for (uint16_t j = 0; j < 16; j++) { - kkkk = i + j; - eeprom_read_block(&cccc, (const void *)kkkk, sizeof(unsigned char)); + persistentStore.read_data(i + j, &cccc, sizeof(uint8_t)); print_hex_byte(cccc); SERIAL_ECHO(' '); } SERIAL_EOL(); } SERIAL_EOL(); + persistentStore.access_finish(); } /** diff --git a/Marlin/src/feature/dac/dac_dac084s085.cpp b/Marlin/src/feature/dac/dac_dac084s085.cpp index 934b3165bd14..eb3a67de2a67 100644 --- a/Marlin/src/feature/dac/dac_dac084s085.cpp +++ b/Marlin/src/feature/dac/dac_dac084s085.cpp @@ -12,7 +12,7 @@ #include "../../Marlin.h" #include "../../module/stepper.h" -#include "../../HAL/Delay.h" +#include "../../HAL/shared/Delay.h" dac084s085::dac084s085() { } diff --git a/Marlin/src/feature/leds/pca9632.cpp b/Marlin/src/feature/leds/pca9632.cpp index a95a48190a6a..11298f4efec8 100644 --- a/Marlin/src/feature/leds/pca9632.cpp +++ b/Marlin/src/feature/leds/pca9632.cpp @@ -100,9 +100,9 @@ static void PCA9632_WriteAllRegisters(const byte addr, const byte regadd, const #endif void pca9632_set_led_color(const LEDColor &color) { + Wire.begin(); if (!PCA_init) { PCA_init = 1; - Wire.begin(); PCA9632_WriteRegister(PCA9632_ADDRESS,PCA9632_MODE1, PCA9632_MODE1_VALUE); PCA9632_WriteRegister(PCA9632_ADDRESS,PCA9632_MODE2, PCA9632_MODE2_VALUE); } diff --git a/Marlin/src/gcode/control/M42.cpp b/Marlin/src/gcode/control/M42.cpp index f197b6e37f26..6e84dc475f88 100644 --- a/Marlin/src/gcode/control/M42.cpp +++ b/Marlin/src/gcode/control/M42.cpp @@ -32,6 +32,7 @@ * P1_20 as M42 P120, etc. * * S Pin status from 0 - 255 + * I Flag to ignore Marlin's pin protection */ void GcodeSuite::M42() { if (!parser.seenval('S')) return; @@ -42,7 +43,7 @@ void GcodeSuite::M42() { const pin_t pin = GET_PIN_MAP_PIN(pin_index); - if (pin_is_protected(pin)) return protected_pin_err(); + if (!parser.boolval('I') && pin_is_protected(pin)) return protected_pin_err(); pinMode(pin, OUTPUT); digitalWrite(pin, pin_status); diff --git a/Marlin/src/gcode/feature/leds/M7219.cpp b/Marlin/src/gcode/feature/leds/M7219.cpp index 62edcecea6c1..8fb5379122f9 100644 --- a/Marlin/src/gcode/feature/leds/M7219.cpp +++ b/Marlin/src/gcode/feature/leds/M7219.cpp @@ -42,8 +42,10 @@ * rows or columns depending upon rotation) */ void GcodeSuite::M7219() { - if (parser.seen('I')) + if (parser.seen('I')) { Max7219_Clear(); + Max7219_register_setup(); + } if (parser.seen('F')) for (uint8_t x = 0; x < MAX7219_X_LEDS; x++) diff --git a/Marlin/src/gcode/parser.h b/Marlin/src/gcode/parser.h index 82843d622665..1665304f775b 100644 --- a/Marlin/src/gcode/parser.h +++ b/Marlin/src/gcode/parser.h @@ -175,10 +175,10 @@ class GCodeParser { FORCE_INLINE static bool has_value() { return value_ptr != NULL; } // Seen a parameter with a value - inline static bool seenval(const char c) { return seen(c) && has_value(); } + static inline bool seenval(const char c) { return seen(c) && has_value(); } // Float removes 'E' to prevent scientific notation interpretation - inline static float value_float() { + static inline float value_float() { if (value_ptr) { char *e = value_ptr; for (;;) { @@ -198,8 +198,8 @@ class GCodeParser { } // Code value as a long or ulong - inline static int32_t value_long() { return value_ptr ? strtol(value_ptr, NULL, 10) : 0L; } - inline static uint32_t value_ulong() { return value_ptr ? strtoul(value_ptr, NULL, 10) : 0UL; } + static inline int32_t value_long() { return value_ptr ? strtol(value_ptr, NULL, 10) : 0L; } + static inline uint32_t value_ulong() { return value_ptr ? strtoul(value_ptr, NULL, 10) : 0UL; } // Code value for use as time FORCE_INLINE static millis_t value_millis() { return value_ulong(); } @@ -208,10 +208,10 @@ class GCodeParser { // Reduce to fewer bits FORCE_INLINE static int16_t value_int() { return (int16_t)value_long(); } FORCE_INLINE static uint16_t value_ushort() { return (uint16_t)value_long(); } - inline static uint8_t value_byte() { return (uint8_t)constrain(value_long(), 0, 255); } + static inline uint8_t value_byte() { return (uint8_t)constrain(value_long(), 0, 255); } // Bool is true with no value or non-zero - inline static bool value_bool() { return !has_value() || !!value_byte(); } + static inline bool value_bool() { return !has_value() || !!value_byte(); } // Units modes: Inches, Fahrenheit, Kelvin @@ -220,7 +220,7 @@ class GCodeParser { // Init linear units by constructor GCodeParser() { set_input_linear_units(LINEARUNIT_MM); } - inline static void set_input_linear_units(const LinearUnit units) { + static inline void set_input_linear_units(const LinearUnit units) { switch (units) { case LINEARUNIT_INCH: linear_unit_factor = 25.4f; @@ -233,13 +233,13 @@ class GCodeParser { volumetric_unit_factor = POW(linear_unit_factor, 3); } - inline static float axis_unit_factor(const AxisEnum axis) { + static inline float axis_unit_factor(const AxisEnum axis) { return (axis >= E_AXIS && volumetric_enabled ? volumetric_unit_factor : linear_unit_factor); } - inline static float value_linear_units() { return value_float() * linear_unit_factor; } - inline static float value_axis_units(const AxisEnum axis) { return value_float() * axis_unit_factor(axis); } - inline static float value_per_axis_unit(const AxisEnum axis) { return value_float() / axis_unit_factor(axis); } + static inline float value_linear_units() { return value_float() * linear_unit_factor; } + static inline float value_axis_units(const AxisEnum axis) { return value_float() * axis_unit_factor(axis); } + static inline float value_per_axis_unit(const AxisEnum axis) { return value_float() / axis_unit_factor(axis); } #else @@ -251,7 +251,7 @@ class GCodeParser { #if ENABLED(TEMPERATURE_UNITS_SUPPORT) - inline static void set_input_temp_units(TempUnit units) { input_temp_units = units; } + static inline void set_input_temp_units(TempUnit units) { input_temp_units = units; } #if ENABLED(ULTIPANEL) && DISABLED(DISABLE_M503) @@ -261,7 +261,7 @@ class GCodeParser { FORCE_INLINE static const char* temp_units_name() { return input_temp_units == TEMPUNIT_K ? PSTR("Kelvin") : input_temp_units == TEMPUNIT_F ? PSTR("Fahrenheit") : PSTR("Celsius"); } - inline static float to_temp_units(const float &f) { + static inline float to_temp_units(const float &f) { switch (input_temp_units) { case TEMPUNIT_F: return f * 0.5555555556f + 32; @@ -275,7 +275,7 @@ class GCodeParser { #endif // ULTIPANEL && !DISABLE_M503 - inline static float value_celsius() { + static inline float value_celsius() { const float f = value_float(); switch (input_temp_units) { case TEMPUNIT_F: @@ -288,7 +288,7 @@ class GCodeParser { } } - inline static float value_celsius_diff() { + static inline float value_celsius_diff() { switch (input_temp_units) { case TEMPUNIT_F: return value_float() * 0.5555555556f; diff --git a/Marlin/src/inc/Conditionals_post.h b/Marlin/src/inc/Conditionals_post.h index 9c7f4818265d..6cca5426dfe8 100644 --- a/Marlin/src/inc/Conditionals_post.h +++ b/Marlin/src/inc/Conditionals_post.h @@ -453,7 +453,7 @@ #elif HAS_DRIVER(LV8729) #define MINIMUM_STEPPER_DIR_DELAY 500 #elif HAS_DRIVER(A5984) - #define MINIMUM_STEPPER_DIR_DELAY 400 + #define MINIMUM_STEPPER_DIR_DELAY 400 #elif HAS_DRIVER(A4988) #define MINIMUM_STEPPER_DIR_DELAY 200 #elif HAS_TRINAMIC || HAS_DRIVER(TMC2660) || HAS_DRIVER(TMC2130_STANDALONE) || HAS_DRIVER(TMC2208_STANDALONE) || HAS_DRIVER(TMC26X_STANDALONE) || HAS_DRIVER(TMC2660_STANDALONE) diff --git a/Marlin/src/lcd/dogm/ultralcd_st7920_u8glib_rrd_AVR.cpp b/Marlin/src/lcd/dogm/ultralcd_st7920_u8glib_rrd_AVR.cpp index 8e176b8a0104..81533ed76e5f 100644 --- a/Marlin/src/lcd/dogm/ultralcd_st7920_u8glib_rrd_AVR.cpp +++ b/Marlin/src/lcd/dogm/ultralcd_st7920_u8glib_rrd_AVR.cpp @@ -29,7 +29,7 @@ #if !(defined(U8G_HAL_LINKS) || defined(__SAM3X8E__)) -#include "../../HAL/Delay.h" +#include "../../HAL/shared/Delay.h" #define ST7920_CLK_PIN LCD_PINS_D4 #define ST7920_DAT_PIN LCD_PINS_ENABLE diff --git a/Marlin/src/lcd/language/language_cz.h b/Marlin/src/lcd/language/language_cz.h index 4a30f928d617..bd57e308135c 100644 --- a/Marlin/src/lcd/language/language_cz.h +++ b/Marlin/src/lcd/language/language_cz.h @@ -43,6 +43,7 @@ #define MSG_SD_INSERTED _UxGT("Karta vložena") #define MSG_SD_REMOVED _UxGT("Karta vyjmuta") #define MSG_LCD_ENDSTOPS _UxGT("Endstopy") // max 8 znaku +#define MSG_LCD_SOFT_ENDSTOPS _UxGT("Soft Endstopy") #define MSG_MAIN _UxGT("Hlavní nabídka") #define MSG_AUTOSTART _UxGT("Autostart") #define MSG_DISABLE_STEPPERS _UxGT("Uvolnit motory") @@ -252,11 +253,13 @@ #define MSG_PAUSE_PRINT _UxGT("Pozastavit tisk") #define MSG_RESUME_PRINT _UxGT("Obnovit tisk") #define MSG_STOP_PRINT _UxGT("Zastavit tisk") +#define MSG_POWER_LOSS_RECOVERY _UxGT("Obnova vypadku") #define MSG_CARD_MENU _UxGT("Tisknout z SD") #define MSG_NO_CARD _UxGT("Žádná SD karta") #define MSG_DWELL _UxGT("Uspáno...") #define MSG_USERWAIT _UxGT("Čekání na uživ...") #define MSG_PRINT_PAUSED _UxGT("Tisk pozastaven") +#define MSG_PRINTING _UxGT("Tisknu...") #define MSG_PRINT_ABORTED _UxGT("Tisk zrušen") #define MSG_NO_MOVE _UxGT("Žádný pohyb.") #define MSG_KILLED _UxGT("PŘERUSENO. ") @@ -292,8 +295,10 @@ #define MSG_BABYSTEP_Z _UxGT("Babystep Z") #define MSG_ENDSTOP_ABORT _UxGT("Endstop abort") #define MSG_HEATING_FAILED_LCD _UxGT("Chyba zahřívání") +#define MSG_HEATING_FAILED_LCD_BED _UxGT("Chyba zahř. podl.") #define MSG_ERR_REDUNDANT_TEMP _UxGT("REDUND. TEPLOTA") #define MSG_THERMAL_RUNAWAY _UxGT("TEPLOTNÍ SKOK") +#define MSG_THERMAL_RUNAWAY_BED _UxGT("PODL. TEPL. SKOK") #define MSG_ERR_MAXTEMP _UxGT("VYSOKÁ TEPLOTA") #define MSG_ERR_MINTEMP _UxGT("NÍZKA TEPLOTA") #define MSG_ERR_MAXTEMP_BED _UxGT("VYS. TEPL. PODL.") @@ -305,7 +310,9 @@ #define MSG_SHORT_HOUR _UxGT("h") #define MSG_SHORT_MINUTE _UxGT("m") #define MSG_HEATING _UxGT("Zahřívání...") +#define MSG_COOLING _UxGT("Chlazení") #define MSG_BED_HEATING _UxGT("Zahřívání podl...") +#define MSG_BED_COOLING _UxGT("Chlazení podl...") #define MSG_DELTA_CALIBRATE _UxGT("Delta Kalibrace") #define MSG_DELTA_CALIBRATE_X _UxGT("Kalibrovat X") #define MSG_DELTA_CALIBRATE_Y _UxGT("Kalibrovat Y") @@ -314,6 +321,7 @@ #define MSG_DELTA_SETTINGS _UxGT("Delta nastavení") #define MSG_DELTA_AUTO_CALIBRATE _UxGT("Autokalibrace") #define MSG_DELTA_HEIGHT_CALIBRATE _UxGT("Nast.výšku delty") +#define MSG_DELTA_Z_OFFSET_CALIBRATE _UxGT("Nast. Z-ofset") #define MSG_DELTA_DIAG_ROD _UxGT("Diag rameno") #define MSG_DELTA_HEIGHT _UxGT("Výška") #define MSG_DELTA_RADIUS _UxGT("Poloměr") diff --git a/Marlin/src/lcd/ultralcd_impl_DOGM.h b/Marlin/src/lcd/ultralcd_impl_DOGM.h index 7442f17d4ef6..16d6c119912a 100644 --- a/Marlin/src/lcd/ultralcd_impl_DOGM.h +++ b/Marlin/src/lcd/ultralcd_impl_DOGM.h @@ -183,7 +183,7 @@ U8GLIB_MINI12864_2X u8g(DOGLCD_CS, DOGLCD_A0); // 4 stripes #elif ENABLED(U8GLIB_SH1106_EINSTART) // Connected via motherboard header - U8GLIB_SH1106_128X64 u8g(DOGLCD_SCK, DOGLCD_MOSI, DOGLCD_CS, LCD_PINS_DC, LCD_PINS_RS); + U8GLIB_SH1106_128X64 u8g(DOGLCD_SCK, DOGLCD_MOSI, DOGLCD_CS, LCD_PINS_DC, LCD_PINS_RS); #else // for regular DOGM128 display with HW-SPI //U8GLIB_DOGM128 u8g(DOGLCD_CS, DOGLCD_A0); // HW-SPI Com: CS, A0 // 8 stripes diff --git a/Marlin/src/libs/buzzer.h b/Marlin/src/libs/buzzer.h index 9cc23695c7bf..2da9b8dee763 100644 --- a/Marlin/src/libs/buzzer.h +++ b/Marlin/src/libs/buzzer.h @@ -82,7 +82,7 @@ class Buzzer { * @brief Resets the state of the class * @details Brings the class state to a known one. */ - inline static void reset() { + static inline void reset() { off(); state.endtime = 0; } diff --git a/Marlin/src/module/configuration_store.cpp b/Marlin/src/module/configuration_store.cpp index 8af22648b6c6..092934a66e77 100644 --- a/Marlin/src/module/configuration_store.cpp +++ b/Marlin/src/module/configuration_store.cpp @@ -344,15 +344,15 @@ void MarlinSettings::postprocess() { } #if ENABLED(EEPROM_SETTINGS) - #include "../HAL/persistent_store_api.h" + #include "../HAL/shared/persistent_store_api.h" #define DUMMY_PID_VALUE 3000.0f - #define EEPROM_START() int eeprom_index = EEPROM_OFFSET; HAL::PersistentStore::access_start() - #define EEPROM_FINISH() HAL::PersistentStore::access_finish() + #define EEPROM_START() int eeprom_index = EEPROM_OFFSET; persistentStore.access_start() + #define EEPROM_FINISH() persistentStore.access_finish() #define EEPROM_SKIP(VAR) eeprom_index += sizeof(VAR) - #define EEPROM_WRITE(VAR) HAL::PersistentStore::write_data(eeprom_index, (uint8_t*)&VAR, sizeof(VAR), &working_crc) - #define EEPROM_READ(VAR) HAL::PersistentStore::read_data(eeprom_index, (uint8_t*)&VAR, sizeof(VAR), &working_crc, !validating) - #define EEPROM_READ_ALWAYS(VAR) HAL::PersistentStore::read_data(eeprom_index, (uint8_t*)&VAR, sizeof(VAR), &working_crc) + #define EEPROM_WRITE(VAR) persistentStore.write_data(eeprom_index, (uint8_t*)&VAR, sizeof(VAR), &working_crc) + #define EEPROM_READ(VAR) persistentStore.read_data(eeprom_index, (uint8_t*)&VAR, sizeof(VAR), &working_crc, !validating) + #define EEPROM_READ_ALWAYS(VAR) persistentStore.read_data(eeprom_index, (uint8_t*)&VAR, sizeof(VAR), &working_crc) #define EEPROM_ASSERT(TST,ERR) if (!(TST)) do{ SERIAL_ERROR_START_P(port); SERIAL_ERRORLNPGM_P(port, ERR); eeprom_error = true; }while(0) #if ENABLED(DEBUG_EEPROM_READWRITE) @@ -1607,6 +1607,10 @@ void MarlinSettings::postprocess() { } #endif + const uint16_t MarlinSettings::meshes_end = persistentStore.capacity() - 129; // 128 (+1 because of the change to capacity rather than last valid address) + // is a placeholder for the size of the MAT; the MAT will always + // live at the very end of the eeprom + uint16_t MarlinSettings::meshes_start_index() { return (datasize() + EEPROM_OFFSET + 32) & 0xFFF8; // Pad the end of configuration data so it can float up // or down a little bit without disrupting the mesh data @@ -1627,7 +1631,7 @@ void MarlinSettings::postprocess() { if (!WITHIN(slot, 0, a - 1)) { #if ENABLED(EEPROM_CHITCHAT) ubl_invalid_slot(a); - SERIAL_PROTOCOLPAIR("E2END=", E2END); + SERIAL_PROTOCOLPAIR("E2END=", persistentStore.capacity() - 1); SERIAL_PROTOCOLPAIR(" meshes_end=", meshes_end); SERIAL_PROTOCOLLNPAIR(" slot=", slot); SERIAL_EOL(); @@ -1638,9 +1642,9 @@ void MarlinSettings::postprocess() { int pos = mesh_slot_offset(slot); uint16_t crc = 0; - HAL::PersistentStore::access_start(); - const bool status = HAL::PersistentStore::write_data(pos, (uint8_t *)&ubl.z_values, sizeof(ubl.z_values), &crc); - HAL::PersistentStore::access_finish(); + persistentStore.access_start(); + const bool status = persistentStore.write_data(pos, (uint8_t *)&ubl.z_values, sizeof(ubl.z_values), &crc); + persistentStore.access_finish(); if (status) SERIAL_PROTOCOLPGM("?Unable to save mesh data.\n"); @@ -1676,9 +1680,9 @@ void MarlinSettings::postprocess() { uint16_t crc = 0; uint8_t * const dest = into ? (uint8_t*)into : (uint8_t*)&ubl.z_values; - HAL::PersistentStore::access_start(); - const uint16_t status = HAL::PersistentStore::read_data(pos, dest, sizeof(ubl.z_values), &crc); - HAL::PersistentStore::access_finish(); + persistentStore.access_start(); + const uint16_t status = persistentStore.read_data(pos, dest, sizeof(ubl.z_values), &crc); + persistentStore.access_finish(); if (status) SERIAL_PROTOCOLPGM("?Unable to load mesh data.\n"); diff --git a/Marlin/src/module/configuration_store.h b/Marlin/src/module/configuration_store.h index b093c9965dcd..84e90527b3c6 100644 --- a/Marlin/src/module/configuration_store.h +++ b/Marlin/src/module/configuration_store.h @@ -25,6 +25,10 @@ #include "../inc/MarlinConfig.h" +#if ENABLED(EEPROM_SETTINGS) + #include "../HAL/shared/persistent_store_api.h" +#endif + #define ADD_PORT_ARG ENABLED(EEPROM_CHITCHAT) && NUM_SERIAL > 1 #if ADD_PORT_ARG @@ -96,11 +100,10 @@ class MarlinSettings { static bool eeprom_error, validating; - #if ENABLED(AUTO_BED_LEVELING_UBL) // Eventually make these available if any leveling system - // That can store is enabled - static constexpr uint16_t meshes_end = E2END - 128; // 128 is a placeholder for the size of the MAT; the MAT will always - // live at the very end of the eeprom - + #if ENABLED(AUTO_BED_LEVELING_UBL) // Eventually make these available if any leveling system + // That can store is enabled + static const uint16_t meshes_end; // 128 is a placeholder for the size of the MAT; the MAT will always + // live at the very end of the eeprom #endif static bool _load(PORTINIT_SOLO); diff --git a/Marlin/src/module/planner.h b/Marlin/src/module/planner.h index c362bf0f4bc7..8a639a0431bb 100644 --- a/Marlin/src/module/planner.h +++ b/Marlin/src/module/planner.h @@ -361,7 +361,7 @@ class Planner { * Returns 1.0 if planner.z_fade_height is 0.0. * Returns 0.0 if Z is past the specified 'Fade Height'. */ - inline static float fade_scaling_factor_for_z(const float &rz) { + static inline float fade_scaling_factor_for_z(const float &rz) { static float z_fade_factor = 1; if (z_fade_height) { if (rz >= z_fade_height) return 0; diff --git a/Marlin/src/module/planner_bezier.cpp b/Marlin/src/module/planner_bezier.cpp index 407d8a067055..6ff6808a79f6 100644 --- a/Marlin/src/module/planner_bezier.cpp +++ b/Marlin/src/module/planner_bezier.cpp @@ -45,7 +45,7 @@ #define SIGMA 0.1f // Compute the linear interpolation between two real numbers. -inline static float interp(float a, float b, float t) { return (1 - t) * a + t * b; } +static inline float interp(const float &a, const float &b, const float &t) { return (1 - t) * a + t * b; } /** * Compute a Bézier curve using the De Casteljau's algorithm (see @@ -53,21 +53,20 @@ inline static float interp(float a, float b, float t) { return (1 - t) * a + t * * easy to code and has good numerical stability (very important, * since Arudino works with limited precision real numbers). */ -inline static float eval_bezier(float a, float b, float c, float d, float t) { - float iab = interp(a, b, t); - float ibc = interp(b, c, t); - float icd = interp(c, d, t); - float iabc = interp(iab, ibc, t); - float ibcd = interp(ibc, icd, t); - float iabcd = interp(iabc, ibcd, t); - return iabcd; +static inline float eval_bezier(const float &a, const float &b, const float &c, const float &d, const float &t) { + const float iab = interp(a, b, t), + ibc = interp(b, c, t), + icd = interp(c, d, t), + iabc = interp(iab, ibc, t), + ibcd = interp(ibc, icd, t); + return interp(iabc, ibcd, t); } /** * We approximate Euclidean distance with the sum of the coordinates * offset (so-called "norm 1"), which is quicker to compute. */ -inline static float dist1(float x1, float y1, float x2, float y2) { return ABS(x1 - x2) + ABS(y1 - y2); } +static inline float dist1(const float &x1, const float &y1, const float &x2, const float &y2) { return ABS(x1 - x2) + ABS(y1 - y2); } /** * The algorithm for computing the step is loosely based on the one in Kig diff --git a/Marlin/src/module/printcounter.cpp b/Marlin/src/module/printcounter.cpp index 44adcf45f299..9bf350c052d0 100644 --- a/Marlin/src/module/printcounter.cpp +++ b/Marlin/src/module/printcounter.cpp @@ -31,6 +31,7 @@ Stopwatch print_job_timer; // Global Print Job Timer instance #include "printcounter.h" #include "../Marlin.h" +#include "../HAL/shared/persistent_store_api.h" PrintCounter print_job_timer; // Global Print Job Timer instance @@ -73,7 +74,10 @@ void PrintCounter::initStats() { data = { 0, 0, 0, 0, 0.0 }; saveStats(); - eeprom_write_byte((uint8_t*)address, 0x16); + + persistentStore.access_start(); + persistentStore.write_data(address, (uint8_t)0x16); + persistentStore.access_finish(); } void PrintCounter::loadStats() { @@ -81,11 +85,15 @@ void PrintCounter::loadStats() { debug(PSTR("loadStats")); #endif - // Checks if the EEPROM block is initialized - if (eeprom_read_byte((uint8_t*)address) != 0x16) initStats(); - else eeprom_read_block(&data, - (void*)(address + sizeof(uint8_t)), sizeof(printStatistics)); - + // Check if the EEPROM block is initialized + uint8_t value = 0; + persistentStore.access_start(); + persistentStore.read_data(address, &value, sizeof(uint8_t)); + if (value != 0x16) + initStats(); + else + persistentStore.read_data(address + sizeof(uint8_t), (uint8_t*)&data, sizeof(printStatistics)); + persistentStore.access_finish(); loaded = true; } @@ -98,8 +106,9 @@ void PrintCounter::saveStats() { if (!isLoaded()) return; // Saves the struct to EEPROM - eeprom_update_block(&data, - (void*)(address + sizeof(uint8_t)), sizeof(printStatistics)); + persistentStore.access_start(); + persistentStore.write_data(address + sizeof(uint8_t), (uint8_t*)&data, sizeof(printStatistics)); + persistentStore.access_finish(); } void PrintCounter::showStats() { diff --git a/Marlin/src/module/servo.h b/Marlin/src/module/servo.h index 77d3f6eb87b2..05f4d6f4ef35 100644 --- a/Marlin/src/module/servo.h +++ b/Marlin/src/module/servo.h @@ -27,7 +27,7 @@ #ifndef _SERVO_H_ #define _SERVO_H_ -#include "../HAL/servo.h" +#include "../HAL/shared/servo.h" extern HAL_SERVO_LIB servo[NUM_SERVOS]; extern void servo_init(); diff --git a/Marlin/src/module/stepper.cpp b/Marlin/src/module/stepper.cpp index 1b85dcbb7ba0..67907ac01728 100644 --- a/Marlin/src/module/stepper.cpp +++ b/Marlin/src/module/stepper.cpp @@ -93,7 +93,7 @@ #include "../gcode/queue.h" #include "../sd/cardreader.h" #include "../Marlin.h" -#include "../HAL/Delay.h" +#include "../HAL/shared/Delay.h" #if MB(ALLIGATOR) #include "../feature/dac/dac_dac084s085.h" diff --git a/Marlin/src/module/stepper.h b/Marlin/src/module/stepper.h index 2280bb78b8a0..7e9f9cbe170f 100644 --- a/Marlin/src/module/stepper.h +++ b/Marlin/src/module/stepper.h @@ -435,7 +435,7 @@ class Stepper { #endif // Set the current position in steps - inline static void set_position(const int32_t &a, const int32_t &b, const int32_t &c, const int32_t &e) { + static inline void set_position(const int32_t &a, const int32_t &b, const int32_t &c, const int32_t &e) { planner.synchronize(); const bool was_enabled = STEPPER_ISR_ENABLED(); if (was_enabled) DISABLE_STEPPER_DRIVER_INTERRUPT(); @@ -443,7 +443,7 @@ class Stepper { if (was_enabled) ENABLE_STEPPER_DRIVER_INTERRUPT(); } - inline static void set_position(const AxisEnum a, const int32_t &v) { + static inline void set_position(const AxisEnum a, const int32_t &v) { planner.synchronize(); #ifdef __AVR__ diff --git a/Marlin/src/module/stepper_indirection.cpp b/Marlin/src/module/stepper_indirection.cpp index 8858d22fdb03..e0aeae0168ca 100644 --- a/Marlin/src/module/stepper_indirection.cpp +++ b/Marlin/src/module/stepper_indirection.cpp @@ -292,8 +292,7 @@ #endif #define _TMC2208_DEFINE_HARDWARE(ST) TMC2208Stepper stepper##ST(&ST##_HARDWARE_SERIAL) - #define _TMC2208_DEFINE_SOFTWARE(ST) SoftwareSerial ST##_HARDWARE_SERIAL = SoftwareSerial(ST##_SERIAL_RX_PIN, ST##_SERIAL_TX_PIN); \ - TMC2208Stepper stepper##ST(&ST##_HARDWARE_SERIAL, ST##_SERIAL_RX_PIN > -1) + #define _TMC2208_DEFINE_SOFTWARE(ST) TMC2208Stepper stepper##ST(ST##_SERIAL_RX_PIN, ST##_SERIAL_TX_PIN, ST##_SERIAL_RX_PIN > -1) // Stepper objects of TMC2208 steppers used #if AXIS_DRIVER_TYPE(X, TMC2208) @@ -376,37 +375,81 @@ void tmc2208_serial_begin() { #if AXIS_DRIVER_TYPE(X, TMC2208) - X_HARDWARE_SERIAL.begin(115200); + #ifdef X_HARDWARE_SERIAL + X_HARDWARE_SERIAL.begin(115200); + #else + stepperX.beginSerial(115200); + #endif #endif #if AXIS_DRIVER_TYPE(X2, TMC2208) - X2_HARDWARE_SERIAL.begin(115200); + #ifdef X2_HARDWARE_SERIAL + X2_HARDWARE_SERIAL.begin(115200); + #else + stepperX2.beginSerial(115200); + #endif #endif #if AXIS_DRIVER_TYPE(Y, TMC2208) - Y_HARDWARE_SERIAL.begin(115200); + #ifdef Y_HARDWARE_SERIAL + Y_HARDWARE_SERIAL.begin(115200); + #else + stepperY.beginSerial(115200); + #endif #endif #if AXIS_DRIVER_TYPE(Y2, TMC2208) - Y2_HARDWARE_SERIAL.begin(115200); + #ifdef Y2_HARDWARE_SERIAL + Y2_HARDWARE_SERIAL.begin(115200); + #else + stepperY2.beginSerial(115200); + #endif #endif #if AXIS_DRIVER_TYPE(Z, TMC2208) - Z_HARDWARE_SERIAL.begin(115200); + #ifdef Z_HARDWARE_SERIAL + Z_HARDWARE_SERIAL.begin(115200); + #else + stepperZ.beginSerial(115200); + #endif #endif #if AXIS_DRIVER_TYPE(Z2, TMC2208) - Z2_HARDWARE_SERIAL.begin(115200); + #ifdef Z2_HARDWARE_SERIAL + Z2_HARDWARE_SERIAL.begin(115200); + #else + stepperZ2.beginSerial(115200); + #endif #endif #if AXIS_DRIVER_TYPE(E0, TMC2208) - E0_HARDWARE_SERIAL.begin(115200); + #ifdef E0_HARDWARE_SERIAL + E0_HARDWARE_SERIAL.begin(115200); + #else + stepperE0.beginSerial(115200); + #endif #endif #if AXIS_DRIVER_TYPE(E1, TMC2208) - E1_HARDWARE_SERIAL.begin(115200); + #ifdef E1_HARDWARE_SERIAL + E1_HARDWARE_SERIAL.begin(115200); + #else + stepperE1.beginSerial(115200); + #endif #endif #if AXIS_DRIVER_TYPE(E2, TMC2208) - E2_HARDWARE_SERIAL.begin(115200); + #ifdef E2_HARDWARE_SERIAL + E2_HARDWARE_SERIAL.begin(115200); + #else + stepperE2.beginSerial(115200); + #endif #endif #if AXIS_DRIVER_TYPE(E3, TMC2208) - E3_HARDWARE_SERIAL.begin(115200); + #ifdef E3_HARDWARE_SERIAL + E3_HARDWARE_SERIAL.begin(115200); + #else + stepperE3.beginSerial(115200); + #endif #endif #if AXIS_DRIVER_TYPE(E4, TMC2208) - E4_HARDWARE_SERIAL.begin(115200); + #ifdef E4_HARDWARE_SERIAL + E4_HARDWARE_SERIAL.begin(115200); + #else + stepperE4.beginSerial(115200); + #endif #endif } diff --git a/Marlin/src/module/temperature.cpp b/Marlin/src/module/temperature.cpp index c483fd090312..6156545ef434 100644 --- a/Marlin/src/module/temperature.cpp +++ b/Marlin/src/module/temperature.cpp @@ -31,7 +31,7 @@ #include "../lcd/ultralcd.h" #include "planner.h" #include "../core/language.h" -#include "../HAL/Delay.h" +#include "../HAL/shared/Delay.h" #if ENABLED(HEATER_0_USES_MAX6675) #include "../libs/private_spi.h" diff --git a/Marlin/src/module/thermistor/thermistor_71.h b/Marlin/src/module/thermistor/thermistor_71.h index c7b8a64e30a7..f28a4ceabb28 100644 --- a/Marlin/src/module/thermistor/thermistor_71.h +++ b/Marlin/src/module/thermistor/thermistor_71.h @@ -28,78 +28,26 @@ // R2 = 4700 Ohm const short temptable_71[][2] PROGMEM = { { OV( 35), 300 }, - { OV( 51), 270 }, - { OV( 54), 265 }, - { OV( 58), 260 }, + { OV( 51), 269 }, { OV( 59), 258 }, - { OV( 61), 256 }, - { OV( 63), 254 }, { OV( 64), 252 }, - { OV( 66), 250 }, - { OV( 67), 249 }, - { OV( 68), 248 }, - { OV( 69), 247 }, - { OV( 70), 246 }, - { OV( 71), 245 }, - { OV( 72), 244 }, - { OV( 73), 243 }, - { OV( 74), 242 }, - { OV( 75), 241 }, - { OV( 76), 240 }, - { OV( 77), 239 }, - { OV( 78), 238 }, - { OV( 79), 237 }, - { OV( 80), 236 }, + { OV( 71), 244 }, { OV( 81), 235 }, - { OV( 82), 234 }, - { OV( 84), 233 }, - { OV( 85), 232 }, - { OV( 86), 231 }, { OV( 87), 230 }, - { OV( 89), 229 }, - { OV( 90), 228 }, - { OV( 91), 227 }, { OV( 92), 226 }, - { OV( 94), 225 }, - { OV( 95), 224 }, - { OV( 97), 223 }, - { OV( 98), 222 }, - { OV( 99), 221 }, - { OV( 101), 220 }, { OV( 102), 219 }, - { OV( 104), 218 }, - { OV( 106), 217 }, - { OV( 107), 216 }, - { OV( 109), 215 }, { OV( 110), 214 }, - { OV( 112), 213 }, - { OV( 114), 212 }, { OV( 115), 211 }, - { OV( 117), 210 }, - { OV( 119), 209 }, - { OV( 121), 208 }, - { OV( 123), 207 }, - { OV( 125), 206 }, { OV( 126), 205 }, { OV( 128), 204 }, { OV( 130), 203 }, { OV( 132), 202 }, { OV( 134), 201 }, { OV( 136), 200 }, - { OV( 139), 199 }, - { OV( 141), 198 }, - { OV( 143), 197 }, - { OV( 145), 196 }, { OV( 147), 195 }, - { OV( 150), 194 }, - { OV( 152), 193 }, { OV( 154), 192 }, - { OV( 157), 191 }, { OV( 159), 190 }, - { OV( 162), 189 }, { OV( 164), 188 }, - { OV( 167), 187 }, - { OV( 170), 186 }, { OV( 172), 185 }, { OV( 175), 184 }, { OV( 178), 183 }, @@ -113,9 +61,7 @@ const short temptable_71[][2] PROGMEM = { { OV( 202), 175 }, { OV( 205), 174 }, { OV( 208), 173 }, - { OV( 212), 172 }, { OV( 215), 171 }, - { OV( 219), 170 }, { OV( 237), 165 }, { OV( 256), 160 }, { OV( 300), 150 }, @@ -123,46 +69,22 @@ const short temptable_71[][2] PROGMEM = { { OV( 470), 120 }, { OV( 504), 115 }, { OV( 538), 110 }, - { OV( 552), 108 }, - { OV( 566), 106 }, - { OV( 580), 104 }, - { OV( 594), 102 }, - { OV( 608), 100 }, - { OV( 622), 98 }, - { OV( 636), 96 }, - { OV( 650), 94 }, - { OV( 664), 92 }, - { OV( 678), 90 }, - { OV( 712), 85 }, { OV( 745), 80 }, - { OV( 758), 78 }, { OV( 770), 76 }, - { OV( 783), 74 }, - { OV( 795), 72 }, { OV( 806), 70 }, - { OV( 818), 68 }, { OV( 829), 66 }, - { OV( 840), 64 }, - { OV( 850), 62 }, { OV( 860), 60 }, - { OV( 870), 58 }, { OV( 879), 56 }, { OV( 888), 54 }, - { OV( 897), 52 }, { OV( 905), 50 }, { OV( 924), 45 }, { OV( 940), 40 }, { OV( 955), 35 }, - { OV( 967), 30 }, - { OV( 970), 29 }, { OV( 972), 28 }, { OV( 974), 27 }, { OV( 976), 26 }, { OV( 978), 25 }, { OV( 980), 24 }, - { OV( 982), 23 }, - { OV( 984), 22 }, - { OV( 985), 21 }, { OV( 987), 20 }, { OV( 995), 15 }, { OV(1001), 10 }, diff --git a/Marlin/src/pins/pins_EINSTART-S.h b/Marlin/src/pins/pins_EINSTART-S.h index 94228553feab..7fd88f8fc5bd 100755 --- a/Marlin/src/pins/pins_EINSTART-S.h +++ b/Marlin/src/pins/pins_EINSTART-S.h @@ -45,7 +45,7 @@ // Limit Switches // #define X_STOP_PIN 44 // 2560 PIN 40 -#define Y_STOP_PIN 43 // 2560 PIN 41 +#define Y_STOP_PIN 43 // 2560 PIN 41 #define Z_STOP_PIN 42 // 2560 PIN 42 // diff --git a/Marlin/src/pins/pins_EINSY_RAMBO.h b/Marlin/src/pins/pins_EINSY_RAMBO.h index 428dc047c8c0..e3f67059fa04 100644 --- a/Marlin/src/pins/pins_EINSY_RAMBO.h +++ b/Marlin/src/pins/pins_EINSY_RAMBO.h @@ -118,7 +118,10 @@ #ifndef FAN_PIN #define FAN_PIN 8 #endif -#define FAN1_PIN 6 + +#ifndef FAN1_PIN + #define FAN1_PIN 6 +#endif // // Misc. Functions diff --git a/buildroot/share/tests/DUE_tests b/buildroot/share/tests/DUE_tests index 7b172fe6abc5..100cdd570bcf 100755 --- a/buildroot/share/tests/DUE_tests +++ b/buildroot/share/tests/DUE_tests @@ -5,7 +5,7 @@ set -e restore_configs opt_set MOTHERBOARD BOARD_RAMPS4DUE_EFB -opt_enable S_CURVE_ACCELERATION +opt_enable S_CURVE_ACCELERATION EEPROM_SETTINGS opt_set E0_AUTO_FAN_PIN 8 opt_set EXTRUDER_AUTO_FAN_SPEED 100 -exec_test $1 $2 "RAMPS4DUE_EFB S_CURVE_ACCELERATION" +exec_test $1 $2 "RAMPS4DUE_EFB S_CURVE_ACCELERATION EEPROM_SETTINGS" diff --git a/buildroot/share/tests/LPC1768_tests b/buildroot/share/tests/LPC1768_tests index 07d891c61aa0..86616c38319b 100755 --- a/buildroot/share/tests/LPC1768_tests +++ b/buildroot/share/tests/LPC1768_tests @@ -14,8 +14,8 @@ exec_test $1 $2 "VIKI2 and SDSUPPORT" restore_configs opt_set MOTHERBOARD BOARD_MKS_SBASE -opt_enable REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER SDSUPPORT -exec_test $1 $2 "MKS SBASE RRDFG SDSUPPORT" +opt_enable REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER SDSUPPORT EEPROM_SETTINGS +exec_test $1 $2 "MKS SBASE RRDFG SDSUPPORT EEPROM_SETTINGS" #clean up restore_configs diff --git a/frameworks/CMSIS/LPC1768/lib/Print.h b/frameworks/CMSIS/LPC1768/lib/Print.h index 283ed6d472d7..239ebf29e859 100644 --- a/frameworks/CMSIS/LPC1768/lib/Print.h +++ b/frameworks/CMSIS/LPC1768/lib/Print.h @@ -41,7 +41,7 @@ class Print { public: Print() : write_error(0) {} virtual ~Print() {} - + int getWriteError() { return write_error; } void clearWriteError() { setWriteError(0); } diff --git a/frameworks/CMSIS/LPC1768/system/LPC1768.ld b/frameworks/CMSIS/LPC1768/system/LPC1768.ld index 7236f040132a..f30ea0d1fc73 100644 --- a/frameworks/CMSIS/LPC1768/system/LPC1768.ld +++ b/frameworks/CMSIS/LPC1768/system/LPC1768.ld @@ -1,8 +1,10 @@ /* Linker script for mbed LPC1768 */ MEMORY { - //FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 512K - FLASH (rx) : ORIGIN = 16K, LENGTH = (512K - 16K) + /* Reserve first 16K (4 sectors * 4KB) for bootloader + * Reserve the last 32KB sector for EEPROM emulation + */ + FLASH (rx) : ORIGIN = 16K, LENGTH = (512K - 48K) RAM (rwx) : ORIGIN = 0x100000C8, LENGTH = (32K - 0xC8) USB_RAM(rwx) : ORIGIN = 0x2007C000, LENGTH = 16K diff --git a/platformio.ini b/platformio.ini index 49731ef91a5a..c93fbfdda6d4 100644 --- a/platformio.ini +++ b/platformio.ini @@ -58,7 +58,7 @@ board = megaatmega2560 build_flags = ${common.build_flags} board_build.f_cpu = 16000000L lib_deps = ${common.lib_deps} -src_filter = ${common.default_src_filter} +src_filter = ${common.default_src_filter} + monitor_speed = 250000 # @@ -71,7 +71,7 @@ board = megaatmega1280 build_flags = ${common.build_flags} board_build.f_cpu = 16000000L lib_deps = ${common.lib_deps} -src_filter = ${common.default_src_filter} +src_filter = ${common.default_src_filter} + monitor_speed = 250000 # @@ -88,7 +88,7 @@ board = at90usb1286 build_flags = ${common.build_flags} lib_deps = ${common.lib_deps} lib_ldf_mode = deep+ -src_filter = ${common.default_src_filter} +src_filter = ${common.default_src_filter} + extra_scripts = pre:buildroot/share/atom/create_custom_upload_command_CDC.py monitor_speed = 250000 @@ -122,7 +122,7 @@ board = due build_flags = ${common.build_flags} lib_deps = ${common.lib_deps} lib_ignore = c1921b4 -src_filter = ${common.default_src_filter} +src_filter = ${common.default_src_filter} + monitor_speed = 250000 [env:DUE_USB] platform = atmelsam @@ -131,7 +131,7 @@ board = dueUSB build_flags = ${common.build_flags} lib_deps = ${common.lib_deps} lib_ignore = c1921b4 -src_filter = ${common.default_src_filter} +src_filter = ${common.default_src_filter} + monitor_speed = 250000 [env:DUE_debug] # Used when WATCHDOG_RESET_MANUAL is enabled @@ -143,7 +143,7 @@ build_flags = ${common.build_flags} -mpoke-function-name lib_deps = ${common.lib_deps} lib_ignore = c1921b4 -src_filter = ${common.default_src_filter} +src_filter = ${common.default_src_filter} + monitor_speed = 250000 # @@ -165,7 +165,7 @@ lib_deps = CMSIS-LPC1768 TMC2130Stepper@>=2.2.1 TMC2208Stepper@>=0.2.1 extra_scripts = Marlin/src/HAL/HAL_LPC1768/debug_extra_script.py, Marlin/src/HAL/HAL_LPC1768/lpc1768_flag_script.py, Marlin/src/HAL/HAL_LPC1768/upload_extra_script.py -src_filter = ${common.default_src_filter} +src_filter = ${common.default_src_filter} + monitor_speed = 250000 debug_tool = custom debug_server = @@ -187,7 +187,7 @@ board = sanguino_atmega1284p build_flags = ${common.build_flags} upload_speed = 57600 lib_deps = ${common.lib_deps} -src_filter = ${common.default_src_filter} +src_filter = ${common.default_src_filter} + monitor_speed = 250000 # @@ -200,7 +200,7 @@ board = sanguino_atmega1284p build_flags = ${common.build_flags} upload_speed = 115200 lib_deps = ${common.lib_deps} -src_filter = ${common.default_src_filter} +src_filter = ${common.default_src_filter} + monitor_speed = 250000 # @@ -213,7 +213,7 @@ board = reprap_rambo build_flags = ${common.build_flags} board_build.f_cpu = 16000000L lib_deps = ${common.lib_deps} -src_filter = ${common.default_src_filter} +src_filter = ${common.default_src_filter} + monitor_speed = 250000 # @@ -225,7 +225,7 @@ framework = arduino board = sanguino_atmega644p build_flags = ${common.build_flags} lib_deps = ${common.lib_deps} -src_filter = ${common.default_src_filter} +src_filter = ${common.default_src_filter} + monitor_speed = 250000 # @@ -237,7 +237,7 @@ framework = arduino board = sanguino_atmega1284p build_flags = ${common.build_flags} lib_deps = ${common.lib_deps} -src_filter = ${common.default_src_filter} +src_filter = ${common.default_src_filter} + monitor_speed = 250000 # @@ -259,7 +259,7 @@ lib_ignore = U8glib-HAL libf3e TMC26XStepper lib_ldf_mode = 1 -src_filter = ${common.default_src_filter} +src_filter = ${common.default_src_filter} + monitor_speed = 250000 # @@ -272,7 +272,7 @@ board = disco_f407vg build_flags = ${common.build_flags} -DUSE_STM32GENERIC -DSTM32GENERIC -DMENU_USB_SERIAL -DMENU_SERIAL=SerialUSB lib_deps = ${common.lib_deps} lib_ignore = Adafruit NeoPixel, c1921b4, TMC2130Stepper -src_filter = ${common.default_src_filter} +src_filter = ${common.default_src_filter} + monitor_speed = 250000 # @@ -285,7 +285,7 @@ board = teensy35 build_flags = ${common.build_flags} lib_deps = ${common.lib_deps} lib_ignore = Adafruit NeoPixel -src_filter = ${common.default_src_filter} +src_filter = ${common.default_src_filter} + monitor_speed = 250000 [env:malyanm200] @@ -293,7 +293,7 @@ platform = ststm32 framework = arduino board = malyanM200 build_flags = !python Marlin/src/HAL/HAL_STM32F1/stm32f1_flag_script.py -DMCU_STM32F103CB -D __STM32F1__=1 -std=c++1y -D MOTHERBOARD="BOARD_MALYAN_M200" -DSERIAL_USB -ffunction-sections -fdata-sections -Wl,--gc-sections -src_filter = ${common.default_src_filter} +src_filter = ${common.default_src_filter} + #- lib_ignore = U8glib @@ -313,9 +313,9 @@ lib_ignore = # Espressif ESP32 # [env:esp32] -platform = https://github.com/platformio/platform-espressif32.git#feature/stage -board = esp32dev -framework = arduino +platform = https://github.com/platformio/platform-espressif32.git#feature/stage +board = esp32dev +framework = arduino upload_port = COM3 lib_ignore = LiquidCrystal_I2C @@ -324,3 +324,4 @@ lib_ignore = LiquidTWI2 TMC26XStepper c1921b4 +src_filter = ${common.default_src_filter} +