update QQS-PRO

This commit is contained in:
Foxies 2020-10-18 23:03:47 +02:00
parent 236cc1b4f4
commit 8d6776fb27
11 changed files with 719 additions and 6399 deletions

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -21,7 +21,7 @@
*/
#pragma once
//#define CONFIG_EXAMPLES_DIR "delta/FLSUN/QQ-S"
//#define CONFIG_EXAMPLES_DIR "delta/FLSUN/QQS-Pro"
/**
* Configuration.h
@ -69,19 +69,6 @@
// config/examples/SCARA and customize for your machine.
//
//#define STOCK
#define QQS
//#define QQS_TMC
//#define QQS_UART //Remove module ESP12
//Many options for :
//#define AUTO_BED_LEVELING_BILINEAR
#define AUTO_BED_LEVELING_UBL
#define FILAMENT_RUNOUT_SENSOR
#define LIN_ADVANCE
//#define POWER_LOSS_RECOVERY
// @section info
// Author info of this build printed to the host during boot and M115
//#define STRING_CONFIG_H_AUTHOR "(AndersSahlman, QQ-S)" // Who made the changes.
@ -99,7 +86,8 @@
*/
// Show the Marlin bootscreen on startup. ** ENABLE FOR PRODUCTION **
#define SHOW_BOOTSCREEN
//#define SHOW_BOOTSCREEN
// Show the bitmap in Marlin/_Bootscreen.h on startup.
//#define SHOW_CUSTOM_BOOTSCREEN
@ -117,19 +105,15 @@
*
* :[-1, 0, 1, 2, 3, 4, 5, 6, 7]
*/
#ifdef QQS_UART
#define SERIAL_PORT 3
/**
* Select a secondary serial port on the board to use for communication with the host.
* :[-1, 0, 1, 2, 3, 4, 5, 6, 7]
*/
#define SERIAL_PORT_2 -1 //Remove module ESP12
#else
#define SERIAL_PORT 3
#define SERIAL_PORT_2 1
#define NUM_SERIAL 2 //MKS WIFI
#endif
#define SERIAL_PORT_2 1
#define NUM_SERIAL 2
/**
* This setting determines the communication speed of the printer.
*
@ -145,23 +129,12 @@
//#define BLUETOOTH
// Choose the name from boards.h that matches your setup
//#ifndef MOTHERBOARD
#if ANY(QQS, QQS_TMC, QQS_UART)
#ifndef MOTHERBOARD
#define MOTHERBOARD BOARD_FLSUN_HISPEED
#else
#define MOTHERBOARD BOARD_MKS_ROBIN_MINI
#endif
// Name displayed in the LCD "Ready" message and Info menu
#ifdef QQS
#define CUSTOM_MACHINE_NAME "FLSUN QQ-S"
#endif
#ifdef QQS_TMC
#define CUSTOM_MACHINE_NAME "FLSUN QQ-S TMC"
#endif
#ifdef QQS_UART
#define CUSTOM_MACHINE_NAME "FLSUN QQ-S UART"
#endif
#define CUSTOM_MACHINE_NAME "FLSUN QQS-Pro"
// Printer's unique ID, used by some programs to differentiate between machines.
// Choose your own or use a service like https://www.uuidgenerator.net/version4
@ -476,7 +449,7 @@
#define TEMP_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
#define TEMP_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
#define TEMP_BED_RESIDENCY_TIME 0 // (seconds) Time to wait for bed to "settle" in M190
#define TEMP_BED_RESIDENCY_TIME 10 // (seconds) Time to wait for bed to "settle" in M190
#define TEMP_BED_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
#define TEMP_BED_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
@ -503,7 +476,7 @@
#define HEATER_5_MAXTEMP 275
#define HEATER_6_MAXTEMP 275
#define HEATER_7_MAXTEMP 275
#define BED_MAXTEMP 150
#define BED_MAXTEMP 120
//===========================================================================
//============================= PID Settings ================================
@ -517,21 +490,28 @@
#define PID_K1 0.95 // Smoothing factor within any PID loop
#if ENABLED(PIDTEMP)
//#define PID_EDIT_MENU // Add PID editing to the "Advanced Settings" menu. (~700 bytes of PROGMEM)
//#define PID_AUTOTUNE_MENU // Add PID auto-tuning to the "Advanced Settings" menu. (~250 bytes of PROGMEM)
#define PID_EDIT_MENU // Add PID editing to the "Advanced Settings" menu. (~700 bytes of PROGMEM)
#define PID_AUTOTUNE_MENU // Add PID auto-tuning to the "Advanced Settings" menu. (~250 bytes of PROGMEM)
//#define PID_PARAMS_PER_HOTEND // Uses separate PID parameters for each extruder (useful for mismatched extruders)
// Set/get with gcode: M301 E[extruder number, 0-2]
#if ENABLED(PID_PARAMS_PER_HOTEND)
// Specify between 1 and HOTENDS values per array.
// If fewer than EXTRUDER values are provided, the last element will be repeated.
#define DEFAULT_Kp_LIST { 22.20, 22.20 }
#define DEFAULT_Ki_LIST { 1.08, 1.08 }
#define DEFAULT_Kd_LIST { 114.00, 114.00 }
#define DEFAULT_Kp_LIST { 28.16, 28.16 }
#define DEFAULT_Ki_LIST { 3.38, 3.38 }
#define DEFAULT_Kd_LIST { 58.69, 58.69 }
#else
#define DEFAULT_Kp 22.20
#define DEFAULT_Ki 1.08
#define DEFAULT_Kd 114.00
//#define DEFAULT_Kp 28.16
//#define DEFAULT_Ki 3.38
//#define DEFAULT_Kd 58.69
// (measured after M106 S180 with M303 E0 S230 C8) Memo: M301 P23.24 I1.87 D72.35 (sonde11)
// FLSUN QQ-S, PET 235 C with 70% part cooling
//M301 P21.67 I1.25 D93.81 PLA
//M301 P21.6708 I1.2515 D93.8127 PET
#define DEFAULT_Kp 21.6708
#define DEFAULT_Ki 1.2515
#define DEFAULT_Kd 93.8127
#endif
#endif // PIDTEMP
@ -570,11 +550,21 @@
// 120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
// from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
#define DEFAULT_bedKp 10.00
#define DEFAULT_bedKi .023
#define DEFAULT_bedKd 305.4
//#define DEFAULT_bedKp 10.00
//#define DEFAULT_bedKi .023
//#define DEFAULT_bedKd 305.4
// FLSUN QQ-S stock 1.6mm aluminium heater with 4mm lattice glass
//#define DEFAULT_bedKp 325.10
//#define DEFAULT_bedKi 63.35
//#define DEFAULT_bedKd 417.10
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
//M303 E-1 C8 S80 =>MEMO M304 P97.282 I18.961 D332.738
#define DEFAULT_bedKp 73.94
#define DEFAULT_bedKi 14.41
#define DEFAULT_bedKd 252.92
#endif // PIDTEMPBED
#if EITHER(PIDTEMP, PIDTEMPBED)
@ -669,7 +659,7 @@
#if ENABLED(DELTA_AUTO_CALIBRATION)
// set the default number of probe points : n*n (1 -> 7)
#define DELTA_CALIBRATION_DEFAULT_POINTS 7//9//5 //7 //8 //6 //OPT4
#define DELTA_CALIBRATION_DEFAULT_POINTS 5
#endif
#if EITHER(DELTA_AUTO_CALIBRATION, DELTA_CALIBRATION_MENU)
@ -697,8 +687,8 @@
#define DELTA_TOWER_ANGLE_TRIM { 0.0, 0.0, 0.0 } // Get these values from G33 auto calibrate
// Delta radius and diagonal rod adjustments (mm)
//#define DELTA_RADIUS_TRIM_TOWER { 0.0, 0.0, 0.0 }
//#define DELTA_DIAGONAL_ROD_TRIM_TOWER { 0.0, 0.0, 0.0 }
#define DELTA_RADIUS_TRIM_TOWER { 0.0, 0.0, 0.0 }
#define DELTA_DIAGONAL_ROD_TRIM_TOWER { 0.0, 0.0, 0.0 }
#endif
@ -769,25 +759,15 @@
* TMC5130, TMC5130_STANDALONE, TMC5160, TMC5160_STANDALONE
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'L6474', 'POWERSTEP01', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC2209', 'TMC2209_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
*/
#ifdef QQS
#define DRIVER_USED A4988
#endif
#ifdef QQS_TMC
#define DRIVER_USED TMC2208_STANDALONE
#endif
#ifdef QQS_UART
#define DRIVER_USED TMC2208
#endif
#define X_DRIVER_TYPE DRIVER_USED
#define Y_DRIVER_TYPE DRIVER_USED
#define Z_DRIVER_TYPE DRIVER_USED
#define X_DRIVER_TYPE TMC2208_STANDALONE
#define Y_DRIVER_TYPE TMC2208_STANDALONE
#define Z_DRIVER_TYPE TMC2208_STANDALONE
//#define X2_DRIVER_TYPE A4988
//#define Y2_DRIVER_TYPE A4988
//#define Z2_DRIVER_TYPE A4988
//#define Z3_DRIVER_TYPE A4988
//#define Z4_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE DRIVER_USED
#define E0_DRIVER_TYPE TMC2208_STANDALONE
//#define E1_DRIVER_TYPE A4988
//#define E2_DRIVER_TYPE A4988
//#define E3_DRIVER_TYPE A4988
@ -845,22 +825,20 @@
*/
// variables to calculate steps
#define XYZ_FULL_STEPS_PER_ROTATION 200
#define XYZ_MICROSTEPS 16 //#define XYZ_MICROSTEPS 32
#define XYZ_MICROSTEPS 16
#define XYZ_BELT_PITCH 2
#define XYZ_PULLEY_TEETH 16
// delta speeds must be the same on xyz
#define DEFAULT_XYZ_STEPS_PER_UNIT ((XYZ_FULL_STEPS_PER_ROTATION) * (XYZ_MICROSTEPS) / double(XYZ_BELT_PITCH) / double(XYZ_PULLEY_TEETH))
#define DEFAULT_AXIS_STEPS_PER_UNIT { DEFAULT_XYZ_STEPS_PER_UNIT, DEFAULT_XYZ_STEPS_PER_UNIT, DEFAULT_XYZ_STEPS_PER_UNIT, 393 } // default steps per unit
//The next line below calculates the staps value and the 800 value is my E-Steps calculation (400 doubled for 32 steps, if 16 steps then its 400 for me, meaure this with Extrusion test)
//#define DEFAULT_AXIS_STEPS_PER_UNIT { DEFAULT_XYZ_STEPS_PER_UNIT, DEFAULT_XYZ_STEPS_PER_UNIT, DEFAULT_XYZ_STEPS_PER_UNIT, 800 } // default steps per unit
#define DEFAULT_AXIS_STEPS_PER_UNIT { DEFAULT_XYZ_STEPS_PER_UNIT, DEFAULT_XYZ_STEPS_PER_UNIT, DEFAULT_XYZ_STEPS_PER_UNIT, 397 } // default steps per unit
/**
* Default Max Feed Rate (mm/s)
* Override with M203
* X, Y, Z, E0 [, E1[, E2...]]
*/
#define DEFAULT_MAX_FEEDRATE { 500, 500, 500, 25 }
#define DEFAULT_MAX_FEEDRATE { 250, 250, 250, 200 }
//#define LIMITED_MAX_FR_EDITING // Limit edit via M203 or LCD to DEFAULT_MAX_FEEDRATE * 2
#if ENABLED(LIMITED_MAX_FR_EDITING)
@ -873,7 +851,7 @@
* Override with M201
* X, Y, Z, E0 [, E1[, E2...]]
*/
#define DEFAULT_MAX_ACCELERATION { 9000, 9000, 9000, 10000 }
#define DEFAULT_MAX_ACCELERATION { 1000, 1000, 1000, 1000 }
//#define LIMITED_MAX_ACCEL_EDITING // Limit edit via M201 or LCD to DEFAULT_MAX_ACCELERATION * 2
#if ENABLED(LIMITED_MAX_ACCEL_EDITING)
@ -888,9 +866,9 @@
* M204 R Retract Acceleration
* M204 T Travel Acceleration
*/
#define DEFAULT_ACCELERATION 3000 // X, Y, Z and E acceleration for printing moves
#define DEFAULT_RETRACT_ACCELERATION 3000 // E acceleration for retracts
#define DEFAULT_TRAVEL_ACCELERATION 3000 // X, Y, Z acceleration for travel (non printing) moves
#define DEFAULT_ACCELERATION 1000 // X, Y, Z and E acceleration for printing moves
#define DEFAULT_RETRACT_ACCELERATION 250 // E acceleration for retracts
#define DEFAULT_TRAVEL_ACCELERATION 1000 // X, Y, Z acceleration for travel (non printing) moves
/**
* Default Jerk limits (mm/s)
@ -902,7 +880,7 @@
*/
#define CLASSIC_JERK
#if ENABLED(CLASSIC_JERK)
#define DEFAULT_XJERK 10.0 //8 //10.0
#define DEFAULT_XJERK 10.0
#define DEFAULT_YJERK DEFAULT_XJERK
#define DEFAULT_ZJERK DEFAULT_XJERK // Must be same as XY for delta
@ -1084,7 +1062,7 @@
#define Z_PROBE_ALLEN_KEY_DEPLOY_3 { 0.0, (DELTA_PRINTABLE_RADIUS) * 0.75, 100.0 }
#define Z_PROBE_ALLEN_KEY_DEPLOY_3_FEEDRATE XY_PROBE_SPEED
#define Z_PROBE_ALLEN_KEY_STOW_DEPTH 20
#define Z_PROBE_ALLEN_KEY_STOW_DEPTH 30
#define Z_PROBE_ALLEN_KEY_STOW_1 { -64.0, 56.0, 23.0 } // Move the probe into position
#define Z_PROBE_ALLEN_KEY_STOW_1_FEEDRATE XY_PROBE_SPEED
// Move the nozzle down further to push the probe into retracted position.
@ -1133,20 +1111,20 @@
* | [-] |
* O-- FRONT --+
*/
#define NOZZLE_TO_PROBE_OFFSET { 0, 0, -16.2 }
#define NOZZLE_TO_PROBE_OFFSET { 0, 0, 0 }
// Most probes should stay away from the edges of the bed, but
// with NOZZLE_AS_PROBE this can be negative for a wider probing area.
#define PROBING_MARGIN 10 //20
#define PROBING_MARGIN 20
// X and Y axis travel speed (mm/min) between probes
#define XY_PROBE_SPEED (133*60)
#define XY_PROBE_SPEED (84*60)
// Feedrate (mm/min) for the first approach when double-probing (MULTIPLE_PROBING == 2)
#define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
// Feedrate (mm/min) for the "accurate" probe of each point
#define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
#define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 3)
/**
* Multiple Probing
@ -1157,8 +1135,8 @@
* A total of 2 does fast/slow probes with a weighted average.
* A total of 3 or more adds more slow probes, taking the average.
*/
//#define MULTIPLE_PROBING 2 //OPT
//#define EXTRA_PROBING 1
#define MULTIPLE_PROBING 2
#define EXTRA_PROBING 1
/**
* Z probes require clearance when deploying, stowing, and moving between
@ -1174,22 +1152,22 @@
* Example: `M851 Z-5` with a CLEARANCE of 4 => 9mm from bed to nozzle.
* But: `M851 Z+1` with a CLEARANCE of 2 => 2mm from bed to nozzle.
*/
#define Z_CLEARANCE_DEPLOY_PROBE 15 //5 Z Clearance for Deploy/Stow
#define Z_CLEARANCE_BETWEEN_PROBES 5 //2 Z Clearance between probe points
#define Z_CLEARANCE_DEPLOY_PROBE 30 // Z Clearance for Deploy/Stow
#define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points
#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes
//#define Z_AFTER_PROBING 5 //2 Z position after probing is done
#define Z_AFTER_PROBING 50 // Z position after probing is done
#define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping
// For M851 give a range for adjusting the Z probe offset
#define Z_PROBE_OFFSET_RANGE_MIN -20
#define Z_PROBE_OFFSET_RANGE_MAX 20
#define Z_PROBE_OFFSET_RANGE_MIN -30
#define Z_PROBE_OFFSET_RANGE_MAX 30
// Enable the M48 repeatability test to test probe accuracy
//#define Z_MIN_PROBE_REPEATABILITY_TEST
#define Z_MIN_PROBE_REPEATABILITY_TEST
// Before deploy/stow pause for user confirmation
//#define PAUSE_BEFORE_DEPLOY_STOW //OPT
#define PAUSE_BEFORE_DEPLOY_STOW
#if ENABLED(PAUSE_BEFORE_DEPLOY_STOW)
//#define PAUSE_PROBE_DEPLOY_WHEN_TRIGGERED // For Manual Deploy Allenkey Probe
#endif
@ -1207,7 +1185,7 @@
#endif
//#define PROBING_FANS_OFF // Turn fans off when probing
//#define PROBING_STEPPERS_OFF // Turn steppers off (unless needed to hold position) when probing
//#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors
#define DELAY_BEFORE_PROBING 100 // (ms) To prevent vibrations from triggering piezo sensors
// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
// :{ 0:'Low', 1:'High' }
@ -1233,19 +1211,14 @@
// @section machine
// Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
#ifdef QQS
#define INVERT_X_DIR false
#define INVERT_Y_DIR false
#define INVERT_Z_DIR false
#else
#define INVERT_X_DIR true
#define INVERT_Y_DIR true
#define INVERT_Z_DIR true
#endif
#define INVERT_X_DIR true
#define INVERT_Y_DIR true
#define INVERT_Z_DIR true
// @section extruder
// For direct drive extruder v9 set to true, for geared extruder set to false.
#define INVERT_E0_DIR true //false //extruder TITAN
#define INVERT_E0_DIR false //extruder TITAN
#define INVERT_E1_DIR false
#define INVERT_E2_DIR false
#define INVERT_E3_DIR false
@ -1256,11 +1229,11 @@
// @section homing
#define NO_MOTION_BEFORE_HOMING //deact Inhibit movement until all axes have been homed
//#define NO_MOTION_BEFORE_HOMING // Inhibit movement until all axes have been homed
//#define UNKNOWN_Z_NO_RAISE // Don't raise Z (lower the bed) if Z is "unknown." For beds that fall when Z is powered off.
//*#define Z_HOMING_HEIGHT 15 //act (mm) Minimal Z height before homing (G28) for Z clearance above the bed, clamps, ...
//#define Z_HOMING_HEIGHT 4 //act (mm) Minimal Z height before homing (G28) for Z clearance above the bed, clamps, ...
// Be sure to have this much clearance over your Z_MAX_POS to prevent grinding.
//#define Z_AFTER_HOMING 10 // (mm) Height to move to after homing Z
@ -1295,7 +1268,7 @@
*/
// Min software endstops constrain movement within minimum coordinate bounds
#define MIN_SOFTWARE_ENDSTOPS //desac
#define MIN_SOFTWARE_ENDSTOPS
#if ENABLED(MIN_SOFTWARE_ENDSTOPS)
#define MIN_SOFTWARE_ENDSTOP_X
#define MIN_SOFTWARE_ENDSTOP_Y
@ -1321,7 +1294,7 @@
* RAMPS-based boards use SERVO3_PIN for the first runout sensor.
* For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc.
*/
//#define FILAMENT_RUNOUT_SENSOR
#define FILAMENT_RUNOUT_SENSOR
#if ENABLED(FILAMENT_RUNOUT_SENSOR)
#define FIL_RUNOUT_ENABLED_DEFAULT true // Enable the sensor on startup. Override with M412 followed by M500.
#define NUM_RUNOUT_SENSORS 1 // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each.
@ -1336,7 +1309,7 @@
// After a runout is detected, continue printing this length of filament
// before executing the runout script. Useful for a sensor at the end of
// a feed tube. Requires 4 bytes SRAM per sensor, plus 4 bytes overhead.
#define FILAMENT_RUNOUT_DISTANCE_MM 10 //25
#define FILAMENT_RUNOUT_DISTANCE_MM 25
#ifdef FILAMENT_RUNOUT_DISTANCE_MM
// Enable this option to use an encoder disc that toggles the runout pin
@ -1387,7 +1360,7 @@
//#define AUTO_BED_LEVELING_3POINT
//#define AUTO_BED_LEVELING_LINEAR
//#define AUTO_BED_LEVELING_BILINEAR
//#define AUTO_BED_LEVELING_UBL //TMC define at the TOP
#define AUTO_BED_LEVELING_UBL
//#define MESH_BED_LEVELING
/**
@ -1407,7 +1380,7 @@
// Gradually reduce leveling correction until a set height is reached,
// at which point movement will be level to the machine's XY plane.
// The height can be set with M420 Z<height>
//#define ENABLE_LEVELING_FADE_HEIGHT
#define ENABLE_LEVELING_FADE_HEIGHT
// For Cartesian machines, instead of dividing moves on mesh boundaries,
// split up moves into short segments like a Delta. This follows the
@ -1434,7 +1407,7 @@
// Set the number of grid points per dimension.
// Works best with 5 or more points in each dimension.
#define GRID_MAX_POINTS_X 9 //7
#define GRID_MAX_POINTS_X 7
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
// Probe along the Y axis, advancing X after each column
@ -1466,8 +1439,8 @@
//#define MESH_EDIT_GFX_OVERLAY // Display a graphics overlay while editing the mesh
#define MESH_INSET 1 // Set Mesh bounds as an inset region of the bed
#define GRID_MAX_POINTS_X 10 // Don't use more than 15 points per axis, implementation limited.
#define MESH_INSET 3 // Set Mesh bounds as an inset region of the bed
#define GRID_MAX_POINTS_X 11 // Don't use more than 15 points per axis, implementation limited.
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
#define UBL_MESH_EDIT_MOVES_Z // Sophisticated users prefer no movement of nozzle
@ -1516,6 +1489,7 @@
* Commands to execute at the end of G29 probing.
* Useful to retract or move the Z probe out of the way.
*/
#define Z_PROBE_END_SCRIPT "G28"
//#define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10"
// @section homing
@ -1545,9 +1519,9 @@
#define Z_SAFE_HOMING_Y_POINT Y_CENTER // Y point for Z homing
#endif
// Homing speeds (mm/min)
#define HOMING_FEEDRATE_XY (50*60)
#define HOMING_FEEDRATE_Z (4*60)
// Delta only homes to Z
//#define HOMING_FEEDRATE_XY (50*60)
#define HOMING_FEEDRATE_Z (100*60)
// Validate that endstops are triggered on homing moves
#define VALIDATE_HOMING_ENDSTOPS
@ -1638,7 +1612,7 @@
// When enabled Marlin will send a busy status message to the host
// every couple of seconds when it can't accept commands.
//
#define HOST_KEEPALIVE_FEATURE // Disable this if your host doesn't like keepalive messages
//#define HOST_KEEPALIVE_FEATURE // Disable this if your host doesn't like keepalive messages
#define DEFAULT_KEEPALIVE_INTERVAL 5 // Number of seconds between "busy" messages. Set with M113.
#define BUSY_WHILE_HEATING // Some hosts require "busy" messages even during heating
@ -1656,14 +1630,24 @@
// Preheat Constants
#define PREHEAT_1_LABEL "PLA"
#define PREHEAT_1_TEMP_HOTEND 200
#define PREHEAT_1_TEMP_HOTEND 210
#define PREHEAT_1_TEMP_BED 60
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255
#define PREHEAT_1_FAN_SPEED 90 // Value from 0 to 255
#define PREHEAT_2_LABEL "PETG"
#define PREHEAT_2_TEMP_HOTEND 235
#define PREHEAT_2_TEMP_BED 80
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
#define PREHEAT_2_LABEL "TPU"
#define PREHEAT_2_TEMP_HOTEND 230
#define PREHEAT_2_TEMP_BED 50
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255
#define PREHEAT_3_LABEL "PETG"
#define PREHEAT_3_TEMP_HOTEND 240
#define PREHEAT_3_TEMP_BED 60
#define PREHEAT_3_FAN_SPEED 0 // Value from 0 to 255
#define PREHEAT_4_LABEL "ABS"
#define PREHEAT_4_TEMP_HOTEND 250
#define PREHEAT_4_TEMP_BED 100
#define PREHEAT_4_FAN_SPEED 0 // Value from 0 to 255
/**
* Nozzle Park
@ -1680,7 +1664,7 @@
#if ENABLED(NOZZLE_PARK_FEATURE)
// Specify a park position as { X, Y, Z_raise }
#define NOZZLE_PARK_POINT { (X_MIN_POS + 20), 0, 40 }
#define NOZZLE_PARK_POINT { 0, (Y_MAX_POS - 10), 100 }
//#define NOZZLE_PARK_X_ONLY // X move only is required to park
//#define NOZZLE_PARK_Y_ONLY // Y move only is required to park
#define NOZZLE_PARK_Z_RAISE_MIN 2 // (mm) Always raise Z by at least this distance
@ -1791,37 +1775,6 @@
*/
#define PRINTCOUNTER
/**
* Password
*
* Set a numerical password for the printer which can be requested:
*
* - When the printer boots up
* - Upon opening the 'Print from Media' Menu
* - When SD printing is completed or aborted
*
* The following G-codes can be used:
*
* M510 - Lock Printer. Blocks all commands except M511.
* M511 - Unlock Printer.
* M512 - Set, Change and Remove Password.
*
* If you forget the password and get locked out you'll need to re-flash
* the firmware with the feature disabled, reset EEPROM, and (optionally)
* re-flash the firmware again with this feature enabled.
*/
//#define PASSWORD_FEATURE
#if ENABLED(PASSWORD_FEATURE)
#define PASSWORD_LENGTH 4 // (#) Number of digits (1-9). 3 or 4 is recommended
#define PASSWORD_ON_STARTUP
#define PASSWORD_UNLOCK_GCODE // Unlock with the M511 P<password> command. Disable to prevent brute-force attack.
#define PASSWORD_CHANGE_GCODE // Change the password with M512 P<old> N<new>.
//#define PASSWORD_ON_SD_PRINT_MENU // This does not prevent gcodes from running
//#define PASSWORD_AFTER_SD_PRINT_END
//#define PASSWORD_AFTER_SD_PRINT_ABORT
//#include "Configuration_Secure.h" // External file with PASSWORD_DEFAULT_VALUE
#endif
/**
* Password
*
@ -1869,7 +1822,7 @@
*
* :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el_gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'hu':'Hungarian', 'it':'Italian', 'jp_kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt_br':'Portuguese (Brazilian)', 'ro':'Romanian', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' }
*/
#define LCD_LANGUAGE fr
#define LCD_LANGUAGE en
/**
* LCD Character Set
@ -1925,7 +1878,7 @@
*
* Use CRC checks and retries on the SD communication.
*/
#define SD_CHECK_AND_RETRY
//#define SD_CHECK_AND_RETRY
/**
* LCD Menu Items
@ -2415,7 +2368,7 @@
// 320x240, 3.2", FSMC Display From MKS
// Normally used in MKS Robin Nano V1.2
//
//#define MKS_ROBIN_TFT32
#define MKS_ROBIN_TFT32
//
// 480x320, 3.5", FSMC Display From MKS
@ -2478,7 +2431,7 @@
* root of your SD card, together with the compiled firmware.
*/
//#define TFT_CLASSIC_UI
//#define TFT_COLOR_UI
#define TFT_COLOR_UI
//#define TFT_LVGL_UI
/**
@ -2503,12 +2456,12 @@
//
// ADS7843/XPT2046 ADC Touchscreen such as ILI9341 2.8
//
//#define TOUCH_SCREEN
#if ENABLED(TOUCH_SCREEN)
#define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens
#define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus
#define TOUCH_SCREEN
#if ENABLED(TOUCH_SCREEN)
#define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens
#define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus
#define TOUCH_SCREEN_CALIBRATION
// #define TOUCH_SCREEN_CALIBRATION
//#define XPT2046_X_CALIBRATION 12316
//#define XPT2046_Y_CALIBRATION -8981
@ -2516,10 +2469,10 @@
//#define XPT2046_Y_OFFSET 257
// Define in pins QQS-Pro (M995)
#define XPT2046_X_CALIBRATION 12218
#define XPT2046_Y_CALIBRATION -8814
#define XPT2046_X_OFFSET -34
#define XPT2046_Y_OFFSET 256
//#define XPT2046_X_CALIBRATION 12218
//#define XPT2046_Y_CALIBRATION -8814
//#define XPT2046_X_OFFSET -34
//#define XPT2046_Y_OFFSET 256
/* MKS Robin TFT v2.0 */
//#define XPT2046_X_CALIBRATION 12013
@ -2563,14 +2516,14 @@
// Use software PWM to drive the fan, as for the heaters. This uses a very low frequency
// which is not as annoying as with the hardware PWM. On the other hand, if this frequency
// is too low, you should also increment SOFT_PWM_SCALE.
//#define FAN_SOFT_PWM
#define FAN_SOFT_PWM
// Incrementing this by 1 will double the software PWM frequency,
// affecting heaters, and the fan if FAN_SOFT_PWM is enabled.
// However, control resolution will be halved for each increment;
// at zero value, there are 128 effective control positions.
// :[0,1,2,3,4,5,6,7]
#define SOFT_PWM_SCALE 0
#define SOFT_PWM_SCALE 1
// If SOFT_PWM_SCALE is set to a value higher than 0, dithering can
// be used to mitigate the associated resolution loss. If enabled,
@ -2629,14 +2582,14 @@
// Support for Adafruit NeoPixel LED driver
//#define NEOPIXEL_LED
#if ENABLED(NEOPIXEL_LED)
#define NEOPIXEL_TYPE NEO_GRBW // NEO_GRBW / NEO_GRB - four/three channel driver type (defined in Adafruit_NeoPixel.h)
#define NEOPIXEL_PIN 4 // LED driving pin
#define NEOPIXEL_TYPE NEO_GRB // NEO_GRBW / NEO_GRB - four/three channel driver type (defined in Adafruit_NeoPixel.h)
#define NEOPIXEL_PIN LED_PWM // LED driving pin
//#define NEOPIXEL2_TYPE NEOPIXEL_TYPE
//#define NEOPIXEL2_PIN 5
#define NEOPIXEL_PIXELS 30 // Number of LEDs in the strip. (Longest strip when NEOPIXEL2_SEPARATE is disabled.)
#define NEOPIXEL_PIXELS 12 // Number of LEDs in the strip. (Longest strip when NEOPIXEL2_SEPARATE is disabled.)
#define NEOPIXEL_IS_SEQUENTIAL // Sequential display for temperature change - LED by LED. Disable to change all LEDs at once.
#define NEOPIXEL_BRIGHTNESS 127 // Initial brightness (0-255)
//#define NEOPIXEL_STARTUP_TEST // Cycle through colors at startup
#define NEOPIXEL_BRIGHTNESS 255 // Initial brightness (0-255)
#define NEOPIXEL_STARTUP_TEST // Cycle through colors at startup
// Support for second Adafruit NeoPixel LED driver controlled with M150 S1 ...
//#define NEOPIXEL2_SEPARATE

