Browse Source

Merge branch '2.0.x' into FB4S_Config

pull/1/head
Sergey 4 years ago
parent
commit
ebf99b197c
  1. 17
      .github/workflows/test-builds.yml
  2. 23
      Marlin/Configuration.h
  3. 162
      Marlin/Configuration_adv.h
  4. 2
      Marlin/Makefile
  5. 2
      Marlin/Version.h
  6. 0
      Marlin/src/HAL/AVR/HAL.cpp
  7. 0
      Marlin/src/HAL/AVR/HAL.h
  8. 4
      Marlin/src/HAL/AVR/HAL_SPI.cpp
  9. 4
      Marlin/src/HAL/AVR/MarlinSerial.cpp
  10. 18
      Marlin/src/HAL/AVR/MarlinSerial.h
  11. 0
      Marlin/src/HAL/AVR/Servo.cpp
  12. 0
      Marlin/src/HAL/AVR/ServoTimers.h
  13. 0
      Marlin/src/HAL/AVR/endstop_interrupts.h
  14. 2
      Marlin/src/HAL/AVR/fast_pwm.cpp
  15. 0
      Marlin/src/HAL/AVR/fastio.cpp
  16. 0
      Marlin/src/HAL/AVR/fastio.h
  17. 2
      Marlin/src/HAL/AVR/fastio/fastio_1280.h
  18. 0
      Marlin/src/HAL/AVR/fastio/fastio_1281.h
  19. 0
      Marlin/src/HAL/AVR/fastio/fastio_168.h
  20. 0
      Marlin/src/HAL/AVR/fastio/fastio_644.h
  21. 0
      Marlin/src/HAL/AVR/fastio/fastio_AT90USB.h
  22. 0
      Marlin/src/HAL/AVR/inc/Conditionals_LCD.h
  23. 0
      Marlin/src/HAL/AVR/inc/Conditionals_adv.h
  24. 0
      Marlin/src/HAL/AVR/inc/Conditionals_post.h
  25. 2
      Marlin/src/HAL/AVR/inc/SanityCheck.h
  26. 0
      Marlin/src/HAL/AVR/math.h
  27. 0
      Marlin/src/HAL/AVR/persistent_store_eeprom.cpp
  28. 4
      Marlin/src/HAL/AVR/pinsDebug.h
  29. 0
      Marlin/src/HAL/AVR/pinsDebug_Teensyduino.h
  30. 0
      Marlin/src/HAL/AVR/pinsDebug_plus_70.h
  31. 0
      Marlin/src/HAL/AVR/spi_pins.h
  32. 4
      Marlin/src/HAL/AVR/u8g_com_HAL_AVR_sw_spi.cpp
  33. 0
      Marlin/src/HAL/AVR/watchdog.cpp
  34. 0
      Marlin/src/HAL/AVR/watchdog.h
  35. 0
      Marlin/src/HAL/DUE/DebugMonitor.cpp
  36. 4
      Marlin/src/HAL/DUE/EepromEmulation.cpp
  37. 0
      Marlin/src/HAL/DUE/HAL.cpp
  38. 5
      Marlin/src/HAL/DUE/HAL.h
  39. 0
      Marlin/src/HAL/DUE/HAL_SPI.cpp
  40. 0
      Marlin/src/HAL/DUE/InterruptVectors.cpp
  41. 0
      Marlin/src/HAL/DUE/InterruptVectors.h
  42. 24
      Marlin/src/HAL/DUE/MarlinSerial.cpp
  43. 24
      Marlin/src/HAL/DUE/MarlinSerial.h
  44. 16
      Marlin/src/HAL/DUE/MarlinSerialUSB.cpp
  45. 12
      Marlin/src/HAL/DUE/MarlinSerialUSB.h
  46. 0
      Marlin/src/HAL/DUE/Servo.cpp
  47. 0
      Marlin/src/HAL/DUE/ServoTimers.h
  48. 0
      Marlin/src/HAL/DUE/Tone.cpp
  49. 0
      Marlin/src/HAL/DUE/dogm/u8g_com_HAL_DUE_shared_hw_spi.cpp
  50. 0
      Marlin/src/HAL/DUE/dogm/u8g_com_HAL_DUE_st7920_sw_spi.cpp
  51. 0
      Marlin/src/HAL/DUE/dogm/u8g_com_HAL_DUE_sw_spi.cpp
  52. 4
      Marlin/src/HAL/DUE/dogm/u8g_com_HAL_DUE_sw_spi_shared.cpp
  53. 0
      Marlin/src/HAL/DUE/dogm/u8g_com_HAL_DUE_sw_spi_shared.h
  54. 0
      Marlin/src/HAL/DUE/endstop_interrupts.h
  55. 0
      Marlin/src/HAL/DUE/fastio.h
  56. 0
      Marlin/src/HAL/DUE/fastio/G2_PWM.cpp
  57. 2
      Marlin/src/HAL/DUE/fastio/G2_PWM.h
  58. 0
      Marlin/src/HAL/DUE/fastio/G2_pins.h
  59. 0
      Marlin/src/HAL/DUE/inc/Conditionals_LCD.h
  60. 0
      Marlin/src/HAL/DUE/inc/Conditionals_adv.h
  61. 28
      Marlin/src/HAL/DUE/inc/Conditionals_post.h
  62. 0
      Marlin/src/HAL/DUE/inc/SanityCheck.h
  63. 4
      Marlin/src/HAL/DUE/persistent_store_eeprom.cpp
  64. 0
      Marlin/src/HAL/DUE/pinsDebug.h
  65. 0
      Marlin/src/HAL/DUE/spi_pins.h
  66. 0
      Marlin/src/HAL/DUE/timers.cpp
  67. 0
      Marlin/src/HAL/DUE/timers.h
  68. 0
      Marlin/src/HAL/DUE/usb/arduino_due_x.h
  69. 0
      Marlin/src/HAL/DUE/usb/compiler.h
  70. 0
      Marlin/src/HAL/DUE/usb/conf_access.h
  71. 0
      Marlin/src/HAL/DUE/usb/conf_clock.h
  72. 0
      Marlin/src/HAL/DUE/usb/conf_usb.h
  73. 0
      Marlin/src/HAL/DUE/usb/ctrl_access.c
  74. 0
      Marlin/src/HAL/DUE/usb/ctrl_access.h
  75. 0
      Marlin/src/HAL/DUE/usb/genclk.h
  76. 0
      Marlin/src/HAL/DUE/usb/mrepeat.h
  77. 0
      Marlin/src/HAL/DUE/usb/osc.h
  78. 0
      Marlin/src/HAL/DUE/usb/pll.h
  79. 0
      Marlin/src/HAL/DUE/usb/preprocessor.h
  80. 0
      Marlin/src/HAL/DUE/usb/sbc_protocol.h
  81. 0
      Marlin/src/HAL/DUE/usb/sd_mmc_spi_mem.cpp
  82. 0
      Marlin/src/HAL/DUE/usb/sd_mmc_spi_mem.h
  83. 0
      Marlin/src/HAL/DUE/usb/spc_protocol.h
  84. 0
      Marlin/src/HAL/DUE/usb/stringz.h
  85. 0
      Marlin/src/HAL/DUE/usb/sysclk.c
  86. 0
      Marlin/src/HAL/DUE/usb/sysclk.h
  87. 0
      Marlin/src/HAL/DUE/usb/tpaste.h
  88. 0
      Marlin/src/HAL/DUE/usb/udc.c
  89. 0
      Marlin/src/HAL/DUE/usb/udc.h
  90. 0
      Marlin/src/HAL/DUE/usb/udc_desc.h
  91. 0
      Marlin/src/HAL/DUE/usb/udd.h
  92. 0
      Marlin/src/HAL/DUE/usb/udi.h
  93. 0
      Marlin/src/HAL/DUE/usb/udi_cdc.c
  94. 0
      Marlin/src/HAL/DUE/usb/udi_cdc.h
  95. 0
      Marlin/src/HAL/DUE/usb/udi_cdc_conf.h
  96. 0
      Marlin/src/HAL/DUE/usb/udi_cdc_desc.c
  97. 0
      Marlin/src/HAL/DUE/usb/udi_composite_desc.c
  98. 0
      Marlin/src/HAL/DUE/usb/udi_msc.c
  99. 0
      Marlin/src/HAL/DUE/usb/udi_msc.h
  100. 0
      Marlin/src/HAL/DUE/usb/uotghs_device_due.c

