|
@@ -428,7 +428,7 @@
|
428
|
428
|
#define DIGIPOT_MCP4018 // Requires library from https://github.com/stawel/SlowSoftI2CMaster
|
429
|
429
|
#define DIGIPOT_I2C_NUM_CHANNELS 5 // 5DPRINT: 4 AZTEEG_X3_PRO: 8
|
430
|
430
|
// Actual motor currents in Amps, need as many here as DIGIPOT_I2C_NUM_CHANNELS
|
431
|
|
-#define DIGIPOT_I2C_MOTOR_CURRENTS {0.68, 0.68, 1.18, 1.27, 1.27}
|
|
431
|
+#define DIGIPOT_I2C_MOTOR_CURRENTS {0.22, 0.22, 0.39, 0.42, 0.42}
|
432
|
432
|
|
433
|
433
|
//===========================================================================
|
434
|
434
|
//=============================Additional Features===========================
|
|
@@ -670,6 +670,10 @@
|
670
|
670
|
#define UBL_MESH_MAX_X (X_MAX_POS - (UBL_MESH_INSET))
|
671
|
671
|
#define UBL_MESH_MIN_Y (Y_MIN_POS + UBL_MESH_INSET)
|
672
|
672
|
#define UBL_MESH_MAX_Y (Y_MAX_POS - (UBL_MESH_INSET))
|
|
673
|
+
|
|
674
|
+ // If this is defined, the currently active mesh will be saved in the
|
|
675
|
+ // current slot on M500.
|
|
676
|
+ #define UBL_SAVE_ACTIVE_ON_M500
|
673
|
677
|
#endif
|
674
|
678
|
|
675
|
679
|
// @section extras
|
|
@@ -795,7 +799,7 @@
|
795
|
799
|
// Longer length for bowden printers to unload filament from whole bowden tube,
|
796
|
800
|
// shorter length for printers without bowden to unload filament from extruder only,
|
797
|
801
|
// 0 to disable unloading for manual unloading
|
798
|
|
- #define FILAMENT_CHANGE_LOAD_FEEDRATE 10 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast
|
|
802
|
+ #define FILAMENT_CHANGE_LOAD_FEEDRATE 6 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast
|
799
|
803
|
#define FILAMENT_CHANGE_LOAD_LENGTH 0 // Load filament length over hotend in mm
|
800
|
804
|
// Longer length for bowden printers to fast load filament into whole bowden tube over the hotend,
|
801
|
805
|
// Short or zero length for printers without bowden where loading is not used
|
|
@@ -1260,8 +1264,91 @@
|
1260
|
1264
|
#define USER_DESC_4 "Heat Bed/Home/Level"
|
1261
|
1265
|
#define USER_GCODE_4 "M140 S" STRINGIFY(PREHEAT_2_TEMP_BED) "\nG28\nG29"
|
1262
|
1266
|
|
1263
|
|
- //#define USER_DESC_5 "Home & Info"
|
1264
|
|
- //#define USER_GCODE_5 "G28\nM503"
|
|
1267
|
+ #define USER_DESC_5 "Home & Info"
|
|
1268
|
+ #define USER_GCODE_5 "G28\nM503"
|
|
1269
|
+#endif
|
|
1270
|
+
|
|
1271
|
+//===========================================================================
|
|
1272
|
+//============================ I2C Encoder Settings =========================
|
|
1273
|
+//===========================================================================
|
|
1274
|
+/**
|
|
1275
|
+ * I2C position encoders for closed loop control.
|
|
1276
|
+ * Developed by Chris Barr at Aus3D.
|
|
1277
|
+ *
|
|
1278
|
+ * Wiki: http://wiki.aus3d.com.au/Magnetic_Encoder
|
|
1279
|
+ * Github: https://github.com/Aus3D/MagneticEncoder
|
|
1280
|
+ *
|
|
1281
|
+ * Supplier: http://aus3d.com.au/magnetic-encoder-module
|
|
1282
|
+ * Alternative Supplier: http://reliabuild3d.com/
|
|
1283
|
+ *
|
|
1284
|
+ * Reilabuild encoders have been modified to improve reliability.
|
|
1285
|
+ */
|
|
1286
|
+
|
|
1287
|
+//#define I2C_POSITION_ENCODERS
|
|
1288
|
+#if ENABLED(I2C_POSITION_ENCODERS)
|
|
1289
|
+
|
|
1290
|
+ #define I2CPE_ENCODER_CNT 1 // The number of encoders installed; max of 5
|
|
1291
|
+ // encoders supported currently.
|
|
1292
|
+
|
|
1293
|
+ #define I2CPE_ENC_1_ADDR I2CPE_PRESET_ADDR_X // I2C address of the encoder. 30-200.
|
|
1294
|
+ #define I2CPE_ENC_1_AXIS X_AXIS // Axis the encoder module is installed on. <X|Y|Z|E>_AXIS.
|
|
1295
|
+ #define I2CPE_ENC_1_TYPE I2CPE_ENC_TYPE_LINEAR // Type of encoder: I2CPE_ENC_TYPE_LINEAR -or-
|
|
1296
|
+ // I2CPE_ENC_TYPE_ROTARY.
|
|
1297
|
+ #define I2CPE_ENC_1_TICKS_UNIT 2048 // 1024 for magnetic strips with 2mm poles; 2048 for
|
|
1298
|
+ // 1mm poles. For linear encoders this is ticks / mm,
|
|
1299
|
+ // for rotary encoders this is ticks / revolution.
|
|
1300
|
+ //#define I2CPE_ENC_1_TICKS_REV (16 * 200) // Only needed for rotary encoders; number of stepper
|
|
1301
|
+ // steps per full revolution (motor steps/rev * microstepping)
|
|
1302
|
+ //#define I2CPE_ENC_1_INVERT // Invert the direction of axis travel.
|
|
1303
|
+ #define I2CPE_ENC_1_EC_METHOD I2CPE_ECM_NONE // Type of error error correction.
|
|
1304
|
+ #define I2CPE_ENC_1_EC_THRESH 0.10 // Threshold size for error (in mm) above which the
|
|
1305
|
+ // printer will attempt to correct the error; errors
|
|
1306
|
+ // smaller than this are ignored to minimize effects of
|
|
1307
|
+ // measurement noise / latency (filter).
|
|
1308
|
+
|
|
1309
|
+ #define I2CPE_ENC_2_ADDR I2CPE_PRESET_ADDR_Y // Same as above, but for encoder 2.
|
|
1310
|
+ #define I2CPE_ENC_2_AXIS Y_AXIS
|
|
1311
|
+ #define I2CPE_ENC_2_TYPE I2CPE_ENC_TYPE_LINEAR
|
|
1312
|
+ #define I2CPE_ENC_2_TICKS_UNIT 2048
|
|
1313
|
+ //#define I2CPE_ENC_2_TICKS_REV (16 * 200)
|
|
1314
|
+ //#define I2CPE_ENC_2_INVERT
|
|
1315
|
+ #define I2CPE_ENC_2_EC_METHOD I2CPE_ECM_NONE
|
|
1316
|
+ #define I2CPE_ENC_2_EC_THRESH 0.10
|
|
1317
|
+
|
|
1318
|
+ #define I2CPE_ENC_3_ADDR I2CPE_PRESET_ADDR_Z // Encoder 3. Add additional configuration options
|
|
1319
|
+ #define I2CPE_ENC_3_AXIS Z_AXIS // as above, or use defaults below.
|
|
1320
|
+
|
|
1321
|
+ #define I2CPE_ENC_4_ADDR I2CPE_PRESET_ADDR_E // Encoder 4.
|
|
1322
|
+ #define I2CPE_ENC_4_AXIS E_AXIS
|
|
1323
|
+
|
|
1324
|
+ #define I2CPE_ENC_5_ADDR 34 // Encoder 5.
|
|
1325
|
+ #define I2CPE_ENC_5_AXIS E_AXIS
|
|
1326
|
+
|
|
1327
|
+ // Default settings for encoders which are enabled, but without settings configured above.
|
|
1328
|
+ #define I2CPE_DEF_TYPE I2CPE_ENC_TYPE_LINEAR
|
|
1329
|
+ #define I2CPE_DEF_ENC_TICKS_UNIT 2048
|
|
1330
|
+ #define I2CPE_DEF_TICKS_REV (16 * 200)
|
|
1331
|
+ #define I2CPE_DEF_EC_METHOD I2CPE_ECM_NONE
|
|
1332
|
+ #define I2CPE_DEF_EC_THRESH 0.1
|
|
1333
|
+
|
|
1334
|
+ //#define I2CPE_ERR_THRESH_ABORT 100.0 // Threshold size for error (in mm) error on any given
|
|
1335
|
+ // axis after which the printer will abort. Comment out to
|
|
1336
|
+ // disable abort behaviour.
|
|
1337
|
+
|
|
1338
|
+ #define I2CPE_TIME_TRUSTED 10000 // After an encoder fault, there must be no further fault
|
|
1339
|
+ // for this amount of time (in ms) before the encoder
|
|
1340
|
+ // is trusted again.
|
|
1341
|
+
|
|
1342
|
+ /**
|
|
1343
|
+ * Position is checked every time a new command is executed from the buffer but during long moves,
|
|
1344
|
+ * this setting determines the minimum update time between checks. A value of 100 works well with
|
|
1345
|
+ * error rolling average when attempting to correct only for skips and not for vibration.
|
|
1346
|
+ */
|
|
1347
|
+ #define I2CPE_MIN_UPD_TIME_MS 100 // Minimum time in miliseconds between encoder checks.
|
|
1348
|
+
|
|
1349
|
+ // Use a rolling average to identify persistant errors that indicate skips, as opposed to vibration and noise.
|
|
1350
|
+ #define I2CPE_ERR_ROLLING_AVERAGE
|
|
1351
|
+
|
1265
|
1352
|
#endif
|
1266
|
1353
|
|
1267
|
1354
|
//===========================================================================
|