View file

@ -21,6 +21,7 @@
*/
#pragma once
#define CONFIG_EXAMPLES_DIR "delta/FLSUN/QQS-Pro"
/**
* Configuration_adv.h
*
@ -413,7 +414,7 @@
// 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
#define FAN_KICKSTART_TIME 100
// Some coolers may require a non-zero "off" state.
//#define FAN_OFF_PWM 1
@ -654,7 +655,7 @@
//#define SENSORLESS_BACKOFF_MM { 2, 2 } // (mm) Backoff from endstops before sensorless homing
#define HOMING_BUMP_MM { 5, 5, 5 } // (mm) Backoff from endstops after first bump
// For delta all values must be the same
// For delta all values must be the same
#define HOMING_BUMP_DIVISOR { 10, 10, 10 } // Re-Bump Speed Divisor (Divides the Homing Feedrate)
//#define HOMING_BACKOFF_POST_MM { 2, 2, 2 } // (mm) Backoff from endstops after homing
@ -806,8 +807,9 @@
#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
// Enable to restore leveling setup after operation
#define RESTORE_LEVELING_AFTER_G35
//#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
@ -975,7 +977,7 @@
* vibration and surface artifacts. The algorithm adapts to provide the best possible step smoothing at the
* lowest stepping frequencies.
*/
//#define ADAPTIVE_STEP_SMOOTHING
#define ADAPTIVE_STEP_SMOOTHING
/**
* Custom Microstepping
@ -990,8 +992,6 @@
// 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]
//change the line below for you steps mine is set to 32 change to 16 if you want default but make sure you change in configuration.h as well.
//#define MICROSTEP_MODES { 32, 32, 32, 32, 16, 16 } //TMC [1,2,4,8,16]
/**
* @section stepper motor current
@ -1014,7 +1014,7 @@
* M909, M910 & LCD - only PRINTRBOARD_REVF & RIGIDBOARD_V2
*/
//#define PWM_MOTOR_CURRENT { 1300, 1300, 1250 } // Values in milliamps
//*#define DIGIPOT_MOTOR_CURRENT { 135,135,135,135,135 } // Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A)
//#define DIGIPOT_MOTOR_CURRENT { 135,135,135,135,135 } // Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A)
//#define DAC_MOTOR_CURRENT_DEFAULT { 70, 80, 90, 80 } // Default drive percent - X, Y, Z, E axis
/**
@ -1051,9 +1051,9 @@
// @section lcd
#if EITHER(ULTIPANEL, EXTENSIBLE_UI)
#if EITHER(IS_ULTIPANEL, EXTENSIBLE_UI)
#define MANUAL_FEEDRATE_XYZ 50*60
#define MANUAL_FEEDRATE { MANUAL_FEEDRATE_XYZ, MANUAL_FEEDRATE_XYZ, MANUAL_FEEDRATE_XYZ, 2*60 } // (mm/m) Feedrates for manual moves along X, Y, Z, E from panel
#define MANUAL_FEEDRATE { MANUAL_FEEDRATE_XYZ, MANUAL_FEEDRATE_XYZ, MANUAL_FEEDRATE_XYZ, 2*60 } // (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"
@ -1086,7 +1086,7 @@
#endif
// Include a page of printer information in the LCD Main Menu
//#define LCD_INFO_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
@ -1098,7 +1098,7 @@
* LED Control Menu
* Add LED Control to the LCD menu
*/
//#define LED_CONTROL_MENU //RGB
//#define LED_CONTROL_MENU
#if ENABLED(LED_CONTROL_MENU)
#define LED_COLOR_PRESETS // Enable the Preset Color menu option
//#define NEO2_COLOR_PRESETS // Enable a second NeoPixel Preset Color menu option
@ -1108,7 +1108,7 @@
#define LED_USER_PRESET_BLUE 0 // User defined BLUE value
#define LED_USER_PRESET_WHITE 255 // User defined WHITE value
#define LED_USER_PRESET_BRIGHTNESS 255 // User defined intensity
//#define LED_USER_PRESET_STARTUP // Have the printer display the user preset color on startup
#define LED_USER_PRESET_STARTUP // Have the printer display the user preset color on startup
#endif
#if ENABLED(NEO2_COLOR_PRESETS)
#define NEO2_USER_PRESET_RED 255 // User defined RED value
@ -1123,13 +1123,13 @@
#endif // HAS_LCD_MENU
// Scroll a longer status message into view
//#define STATUS_MESSAGE_SCROLLING
#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
#define LCD_TIMEOUT_TO_STATUS 15000
// Add an 'M73' G-code to set the current percentage
#define LCD_SET_PROGRESS_MANUALLY
@ -1141,7 +1141,7 @@
#define BOOTSCREEN_TIMEOUT 4000 // (ms) Total Duration to display the boot screen(s)
#endif
#if HAS_GRAPHICAL_LCD && EITHER(SDSUPPORT, LCD_SET_PROGRESS_MANUALLY)
#if EITHER(SDSUPPORT, LCD_SET_PROGRESS_MANUALLY) && ANY(HAS_MARLINUI_U8GLIB, HAS_MARLINUI_HD44780, IS_TFTGLCD_PANEL)
//#define PRINT_PROGRESS_SHOW_DECIMALS // Show progress with decimal digits
#define SHOW_REMAINING_TIME // Display estimated time to completion
#if ENABLED(SHOW_REMAINING_TIME)
@ -1196,13 +1196,13 @@
* an option on the LCD screen to continue the print from the last-known
* point in the file.
*/
//#define POWER_LOSS_RECOVERY
#define POWER_LOSS_RECOVERY
#if ENABLED(POWER_LOSS_RECOVERY)
#define PLR_ENABLED_DEFAULT true // 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_RECOVER_ZHOME // Z homing is needed for proper recovery. 99.9% of the time this should be disabled!
//#define POWER_LOSS_ZRAISE 2 // (mm) Z axis raise on resume (on power loss with UPS)
//#define POWER_LOSS_PIN -1 // Pin to detect power loss. Set to -1 to disable default pin on boards without module.
#define POWER_LOSS_PIN -1 // 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
@ -1236,7 +1236,7 @@
* - SDSORT_CACHE_NAMES will retain the sorted file listing in RAM. (Expensive!)
* - SDSORT_DYNAMIC_RAM only uses RAM when the SD menu is visible. (Use with caution!)
*/
#define SDCARD_SORT_ALPHA //OPT
//#define SDCARD_SORT_ALPHA
// SD Card Sorting options
#if ENABLED(SDCARD_SORT_ALPHA)
@ -1252,10 +1252,10 @@
#endif
// This allows hosts to request long names for files and folders with M33
//#define LONG_FILENAME_HOST_SUPPORT
#define LONG_FILENAME_HOST_SUPPORT
// Enable this option to scroll long filenames in the SD card menu
//#define SCROLL_LONG_FILENAMES
#define SCROLL_LONG_FILENAMES
// Leave the heaters on after Stop Print (not recommended!)
//#define SD_ABORT_NO_COOLDOWN
@ -1272,7 +1272,7 @@
* On print completion the LCD Menu will open with the file selected.
* You can just click to start the print, or navigate elsewhere.
*/
#define SD_REPRINT_LAST_SELECTED_FILE //OPT
//#define SD_REPRINT_LAST_SELECTED_FILE
/**
* Auto-report SdCard status with M27 S<seconds>
@ -1378,7 +1378,7 @@
// A smaller font may be used on the Info Screen. Costs 2434 bytes of PROGMEM.
// Western only. Not available for Cyrillic, Kana, Turkish, Greek, or Chinese.
//#define USE_SMALL_INFOFONT
#define USE_SMALL_INFOFONT
// Swap the CW/CCW indicators in the graphics overlay
//#define OVERLAY_GFX_REVERSE
@ -1419,10 +1419,10 @@
#define STATUS_CHAMBER_ANIM // Use a second bitmap to indicate chamber heating
//#define STATUS_CUTTER_ANIM // Use a second bitmap to indicate spindle / laser active
#define STATUS_ALT_BED_BITMAP // Use the alternative bed bitmap
#define STATUS_ALT_FAN_BITMAP // Use the alternative fan bitmap
//#define STATUS_ALT_FAN_BITMAP // Use the alternative fan bitmap
#define STATUS_FAN_FRAMES 4 // :[0,1,2,3,4] Number of fan animation frames
//#define STATUS_HEAT_PERCENT // Show heating in a progress bar
#define BOOT_MARLIN_LOGO_SMALL // Show a smaller Marlin logo on the Boot Screen (saving 399 bytes of flash)
//#define BOOT_MARLIN_LOGO_SMALL // Show a smaller Marlin logo on the Boot Screen (saving 399 bytes of flash)
//#define BOOT_MARLIN_LOGO_ANIMATED // Animated Marlin logo. Costs ~3260 (or ~940) bytes of PROGMEM.
// Frivolous Game Options
@ -1483,7 +1483,7 @@
//#define LCD_FYSETC_TFT81050 // FYSETC with 5" (800x480)
// Correct the resolution if not using the stock TFT panel.
#define TOUCH_UI_320x240 //TFT_UI
//#define TOUCH_UI_320x240
//#define TOUCH_UI_480x272
//#define TOUCH_UI_800x480
@ -1544,7 +1544,7 @@
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr //TFT_UI
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
@ -1607,13 +1607,13 @@
#define BABYSTEPPING
#if ENABLED(BABYSTEPPING)
//#define INTEGRATED_BABYSTEPPING // EXPERIMENTAL integration of babystepping into the Stepper ISR
//#define BABYSTEP_WITHOUT_HOMING
#define BABYSTEP_WITHOUT_HOMING
//#define BABYSTEP_ALWAYS_AVAILABLE // Allow babystepping at all times (not just during movement).
//#define BABYSTEP_XY // Also enable X/Y Babystepping. Not supported on DELTA!
#define BABYSTEP_INVERT_Z false // Change if Z babysteps should go the other way
//#define BABYSTEP_MILLIMETER_UNITS // Specify BABYSTEP_MULTIPLICATOR_(XY|Z) in mm instead of micro-steps
#define BABYSTEP_MULTIPLICATOR_Z 1 // (steps or mm) Steps or millimeter distance for each Z babystep
#define BABYSTEP_MULTIPLICATOR_XY 1 // (steps or mm) Steps or millimeter distance for each XY babystep
#define BABYSTEP_MULTIPLICATOR_Z 2 // (steps or mm) Steps or millimeter distance for each Z babystep
//#define BABYSTEP_MULTIPLICATOR_XY 1 // (steps or mm) Steps or millimeter distance for each XY babystep
#define DOUBLECLICK_FOR_Z_BABYSTEPPING //OPT Double-click on the Status Screen for Z Babystepping.
#if ENABLED(DOUBLECLICK_FOR_Z_BABYSTEPPING)
@ -1627,7 +1627,7 @@
//#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
//#define BABYSTEP_HOTEND_Z_OFFSET // For multiple hotends, babystep relative Z offsets
//#define BABYSTEP_ZPROBE_GFX_OVERLAY // Enable graphical overlay on Z-offset editor
@ -1651,7 +1651,7 @@
*
* See https://marlinfw.org/docs/features/lin_advance.html for full instructions.
*/
//#define LIN_ADVANCE //define at the TOP
#define LIN_ADVANCE
#if ENABLED(LIN_ADVANCE)
//#define EXTRA_LIN_ADVANCE_K // Enable for second linear advance constants
#define LIN_ADVANCE_K 0 //0.22 // Unit: mm compression per 1mm/s extruder speed
@ -1792,7 +1792,7 @@
//
// G2/G3 Arc Support
//
#define ARC_SUPPORT // Disable this feature to save ~3226 bytes
//#define ARC_SUPPORT // Disable this feature to save ~3226 bytes
#if ENABLED(ARC_SUPPORT)
#define MM_PER_ARC_SEGMENT 1 // (mm) Length (or minimum length) of each arc segment
//#define ARC_SEGMENTS_PER_R 1 // Max segment length, MM_PER = Min
@ -1892,16 +1892,16 @@
#if BOTH(SDSUPPORT, DIRECT_STEPPING)
#define BLOCK_BUFFER_SIZE 8
#elif ENABLED(SDSUPPORT)
#define BLOCK_BUFFER_SIZE 16 //OPT 32
#define BLOCK_BUFFER_SIZE 16
#else
#define BLOCK_BUFFER_SIZE 16 //OPT 32
#define BLOCK_BUFFER_SIZE 16
#endif
// @section serial
// The ASCII buffer for serial input
#define MAX_CMD_SIZE 96
#define BUFSIZE 4 //32
#define BUFSIZE 128
// Transmission to Host Buffer Size
// To save 386 bytes of PROGMEM (and TX_BUFFER_SIZE+3 bytes of RAM) set to 0.
@ -1910,7 +1910,7 @@
// For debug-echo: 128 bytes for the optimal speed.
// Other output doesn't need to be that speedy.
// :[0, 2, 4, 8, 16, 32, 64, 128, 256]
#define TX_BUFFER_SIZE 0 //32
#define TX_BUFFER_SIZE 32
// Host Receive Buffer Size
// Without XON/XOFF flow control (see SERIAL_XON_XOFF below) 32 bytes should be enough.
@ -1961,7 +1961,7 @@
#define SERIAL_OVERRUN_PROTECTION
// For serial echo, the number of digits after the decimal point
#define SERIAL_FLOAT_PRECISION 5 //OPT /4
#define SERIAL_FLOAT_PRECISION 4
// @section extras
@ -2095,7 +2095,7 @@
// This short retract is done immediately, before parking the nozzle.
#define FILAMENT_CHANGE_UNLOAD_FEEDRATE 40 // (mm/s) Unload filament feedrate. This can be pretty fast.
#define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate.
#define FILAMENT_CHANGE_UNLOAD_LENGTH 800 // (mm) The length of filament for a complete unload.
#define FILAMENT_CHANGE_UNLOAD_LENGTH 850 // (mm) The length of filament for a complete unload.
// For Bowden, the full length of the tube and nozzle.
// For direct drive, the full length of the nozzle.
// Set to 0 for manual unloading.
@ -2103,7 +2103,7 @@
#define FILAMENT_CHANGE_SLOW_LOAD_LENGTH 0 // (mm) Slow length, to allow time to insert material.
// 0 to disable start loading and skip to fast load only
#define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 40 // (mm/s) Load filament feedrate. This can be pretty fast.
#define FILAMENT_CHANGE_FAST_LOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate.
#define FILAMENT_CHANGE_FAST_LOAD_ACCEL 20 // (mm/s^2) Lower acceleration may allow a faster feedrate.
#define FILAMENT_CHANGE_FAST_LOAD_LENGTH 700 // (mm) Load length of filament, from extruder gear to nozzle.
// For Bowden, the full length of the tube and nozzle.
// For direct drive, the full length of the nozzle.
@ -2265,9 +2265,9 @@
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256
#if AXIS_IS_TMC(X)
#define X_CURRENT 650 //800// (mA) RMS current. Multiply by 1.414 for peak current.
#define X_CURRENT 850 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_MICROSTEPS 16 //32 // 0..256
#define X_MICROSTEPS 16
#define X_RSENSE 0.11
#define X_CHAIN_POS -1 // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...
#endif
@ -2281,9 +2281,9 @@
#endif
#if AXIS_IS_TMC(Y)
#define Y_CURRENT 650 //800
#define Y_CURRENT 850
#define Y_CURRENT_HOME Y_CURRENT
#define Y_MICROSTEPS 16 //32
#define Y_MICROSTEPS 16
#define Y_RSENSE 0.11
#define Y_CHAIN_POS -1
#endif
@ -2297,9 +2297,9 @@
#endif
#if AXIS_IS_TMC(Z)
#define Z_CURRENT 650 //800
#define Z_CURRENT 850
#define Z_CURRENT_HOME Z_CURRENT
#define Z_MICROSTEPS 16 //32
#define Z_MICROSTEPS 16
#define Z_RSENSE 0.11
#define Z_CHAIN_POS -1
#endif
@ -2329,8 +2329,8 @@
#endif
#if AXIS_IS_TMC(E0)
#define E0_CURRENT 650 //800
#define E0_MICROSTEPS 16 //32
#define E0_CURRENT 900
#define E0_MICROSTEPS 16
#define E0_RSENSE 0.11
#define E0_CHAIN_POS -1
#endif
@ -2425,7 +2425,7 @@
*
* Set *_SERIAL_TX_PIN and *_SERIAL_RX_PIN to match for all drivers
* on the same serial port, either here or in your board's pins file.
*/
#define X_SLAVE_ADDRESS 0
#define Y_SLAVE_ADDRESS 0
#define Z_SLAVE_ADDRESS 0
@ -2442,6 +2442,7 @@
#define E5_SLAVE_ADDRESS 0
#define E6_SLAVE_ADDRESS 0
#define E7_SLAVE_ADDRESS 0
*/
/**
* Software enable
@ -3278,11 +3279,9 @@
* Host Prompt Support enables Marlin to use the host for user prompts so
* filament runout and other processes can be managed from the host side.
*/
//#if EITHER(QQS, QQS_TMC) //with module ESP12
//#define HOST_ACTION_COMMANDS
//#endif
#if ENABLED(HOST_ACTION_COMMANDS)
//#define HOST_PROMPT_SUPPORT
#define HOST_PROMPT_SUPPORT
//#define HOST_START_MENU_ITEM // Add a menu item that tells the host to start
#endif
@ -3462,15 +3461,13 @@
/**
* WiFi Support (Espressif ESP32 WiFi)
*/
//#if EITHER(QQS, QQS_TMC) //No test
//#define WIFISUPPORT // Marlin embedded WiFi managenent
//#define ESP3D_WIFISUPPORT // ESP3D Library WiFi management (https://github.com/luc-github/ESP3DLib)
//#endif
#if EITHER(WIFISUPPORT, ESP3D_WIFISUPPORT)
#define WEBSUPPORT // Start a webserver (which may include auto-discovery)
#define OTASUPPORT // Support over-the-air firmware updates
#define WIFI_CUSTOM_COMMAND // Accept feature config commands (e.g., WiFi ESP3D) from the host
//#define WEBSUPPORT // Start a webserver (which may include auto-discovery)
//#define OTASUPPORT // Support over-the-air firmware updates
//#define WIFI_CUSTOM_COMMAND // Accept feature config commands (e.g., WiFi ESP3D) from the host
/**
* To set a default WiFi SSID / Password, create a file called Configuration_Secure.h with
@ -3480,7 +3477,7 @@
* #define WIFI_SSID "WiFi SSID"
* #define WIFI_PWD "WiFi Password"
*/
#include "Configuration_Secure.h" // External file with WiFi SSID / Password
//#include "Configuration_Secure.h" // External file with WiFi SSID / Password
#endif
/**

80
Marlin/_Bootscreen.h Normal file
View file

@ -0,0 +1,80 @@
/**
* 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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
#define CONFIG_EXAMPLES_DIR "delta/FLSUN/QQS-Pro"
/**
* Custom Boot Screen bitmap
*
* Place this file in the root with your configuration files
* and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h.
*
* Use the Marlin Bitmap Converter to make your own:
* https://marlinfw.org/tools/u8glib/converter.html
*/
#define CUSTOM_BOOTSCREEN_BMPWIDTH 128
const unsigned char custom_start_bmp[] PROGMEM = {
B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
B00000001,B00000000,B00001000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
B00000011,B10000000,B00011100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
B00000001,B11000000,B00111000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
B00000000,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
B00000011,B11111111,B11111000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
B00000111,B01111111,B11011110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
B00001111,B11111111,B11111110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
B00110111,B11111111,B11111110,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
B00110011,B11111111,B11111101,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
B00011001,B00011111,B10001011,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
B00001100,B00000000,B00010110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
B00000011,B10000000,B00111100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
B00000000,B01111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
B00000000,B01111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
B00000000,B01111111,B11000000,B00000000,B00011111,B11111111,B11110011,B11000000,B00000000,B01111111,B11111100,B00000111,B10000000,B00001111,B10000111,B11111110,
B00000000,B01111111,B11000000,B00000000,B00011111,B11111111,B11110011,B11000000,B00000000,B11111111,B11111100,B00000111,B10000000,B00001111,B11000111,B11111110,
B00000000,B01111111,B11000000,B00000000,B00011111,B11111111,B11110011,B11000000,B00000001,B11111111,B11111100,B00000111,B10000000,B00001111,B11100011,B11111110,
B00000000,B01111111,B11000000,B00000000,B00011111,B11111111,B11110011,B11000000,B00000001,B11111111,B11111100,B00000111,B10000000,B00001111,B11110001,B11111110,
B00000000,B01111111,B11000000,B00000000,B00011111,B00000000,B00000011,B11000000,B00000001,B11100000,B00000000,B00000111,B10000000,B00001111,B11110000,B11111110,
B00000000,B01111111,B11000000,B00000000,B00011111,B00000000,B00000011,B11000000,B00000001,B11100000,B00000000,B00000111,B10000000,B00001111,B11111000,B01111110,
B00000000,B01111111,B11000000,B00000000,B00011111,B11111110,B00000011,B11000000,B00000001,B11111111,B11111111,B10000111,B10000000,B00000111,B01111100,B00111110,
B00000000,B01111111,B11000000,B00000000,B00011111,B11111110,B00000011,B11000000,B00000000,B11111111,B11111111,B11000111,B10000000,B00000001,B00111110,B00011110,
B00000000,B01111111,B11100000,B00000000,B00011111,B11111110,B00000011,B11000000,B00000000,B11111111,B11111111,B11100111,B10000000,B00001000,B00011111,B00001110,
B00000000,B01111111,B11000000,B00000000,B00011111,B11111110,B00000011,B11000000,B00000000,B00111111,B11111111,B11100111,B10000000,B00001100,B00001111,B10001110,
B00000000,B00111111,B10000000,B00000000,B00011111,B00000000,B00000011,B11000000,B00000000,B00000000,B00000001,B11110111,B10000000,B00001111,B00000111,B11000110,
B00000000,B00011111,B10000000,B00000000,B00011111,B00000000,B00000011,B11000000,B00000000,B00000000,B00000000,B11110111,B10000000,B00001111,B00000011,B11100010,
B00000000,B00011111,B00000000,B00000000,B00011111,B00000000,B00000011,B11111111,B11110011,B11111111,B11111111,B11110111,B11111111,B11111111,B00000001,B11110000,
B00000000,B00001110,B00000000,B00000000,B00011111,B00000000,B00000011,B11111111,B11110011,B11111111,B11111111,B11100011,B11111111,B11111111,B00000000,B11111000,
B00000000,B00000110,B00000000,B00000000,B00011110,B00000000,B00000011,B11111111,B11110011,B11111111,B11111111,B11000011,B11111111,B11111110,B00000000,B11111000,
B00000000,B00000011,B11111111,B11111000,B00001110,B00000000,B00000011,B11111111,B11110011,B11111111,B11111111,B10000001,B11111111,B11111100,B00000000,B01111100,
B00000000,B00000000,B00000000,B00011110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
B00000000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
B00000000,B00111111,B11110000,B00011111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
B00011111,B11111111,B11111111,B10000000,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
B01111111,B11111000,B00000000,B00011111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
B00000000,B00000000,B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
B00000000,B11111111,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
B00001111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
B00001111,B11111111,B11111110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000
};