17
.github/workflows/test-builds.yml

@ -29,7 +29,7 @@ jobs:
- DUE
- esp32
- linux_native
- megaatmega2560
- mega2560
- teensy31
- teensy35
- SAMD51_grandcentral_m4
@ -37,22 +37,23 @@ jobs:
# Extended AVR Environments
- FYSETC_F6_13
- megaatmega1280
- mega1280
- rambo
- sanguino_atmega1284p
- sanguino_atmega644p
- sanguino1284p
- sanguino644p
# Extended STM32 Environments
- STM32F103RC_bigtree
- STM32F103RC_bigtree_USB
- STM32F103RE_bigtree
- STM32F103RE_bigtree_USB
- STM32F103RC_btt
- STM32F103RC_btt_USB
- STM32F103RE_btt
- STM32F103RE_btt_USB
- STM32F103RC_fysetc
- jgaurora_a5s_a1
- STM32F103VE_longer
- STM32F407VE_black
- BIGTREE_SKR_PRO
- BIGTREE_GTR_V1_0
- mks_robin
- ARMED
- FYSETC_S6

23
Marlin/Configuration.h

@ -36,7 +36,7 @@
* Advanced settings can be found in Configuration_adv.h
*
*/
#define CONFIGURATION_H_VERSION 020004
#define CONFIGURATION_H_VERSION 020005
//===========================================================================
//============================= Getting Started =============================
@ -100,6 +100,7 @@
/**
* Select the serial port on the board to use for communication with the host.
* This allows the connection of wireless adapters (for instance) to non-default port pins.
* Serial port -1 is the USB emulated serial port, if available.
* Note: The first serial port (-1 or 0) will always be used by the Arduino bootloader.
*
* :[-1, 0, 1, 2, 3, 4, 5, 6, 7]
@ -110,9 +111,6 @@
/**
* Select a secondary serial port on the board to use for communication with the host.
* This allows the connection of wireless adapters (for instance) to non-default port pins.
* Serial port -1 is the USB emulated serial port, if available.
*
* :[-1, 0, 1, 2, 3, 4, 5, 6, 7]
*/
//@
@ -369,6 +367,7 @@
* 1 : 100k thermistor - best choice for EPCOS 100k (4.7k pullup)
* 331 : (3.3V scaled thermistor 1 table)
* 2 : 200k thermistor - ATC Semitec 204GT-2 (4.7k pullup)
* 202 : 200k thermistor - Copymaster 3D
* 3 : Mendel-parts thermistor (4.7k pullup)
* 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !!
* 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan & J-Head) (4.7k pullup)
@ -927,6 +926,21 @@
#define Z_PROBE_RETRACT_X X_MAX_POS
#endif
// Duet Smart Effector (for delta printers) - https://bit.ly/2ul5U7J
// When the pin is defined you can use M672 to set/reset the probe sensivity.
//#define DUET_SMART_EFFECTOR
#if ENABLED(DUET_SMART_EFFECTOR)
#define SMART_EFFECTOR_MOD_PIN -1 // Connect a GPIO pin to the Smart Effector MOD pin
#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.
//
@ -1446,6 +1460,7 @@
#define EEPROM_SETTINGS // Persistent storage with M500 and M501
//#define DISABLE_M503 // Saves ~2700 bytes of PROGMEM. Disable for release!
#define EEPROM_CHITCHAT // Give feedback on EEPROM commands. Disable to save PROGMEM.
#define EEPROM_BOOT_SILENT // Keep M503 quiet and only give errors during first load
#if ENABLED(EEPROM_SETTINGS)
#define EEPROM_AUTO_INIT // Init EEPROM automatically on any errors.
#endif

162
Marlin/Configuration_adv.h

