ZONESTAR3D / Upgrade-kit-guide

User Guide and Documents for ZONESTAR 3D Printer Upgrade Kits and Parts
16 stars 9 forks source link

Unified Bed Leveling #3

Closed gpwestern78 closed 2 years ago

gpwestern78 commented 2 years ago

Have a Z8T that I upgraded to use zm3e4 (v 1.0) board, the Zonestar wifi module (from Zonestar _official store on AliExpress,) 2208 steppers for all motors, and LCDDWIN (from same store) and using firmware source from this repository I am unable to compile after commenting out bilinear bed leveling and enabling unified bed leveling options.

ZONESTAR3D commented 2 years ago

Please download the new firmware source code and build it again, thanks!

ZONESTAR3D commented 2 years ago

/**

/**

//=========================================================================== //============================= Thermal Settings ============================ //=========================================================================== // @section temperature

/**

// // Custom Thermistor 1000 parameters //

if TEMP_SENSOR_0 == 1000

define HOTEND0_PULLUP_RESISTOR_OHMS 4700 // Pullup resistor

define HOTEND0_RESISTANCE_25C_OHMS 100000 // Resistance at 25C

define HOTEND0_BETA 3950 // Beta value

endif

if TEMP_SENSOR_1 == 1000

define HOTEND1_PULLUP_RESISTOR_OHMS 4700 // Pullup resistor

define HOTEND1_RESISTANCE_25C_OHMS 100000 // Resistance at 25C

define HOTEND1_BETA 3950 // Beta value

endif

if TEMP_SENSOR_2 == 1000

define HOTEND2_PULLUP_RESISTOR_OHMS 4700 // Pullup resistor

define HOTEND2_RESISTANCE_25C_OHMS 100000 // Resistance at 25C

define HOTEND2_BETA 3950 // Beta value

endif

if TEMP_SENSOR_3 == 1000

define HOTEND3_PULLUP_RESISTOR_OHMS 4700 // Pullup resistor

define HOTEND3_RESISTANCE_25C_OHMS 100000 // Resistance at 25C

define HOTEND3_BETA 3950 // Beta value

endif

if TEMP_SENSOR_4 == 1000

define HOTEND4_PULLUP_RESISTOR_OHMS 4700 // Pullup resistor

define HOTEND4_RESISTANCE_25C_OHMS 100000 // Resistance at 25C

define HOTEND4_BETA 3950 // Beta value

endif

if TEMP_SENSOR_5 == 1000

define HOTEND5_PULLUP_RESISTOR_OHMS 4700 // Pullup resistor

define HOTEND5_RESISTANCE_25C_OHMS 100000 // Resistance at 25C

define HOTEND5_BETA 3950 // Beta value

endif

if TEMP_SENSOR_6 == 1000

define HOTEND6_PULLUP_RESISTOR_OHMS 4700 // Pullup resistor

define HOTEND6_RESISTANCE_25C_OHMS 100000 // Resistance at 25C

define HOTEND6_BETA 3950 // Beta value

endif

if TEMP_SENSOR_7 == 1000

define HOTEND7_PULLUP_RESISTOR_OHMS 4700 // Pullup resistor

define HOTEND7_RESISTANCE_25C_OHMS 100000 // Resistance at 25C

define HOTEND7_BETA 3950 // Beta value

endif

if TEMP_SENSOR_BED == 1000

define BED_PULLUP_RESISTOR_OHMS 4700 // Pullup resistor

define BED_RESISTANCE_25C_OHMS 100000 // Resistance at 25C

define BED_BETA 3950 // Beta value

endif

if TEMP_SENSOR_CHAMBER == 1000

define CHAMBER_PULLUP_RESISTOR_OHMS 4700 // Pullup resistor

define CHAMBER_RESISTANCE_25C_OHMS 100000 // Resistance at 25C

define CHAMBER_BETA 3950 // Beta value

endif

// // Hephestos 2 24V heated bed upgrade kit. // https://store.bq.com/en/heated-bed-kit-hephestos2 // //#define HEPHESTOS2_HEATED_BED_KIT

if ENABLED(HEPHESTOS2_HEATED_BED_KIT)

undef TEMP_SENSOR_BED

define TEMP_SENSOR_BED 70

define HEATER_BED_INVERTING true

endif

// // Heated Bed Bang-Bang options //

if DISABLED(PIDTEMPBED)

define BED_CHECK_INTERVAL 5000 // (ms) Interval between checks in bang-bang control

if ENABLED(BED_LIMIT_SWITCHING)

#define BED_HYSTERESIS 2        // (°C) Only set the relevant heater state when ABS(T-target) > BED_HYSTERESIS

endif

endif

// // Heated Chamber options //

if TEMP_SENSOR_CHAMBER

define CHAMBER_MINTEMP 0

define CHAMBER_MAXTEMP 80

define TEMP_CHAMBER_HYSTERESIS 2 // (°C) Temperature proximity considered "close enough" to the target

//#define CHAMBER_LIMIT_SWITCHING //#define HEATER_CHAMBER_PIN 44 // Chamber heater on/off pin //#define HEATER_CHAMBER_INVERTING false

//#define CHAMBER_FAN // Enable a fan on the chamber

if ENABLED(CHAMBER_FAN)

#define CHAMBER_FAN_MODE 2        // Fan control mode: 0=Static; 1=Linear increase when temp is higher than target; 2=V-shaped curve.
#if CHAMBER_FAN_MODE == 0
  #define CHAMBER_FAN_BASE  255   // Chamber fan PWM (0-255)
#elif CHAMBER_FAN_MODE == 1
  #define CHAMBER_FAN_BASE  128   // Base chamber fan PWM (0-255); turns on when chamber temperature is above the target
  #define CHAMBER_FAN_FACTOR 25   // PWM increase per °C above target
#elif CHAMBER_FAN_MODE == 2
  #define CHAMBER_FAN_BASE  128   // Minimum chamber fan PWM (0-255)
  #define CHAMBER_FAN_FACTOR 25   // PWM increase per °C difference from target
#endif

endif

//#define CHAMBER_VENT // Enable a servo-controlled vent on the chamber

if ENABLED(CHAMBER_VENT)

#define CHAMBER_VENT_SERVO_NR  1  // Index of the vent servo
#define HIGH_EXCESS_HEAT_LIMIT 5  // How much above target temp to consider there is excess heat in the chamber
#define LOW_EXCESS_HEAT_LIMIT 3
#define MIN_COOLING_SLOPE_TIME_CHAMBER_VENT 20
#define MIN_COOLING_SLOPE_DEG_CHAMBER_VENT 1.5

endif

endif

/**

/**

/**

if ENABLED(PIDTEMP)

// Add an experimental additional term to the heater power, proportional to the extrusion speed. // A well-chosen Kc value should add just enough power to melt the increased material volume. //#define PID_EXTRUSION_SCALING

if ENABLED(PID_EXTRUSION_SCALING)

#define DEFAULT_Kc (100) // heating power = Kc * e_speed
#define LPQ_MAX_LEN 50

endif

/**

/**

// Show Temperature ADC value // Enable for M105 to include ADC values read from temperature sensors. //#define SHOW_TEMP_ADC_VALUES

/**

// The number of consecutive low temperature errors that can occur // before a min_temp_error is triggered. (Shouldn't be more than 10.) //#define MAX_CONSECUTIVE_LOW_TEMPERATURE_ERROR_ALLOWED 0

// The number of milliseconds a hotend will preheat before starting to check // the temperature. This value should NOT be set to the time it takes the // hot end to reach the target temperature, but the time it takes to reach // the minimum temperature your thermistor can read. The lower the better/safer. // This shouldn't need to be more than 30 seconds (30000) //#define MILLISECONDS_PREHEAT_TIME 0

// @section extruder

// Extruder runout prevention. // If the machine is idle and the temperature over MINTEMP // then extrude some filament every couple of SECONDS. //#define EXTRUDER_RUNOUT_PREVENT

if ENABLED(EXTRUDER_RUNOUT_PREVENT)

define EXTRUDER_RUNOUT_MINTEMP 190

define EXTRUDER_RUNOUT_SECONDS 30

define EXTRUDER_RUNOUT_SPEED 1500 // (mm/min)

define EXTRUDER_RUNOUT_EXTRUDE 5 // (mm)

endif

/**

// @section temperature

// Calibration for AD595 / AD8495 sensor to adjust temperature measurements. // The final temperature is calculated as (measuredTemp * GAIN) + OFFSET.

define TEMP_SENSOR_AD595_OFFSET 0.0

define TEMP_SENSOR_AD595_GAIN 1.0

define TEMP_SENSOR_AD8495_OFFSET 0.0

define TEMP_SENSOR_AD8495_GAIN 1.0

/**

// When first starting the main fan, run it at full speed for the // given number of milliseconds. This gets the fan spinning reliably // before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu)

define FAN_KICKSTART_TIME 100

// Some coolers may require a non-zero "off" state. //#define FAN_OFF_PWM 1

/**

/**

// @section extruder

/**

define EXTRUDER_AUTO_FAN_TEMPERATURE 50

define EXTRUDER_AUTO_FAN_SPEED 255 // 255 == full speed

define CHAMBER_AUTO_FAN_TEMPERATURE 30

define CHAMBER_AUTO_FAN_SPEED 255

/**

/**

// @section homing

// If you want endstops to stay on (by default) even when not homing // enable this option. Override at any time with M120, M121.

define ENDSTOPS_ALWAYS_ON_DEFAULT

// @section extras

//#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.

// Employ an external closed loop controller. Override pins here if needed. //#define EXTERNAL_CLOSED_LOOP_CONTROLLER

if ENABLED(EXTERNAL_CLOSED_LOOP_CONTROLLER)

//#define CLOSED_LOOP_ENABLE_PIN -1 //#define CLOSED_LOOP_MOVE_COMPLETE_PIN -1

endif

/**

//#define X_DUAL_STEPPER_DRIVERS

if ENABLED(X_DUAL_STEPPER_DRIVERS)

define INVERT_X2_VS_X_DIR true // Set 'true' if X motors should rotate in opposite directions

//#define X_DUAL_ENDSTOPS

if ENABLED(X_DUAL_ENDSTOPS)

#define X2_USE_ENDSTOP _XMAX_
#define X2_ENDSTOP_ADJUSTMENT  0

endif

endif

//#define Y_DUAL_STEPPER_DRIVERS

if ENABLED(Y_DUAL_STEPPER_DRIVERS)

define INVERT_Y2_VS_Y_DIR true // Set 'true' if Y motors should rotate in opposite directions

//#define Y_DUAL_ENDSTOPS

if ENABLED(Y_DUAL_ENDSTOPS)

#define Y2_USE_ENDSTOP _YMAX_
#define Y2_ENDSTOP_ADJUSTMENT  0

endif

endif

// // For Z set the number of stepper drivers //

if ENABLED(OPTION_DUALZ_DRIVE)

define NUM_Z_STEPPER_DRIVERS 2 // (1-4) Z options change based on how many

else

define NUM_Z_STEPPER_DRIVERS 1 // (1-4) Z options change based on how many

endif

if NUM_Z_STEPPER_DRIVERS > 1

if ENABLED(OPTION_Z2_ENDSTOP)

define Z_MULTI_ENDSTOPS

else

//#define Z_MULTI_ENDSTOPS

endif

if ENABLED(Z_MULTI_ENDSTOPS)

#define Z2_USE_ENDSTOP              PD1 //If use Z2_SW_PIN as Z2 ENDSTOP, enable this option
#define Z2_ENDSTOP_ADJUSTMENT       0
#if NUM_Z_STEPPER_DRIVERS >= 3
  #define Z3_USE_ENDSTOP            _YMAX_
  #define Z3_ENDSTOP_ADJUSTMENT 0
#endif
#if NUM_Z_STEPPER_DRIVERS >= 4
  #define Z4_USE_ENDSTOP            _ZMAX_
  #define Z4_ENDSTOP_ADJUSTMENT 0
#endif

endif

endif

/**

// Activate a solenoid on the active extruder with M380. Disable all with M381. // Define SOL0_PIN, SOL1_PIN, etc., for each extruder that has a solenoid. //#define EXT_SOLENOID

// @section homing

/**

//#define SENSORLESS_BACKOFF_MM { 2, 2 } // (mm) Backoff from endstops before sensorless homing

define HOMING_BUMP_MM { 4, 4, 2 } // (mm) Backoff from endstops after first bump

define HOMING_BUMP_DIVISOR { 2, 2, 4 } // Re-Bump Speed Divisor (Divides the Homing Feedrate)

//#define HOMING_BACKOFF_POST_MM { 0, 0, 0 } // (mm) Backoff from endstops after homing //#define QUICK_HOME // If G28 contains XY do a diagonal move first //#define HOME_Y_BEFORE_X // If G28 contains XY home Y before X //#define CODEPENDENT_XY_HOMING // If X/Y can't home without homing Y/X first

// @section bltouch

if ENABLED(BLTOUCH)

/**

endif // BLTOUCH

// @section extras

/**

// // Add the G35 command to read bed corners to help adjust screws. Requires a bed probe. // //#define ASSISTED_TRAMMING

if ENABLED(ASSISTED_TRAMMING)

// Define positions for probing points, use the hotend as reference not the sensor.

define TRAMMING_POINT_XY { { 20, 20 }, { 200, 20 }, { 200, 200 }, { 20, 200 } }

// Define positions names for probing points.

define TRAMMING_POINT_NAME_1 "Front-Left"

define TRAMMING_POINT_NAME_2 "Front-Right"

define TRAMMING_POINT_NAME_3 "Back-Right"

define TRAMMING_POINT_NAME_4 "Back-Left"

define RESTORE_LEVELING_AFTER_G35 // Enable to restore leveling setup after operation

//#define REPORT_TRAMMING_MM // Report Z deviation (mm) for each point relative to the first //#define ASSISTED_TRAMMING_MENU_ITEM // Add a menu item for Assisted Tramming

/**

endif

// @section motion

define AXIS_RELATIVE_MODES { false, false, false, false }

// Add a Duplicate option for well-separated conjoined nozzles //#define MULTI_NOZZLE_DUPLICATION

// By default pololu step drivers require an active high signal. However, some high power drivers require an active low signal as step.

define INVERT_X_STEP_PIN false

define INVERT_Y_STEP_PIN false

define INVERT_Z_STEP_PIN false

define INVERT_E_STEP_PIN false

/**

// If the Nozzle or Bed falls when the Z stepper is disabled, set its resting position here. //#define Z_AFTER_DEACTIVATE Z_HOME_POS

//#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated

// Default Minimum Feedrates for printing and travel moves

define DEFAULT_MINIMUMFEEDRATE 0.0 // (mm/s) Minimum feedrate. Set with M205 S.

define DEFAULT_MINTRAVELFEEDRATE 0.0 // (mm/s) Minimum travel feedrate. Set with M205 T.

// Minimum time that a segment needs to take as the buffer gets emptied

define DEFAULT_MINSEGMENTTIME 20000 // (µs) Set with M205 B.

// Slow down the machine if the lookahead buffer is (by default) half full. // Increase the slowdown divisor for larger buffer sizes.

define SLOWDOWN

if ENABLED(SLOWDOWN)

define SLOWDOWN_DIVISOR 2

endif

/**

// Minimum planner junction speed. Sets the default minimum speed the planner plans for at the end // of the buffer and all stops. This should not be much greater than zero and should only be changed // if unwanted behavior is observed on a user's machine when running at very slow speeds.

define MINIMUM_PLANNER_SPEED 0.05 // (mm/s)

// // Backlash Compensation // Adds extra movement to axes on direction-changes to account for backlash. //

define BACKLASH_COMPENSATION

if ENABLED(BACKLASH_COMPENSATION)

// Define values for backlash distance and correction. // If BACKLASH_GCODE is enabled these values are the defaults.

define BACKLASH_DISTANCE_MM { 0, 0, 0 } // (mm)

define BACKLASH_CORRECTION 0.0 // 0.0 = no correction; 1.0 = full correction

// Set BACKLASH_SMOOTHING_MM to spread backlash correction over multiple segments // to reduce print artifacts. (Enabling this is costly in memory and computation!) //#define BACKLASH_SMOOTHING_MM 3 // (mm)

// Add runtime configuration and tuning of backlash values (M425)

define BACKLASH_GCODE

if ENABLED(BACKLASH_GCODE)

// Measure the Z backlash when probing (G29) and set with "M425 Z"
//#define MEASURE_BACKLASH_WHEN_PROBING
#if ENABLED(MEASURE_BACKLASH_WHEN_PROBING)
  // When measuring, the probe will move up to BACKLASH_MEASUREMENT_LIMIT
  // mm away from point of contact in BACKLASH_MEASUREMENT_RESOLUTION
  // increments while checking for the contact to be broken.
  #define BACKLASH_MEASUREMENT_LIMIT       0.5   // (mm)
  #define BACKLASH_MEASUREMENT_RESOLUTION  0.005 // (mm)
  #define BACKLASH_MEASUREMENT_FEEDRATE    Z_PROBE_SPEED_SLOW // (mm/min)
#endif

endif

endif

/**

/**

/**

// Microstep settings (Requires a board with pins named X_MS1, X_MS2, etc.)

define MICROSTEP_MODES { 16, 16, 16, 16, 16, 16 } // [1,2,4,8,16]

/**

/**

//=========================================================================== //=============================Additional Features=========================== //=========================================================================== // @section lcd

if EITHER(IS_ULTIPANEL, EXTENSIBLE_UI)

define MANUAL_FEEDRATE { 5060, 5060, 460, 260 } // (mm/min) Feedrates for manual moves along X, Y, Z, E from panel

define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm)

if IS_ULTIPANEL

#define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position"
#define ULTIPANEL_FEEDMULTIPLY  // Encoder sets the feedrate multiplier on the Status Screen

endif

endif

// Change values more rapidly when the encoder is rotated faster

define ENCODER_RATE_MULTIPLIER

if ENABLED(ENCODER_RATE_MULTIPLIER)

define ENCODER_5X_STEPS_PER_SEC 30 // (steps/s) Encoder rate for 5x speed

define ENCODER_10X_STEPS_PER_SEC 80 // (steps/s) Encoder rate for 10x speed

define ENCODER_100X_STEPS_PER_SEC 130 // (steps/s) Encoder rate for 100x speed

endif

// Play a beep when the feedrate is changed from the Status Screen //#define BEEP_ON_FEEDRATE_CHANGE

if ENABLED(BEEP_ON_FEEDRATE_CHANGE)

define FEEDRATE_CHANGE_BEEP_DURATION 10

define FEEDRATE_CHANGE_BEEP_FREQUENCY 440

endif

if HAS_LCD_MENU

// Add Probe Z Offset calibration to the Z Probe Offsets menu

if HAS_BED_PROBE

//#define PROBE_OFFSET_WIZARD
#if ENABLED(PROBE_OFFSET_WIZARD)
  #define PROBE_OFFSET_START -4.0   // Estimated nozzle-to-probe Z offset, plus a little extra
#endif

endif

// Include a page of printer information in the LCD Main Menu

define LCD_INFO_MENU

if ENABLED(LCD_INFO_MENU)

//#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages

endif

// BACK menu items keep the highlight at the top //#define TURBO_BACK_MENU_ITEM

/**

endif // HAS_LCD_MENU

// Scroll a longer status message into view //#define STATUS_MESSAGE_SCROLLING

// On the Info Screen, display XY with one decimal place when possible //#define LCD_DECIMAL_SMALL_XY

// The timeout (in ms) to return to the status screen from sub-menus //#define LCD_TIMEOUT_TO_STATUS 15000

// Add an 'M73' G-code to set the current percentage //#define LCD_SET_PROGRESS_MANUALLY

// Show the E position (filament used) during printing //#define LCD_SHOW_E_TOTAL

if ENABLED(SHOW_BOOTSCREEN)

define BOOTSCREEN_TIMEOUT 4000 // (ms) Total Duration to display the boot screen(s)

endif

if EITHER(SDSUPPORT, LCD_SET_PROGRESS_MANUALLY) && ANY(HAS_MARLINUI_U8GLIB, HAS_MARLINUI_HD44780, IS_TFTGLCD_PANEL)

define SHOW_REMAINING_TIME // Display estimated time to completion

if ENABLED(SHOW_REMAINING_TIME)

//#define USE_M73_REMAINING_TIME  // Use remaining time from M73 command instead of estimation
//#define ROTATE_PROGRESS_DISPLAY // Display (P)rogress, (E)lapsed, and (R)emaining time

endif

if HAS_MARLINUI_U8GLIB

//#define PRINT_PROGRESS_SHOW_DECIMALS // Show progress with decimal digits

endif

if EITHER(HAS_MARLINUI_HD44780, IS_TFTGLCD_PANEL)

//#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
  #define PROGRESS_BAR_MSG_TIME 3000  // (ms) Amount of time to show the status message
  #define PROGRESS_MSG_EXPIRE   0     // (ms) Amount of time to retain the status message (0=forever)
  //#define PROGRESS_MSG_ONCE         // Show the message for MSG_TIME then clear it
  //#define LCD_PROGRESS_BAR_TEST     // Add a menu item to test the progress bar
#endif

endif

endif

if ENABLED(SDSUPPORT)

// 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 SDCARD_READONLY // Read-only SD card (to save over 2K of flash)

define SD_PROCEDURE_DEPTH 1 // Increase if you need more nested M32 calls

define SD_FINISHED_STEPPERRELEASE true // Disable steppers when SD Print is finished

define SD_FINISHED_RELEASECOMMAND "M84" // Use "M84XYE" to keep Z enabled so your bed stays in place

// Reverse SD sort to show "more recent" files first, according to the card's FAT. // Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended.

define SDCARD_RATHERRECENTFIRST

define SD_MENU_CONFIRM_START // Confirm the selected SD file before printing

//#define MENU_ADDAUTOSTART // Add a menu option to run auto#.g files

define EVENT_GCODE_SD_ABORT "G28XY" // G-code to run on SD Abort Print (e.g., "G28XY" or "G27")

if ENABLED(PRINTER_EVENT_LEDS)

#define PE_LEDS_COMPLETED_TIME  (30*60) // (seconds) Time to keep the LED "done" color before restoring normal illumination

endif

/**

endif // SDSUPPORT

/**

/**

endif // HAS_MARLINUI_U8GLIB

// // Additional options for DGUS / DWIN displays //

if HAS_DGUS_LCD

define LCD_SERIAL_PORT 3

define LCD_BAUDRATE 115200

define DGUS_RX_BUFFER_SIZE 128

define DGUS_TX_BUFFER_SIZE 48

//#define 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(TOUCH_UI_FTDI_EVE)

// Display board used //#define LCD_FTDI_VM800B35A // FTDI 3.5" with FT800 (320x240) //#define LCD_4DSYSTEMS_4DLCD_FT843 // 4D Systems 4.3" (480x272) //#define LCD_HAOYU_FT800CB // Haoyu with 4.3" or 5" (480x272) //#define LCD_HAOYU_FT810CB // Haoyu with 5" (800x480) //#define LCD_ALEPHOBJECTS_CLCD_UI // Aleph Objects Color LCD UI //#define LCD_FYSETC_TFT81050 // FYSETC with 5" (800x480)

// Correct the resolution if not using the stock TFT panel. //#define TOUCH_UI_320x240 //#define TOUCH_UI_480x272 //#define TOUCH_UI_800x480

// Mappings for boards with a standard RepRapDiscount Display connector //#define AO_EXP1_PINMAP // AlephObjects CLCD UI EXP1 mapping //#define AO_EXP2_PINMAP // AlephObjects CLCD UI EXP2 mapping //#define CR10_TFT_PINMAP // Rudolph Riedel's CR10 pin mapping //#define S6_TFT_PINMAP // FYSETC S6 pin mapping //#define F6_TFT_PINMAP // FYSETC F6 pin mapping

//#define OTHER_PIN_LAYOUT // Define pins manually below

if ENABLED(OTHER_PIN_LAYOUT)

// Pins for CS and MOD_RESET (PD) must be chosen
#define CLCD_MOD_RESET  9
#define CLCD_SPI_CS    10

// If using software SPI, specify pins for SCLK, MOSI, MISO
//#define CLCD_USE_SOFT_SPI
#if ENABLED(CLCD_USE_SOFT_SPI)
  #define CLCD_SOFT_SPI_MOSI 11
  #define CLCD_SOFT_SPI_MISO 12
  #define CLCD_SOFT_SPI_SCLK 13
#endif

endif

// Display Orientation. An in