78
Marlin/_Statusscreen.h Normal file
View file

@ -0,0 +1,78 @@
/**
* 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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
#define CONFIG_EXAMPLES_DIR "delta/FLSUN/QQS-Pro"
/**
* Custom Status Screen bitmap
*
* Place this file in the root with your configuration files
* and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h.
*
* Use the Marlin Bitmap Converter to make your own:
* https://marlinfw.org/tools/u8glib/converter.html
*/
//
// Status Screen Logo bitmap
//
#define STATUS_LOGO_X 0
#define STATUS_LOGO_Y 0
#define STATUS_LOGO_WIDTH 40
const unsigned char status_logo_bmp[] PROGMEM = {
B00000010,B00000000,B00000000,B00000000,B01000000,
B00000011,B11000000,B00000000,B00000011,B11000000,
B00000011,B11110000,B00000000,B00011111,B11000000,
B00000011,B11111100,B00000000,B01111011,B11000000,
B00000011,B11001111,B00000000,B11110011,B10000000,
B00000011,B10100001,B11100111,B10000101,B10000000,
B00000001,B10010000,B11111110,B00001001,B10000000,
B00000001,B10011110,B00000000,B01111001,B10000000,
B00000001,B11100000,B00000000,B00000111,B10000000,
B00000001,B10000000,B00000000,B00000011,B10000000,
B00000011,B10000000,B00000000,B00000001,B11000000,
B00000111,B00000000,B00000000,B00000000,B11000000,
B00000111,B00111000,B00000000,B00011100,B11100000,
B00000110,B00011111,B10000001,B11111000,B11100000,
B00011100,B00000110,B10000001,B01100000,B00111000,
B01110000,B00000001,B11000011,B10000000,B00011110,
B01111111,B10000000,B11000011,B00000001,B11111110,
B00100000,B01110000,B01000010,B00001110,B00000100,
B00010000,B00001100,B11000011,B00110000,B00011000,
B00001110,B00000010,B10000001,B01000000,B01110000,
B00000000,B11110011,B10000001,B11001110,B00000000,
B00000000,B00001111,B00000000,B11110000,B00000000,
B00000000,B00000000,B11000011,B00000000,B00000000,
B00000000,B00000000,B01111100,B00000000,B00000000,
B00000000,B00000000,B00000000,B00000000,B00000000
};
//
// Use default bitmaps
//
#define STATUS_HOTEND_ANIM
#define STATUS_BED_ANIM
//
#define STATUS_HEATERS_X 48
#define STATUS_BED_X 70