@ -31,7 +31,7 @@
* Basic settings can be found in Configuration.h
*
*/
#define CONFIGURATION_ADV_H_VERSION 020004
#define CONFIGURATION_ADV_H_VERSION 020005
// @section temperature
@ -276,8 +276,10 @@
#define AUTOTEMP_OLDWEIGHT 0.98
#endif
// Show extra position information with 'M114 D'
//#define M114_DETAIL
// Extra options for the M114 "Current Position" report
//#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
// Enable for M105 to include ADC values read from temperature sensors.
@ -336,15 +338,22 @@
* Controller Fan
* To cool down the stepper drivers and MOSFETs.
*
* The fan will turn on automatically whenever any stepper is enabled
* and turn off after a set period after all steppers are turned off.
* The fan turns on automatically whenever any driver is enabled and turns
* off (or reduces to idle speed) shortly after drivers are turned off.
*
*/
//#define USE_CONTROLLER_FAN
#if ENABLED(USE_CONTROLLER_FAN)
//#define CONTROLLER_FAN_PIN H_E1 // Set a custom pin for the controller fan
#define CONTROLLERFAN_SECS 0 // Duration in seconds for the fan to run after all motors are disabled
#define CONTROLLERFAN_SPEED 255 // 255 == full speed
//#define CONTROLLERFAN_SPEED_Z_ONLY 127 // Reduce noise on machines that keep Z enabled
//#define CONTROLLER_FAN_PIN -1 // Set a custom pin for the controller fan
//#define CONTROLLER_FAN_USE_Z_ONLY // With this option only the Z axis is considered
#define CONTROLLERFAN_SPEED_MIN 0 // (0-255) Minimum speed. (If set below this value the fan is turned off.)
#define CONTROLLERFAN_SPEED_ACTIVE 255 // (0-255) Active speed, used when any motor is enabled
#define CONTROLLERFAN_SPEED_IDLE 0 // (0-255) Idle speed, used when motors are disabled
#define CONTROLLERFAN_IDLE_TIME 60 // (seconds) Extra time to keep the fan running after disabling motors
//#define CONTROLLER_FAN_EDITABLE // Enable M710 configurable settings
#if ENABLED(CONTROLLER_FAN_EDITABLE)
#define CONTROLLER_FAN_MENU // Enable the Controller Fan submenu
#endif
#endif
// When first starting the main fan, run it at full speed for the
@ -692,10 +701,13 @@
#define RESTORE_LEVELING_AFTER_G34
// On a 300mm bed a 5% grade would give a misalignment of ~1.5cm
#define G34_MAX_GRADE 5 // (%) Maximum incline G34 will handle
// Stop criterion. If the accuracy is better than this stop iterating early
#define Z_STEPPER_ALIGN_ACC 0.02
#define G34_MAX_GRADE 5 // (%) Maximum incline that G34 will handle
#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 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
// @section motion
@ -729,8 +741,12 @@
// Minimum time that a segment needs to take if the buffer is emptied
#define DEFAULT_MINSEGMENTTIME 20000 // (ms)
// If defined the movements slow down when the look ahead buffer is only half full
// Slow down the machine if the look ahead buffer is (by default) half full.
// Increase the slowdown divisor for larger buffer sizes.
#define SLOWDOWN
#if ENABLED(SLOWDOWN)
#define SLOWDOWN_DIVISOR 2
#endif
// Frequency limit
// See nophead's blog for more info
@ -973,13 +989,17 @@
// Show the E position (filament used) during printing
//#define LCD_SHOW_E_TOTAL
#if HAS_GRAPHICAL_LCD && HAS_PRINT_PROGRESS
#if ENABLED(SHOW_BOOTSCREEN)
#define BOOTSCREEN_TIMEOUT 4000 // (ms) Total Duration to display the boot screen(s)
#endif
#if HAS_GRAPHICAL_LCD && EITHER(SDSUPPORT, LCD_SET_PROGRESS_MANUALLY)
//#define PRINT_PROGRESS_SHOW_DECIMALS // Show progress with decimal digits
//#define SHOW_REMAINING_TIME // Display estimated time to completion
//#define ROTATE_PROGRESS_DISPLAY // Display (P)rogress, (E)lapsed, and (R)emaining time
#endif
#if HAS_CHARACTER_LCD && HAS_PRINT_PROGRESS
#if HAS_CHARACTER_LCD && EITHER(SDSUPPORT, LCD_SET_PROGRESS_MANUALLY)
//#define LCD_PROGRESS_BAR // Show a progress bar on HD44780 LCDs for SD printing
#if ENABLED(LCD_PROGRESS_BAR)
#define PROGRESS_BAR_BAR_TIME 2000 // (ms) Amount of time to show the bar
@ -992,12 +1012,9 @@
#if ENABLED(SDSUPPORT)
// Some RAMPS and other boards don't detect when an SD card is inserted. You can work
// around this by connecting a push button or single throw switch to the pin defined
// as SD_DETECT_PIN in your board's pins definitions.
// 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
// The standard SD detect circuit reads LOW when media is inserted and HIGH when empty.
// Enable this option and set to HIGH if your SD cards are incorrectly detected.
//#define SD_DETECT_STATE HIGH
#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.
@ -1019,10 +1036,16 @@
* 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
* 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
#if ENABLED(POWER_LOSS_RECOVERY)
//#define POWER_LOSS_PIN 44 // Pin to detect power loss
#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 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_STATE HIGH // State of pin indicating power loss
//#define POWER_LOSS_PULL // Set pullup / pulldown as appropriate
//#define POWER_LOSS_PURGE_LEN 20 // (mm) Length of filament to purge on resume
@ -1201,10 +1224,6 @@
// Western only. Not available for Cyrillic, Kana, Turkish, Greek, or Chinese.
//#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
//#define OVERLAY_GFX_REVERSE
@ -1221,6 +1240,10 @@
* This will prevent position updates from being displayed.
*/
#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
#if ENABLED(LIGHTWEIGHT_UI)
#define STATUS_EXPIRE_SECONDS 20
@ -1256,7 +1279,44 @@
#endif // HAS_GRAPHICAL_LCD
//
// Lulzbot Touch UI
// Additional options for DGUS / DWIN displays
//
#if HAS_DGUS_LCD
#define DGUS_SERIAL_PORT 3
#define DGUS_BAUDRATE 115200
#define DGUS_RX_BUFFER_SIZE 128
#define DGUS_TX_BUFFER_SIZE 48
//#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
#if EITHER(DGUS_LCD_UI_FYSETC, DGUS_LCD_UI_HIPRECY)
#define DGUS_PRINT_FILENAME // Display the filename during printing
#define DGUS_PREHEAT_UI // Display a preheat screen during heatup
#if ENABLED(DGUS_LCD_UI_FYSETC)
//#define DGUS_UI_MOVE_DIS_OPTION // Disabled by default for UI_FYSETC
#else
#define DGUS_UI_MOVE_DIS_OPTION // Enabled by default for UI_HIPRECY
#endif
#define DGUS_FILAMENT_LOADUNLOAD
#if ENABLED(DGUS_FILAMENT_LOADUNLOAD)
#define DGUS_FILAMENT_PURGE_LENGTH 10
#define DGUS_FILAMENT_LOAD_LENGTH_PER_TIME 0.5 // (mm) Adjust in proportion to DGUS_UPDATE_INTERVAL_MS
#endif
#define DGUS_UI_WAITING // Show a "waiting" screen between some screens
#if ENABLED(DGUS_UI_WAITING)
#define DGUS_UI_WAITING_STATUS 10
#define DGUS_UI_WAITING_STATUS_PERIOD 8 // Increase to slower waiting status looping
#endif
#endif
#endif // HAS_DGUS_LCD
//
// Touch UI for the FTDI Embedded Video Engine (EVE)
//
#if ENABLED(LULZBOT_TOUCH_UI)
// Display board used
@ -1500,6 +1560,38 @@
#endif
/**
* Thermal Probe Compensation
* Probe measurements are adjusted to compensate for temperature distortion.
* Use G76 to calibrate this feature. Use M871 to set values manually.
* For a more detailed explanation of the process see G76_M871.cpp.
*/
#if HAS_BED_PROBE && TEMP_SENSOR_PROBE && TEMP_SENSOR_BED
// Enable thermal first layer compensation using bed and probe temperatures
#define PROBE_TEMP_COMPENSATION
// Add additional compensation depending on hotend temperature
// Note: this values cannot be calibrated and have to be set manually
#if ENABLED(PROBE_TEMP_COMPENSATION)
// Max temperature that can be reached by heated bed.
// This is required only for the calibration process.
#define PTC_MAX_BED_TEMP BED_MAXTEMP
// Park position to wait for probe cooldown
#define PTC_PARK_POS_X 0.0F
#define PTC_PARK_POS_Y 0.0F
#define PTC_PARK_POS_Z 100.0F
// Probe position to probe and wait for probe to reach target temperature
#define PTC_PROBE_POS_X 90.0F
#define PTC_PROBE_POS_Y 100.0F
// Enable additional compensation using hotend temperature
// Note: this values cannot be calibrated automatically but have to be set manually
//#define USE_TEMP_EXT_COMPENSATION
#endif
#endif
// @section extras
//
@ -1897,7 +1989,7 @@
* TMCStepper library is required to use TMC stepper drivers.
* 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 INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
@ -2149,14 +2241,6 @@
*/
//#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)
// TMC2209: 0...255. TMC2130: -64...63
#define X_STALL_SENSITIVITY 8
@ -2192,7 +2276,7 @@
*/
#define TMC_ADV() { }
#endif // HAS_TRINAMIC
#endif // HAS_TRINAMIC_CONFIG
// @section L6470
@ -2775,7 +2859,7 @@
#define MAX7219_LOAD_PIN 44
//#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_ROTATE 0 // Rotate the display clockwise (in multiples of +/- 90°)
// connector at: right=0 bottom=-90 top=90 left=180

