Merge bugfix-2.0.x into 2.0.x

This commit is contained in:
Scott Lahteine committed 2020-03-14 00:35:11 -05:00
commit fa48fbb9b8
742 files changed
+4130 -3245

No files matched your search

+9 -8
View File
@@ -29,7 +29,7 @@ jobs:
- DUE - DUE
- esp32 - esp32
- linux_native - linux_native
- megaatmega2560 - mega2560
- teensy31 - teensy31
- teensy35 - teensy35
- SAMD51_grandcentral_m4 - SAMD51_grandcentral_m4
@@ -37,22 +37,23 @@ jobs:
# Extended AVR Environments # Extended AVR Environments
- FYSETC_F6_13 - FYSETC_F6_13
- megaatmega1280 - mega1280
- rambo - rambo
- sanguino_atmega1284p - sanguino1284p
- sanguino_atmega644p - sanguino644p
# Extended STM32 Environments # Extended STM32 Environments
- STM32F103RC_bigtree - STM32F103RC_btt
- STM32F103RC_bigtree_USB - STM32F103RC_btt_USB
- STM32F103RE_bigtree - STM32F103RE_btt
- STM32F103RE_bigtree_USB - STM32F103RE_btt_USB
- STM32F103RC_fysetc - STM32F103RC_fysetc
- jgaurora_a5s_a1 - jgaurora_a5s_a1
- STM32F103VE_longer - STM32F103VE_longer
- STM32F407VE_black - STM32F407VE_black
- BIGTREE_SKR_PRO - BIGTREE_SKR_PRO
- BIGTREE_GTR_V1_0
- mks_robin - mks_robin
- ARMED - ARMED
- FYSETC_S6 - FYSETC_S6
+9 -1
View File
@@ -36,7 +36,7 @@
* Advanced settings can be found in Configuration_adv.h * Advanced settings can be found in Configuration_adv.h
* *
*/ */
#define CONFIGURATION_H_VERSION 020004 #define CONFIGURATION_H_VERSION 020005
//=========================================================================== //===========================================================================
//============================= Getting Started ============================= //============================= Getting Started =============================
@@ -925,6 +925,14 @@
#define SMART_EFFECTOR_MOD_PIN -1 // Connect a GPIO pin to the Smart Effector MOD pin #define SMART_EFFECTOR_MOD_PIN -1 // Connect a GPIO pin to the Smart Effector MOD pin
#endif #endif
/**
* Use StallGuard2 to probe the bed with the nozzle.
* Requires stallGuard-capable Trinamic stepper drivers.
* CAUTION: This can damage machines with Z lead screws.
* Take extreme care when setting up this feature.
*/
//#define SENSORLESS_PROBING
// //
// For Z_PROBE_ALLEN_KEY see the Delta example configurations. // For Z_PROBE_ALLEN_KEY see the Delta example configurations.
// //
+30 -29
View File
@@ -31,7 +31,7 @@
* Basic settings can be found in Configuration.h * Basic settings can be found in Configuration.h
* *
*/ */
#define CONFIGURATION_ADV_H_VERSION 020004 #define CONFIGURATION_ADV_H_VERSION 020005
// @section temperature // @section temperature
@@ -276,8 +276,10 @@
#define AUTOTEMP_OLDWEIGHT 0.98 #define AUTOTEMP_OLDWEIGHT 0.98
#endif #endif
// Show extra position information with 'M114 D' // Extra options for the M114 "Current Position" report
//#define M114_DETAIL //#define M114_DETAIL // Use 'M114` for details to check planner calculations
//#define M114_REALTIME // Real current position based on forward kinematics
//#define M114_LEGACY // M114 used to synchronize on every call. Enable if needed.
// Show Temperature ADC value // Show Temperature ADC value
// Enable for M105 to include ADC values read from temperature sensors. // Enable for M105 to include ADC values read from temperature sensors.
@@ -716,6 +718,9 @@
#define Z_STEPPER_ALIGN_ITERATIONS 5 // Number of iterations to apply during alignment #define Z_STEPPER_ALIGN_ITERATIONS 5 // Number of iterations to apply during alignment
#define Z_STEPPER_ALIGN_ACC 0.02 // Stop iterating early if the accuracy is better than this #define Z_STEPPER_ALIGN_ACC 0.02 // Stop iterating early if the accuracy is better than this
#define RESTORE_LEVELING_AFTER_G34 // Restore leveling after G34 is done? #define RESTORE_LEVELING_AFTER_G34 // Restore leveling after G34 is done?
// After G34, re-home Z (G28 Z) or just calculate it from the last probe heights?
// Re-homing might be more precise in reproducing the actual 'G28 Z' homing height, especially on an uneven bed.
#define HOME_AFTER_G34
#endif #endif
// @section motion // @section motion
@@ -990,6 +995,10 @@
// Show the E position (filament used) during printing // Show the E position (filament used) during printing
//#define LCD_SHOW_E_TOTAL //#define LCD_SHOW_E_TOTAL
#if ENABLED(SHOW_BOOTSCREEN)
#define BOOTSCREEN_TIMEOUT 4000 // (ms) Total Duration to display the boot screen(s)
#endif
#if HAS_GRAPHICAL_LCD && HAS_PRINT_PROGRESS #if HAS_GRAPHICAL_LCD && HAS_PRINT_PROGRESS
//#define PRINT_PROGRESS_SHOW_DECIMALS // Show progress with decimal digits //#define PRINT_PROGRESS_SHOW_DECIMALS // Show progress with decimal digits
//#define SHOW_REMAINING_TIME // Display estimated time to completion //#define SHOW_REMAINING_TIME // Display estimated time to completion
@@ -1012,12 +1021,9 @@
#if ENABLED(SDSUPPORT) #if ENABLED(SDSUPPORT)
// Some RAMPS and other boards don't detect when an SD card is inserted. You can work // The standard SD detect circuit reads LOW when media is inserted and HIGH when empty.
// around this by connecting a push button or single throw switch to the pin defined // Enable this option and set to HIGH if your SD cards are incorrectly detected.
// as SD_DETECT_PIN in your board's pins definitions. //#define SD_DETECT_STATE HIGH
// This setting should be disabled unless you are using a push button, pulling the pin to ground.
// Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).
#define SD_DETECT_INVERTED
#define SD_FINISHED_STEPPERRELEASE true // Disable steppers when SD Print is finished #define SD_FINISHED_STEPPERRELEASE true // Disable steppers when SD Print is finished
#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the Z enabled so your bed stays in place. #define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the Z enabled so your bed stays in place.
@@ -1039,9 +1045,13 @@
* during SD printing. If the recovery file is found at boot time, present * during SD printing. If the recovery file is found at boot time, present
* an option on the LCD screen to continue the print from the last-known * an option on the LCD screen to continue the print from the last-known
* point in the file. * point in the file.
*
* If the machine reboots when resuming a print you may need to replace or
* reformat the SD card. (Bad sectors delay startup triggering the watchdog.)
*/ */
//#define POWER_LOSS_RECOVERY //#define POWER_LOSS_RECOVERY
#if ENABLED(POWER_LOSS_RECOVERY) #if ENABLED(POWER_LOSS_RECOVERY)
#define PLR_ENABLED_DEFAULT false // Power Loss Recovery enabled by default. (Set with 'M413 Sn' & M500)
//#define BACKUP_POWER_SUPPLY // Backup power / UPS to move the steppers on power loss //#define BACKUP_POWER_SUPPLY // Backup power / UPS to move the steppers on power loss
//#define POWER_LOSS_ZRAISE 2 // (mm) Z axis raise on resume (on power loss with UPS) //#define POWER_LOSS_ZRAISE 2 // (mm) Z axis raise on resume (on power loss with UPS)
//#define POWER_LOSS_PIN 44 // Pin to detect power loss. Set to -1 to disable default pin on boards without module. //#define POWER_LOSS_PIN 44 // Pin to detect power loss. Set to -1 to disable default pin on boards without module.
@@ -1221,10 +1231,6 @@
// Western only. Not available for Cyrillic, Kana, Turkish, Greek, or Chinese. // Western only. Not available for Cyrillic, Kana, Turkish, Greek, or Chinese.
//#define USE_SMALL_INFOFONT //#define USE_SMALL_INFOFONT
// Enable this option and reduce the value to optimize screen updates.
// The normal delay is 10µs. Use the lowest value that still gives a reliable display.
//#define DOGM_SPI_DELAY_US 5
// Swap the CW/CCW indicators in the graphics overlay // Swap the CW/CCW indicators in the graphics overlay
//#define OVERLAY_GFX_REVERSE //#define OVERLAY_GFX_REVERSE
@@ -1241,6 +1247,10 @@
* This will prevent position updates from being displayed. * This will prevent position updates from being displayed.
*/ */
#if ENABLED(U8GLIB_ST7920) #if ENABLED(U8GLIB_ST7920)
// Enable this option and reduce the value to optimize screen updates.
// The normal delay is 10µs. Use the lowest value that still gives a reliable display.
//#define DOGM_SPI_DELAY_US 5
//#define LIGHTWEIGHT_UI //#define LIGHTWEIGHT_UI
#if ENABLED(LIGHTWEIGHT_UI) #if ENABLED(LIGHTWEIGHT_UI)
#define STATUS_EXPIRE_SECONDS 20 #define STATUS_EXPIRE_SECONDS 20
@@ -1278,7 +1288,7 @@
// Additional options for DGUS / DWIN displays // Additional options for DGUS / DWIN displays
// //
#if HAS_DGUS_LCD #if HAS_DGUS_LCD
#define DGUS_SERIAL_PORT 2 #define DGUS_SERIAL_PORT 3
#define DGUS_BAUDRATE 115200 #define DGUS_BAUDRATE 115200
#define DGUS_RX_BUFFER_SIZE 128 #define DGUS_RX_BUFFER_SIZE 128
@@ -1286,16 +1296,15 @@
//#define DGUS_SERIAL_STATS_RX_BUFFER_OVERRUNS // Fix Rx overrun situation (Currently only for AVR) //#define DGUS_SERIAL_STATS_RX_BUFFER_OVERRUNS // Fix Rx overrun situation (Currently only for AVR)
#define DGUS_UPDATE_INTERVAL_MS 500 // (ms) Interval between automatic screen updates #define DGUS_UPDATE_INTERVAL_MS 500 // (ms) Interval between automatic screen updates
#define BOOTSCREEN_TIMEOUT 3000 // (ms) Duration to display the boot screen
#if EITHER(DGUS_LCD_UI_FYSETC, DGUS_LCD_UI_HIPRECY) #if EITHER(DGUS_LCD_UI_FYSETC, DGUS_LCD_UI_HIPRECY)
#define DGUS_PRINT_FILENAME // Display the filename during printing #define DGUS_PRINT_FILENAME // Display the filename during printing
#define DGUS_PREHEAT_UI // Display a preheat screen during heatup #define DGUS_PREHEAT_UI // Display a preheat screen during heatup
#if ENABLED(DGUS_LCD_UI_FYSETC) #if ENABLED(DGUS_LCD_UI_FYSETC)
//#define DUGS_UI_MOVE_DIS_OPTION // Disabled by default for UI_FYSETC //#define DGUS_UI_MOVE_DIS_OPTION // Disabled by default for UI_FYSETC
#else #else
#define DUGS_UI_MOVE_DIS_OPTION // Enabled by default for UI_HIPRECY #define DGUS_UI_MOVE_DIS_OPTION // Enabled by default for UI_HIPRECY
#endif #endif
#define DGUS_FILAMENT_LOADUNLOAD #define DGUS_FILAMENT_LOADUNLOAD
@@ -1578,7 +1587,7 @@
#if ENABLED(PROBE_TEMP_COMPENSATION) #if ENABLED(PROBE_TEMP_COMPENSATION)
// Max temperature that can be reached by heated bed. // Max temperature that can be reached by heated bed.
// This is required only for the calibration process. // This is required only for the calibration process.
#define PTC_MAX_BED_TEMP 110 #define PTC_MAX_BED_TEMP BED_MAXTEMP
// Park position to wait for probe cooldown // Park position to wait for probe cooldown
#define PTC_PARK_POS_X 0.0F #define PTC_PARK_POS_X 0.0F
@@ -2015,7 +2024,7 @@
* TMCStepper library is required to use TMC stepper drivers. * TMCStepper library is required to use TMC stepper drivers.
* https://github.com/teemuatlut/TMCStepper * https://github.com/teemuatlut/TMCStepper
*/ */
#if HAS_TRINAMIC #if HAS_TRINAMIC_CONFIG
#define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256 #define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
@@ -2302,14 +2311,6 @@
*/ */
//#define SENSORLESS_HOMING // StallGuard capable drivers only //#define SENSORLESS_HOMING // StallGuard capable drivers only
/**
* Use StallGuard2 to probe the bed with the nozzle.
*
* CAUTION: This could cause damage to machines that use a lead screw or threaded rod
* to move the Z axis. Take extreme care when attempting to enable this feature.
*/
//#define SENSORLESS_PROBING // StallGuard capable drivers only
#if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING) #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING)
// TMC2209: 0...255. TMC2130: -64...63 // TMC2209: 0...255. TMC2130: -64...63
#define X_STALL_SENSITIVITY 8 #define X_STALL_SENSITIVITY 8
@@ -2345,7 +2346,7 @@
*/ */
#define TMC_ADV() { } #define TMC_ADV() { }
#endif // HAS_TRINAMIC #endif // HAS_TRINAMIC_CONFIG
// @section L64XX // @section L64XX
@@ -2991,7 +2992,7 @@
#define MAX7219_LOAD_PIN 44 #define MAX7219_LOAD_PIN 44
//#define MAX7219_GCODE // Add the M7219 G-code to control the LED matrix //#define MAX7219_GCODE // Add the M7219 G-code to control the LED matrix
#define MAX7219_INIT_TEST 2 // Do a test pattern at initialization (Set to 2 for spiral) #define MAX7219_INIT_TEST 2 // Test pattern at startup: 0=none, 1=sweep, 2=spiral
#define MAX7219_NUMBER_UNITS 1 // Number of Max7219 units in chain. #define MAX7219_NUMBER_UNITS 1 // Number of Max7219 units in chain.
#define MAX7219_ROTATE 0 // Rotate the display clockwise (in multiples of +/- 90°) #define MAX7219_ROTATE 0 // Rotate the display clockwise (in multiples of +/- 90°)
// connector at: right=0 bottom=-90 top=90 left=180 // connector at: right=0 bottom=-90 top=90 left=180
File renamed without changes.
File renamed without changes.
@@ -197,7 +197,7 @@ void spiBegin() {
// output pin high - like sending 0xFF // output pin high - like sending 0xFF
WRITE(MOSI_PIN, HIGH); WRITE(MOSI_PIN, HIGH);
for (uint8_t i = 0; i < 8; i++) { LOOP_L_N(i, 8) {
WRITE(SCK_PIN, HIGH); WRITE(SCK_PIN, HIGH);
nop; // adjust so SCK is nice nop; // adjust so SCK is nice
@@ -224,7 +224,7 @@ void spiBegin() {
void spiSend(uint8_t data) { void spiSend(uint8_t data) {
// no interrupts during byte send - about 8µs // no interrupts during byte send - about 8µs
cli(); cli();
for (uint8_t i = 0; i < 8; i++) { LOOP_L_N(i, 8) {
WRITE(SCK_PIN, LOW); WRITE(SCK_PIN, LOW);
WRITE(MOSI_PIN, data & 0x80); WRITE(MOSI_PIN, data & 0x80);
data <<= 1; data <<= 1;
@@ -55,7 +55,7 @@
// A SW memory barrier, to ensure GCC does not overoptimize loops // A SW memory barrier, to ensure GCC does not overoptimize loops
#define sw_barrier() asm volatile("": : :"memory"); #define sw_barrier() asm volatile("": : :"memory");
#include "../../feature/emergency_parser.h" #include "../../feature/e_parser.h"
// "Atomically" read the RX head index value without disabling interrupts: // "Atomically" read the RX head index value without disabling interrupts:
// This MUST be called with RX interrupts enabled, and CAN'T be called // This MUST be called with RX interrupts enabled, and CAN'T be called
@@ -682,7 +682,7 @@
// Round correctly so that print(1.999, 2) prints as "2.00" // Round correctly so that print(1.999, 2) prints as "2.00"
double rounding = 0.5; double rounding = 0.5;
for (uint8_t i = 0; i < digits; ++i) rounding *= 0.1; LOOP_L_N(i, digits) rounding *= 0.1;
number += rounding; number += rounding;
// Extract the integer part of the number and print it // Extract the integer part of the number and print it
@@ -31,10 +31,10 @@
* Templatized 01 October 2018 by Eduardo José Tagle to allow multiple instances * Templatized 01 October 2018 by Eduardo José Tagle to allow multiple instances
*/ */
#include "../shared/MarlinSerial.h"
#include <WString.h> #include <WString.h>
#include "../../inc/MarlinConfigPre.h"
#ifndef SERIAL_PORT #ifndef SERIAL_PORT
#define SERIAL_PORT 0 #define SERIAL_PORT 0
#endif #endif
@@ -261,12 +261,12 @@
static constexpr int PORT = serial; static constexpr int PORT = serial;
static constexpr unsigned int RX_SIZE = RX_BUFFER_SIZE; static constexpr unsigned int RX_SIZE = RX_BUFFER_SIZE;
static constexpr unsigned int TX_SIZE = TX_BUFFER_SIZE; static constexpr unsigned int TX_SIZE = TX_BUFFER_SIZE;
static constexpr bool XONOFF = bSERIAL_XON_XOFF; static constexpr bool XONOFF = ENABLED(SERIAL_XON_XOFF);
static constexpr bool EMERGENCYPARSER = bEMERGENCY_PARSER; static constexpr bool EMERGENCYPARSER = ENABLED(EMERGENCY_PARSER);
static constexpr bool DROPPED_RX = bSERIAL_STATS_DROPPED_RX; static constexpr bool DROPPED_RX = ENABLED(SERIAL_STATS_DROPPED_RX);
static constexpr bool RX_OVERRUNS = bSERIAL_STATS_RX_BUFFER_OVERRUNS; static constexpr bool RX_OVERRUNS = ENABLED(SERIAL_STATS_RX_BUFFER_OVERRUNS);
static constexpr bool RX_FRAMING_ERRORS = bSERIAL_STATS_RX_FRAMING_ERRORS; static constexpr bool RX_FRAMING_ERRORS = ENABLED(SERIAL_STATS_RX_FRAMING_ERRORS);
static constexpr bool MAX_RX_QUEUED = bSERIAL_STATS_MAX_RX_QUEUED; static constexpr bool MAX_RX_QUEUED = ENABLED(SERIAL_STATS_MAX_RX_QUEUED);
}; };
extern MarlinSerial<MarlinSerialCfg<SERIAL_PORT>> customizedSerial1; extern MarlinSerial<MarlinSerialCfg<SERIAL_PORT>> customizedSerial1;
@@ -304,7 +304,7 @@
static constexpr bool XONOFF = false; static constexpr bool XONOFF = false;
static constexpr bool EMERGENCYPARSER = false; static constexpr bool EMERGENCYPARSER = false;
static constexpr bool DROPPED_RX = false; static constexpr bool DROPPED_RX = false;
static constexpr bool RX_OVERRUNS = bDGUS_SERIAL_STATS_RX_BUFFER_OVERRUNS; static constexpr bool RX_OVERRUNS = HAS_DGUS_LCD && ENABLED(DGUS_SERIAL_STATS_RX_BUFFER_OVERRUNS);
static constexpr bool RX_FRAMING_ERRORS = false; static constexpr bool RX_FRAMING_ERRORS = false;
static constexpr bool MAX_RX_QUEUED = false; static constexpr bool MAX_RX_QUEUED = false;
}; };
File renamed without changes.
File renamed without changes.
@@ -167,7 +167,7 @@ void set_pwm_frequency(const pin_t pin, int f_desired) {
uint16_t prescaler[] = { 0, 1, 8, /*TIMER2 ONLY*/32, 64, /*TIMER2 ONLY*/128, 256, 1024 }; uint16_t prescaler[] = { 0, 1, 8, /*TIMER2 ONLY*/32, 64, /*TIMER2 ONLY*/128, 256, 1024 };
// loop over prescaler values // loop over prescaler values
for (uint8_t i = 1; i < 8; i++) { LOOP_S_L_N(i, 1, 8) {
uint16_t res_temp_fast = 255, res_temp_phase_correct = 255; uint16_t res_temp_fast = 255, res_temp_phase_correct = 255;
if (timer.n == 2) { if (timer.n == 2) {
// No resolution calculation for TIMER2 unless enabled USE_OCR2A_AS_TOP // No resolution calculation for TIMER2 unless enabled USE_OCR2A_AS_TOP
File renamed without changes.
File renamed without changes.
@@ -26,7 +26,7 @@
* *
* Hardware Pin : 02 03 06 07 01 05 15 16 17 18 23 24 25 26 64 63 13 12 46 45 44 43 78 77 76 75 74 73 72 71 60 59 58 57 56 55 54 53 50 70 52 51 42 41 40 39 38 37 36 35 22 21 20 19 97 96 95 94 93 92 91 90 89 88 87 86 85 84 83 82 | 04 08 09 10 11 14 27 28 29 30 31 32 33 34 47 48 49 61 62 65 66 67 68 69 79 80 81 98 99 100 * Hardware Pin : 02 03 06 07 01 05 15 16 17 18 23 24 25 26 64 63 13 12 46 45 44 43 78 77 76 75 74 73 72 71 60 59 58 57 56 55 54 53 50 70 52 51 42 41 40 39 38 37 36 35 22 21 20 19 97 96 95 94 93 92 91 90 89 88 87 86 85 84 83 82 | 04 08 09 10 11 14 27 28 29 30 31 32 33 34 47 48 49 61 62 65 66 67 68 69 79 80 81 98 99 100
* Port : E0 E1 E4 E5 G5 E3 H3 H4 H5 H6 B4 B5 B6 B7 J1 J0 H1 H0 D3 D2 D1 D0 A0 A1 A2 A3 A4 A5 A6 A7 C7 C6 C5 C4 C3 C2 C1 C0 D7 G2 G1 G0 L7 L6 L5 L4 L3 L2 L1 L0 B3 B2 B1 B0 F0 F1 F2 F3 F4 F5 F6 F7 K0 K1 K2 K3 K4 K5 K6 K7 | E2 E6 E7 xx xx H2 H7 G3 G4 xx xx xx xx xx D4 D5 D6 xx xx J2 J3 J4 J5 J6 J7 xx xx xx xx xx * Port : E0 E1 E4 E5 G5 E3 H3 H4 H5 H6 B4 B5 B6 B7 J1 J0 H1 H0 D3 D2 D1 D0 A0 A1 A2 A3 A4 A5 A6 A7 C7 C6 C5 C4 C3 C2 C1 C0 D7 G2 G1 G0 L7 L6 L5 L4 L3 L2 L1 L0 B3 B2 B1 B0 F0 F1 F2 F3 F4 F5 F6 F7 K0 K1 K2 K3 K4 K5 K6 K7 | E2 E6 E7 xx xx H2 H7 G3 G4 xx xx xx xx xx D4 D5 D6 xx xx J2 J3 J4 J5 J6 J7 xx xx xx xx xx
* Logical Pin : 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | 78 79 80 xx xx 84 85 71 70 xx xx xx xx xx 81 82 83 xx xx 72 72 75 76 77 74 xx xx xx xx xx * Logical Pin : 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | 78 79 80 xx xx 84 85 71 70 xx xx xx xx xx 81 82 83 xx xx 72 73 75 76 77 74 xx xx xx xx xx
*/ */
#include "../fastio.h" #include "../fastio.h"
@@ -56,7 +56,7 @@
/** /**
* The Trinamic library includes SoftwareSerial.h, leading to a compile error. * The Trinamic library includes SoftwareSerial.h, leading to a compile error.
*/ */
#if HAS_TRINAMIC && ENABLED(ENDSTOP_INTERRUPTS_FEATURE) #if HAS_TRINAMIC_CONFIG && ENABLED(ENDSTOP_INTERRUPTS_FEATURE)
#error "TMCStepper includes SoftwareSerial.h which is incompatible with ENDSTOP_INTERRUPTS_FEATURE. Disable ENDSTOP_INTERRUPTS_FEATURE to continue." #error "TMCStepper includes SoftwareSerial.h which is incompatible with ENDSTOP_INTERRUPTS_FEATURE. Disable ENDSTOP_INTERRUPTS_FEATURE to continue."
#endif #endif
File renamed without changes.
@@ -70,12 +70,12 @@
void PRINT_ARRAY_NAME(uint8_t x) { void PRINT_ARRAY_NAME(uint8_t x) {
char *name_mem_pointer = (char*)pgm_read_ptr(&pin_array[x].name); char *name_mem_pointer = (char*)pgm_read_ptr(&pin_array[x].name);
for (uint8_t y = 0; y < MAX_NAME_LENGTH; y++) { LOOP_L_N(y, MAX_NAME_LENGTH) {
char temp_char = pgm_read_byte(name_mem_pointer + y); char temp_char = pgm_read_byte(name_mem_pointer + y);
if (temp_char != 0) if (temp_char != 0)
SERIAL_CHAR(temp_char); SERIAL_CHAR(temp_char);
else { else {
for (uint8_t i = 0; i < MAX_NAME_LENGTH - y; i++) SERIAL_CHAR(' '); LOOP_L_N(i, MAX_NAME_LENGTH - y) SERIAL_CHAR(' ');
break; break;
} }
} }
File renamed without changes.
@@ -88,7 +88,7 @@ void u8g_spiSend_sw_AVR_mode_0(uint8_t val) {
volatile uint8_t *outData = u8g_outData, volatile uint8_t *outData = u8g_outData,
*outClock = u8g_outClock; *outClock = u8g_outClock;
U8G_ATOMIC_START(); U8G_ATOMIC_START();
for (uint8_t i = 0; i < 8; i++) { LOOP_L_N(i, 8) {
if (val & 0x80) if (val & 0x80)
*outData |= bitData; *outData |= bitData;
else else
@@ -108,7 +108,7 @@ void u8g_spiSend_sw_AVR_mode_3(uint8_t val) {
volatile uint8_t *outData = u8g_outData, volatile uint8_t *outData = u8g_outData,
*outClock = u8g_outClock; *outClock = u8g_outClock;
U8G_ATOMIC_START(); U8G_ATOMIC_START();
for (uint8_t i = 0; i < 8; i++) { LOOP_L_N(i, 8) {
*outClock &= bitNotClock; *outClock &= bitNotClock;
if (val & 0x80) if (val & 0x80)
*outData |= bitData; *outData |= bitData;
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -54,7 +54,7 @@
#include "../../inc/MarlinConfig.h" #include "../../inc/MarlinConfig.h"
#if ENABLED(EEPROM_SETTINGS) && NONE(I2C_EEPROM, SPI_EEPROM) #if ENABLED(FLASH_EEPROM_EMULATION)
#include "../shared/Marduino.h" #include "../shared/Marduino.h"
#include "../shared/persistent_store_api.h" #include "../shared/persistent_store_api.h"
@@ -1016,5 +1016,5 @@ void eeprom_flush() {
ee_Flush(); ee_Flush();
} }
#endif // EEPROM_SETTINGS && (!I2C_EEPROM && !SPI_EEPROM) #endif // FLASH_EEPROM_EMULATION
#endif // ARDUINO_ARCH_AVR #endif // ARDUINO_ARCH_AVR
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -45,7 +45,7 @@ template<typename Cfg> typename MarlinSerial<Cfg>::ring_buffer_pos_t MarlinSeria
// A SW memory barrier, to ensure GCC does not overoptimize loops // A SW memory barrier, to ensure GCC does not overoptimize loops
#define sw_barrier() asm volatile("": : :"memory"); #define sw_barrier() asm volatile("": : :"memory");
#include "../../feature/emergency_parser.h" #include "../../feature/e_parser.h"
// (called with RX interrupts disabled) // (called with RX interrupts disabled)
template<typename Cfg> template<typename Cfg>
@@ -606,7 +606,7 @@ void MarlinSerial<Cfg>::printFloat(double number, uint8_t digits) {
// Round correctly so that print(1.999, 2) prints as "2.00" // Round correctly so that print(1.999, 2) prints as "2.00"
double rounding = 0.5; double rounding = 0.5;
for (uint8_t i = 0; i < digits; ++i) rounding *= 0.1; LOOP_L_N(i, digits) rounding *= 0.1;
number += rounding; number += rounding;
// Extract the integer part of the number and print it // Extract the integer part of the number and print it
@@ -27,10 +27,10 @@
* Based on MarlinSerial for AVR, copyright (c) 2006 Nicholas Zambetti. All right reserved. * Based on MarlinSerial for AVR, copyright (c) 2006 Nicholas Zambetti. All right reserved.
*/ */
#include "../shared/MarlinSerial.h"
#include <WString.h> #include <WString.h>
#include "../../inc/MarlinConfigPre.h"
#define DEC 10 #define DEC 10
#define HEX 16 #define HEX 16
#define OCT 8 #define OCT 8
@@ -163,12 +163,12 @@ struct MarlinSerialCfg {
static constexpr int PORT = serial; static constexpr int PORT = serial;
static constexpr unsigned int RX_SIZE = RX_BUFFER_SIZE; static constexpr unsigned int RX_SIZE = RX_BUFFER_SIZE;
static constexpr unsigned int TX_SIZE = TX_BUFFER_SIZE; static constexpr unsigned int TX_SIZE = TX_BUFFER_SIZE;
static constexpr bool XONOFF = bSERIAL_XON_XOFF; static constexpr bool XONOFF = ENABLED(SERIAL_XON_XOFF);
static constexpr bool EMERGENCYPARSER = bEMERGENCY_PARSER; static constexpr bool EMERGENCYPARSER = ENABLED(EMERGENCY_PARSER);
static constexpr bool DROPPED_RX = bSERIAL_STATS_DROPPED_RX; static constexpr bool DROPPED_RX = ENABLED(SERIAL_STATS_DROPPED_RX);
static constexpr bool RX_OVERRUNS = bSERIAL_STATS_RX_BUFFER_OVERRUNS; static constexpr bool RX_OVERRUNS = ENABLED(SERIAL_STATS_RX_BUFFER_OVERRUNS);
static constexpr bool RX_FRAMING_ERRORS = bSERIAL_STATS_RX_FRAMING_ERRORS; static constexpr bool RX_FRAMING_ERRORS = ENABLED(SERIAL_STATS_RX_FRAMING_ERRORS);
static constexpr bool MAX_RX_QUEUED = bSERIAL_STATS_MAX_RX_QUEUED; static constexpr bool MAX_RX_QUEUED = ENABLED(SERIAL_STATS_MAX_RX_QUEUED);
}; };
#if SERIAL_PORT >= 0 #if SERIAL_PORT >= 0
@@ -34,7 +34,7 @@
#include "MarlinSerialUSB.h" #include "MarlinSerialUSB.h"
#if ENABLED(EMERGENCY_PARSER) #if ENABLED(EMERGENCY_PARSER)
#include "../../feature/emergency_parser.h" #include "../../feature/e_parser.h"
#endif #endif
// Imports from Atmel USB Stack/CDC implementation // Imports from Atmel USB Stack/CDC implementation
@@ -259,7 +259,7 @@ void MarlinSerialUSB::printFloat(double number, uint8_t digits) {
// Round correctly so that print(1.999, 2) prints as "2.00" // Round correctly so that print(1.999, 2) prints as "2.00"
double rounding = 0.5; double rounding = 0.5;
for (uint8_t i = 0; i < digits; ++i) LOOP_L_N(i, digits)
rounding *= 0.1; rounding *= 0.1;
number += rounding; number += rounding;
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -80,7 +80,7 @@ Pio *SCK_pPio, *MOSI_pPio;
uint32_t SCK_dwMask, MOSI_dwMask; uint32_t SCK_dwMask, MOSI_dwMask;
void u8g_spiSend_sw_DUE_mode_0(uint8_t val) { // 3MHz void u8g_spiSend_sw_DUE_mode_0(uint8_t val) { // 3MHz
for (uint8_t i = 0; i < 8; i++) { LOOP_L_N(i, 8) {
if (val & 0x80) if (val & 0x80)
MOSI_pPio->PIO_SODR = MOSI_dwMask; MOSI_pPio->PIO_SODR = MOSI_dwMask;
else else
@@ -94,7 +94,7 @@ void u8g_spiSend_sw_DUE_mode_0(uint8_t val) { // 3MHz
} }
void u8g_spiSend_sw_DUE_mode_3(uint8_t val) { // 3.5MHz void u8g_spiSend_sw_DUE_mode_3(uint8_t val) { // 3.5MHz
for (uint8_t i = 0; i < 8; i++) { LOOP_L_N(i, 8) {
SCK_pPio->PIO_CODR = SCK_dwMask; SCK_pPio->PIO_CODR = SCK_dwMask;
DELAY_NS(50); DELAY_NS(50);
if (val & 0x80) if (val & 0x80)
File renamed without changes.
@@ -63,7 +63,7 @@ extern PWM_map ISR_table[NUM_PWMS];
extern uint32_t motor_current_setting[3]; extern uint32_t motor_current_setting[3];
#define IR_BIT(p) (WITHIN(p, 0, 3) ? (p) : (p) + 4) #define IR_BIT(p) (WITHIN(p, 0, 3) ? (p) : (p) + 4)
#define COPY_ACTIVE_TABLE() do{ for (uint8_t i = 0; i < 6 ; i++) work_table[i] = active_table[i]; }while(0) #define COPY_ACTIVE_TABLE() do{ LOOP_L_N(i, 6) work_table[i] = active_table[i]; }while(0)
#define PWM_MR0 19999 // base repetition rate minus one count - 20mS #define PWM_MR0 19999 // base repetition rate minus one count - 20mS
#define PWM_PR 24 // prescaler value - prescaler divide by 24 + 1 - 1 MHz output #define PWM_PR 24 // prescaler value - prescaler divide by 24 + 1 - 1 MHz output
File renamed without changes.
@@ -20,3 +20,9 @@
* *
*/ */
#pragma once #pragma once
#if USE_EMULATED_EEPROM
#undef SRAM_EEPROM_EMULATION
#undef SDCARD_EEPROM_EMULATION
#define FLASH_EEPROM_EMULATION 1
#endif
@@ -29,7 +29,7 @@
#include "../../inc/MarlinConfig.h" #include "../../inc/MarlinConfig.h"
#include "../shared/persistent_store_api.h" #include "../shared/persistent_store_api.h"
#if !defined(E2END) && NONE(I2C_EEPROM, SPI_EEPROM) #if !defined(E2END) && ENABLED(FLASH_EEPROM_EMULATION)
#define E2END 0xFFF // Default to Flash emulated EEPROM size (EepromEmulation_Due.cpp) #define E2END 0xFFF // Default to Flash emulated EEPROM size (EepromEmulation_Due.cpp)
#endif #endif
@@ -38,7 +38,7 @@ extern void eeprom_flush();
bool PersistentStore::access_start() { return true; } bool PersistentStore::access_start() { return true; }
bool PersistentStore::access_finish() { bool PersistentStore::access_finish() {
#if NONE(I2C_EEPROM, SPI_EEPROM) #if ENABLED(FLASH_EEPROM_EMULATION)
eeprom_flush(); eeprom_flush();
#endif #endif
return true; return true;
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Loaded 100 of 742 files, more files were not shown because too many files have changed in this diff. Show more