View file

@ -321,6 +321,7 @@
#define BOARD_CREALITY_V427 4035 // Creality v4.2.7 (STM32F103RE)
#define BOARD_TRIGORILLA_PRO 4036 // Trigorilla Pro (STM32F103ZET6)
#define BOARD_FLY_MINI 4037 // FLY MINI (STM32F103RCT6)
#define BOARD_FLSUN_HISPEED 4038 // FLSUN HiSpeedV1 (STM32F103VET6)
//
// ARM Cortex-M4F

View file

@ -0,0 +1,367 @@
/**
* 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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* FLSUN HiSpeed V1 (STM32F130VET6) board pin assignments
* FLSun Hispeed (clone MKS_Robin_miniV2) board.
* MKS Robin Mini USB Use UART3(PB10-TX,PB11-RX)
* #define SERIAL_PORT_2 3
*/
#if NOT_TARGET(__STM32F1__)
#error "Oops! Select an STM32F1 board in 'Tools > Board.'"
#elif HOTENDS > 1 || E_STEPPERS > 1
#error "FLSUN hispeed supports 1 hotends / E-steppers. Comment out this line to continue."
#endif
#define BOARD_INFO_NAME "FLSun HiSpeedV1"
#define BOARD_WEBSITE_URL "github.com/Foxies-CSTL"
//
// Release PB4 (Y_ENABLE_PIN) from JTAG NRST role
//
#define DISABLE_DEBUG
//
// EEPROM
//
#if EITHER(NO_EEPROM_SELECTED, FLASH_EEPROM_EMULATION)
#define FLASH_EEPROM_EMULATION
#define EEPROM_PAGE_SIZE (0x800U) // 2KB
#define EEPROM_START_ADDRESS (0x8000000UL + (STM32_FLASH_SIZE) * 1024UL - (EEPROM_PAGE_SIZE) * 2UL)
#define MARLIN_EEPROM_SIZE EEPROM_PAGE_SIZE // 2KB
#endif
//
// Limit Switches
//
#define X_STOP_PIN PA15 ///-X
#define Y_STOP_PIN PA12 ///-Y
#define Z_MIN_PIN PA11 ///-Z
#define Z_MAX_PIN PC4 ///+Z
//
// Steppers
//
#define X_ENABLE_PIN PE4 //X_EN
#define X_STEP_PIN PE3 //X_STEP
#define X_DIR_PIN PE2 //X_DIR
#define Y_ENABLE_PIN PE1 //Y_EN
#define Y_STEP_PIN PE0 //Y_STEP
#define Y_DIR_PIN PB9 //Y_DIR
#define Z_ENABLE_PIN PB8 //Z_EN
#define Z_STEP_PIN PB5 //Z_STEP
#define Z_DIR_PIN PB4 //Z_DIR
#define E0_ENABLE_PIN PB3 //E0_EN
#define E0_STEP_PIN PD6 //E0_STEP
#define E0_DIR_PIN PD3 //E0_DIR
//
// Drivers
//
#if HAS_TMC220x
#if ENABLED(HARDWARE_SERIAL) /* TMC2209 */
#define X_SLAVE_ADDRESS 3 // | | :
#define Y_SLAVE_ADDRESS 2 // : | :
#define Z_SLAVE_ADDRESS 1 // | : :
//#define E0_SLAVE_ADDRESS 0 // : : :
#define X_SERIAL_TX_PIN PA9 //TXD1
#define X_SERIAL_RX_PIN PA9 //TXD1
#define Y_SERIAL_TX_PIN PA9 //TXD1
#define Y_SERIAL_RX_PIN PA9 //TXD1
#define Z_SERIAL_TX_PIN PA9 //TXD1
#define Z_SERIAL_RX_PIN PA9 //TXD1
/*
* TMC2208 stepper UART-configurable by PDN_UART pin
* Software serial
*/
#elif ENABLED(SOFTWARE_SERIAL) /* TMC220x */
#define X_SLAVE_ADDRESS 0
#define Y_SLAVE_ADDRESS 0
#define Z_SLAVE_ADDRESS 0
#define X_SERIAL_TX_PIN PA10 //RXD1
#define X_SERIAL_RX_PIN PA10 //RXD1
#define Y_SERIAL_TX_PIN PA9 //TXD1
#define Y_SERIAL_RX_PIN PA9 //TXD1
#define Z_SERIAL_TX_PIN PC7 //IO1
#define Z_SERIAL_RX_PIN PC7 //IO1
#endif
// Reduce baud rate to improve software serial reliability
#define TMC_BAUD_RATE 19200
#else
// Motor current PWM pins
#define MOTOR_CURRENT_PWM_XY_PIN PA6 //VREF2/3 CONTROL XY
#define MOTOR_CURRENT_PWM_Z_PIN PA7 //VREF4 CONTROL Z
#define MOTOR_CURRENT_PWM_RANGE 1500 // (255 * (1000mA / 65535)) * 257 = 1000 is equal 1.6v Vref in turn equal 1Amp
#ifndef DEFAULT_PWM_MOTOR_CURRENT
#define DEFAULT_PWM_MOTOR_CURRENT { 800, 800, 800 }
#endif
/**
* src: MKS Robin_Mini V2
* __ESP(M1)__ -J1-
* GND| 15 | | 08 |+3v3 (22)=>RXD1(PA10) //
* | 16 | | 07 |MOSI (21)=>TXD1(PA9) // active low, probably OK to leave floating
* IO2| 17 | | 06 |MISO (19)=>IO1(PC7) // Leave as unused (ESP3D software configures this with a pullup so OK to leave as floating)
* IO0| 18 | | 05 |CLK (18)=>IO0(PA8) // must be high (ESP3D software configures this with a pullup so OK to leave as floating)
* IO1| 19 | | 03 |EN (03)=>WIFI_EN() // Must be high for module to run
* | nc | | nc | (01)=>WIFI_CTRL(PA5)
* RX| 21 | | nc |
* TX| 22 | | 01 |RST
* AE
*
*/
#ifdef ESP_WIFI
#define WIFI_IO0_PIN PA8 // PC13 MKS ESP WIFI IO0 PIN
#define WIFI_IO1_PIN PC7 // MKS ESP WIFI IO1 PIN
#define WIFI_RESET_PIN PA5 // MKS ESP WIFI RESET PIN
#endif
#endif
//
///=================EXTRUDER=======================//
//
#if AXIS_DRIVER_TYPE(E0,TMC2208)||AXIS_DRIVER_TYPE(E0,TMC2209)
#define E0_SLAVE_ADDRESS 0
#define E0_SERIAL_TX_PIN PA8 //IO0
#define E0_SERIAL_RX_PIN PA8 //IO0
#define TMC_BAUD_RATE 19200
#else
// Motor current PWM pins
#define MOTOR_CURRENT_PWM_E_PIN PB0 // VREF1 CONTROL E
#define MOTOR_CURRENT_PWM_RANGE 1500 // (255 * (1000mA / 65535)) * 257 = 1000 is equal 1.6v Vref in turn equal 1Amp
#ifndef DEFAULT_PWM_MOTOR_CURRENT
#define DEFAULT_PWM_MOTOR_CURRENT { 800, 800, 800 }
#endif
#endif
//
// Temperature Sensors(THM)
//
#define TEMP_0_PIN PC1 // TEMP_E0
#define TEMP_BED_PIN PC0 // TEMP_BED
//
// Heaters / Fans
//
#define HEATER_0_PIN PC3 // HEATER_E0
#define HEATER_BED_PIN PA0 // HEATER_BED-WKUP
#define FAN_PIN PB1 // E_FAN
//#define CONTROLLER_FAN_PIN PD6 // BOARD FAN
//
// Misc. Functions
//
//#define POWER_LOSS_PIN PA1 // PW_SO
#if ENABLED(BACKUP_POWER_SUPPLY)
#define POWER_LOSS_PIN PA2 // PW_DET (UPS) MKSPWC
#endif
// Enable Power Supply Control
#if ENABLED(PSU_CONTROL)
#define KILL_PIN PA2 // PW_DET
#define KILL_PIN_INVERTING true //
//#define PS_ON_PIN PA3 // PW_CN /PW_OFF
#endif
#define MT_DET_1_PIN PA4 // MT_DET
#define MT_DET_2_PIN PE6 // FALA_CRTL
#define MT_DET_PIN_INVERTING false
#ifndef FIL_RUNOUT_PIN
#define FIL_RUNOUT_PIN MT_DET_1_PIN
#endif
//#define SERVO0_PIN PA8 // use IO0 to enable BLTOUCH support/remove Mks_Wifi
//
//
// LED / NEOPixel
//
//
//#define LED_PIN PB2 //BOOT1
#if ENABLED(NEOPIXEL_LED)
#define LED_PWM PA8
#ifndef NEOPIXEL_PIN
#define NEOPIXEL_PIN PA8 // USED WIFI IO0/IO1/TX/RX PIN
#endif
#endif
//Others test.
//#define SERVO0_PIN PA5 //WIFI CRTL
//#define GPIO_CLEAR PA8 //IO0
//#define GPIO_SET PA5
//
// SD Card
//
#define SDIO_SUPPORT
#define SDIO_CLOCK 4500000 // 4.5 MHz /* 18 MHz (18000000) or 4.5MHz (450000) */
//#define SDIO_CLOCK 18000000 // 18 MHz (18000000)
#if ENABLED(SDIO_SUPPORT)
#define SCK_PIN PB13 // SPI2
#define MISO_PIN PB14 // SPI2
#define MOSI_PIN PB15 // SPI2
#define SD_DETECT_PIN PD12 // SD_CD
#endif
//
// LCD / Controller
//
#ifndef BEEPER_PIN
#define BEEPER_PIN PC5
#endif
/**
* Note: MKS Robin TFT screens use various TFT controllers
* Supported screens are based on the ILI9341, ST7789V and ILI9328 (320x240)
* ILI9488 is not supported
* Define init sequences for other screens in u8g_dev_tft_320x240_upscale_from_128x64.cpp
*
* If the screen stays white, disable 'LCD_RESET_PIN'
* to let the bootloader init the screen.
*
* Setting an 'LCD_RESET_PIN' may cause a flicker when entering the LCD menu
* because Marlin uses the reset as a failsafe to revive a glitchy LCD.
*/
/* MKS Robin TFT v2.0 with ILI9341 */
// Read display identification information (0xD3 on ILI9341)
//#define XPT2046_X_CALIBRATION 12013
//#define XPT2046_Y_CALIBRATION -8711
//#define XPT2046_X_OFFSET -32
//#define XPT2046_Y_OFFSET 256
/* MKS Robin TFT v1.1 with ILI9328 */
//#define XPT2046_X_CALIBRATION -11792
//#define XPT2046_Y_CALIBRATION 8947
//#define XPT2046_X_OFFSET 342
//#define XPT2046_Y_OFFSET -19
/* MKS Robin TFT v1.1 with R61505 */
//#define XPT2046_X_CALIBRATION 12489
//#define XPT2046_Y_CALIBRATION 9210
//#define XPT2046_X_OFFSET -52
//#define XPT2046_Y_OFFSET -17
/* QQS-Pro use MKS Robin TFT v2.0 */
//+++++++++++++++++++++++//
// Shared FSMC Configs
#if HAS_FSMC_TFT
#define DOGLCD_MOSI -1 // prevent redefine Conditionals_post.h
#define DOGLCD_SCK -1
#define FSMC_CS_PIN PD7 // NE4
#define FSMC_RS_PIN PD11 // A0
#define TFT_RESET_PIN PC6 // FSMC_RST
#define TFT_BACKLIGHT_PIN PD13
#define LCD_USE_DMA_FSMC // Use DMA transfers to send data to the TFT
#define FSMC_DMA_DEV DMA2
#define FSMC_DMA_CHANNEL DMA_CH5
#define TOUCH_BUTTONS_HW_SPI
#define TOUCH_BUTTONS_HW_SPI_DEVICE 2
#endif
// XPT2046 Touch Screen calibration
#if EITHER(TFT_LVGL_UI_FSMC, TFT_COLOR_UI)
#define TFT_BUFFER_SIZE 14400
#ifndef XPT2046_X_CALIBRATION
#define XPT2046_X_CALIBRATION 12218
#endif
#ifndef XPT2046_Y_CALIBRATION
#define XPT2046_Y_CALIBRATION -8814
#endif
#ifndef XPT2046_X_OFFSET
#define XPT2046_X_OFFSET -35
#endif
#ifndef XPT2046_Y_OFFSET
#define XPT2046_Y_OFFSET 256
#endif
#elif ENABLED(TFT_CLASSIC_UI)
#ifndef XPT2046_X_CALIBRATION
#define XPT2046_X_CALIBRATION 12149
#endif
#ifndef XPT2046_Y_CALIBRATION
#define XPT2046_Y_CALIBRATION -8746
#endif
#ifndef XPT2046_X_OFFSET
#define XPT2046_X_OFFSET -35
#endif
#ifndef XPT2046_Y_OFFSET
#define XPT2046_Y_OFFSET 256
#endif
#define TFT_MARLINUI_COLOR 0xFFFF // White
#define TFT_BTARROWS_COLOR 0xDEE6 // 11011 110111 00110 Yellow
#define TFT_BTOKMENU_COLOR 0x145F // 00010 100010 11111 Cyan
#endif
#if NEED_TOUCH_PINS
#define TOUCH_CS_PIN PC2 // SPI2_NSS
#define TOUCH_SCK_PIN PB13 // SPI2_SCK
#define TOUCH_MISO_PIN PB14 // SPI2_MISO
#define TOUCH_MOSI_PIN PB15 // SPI2_MOSI
#endif
// SPI
// Note: FLSun Hispeed (clone MKS_Robin_miniV2) board is using SPI2 interface.
//
#define ENABLE_SPI2
// SPI Flash
#define HAS_SPI_FLASH 1
#define SPI_FLASH_SIZE 0x1000000 // 16MB
#if HAS_SPI_FLASH
// SPI 2
#define W25QXX_CS_PIN PB12 //SPI2_NSS / Flash chip-select
#define W25QXX_MOSI_PIN PB15
#define W25QXX_MISO_PIN PB14
#define W25QXX_SCK_PIN PB13
#endif