2
Marlin/Makefile

@ -267,6 +267,8 @@ else ifeq ($(HARDWARE_MOTHERBOARD),1147)
else ifeq ($(HARDWARE_MOTHERBOARD),1148)
# MKS GEN L V2
else ifeq ($(HARDWARE_MOTHERBOARD),1149)
# Copymaster 3D
else ifeq ($(HARDWARE_MOTHERBOARD),1150)
#
# RAMBo and derivatives

2
Marlin/Version.h

@ -28,7 +28,7 @@
/**
* Marlin release version identifier
*/
//#define SHORT_BUILD_VERSION "2.0.4.4"
//#define SHORT_BUILD_VERSION "2.0.5.2"
/**
* Verbose version identifier which should contain a reference to the location

0
Marlin/src/HAL/HAL_AVR/HAL.cpp → Marlin/src/HAL/AVR/HAL.cpp

0
Marlin/src/HAL/HAL_AVR/HAL.h → Marlin/src/HAL/AVR/HAL.h

4
Marlin/src/HAL/HAL_AVR/HAL_SPI.cpp → Marlin/src/HAL/AVR/HAL_SPI.cpp

@ -197,7 +197,7 @@ void spiBegin() {
// output pin high - like sending 0xFF
WRITE(MOSI_PIN, HIGH);
for (uint8_t i = 0; i < 8; i++) {
LOOP_L_N(i, 8) {
WRITE(SCK_PIN, HIGH);
nop; // adjust so SCK is nice
@ -224,7 +224,7 @@ void spiBegin() {
void spiSend(uint8_t data) {
// no interrupts during byte send - about 8µs
cli();
for (uint8_t i = 0; i < 8; i++) {
LOOP_L_N(i, 8) {
WRITE(SCK_PIN, LOW);
WRITE(MOSI_PIN, data & 0x80);
data <<= 1;

4
Marlin/src/HAL/HAL_AVR/MarlinSerial.cpp → Marlin/src/HAL/AVR/MarlinSerial.cpp

@ -55,7 +55,7 @@
// A SW memory barrier, to ensure GCC does not overoptimize loops
#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:
// 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"
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;
// Extract the integer part of the number and print it

18
Marlin/src/HAL/HAL_AVR/MarlinSerial.h → Marlin/src/HAL/AVR/MarlinSerial.h

@ -31,10 +31,10 @@
* Templatized 01 October 2018 by Eduardo José Tagle to allow multiple instances
*/
#include "../shared/MarlinSerial.h"
#include <WString.h>
#include "../../inc/MarlinConfigPre.h"
#ifndef SERIAL_PORT
#define SERIAL_PORT 0
#endif
@ -261,12 +261,12 @@
static constexpr int PORT = serial;
static constexpr unsigned int RX_SIZE = RX_BUFFER_SIZE;
static constexpr unsigned int TX_SIZE = TX_BUFFER_SIZE;
static constexpr bool XONOFF = bSERIAL_XON_XOFF;
static constexpr bool EMERGENCYPARSER = bEMERGENCY_PARSER;
static constexpr bool DROPPED_RX = bSERIAL_STATS_DROPPED_RX;
static constexpr bool RX_OVERRUNS = bSERIAL_STATS_RX_BUFFER_OVERRUNS;
static constexpr bool RX_FRAMING_ERRORS = bSERIAL_STATS_RX_FRAMING_ERRORS;
static constexpr bool MAX_RX_QUEUED = bSERIAL_STATS_MAX_RX_QUEUED;
static constexpr bool XONOFF = ENABLED(SERIAL_XON_XOFF);
static constexpr bool EMERGENCYPARSER = ENABLED(EMERGENCY_PARSER);
static constexpr bool DROPPED_RX = ENABLED(SERIAL_STATS_DROPPED_RX);
static constexpr bool RX_OVERRUNS = ENABLED(SERIAL_STATS_RX_BUFFER_OVERRUNS);
static constexpr bool RX_FRAMING_ERRORS = ENABLED(SERIAL_STATS_RX_FRAMING_ERRORS);
static constexpr bool MAX_RX_QUEUED = ENABLED(SERIAL_STATS_MAX_RX_QUEUED);
};
extern MarlinSerial<MarlinSerialCfg<SERIAL_PORT>> customizedSerial1;
@ -304,7 +304,7 @@
static constexpr bool XONOFF = false;
static constexpr bool EMERGENCYPARSER = 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 MAX_RX_QUEUED = false;
};