View file

@ -1,76 +0,0 @@
/**
* 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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
////////////////////////////
// VENDOR VERSION EXAMPLE //
////////////////////////////
/**
* Marlin release version identifier
*/
#define SHORT_BUILD_VERSION "bugfix-2.0.x"
/**
* Verbose version identifier which should contain a reference to the location
* from where the binary was downloaded or the source code was compiled.
*/
//#define DETAILED_BUILD_VERSION SHORT_BUILD_VERSION
/**
* The STRING_DISTRIBUTION_DATE represents when the binary file was built,
* here we define this default string as the date where the latest release
* version was tagged.
*/
#define STRING_DISTRIBUTION_DATE "2020-08-12"
/**
* Defines a generic printer name to be output to the LCD after booting Marlin.
*/
#define MACHINE_NAME "QQ-S_Pro"
/**
* The SOURCE_CODE_URL is the location where users will find the Marlin Source
* Code which is installed on the device. In most cases unless the manufacturer
* has a distinct Github fork the Source Code URL should just be the main
* Marlin repository.
*/
//#define SOURCE_CODE_URL "https://github.com/MarlinFirmware/Marlin"
/**
* Default generic printer UUID.
*/
//#define DEFAULT_MACHINE_UUID "cede2a2f-41a2-4748-9b12-c55c62f367ff"
/**
* The WEBSITE_URL is the location where users can get more information such as
* documentation about a specific Marlin release.
*/
//#define WEBSITE_URL "https://marlinfw.org"
/**
* Set the vendor info the serial USB interface, if changable
* Currently only supported by DUE platform
*/
//#define USB_DEVICE_VENDOR_ID 0x0000
//#define USB_DEVICE_PRODUCT_ID 0x0000
//#define USB_DEVICE_MANUFACTURE_NAME WEBSITE_URL

View file

@ -0,0 +1,2 @@
Import("env")
env.Append(LINKFLAGS=["--specs=nano.specs"])

View file

@ -416,15 +416,18 @@ monitor_flags =
#################################
[env:flsun_hispeed]
platform = ${common_stm32f1.platform}
extends = common_stm32f1
board = genericSTM32F103VE
platform = ${common_stm32f1.platform}
extends = common_stm32f1
board = genericSTM32F103VE
platform_packages = tool-stm32duino
extra_scripts = ${common.extra_scripts}
buildroot/share/PlatformIO/scripts/mks_robin_mini.py
build_flags = ${common_stm32f1.build_flags}
-DMCU_STM32F103VE
lib_deps =
TMCStepper
buildroot/share/PlatformIO/scripts/mks_robin_mini.py
buildroot/share/PlatformIO/scripts/add_nanolib.py
build_flags = ${common_stm32f1.build_flags}
-DMCU_STM32F103VE -DSS_TIMER=4
lib_deps = ${common.lib_deps}
SoftwareSerialM
#Adafruit NeoPixel=https://github.com/Foxies-CSTL/MKS-Robin-Nano-NeoPixel-Lib/archive/master.zip
#################################
# #