0
Marlin/src/HAL/HAL_AVR/Servo.cpp → Marlin/src/HAL/AVR/Servo.cpp

0
Marlin/src/HAL/HAL_AVR/ServoTimers.h → Marlin/src/HAL/AVR/ServoTimers.h

0
Marlin/src/HAL/HAL_AVR/endstop_interrupts.h → Marlin/src/HAL/AVR/endstop_interrupts.h

2
Marlin/src/HAL/HAL_AVR/fast_pwm.cpp → Marlin/src/HAL/AVR/fast_pwm.cpp

@ -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 };
// 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;
if (timer.n == 2) {
// No resolution calculation for TIMER2 unless enabled USE_OCR2A_AS_TOP

0
Marlin/src/HAL/HAL_AVR/fastio.cpp → Marlin/src/HAL/AVR/fastio.cpp

0
Marlin/src/HAL/HAL_AVR/fastio.h → Marlin/src/HAL/AVR/fastio.h

2
Marlin/src/HAL/HAL_AVR/fastio/fastio_1280.h → Marlin/src/HAL/AVR/fastio/fastio_1280.h

@ -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
* 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"

0
Marlin/src/HAL/HAL_AVR/fastio/fastio_1281.h → Marlin/src/HAL/AVR/fastio/fastio_1281.h

0
Marlin/src/HAL/HAL_AVR/fastio/fastio_168.h → Marlin/src/HAL/AVR/fastio/fastio_168.h

0
Marlin/src/HAL/HAL_AVR/fastio/fastio_644.h → Marlin/src/HAL/AVR/fastio/fastio_644.h

0
Marlin/src/HAL/HAL_AVR/fastio/fastio_AT90USB.h → Marlin/src/HAL/AVR/fastio/fastio_AT90USB.h

0
Marlin/src/HAL/HAL_AVR/inc/Conditionals_LCD.h → Marlin/src/HAL/AVR/inc/Conditionals_LCD.h

0
Marlin/src/HAL/HAL_AVR/inc/Conditionals_adv.h → Marlin/src/HAL/AVR/inc/Conditionals_adv.h

0
Marlin/src/HAL/HAL_AVR/inc/Conditionals_post.h → Marlin/src/HAL/AVR/inc/Conditionals_post.h

2
Marlin/src/HAL/HAL_AVR/inc/SanityCheck.h → Marlin/src/HAL/AVR/inc/SanityCheck.h

@ -56,7 +56,7 @@
/**
* 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."
#endif

0
Marlin/src/HAL/HAL_AVR/math.h → Marlin/src/HAL/AVR/math.h

0
Marlin/src/HAL/HAL_AVR/persistent_store_eeprom.cpp → Marlin/src/HAL/AVR/persistent_store_eeprom.cpp

4
Marlin/src/HAL/HAL_AVR/pinsDebug.h → Marlin/src/HAL/AVR/pinsDebug.h

@ -70,12 +70,12 @@
void PRINT_ARRAY_NAME(uint8_t x) {
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);
if (temp_char != 0)
SERIAL_CHAR(temp_char);
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;
}
}

0
Marlin/src/HAL/HAL_AVR/pinsDebug_Teensyduino.h → Marlin/src/HAL/AVR/pinsDebug_Teensyduino.h

0
Marlin/src/HAL/HAL_AVR/pinsDebug_plus_70.h → Marlin/src/HAL/AVR/pinsDebug_plus_70.h

0
Marlin/src/HAL/HAL_AVR/spi_pins.h → Marlin/src/HAL/AVR/spi_pins.h

4
Marlin/src/HAL/HAL_AVR/u8g_com_HAL_AVR_sw_spi.cpp → Marlin/src/HAL/AVR/u8g_com_HAL_AVR_sw_spi.cpp

@ -88,7 +88,7 @@ void u8g_spiSend_sw_AVR_mode_0(uint8_t val) {
volatile uint8_t *outData = u8g_outData,
*outClock = u8g_outClock;
U8G_ATOMIC_START();
for (uint8_t i = 0; i < 8; i++) {
LOOP_L_N(i, 8) {
if (val & 0x80)
*outData |= bitData;
else
@ -108,7 +108,7 @@ void u8g_spiSend_sw_AVR_mode_3(uint8_t val) {
volatile uint8_t *outData = u8g_outData,
*outClock = u8g_outClock;
U8G_ATOMIC_START();
for (uint8_t i = 0; i < 8; i++) {
LOOP_L_N(i, 8) {
*outClock &= bitNotClock;
if (val & 0x80)
*outData |= bitData;

0
Marlin/src/HAL/HAL_AVR/watchdog.cpp → Marlin/src/HAL/AVR/watchdog.cpp

0
Marlin/src/HAL/HAL_AVR/watchdog.h → Marlin/src/HAL/AVR/watchdog.h

0
Marlin/src/HAL/HAL_DUE/DebugMonitor.cpp → Marlin/src/HAL/DUE/DebugMonitor.cpp

4
Marlin/src/HAL/HAL_DUE/EepromEmulation.cpp → Marlin/src/HAL/DUE/EepromEmulation.cpp

@ -54,7 +54,7 @@
#include "../../inc/MarlinConfig.h"
#if ENABLED(EEPROM_SETTINGS) && NONE(I2C_EEPROM, SPI_EEPROM)
#if ENABLED(FLASH_EEPROM_EMULATION)
#include "../shared/Marduino.h"
#include "../shared/persistent_store_api.h"
@ -1016,5 +1016,5 @@ void eeprom_flush() {
ee_Flush();
}
#endif // EEPROM_SETTINGS && (!I2C_EEPROM && !SPI_EEPROM)
#endif // FLASH_EEPROM_EMULATION
#endif // ARDUINO_ARCH_AVR

0
Marlin/src/HAL/HAL_DUE/HAL.cpp → Marlin/src/HAL/DUE/HAL.cpp

5
Marlin/src/HAL/HAL_DUE/HAL.h → Marlin/src/HAL/DUE/HAL.h

@ -39,7 +39,7 @@
#include <stdint.h>
// Define MYSERIAL0/1 before MarlinSerial includes!
#if SERIAL_PORT == -1
#if SERIAL_PORT == -1 || ENABLED(EMERGENCY_PARSER)
#define MYSERIAL0 customizedSerial1
#elif SERIAL_PORT == 0
#define MYSERIAL0 Serial
@ -56,7 +56,7 @@
#ifdef SERIAL_PORT_2
#if SERIAL_PORT_2 == SERIAL_PORT
#error "SERIAL_PORT_2 must be different from SERIAL_PORT. Please update your configuration."
#elif SERIAL_PORT_2 == -1
#elif SERIAL_PORT_2 == -1 || ENABLED(EMERGENCY_PARSER)
#define MYSERIAL1 customizedSerial2
#elif SERIAL_PORT_2 == 0
#define MYSERIAL1 Serial
@ -94,7 +94,6 @@
#endif
#endif
#include "MarlinSerial.h"
#include "MarlinSerialUSB.h"

0
Marlin/src/HAL/HAL_DUE/HAL_SPI.cpp → Marlin/src/HAL/DUE/HAL_SPI.cpp

0
Marlin/src/HAL/HAL_DUE/InterruptVectors.cpp → Marlin/src/HAL/DUE/InterruptVectors.cpp

0
Marlin/src/HAL/HAL_DUE/InterruptVectors.h → Marlin/src/HAL/DUE/InterruptVectors.h

24
Marlin/src/HAL/HAL_DUE/MarlinSerial.cpp → Marlin/src/HAL/DUE/MarlinSerial.cpp

@ -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
#define sw_barrier() asm volatile("": : :"memory");
#include "../../feature/emergency_parser.h"
#include "../../feature/e_parser.h"
// (called with RX interrupts disabled)
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"
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;
// Extract the integer part of the number and print it
@ -629,23 +629,13 @@ void MarlinSerial<Cfg>::printFloat(double number, uint8_t digits) {
// If not using the USB port as serial port
#if SERIAL_PORT >= 0
// Preinstantiate
template class MarlinSerial<MarlinSerialCfg<SERIAL_PORT>>;
// Instantiate
MarlinSerial<MarlinSerialCfg<SERIAL_PORT>> customizedSerial1;
template class MarlinSerial<MarlinSerialCfg<SERIAL_PORT>>; // Define
MarlinSerial<MarlinSerialCfg<SERIAL_PORT>> customizedSerial1; // Instantiate
#endif
#ifdef SERIAL_PORT_2
// Preinstantiate
template class MarlinSerial<MarlinSerialCfg<SERIAL_PORT_2>>;
// Instantiate
MarlinSerial<MarlinSerialCfg<SERIAL_PORT_2>> customizedSerial2;
#if defined(SERIAL_PORT_2) && SERIAL_PORT_2 >= 0
template class MarlinSerial<MarlinSerialCfg<SERIAL_PORT_2>>; // Define
MarlinSerial<MarlinSerialCfg<SERIAL_PORT_2>> customizedSerial2; // Instantiate
#endif
#endif // ARDUINO_ARCH_SAM

24
Marlin/src/HAL/HAL_DUE/MarlinSerial.h → Marlin/src/HAL/DUE/MarlinSerial.h

@ -27,10 +27,10 @@
* Based on MarlinSerial for AVR, copyright (c) 2006 Nicholas Zambetti. All right reserved.
*/
#include "../shared/MarlinSerial.h"
#include <WString.h>
#include "../../inc/MarlinConfigPre.h"
#define DEC 10
#define HEX 16
#define OCT 8
@ -163,22 +163,18 @@ struct MarlinSerialCfg {
static constexpr int PORT = serial;
static constexpr unsigned int RX_SIZE = RX_BUFFER_SIZE;
static constexpr unsigned int TX_SIZE = TX_BUFFER_SIZE;
static constexpr bool XONOFF = bSERIAL_XON_XOFF;
static constexpr bool EMERGENCYPARSER = bEMERGENCY_PARSER;
static constexpr bool DROPPED_RX = bSERIAL_STATS_DROPPED_RX;
static constexpr bool RX_OVERRUNS = bSERIAL_STATS_RX_BUFFER_OVERRUNS;
static constexpr bool RX_FRAMING_ERRORS = bSERIAL_STATS_RX_FRAMING_ERRORS;
static constexpr bool MAX_RX_QUEUED = bSERIAL_STATS_MAX_RX_QUEUED;
static constexpr bool XONOFF = ENABLED(SERIAL_XON_XOFF);
static constexpr bool EMERGENCYPARSER = ENABLED(EMERGENCY_PARSER);
static constexpr bool DROPPED_RX = ENABLED(SERIAL_STATS_DROPPED_RX);
static constexpr bool RX_OVERRUNS = ENABLED(SERIAL_STATS_RX_BUFFER_OVERRUNS);
static constexpr bool RX_FRAMING_ERRORS = ENABLED(SERIAL_STATS_RX_FRAMING_ERRORS);
static constexpr bool MAX_RX_QUEUED = ENABLED(SERIAL_STATS_MAX_RX_QUEUED);
};
#if SERIAL_PORT >= 0
extern MarlinSerial<MarlinSerialCfg<SERIAL_PORT>> customizedSerial1;
#endif
#endif // SERIAL_PORT >= 0
#ifdef SERIAL_PORT_2
#if defined(SERIAL_PORT_2) && SERIAL_PORT_2 >= 0
extern MarlinSerial<MarlinSerialCfg<SERIAL_PORT_2>> customizedSerial2;
#endif

16
Marlin/src/HAL/HAL_DUE/MarlinSerialUSB.cpp → Marlin/src/HAL/DUE/MarlinSerialUSB.cpp

@ -29,12 +29,12 @@
#include "../../inc/MarlinConfig.h"
#if SERIAL_PORT == -1
#if HAS_USB_SERIAL
#include "MarlinSerialUSB.h"
#if ENABLED(EMERGENCY_PARSER)
#include "../../feature/emergency_parser.h"
#include "../../feature/e_parser.h"
#endif
// 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"
double rounding = 0.5;
for (uint8_t i = 0; i < digits; ++i)
LOOP_L_N(i, digits)
rounding *= 0.1;
number += rounding;
@ -283,8 +283,12 @@ void MarlinSerialUSB::printFloat(double number, uint8_t digits) {
}
// Preinstantiate
MarlinSerialUSB customizedSerial1;
#endif // SERIAL_PORT == -1
#if SERIAL_PORT == -1
MarlinSerialUSB customizedSerial1;
#endif
#if SERIAL_PORT_2 == -1
MarlinSerialUSB customizedSerial2;
#endif
#endif // HAS_USB_SERIAL
#endif // ARDUINO_ARCH_SAM

12
Marlin/src/HAL/HAL_DUE/MarlinSerialUSB.h → Marlin/src/HAL/DUE/MarlinSerialUSB.h

@ -28,7 +28,7 @@
#include "../../inc/MarlinConfig.h"
#if SERIAL_PORT == -1
#if HAS_USB_SERIAL
#include <WString.h>
@ -88,6 +88,12 @@ private:
static void printFloat(double, uint8_t);
};
extern MarlinSerialUSB customizedSerial1;
#if SERIAL_PORT == -1
extern MarlinSerialUSB customizedSerial1;
#endif
#if SERIAL_PORT_2 == -1
extern MarlinSerialUSB customizedSerial2;
#endif
#endif // SERIAL_PORT == -1
#endif // HAS_USB_SERIAL

0
Marlin/src/HAL/HAL_DUE/Servo.cpp → Marlin/src/HAL/DUE/Servo.cpp

0
Marlin/src/HAL/HAL_DUE/ServoTimers.h → Marlin/src/HAL/DUE/ServoTimers.h

0
Marlin/src/HAL/HAL_DUE/Tone.cpp → Marlin/src/HAL/DUE/Tone.cpp

0
Marlin/src/HAL/HAL_DUE/dogm/u8g_com_HAL_DUE_shared_hw_spi.cpp → Marlin/src/HAL/DUE/dogm/u8g_com_HAL_DUE_shared_hw_spi.cpp

0
Marlin/src/HAL/HAL_DUE/dogm/u8g_com_HAL_DUE_st7920_sw_spi.cpp → Marlin/src/HAL/DUE/dogm/u8g_com_HAL_DUE_st7920_sw_spi.cpp

0
Marlin/src/HAL/HAL_DUE/dogm/u8g_com_HAL_DUE_sw_spi.cpp → Marlin/src/HAL/DUE/dogm/u8g_com_HAL_DUE_sw_spi.cpp

4
Marlin/src/HAL/HAL_DUE/dogm/u8g_com_HAL_DUE_sw_spi_shared.cpp → Marlin/src/HAL/DUE/dogm/u8g_com_HAL_DUE_sw_spi_shared.cpp

@ -80,7 +80,7 @@ Pio *SCK_pPio, *MOSI_pPio;
uint32_t SCK_dwMask, MOSI_dwMask;
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)
MOSI_pPio->PIO_SODR = MOSI_dwMask;
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
for (uint8_t i = 0; i < 8; i++) {
LOOP_L_N(i, 8) {
SCK_pPio->PIO_CODR = SCK_dwMask;
DELAY_NS(50);
if (val & 0x80)

0
Marlin/src/HAL/HAL_DUE/dogm/u8g_com_HAL_DUE_sw_spi_shared.h → Marlin/src/HAL/DUE/dogm/u8g_com_HAL_DUE_sw_spi_shared.h

0
Marlin/src/HAL/HAL_DUE/endstop_interrupts.h → Marlin/src/HAL/DUE/endstop_interrupts.h

0
Marlin/src/HAL/HAL_DUE/fastio.h → Marlin/src/HAL/DUE/fastio.h

0
Marlin/src/HAL/HAL_DUE/fastio/G2_PWM.cpp → Marlin/src/HAL/DUE/fastio/G2_PWM.cpp

2
Marlin/src/HAL/HAL_DUE/fastio/G2_PWM.h → Marlin/src/HAL/DUE/fastio/G2_PWM.h

@ -63,7 +63,7 @@ extern PWM_map ISR_table[NUM_PWMS];
extern uint32_t motor_current_setting[3];
#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_PR 24 // prescaler value - prescaler divide by 24 + 1 - 1 MHz output

0
Marlin/src/HAL/HAL_DUE/fastio/G2_pins.h → Marlin/src/HAL/DUE/fastio/G2_pins.h

0
Marlin/src/HAL/HAL_DUE/inc/Conditionals_LCD.h → Marlin/src/HAL/DUE/inc/Conditionals_LCD.h

0
Marlin/src/HAL/HAL_DUE/inc/Conditionals_adv.h → Marlin/src/HAL/DUE/inc/Conditionals_adv.h

28
Marlin/src/HAL/DUE/inc/Conditionals_post.h

@ -0,0 +1,28 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#pragma once
#if USE_EMULATED_EEPROM
#undef SRAM_EEPROM_EMULATION
#undef SDCARD_EEPROM_EMULATION
#define FLASH_EEPROM_EMULATION
#endif

0
Marlin/src/HAL/HAL_DUE/inc/SanityCheck.h → Marlin/src/HAL/DUE/inc/SanityCheck.h

4
Marlin/src/HAL/HAL_DUE/persistent_store_eeprom.cpp → Marlin/src/HAL/DUE/persistent_store_eeprom.cpp

@ -29,7 +29,7 @@
#include "../../inc/MarlinConfig.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)
#endif
@ -38,7 +38,7 @@ extern void eeprom_flush();
bool PersistentStore::access_start() { return true; }
bool PersistentStore::access_finish() {
#if NONE(I2C_EEPROM, SPI_EEPROM)
#if ENABLED(FLASH_EEPROM_EMULATION)
eeprom_flush();
#endif
return true;

0
Marlin/src/HAL/HAL_DUE/pinsDebug.h → Marlin/src/HAL/DUE/pinsDebug.h

0
Marlin/src/HAL/HAL_DUE/spi_pins.h → Marlin/src/HAL/DUE/spi_pins.h

0
Marlin/src/HAL/HAL_DUE/timers.cpp → Marlin/src/HAL/DUE/timers.cpp

0
Marlin/src/HAL/HAL_DUE/timers.h → Marlin/src/HAL/DUE/timers.h

0
Marlin/src/HAL/HAL_DUE/usb/arduino_due_x.h → Marlin/src/HAL/DUE/usb/arduino_due_x.h

0
Marlin/src/HAL/HAL_DUE/usb/compiler.h → Marlin/src/HAL/DUE/usb/compiler.h

0
Marlin/src/HAL/HAL_DUE/usb/conf_access.h → Marlin/src/HAL/DUE/usb/conf_access.h

0
Marlin/src/HAL/HAL_DUE/usb/conf_clock.h → Marlin/src/HAL/DUE/usb/conf_clock.h

0
Marlin/src/HAL/HAL_DUE/usb/conf_usb.h → Marlin/src/HAL/DUE/usb/conf_usb.h

0
Marlin/src/HAL/HAL_DUE/usb/ctrl_access.c → Marlin/src/HAL/DUE/usb/ctrl_access.c

0
Marlin/src/HAL/HAL_DUE/usb/ctrl_access.h → Marlin/src/HAL/DUE/usb/ctrl_access.h

0
Marlin/src/HAL/HAL_DUE/usb/genclk.h → Marlin/src/HAL/DUE/usb/genclk.h

0
Marlin/src/HAL/HAL_DUE/usb/mrepeat.h → Marlin/src/HAL/DUE/usb/mrepeat.h

0
Marlin/src/HAL/HAL_DUE/usb/osc.h → Marlin/src/HAL/DUE/usb/osc.h

0
Marlin/src/HAL/HAL_DUE/usb/pll.h → Marlin/src/HAL/DUE/usb/pll.h

0
Marlin/src/HAL/HAL_DUE/usb/preprocessor.h → Marlin/src/HAL/DUE/usb/preprocessor.h

0
Marlin/src/HAL/HAL_DUE/usb/sbc_protocol.h → Marlin/src/HAL/DUE/usb/sbc_protocol.h

0
Marlin/src/HAL/HAL_DUE/usb/sd_mmc_spi_mem.cpp → Marlin/src/HAL/DUE/usb/sd_mmc_spi_mem.cpp

0
Marlin/src/HAL/HAL_DUE/usb/sd_mmc_spi_mem.h → Marlin/src/HAL/DUE/usb/sd_mmc_spi_mem.h

0
Marlin/src/HAL/HAL_DUE/usb/spc_protocol.h → Marlin/src/HAL/DUE/usb/spc_protocol.h

0
Marlin/src/HAL/HAL_DUE/usb/stringz.h → Marlin/src/HAL/DUE/usb/stringz.h

0
Marlin/src/HAL/HAL_DUE/usb/sysclk.c → Marlin/src/HAL/DUE/usb/sysclk.c

0
Marlin/src/HAL/HAL_DUE/usb/sysclk.h → Marlin/src/HAL/DUE/usb/sysclk.h

0
Marlin/src/HAL/HAL_DUE/usb/tpaste.h → Marlin/src/HAL/DUE/usb/tpaste.h

0
Marlin/src/HAL/HAL_DUE/usb/udc.c → Marlin/src/HAL/DUE/usb/udc.c

0
Marlin/src/HAL/HAL_DUE/usb/udc.h → Marlin/src/HAL/DUE/usb/udc.h

0
Marlin/src/HAL/HAL_DUE/usb/udc_desc.h → Marlin/src/HAL/DUE/usb/udc_desc.h

0
Marlin/src/HAL/HAL_DUE/usb/udd.h → Marlin/src/HAL/DUE/usb/udd.h

0
Marlin/src/HAL/HAL_DUE/usb/udi.h → Marlin/src/HAL/DUE/usb/udi.h

0
Marlin/src/HAL/HAL_DUE/usb/udi_cdc.c → Marlin/src/HAL/DUE/usb/udi_cdc.c

0
Marlin/src/HAL/HAL_DUE/usb/udi_cdc.h → Marlin/src/HAL/DUE/usb/udi_cdc.h

0
Marlin/src/HAL/HAL_DUE/usb/udi_cdc_conf.h → Marlin/src/HAL/DUE/usb/udi_cdc_conf.h

0
Marlin/src/HAL/HAL_DUE/usb/udi_cdc_desc.c → Marlin/src/HAL/DUE/usb/udi_cdc_desc.c

0
Marlin/src/HAL/HAL_DUE/usb/udi_composite_desc.c → Marlin/src/HAL/DUE/usb/udi_composite_desc.c

0
Marlin/src/HAL/HAL_DUE/usb/udi_msc.c → Marlin/src/HAL/DUE/usb/udi_msc.c

0
Marlin/src/HAL/HAL_DUE/usb/udi_msc.h → Marlin/src/HAL/DUE/usb/udi_msc.h

0
Marlin/src/HAL/HAL_DUE/usb/uotghs_device_due.c → Marlin/src/HAL/DUE/usb/uotghs_device_due.c

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save