Browse Source

SPINDLE/LASER config changes

Scott Lahteine 8 years ago
parent
commit
99c4900a98
52 changed files with 1301 additions and 1 deletions
  1. 1
    1
      Marlin/Conditionals_post.h
  2. 4
    0
      Marlin/Configuration.h
  3. 49
    0
      Marlin/Configuration_adv.h
  4. 61
    0
      Marlin/SanityCheck.h
  5. 4
    0
      Marlin/example_configurations/Cartesio/Configuration.h
  6. 49
    0
      Marlin/example_configurations/Cartesio/Configuration_adv.h
  7. 4
    0
      Marlin/example_configurations/Felix/Configuration.h
  8. 49
    0
      Marlin/example_configurations/Felix/Configuration_adv.h
  9. 4
    0
      Marlin/example_configurations/Felix/DUAL/Configuration.h
  10. 4
    0
      Marlin/example_configurations/FolgerTech-i3-2020/Configuration.h
  11. 53
    0
      Marlin/example_configurations/FolgerTech-i3-2020/Configuration_adv.h
  12. 4
    0
      Marlin/example_configurations/Hephestos/Configuration.h
  13. 49
    0
      Marlin/example_configurations/Hephestos/Configuration_adv.h
  14. 4
    0
      Marlin/example_configurations/Hephestos_2/Configuration.h
  15. 49
    0
      Marlin/example_configurations/Hephestos_2/Configuration_adv.h
  16. 4
    0
      Marlin/example_configurations/K8200/Configuration.h
  17. 49
    0
      Marlin/example_configurations/K8200/Configuration_adv.h
  18. 4
    0
      Marlin/example_configurations/K8400/Configuration.h
  19. 49
    0
      Marlin/example_configurations/K8400/Configuration_adv.h
  20. 4
    0
      Marlin/example_configurations/K8400/Dual-head/Configuration.h
  21. 4
    0
      Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h
  22. 4
    0
      Marlin/example_configurations/RigidBot/Configuration.h
  23. 49
    0
      Marlin/example_configurations/RigidBot/Configuration_adv.h
  24. 4
    0
      Marlin/example_configurations/SCARA/Configuration.h
  25. 49
    0
      Marlin/example_configurations/SCARA/Configuration_adv.h
  26. 4
    0
      Marlin/example_configurations/TAZ4/Configuration.h
  27. 49
    0
      Marlin/example_configurations/TAZ4/Configuration_adv.h
  28. 4
    0
      Marlin/example_configurations/TinyBoy2/Configuration.h
  29. 49
    0
      Marlin/example_configurations/TinyBoy2/Configuration_adv.h
  30. 4
    0
      Marlin/example_configurations/WITBOX/Configuration.h
  31. 49
    0
      Marlin/example_configurations/WITBOX/Configuration_adv.h
  32. 4
    0
      Marlin/example_configurations/adafruit/ST7565/Configuration.h
  33. 4
    0
      Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration.h
  34. 49
    0
      Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration_adv.h
  35. 4
    0
      Marlin/example_configurations/delta/FLSUN/kossel_mini/Configuration.h
  36. 49
    0
      Marlin/example_configurations/delta/FLSUN/kossel_mini/Configuration_adv.h
  37. 4
    0
      Marlin/example_configurations/delta/generic/Configuration.h
  38. 49
    0
      Marlin/example_configurations/delta/generic/Configuration_adv.h
  39. 4
    0
      Marlin/example_configurations/delta/kossel_mini/Configuration.h
  40. 49
    0
      Marlin/example_configurations/delta/kossel_mini/Configuration_adv.h
  41. 4
    0
      Marlin/example_configurations/delta/kossel_pro/Configuration.h
  42. 49
    0
      Marlin/example_configurations/delta/kossel_pro/Configuration_adv.h
  43. 4
    0
      Marlin/example_configurations/delta/kossel_xl/Configuration.h
  44. 49
    0
      Marlin/example_configurations/delta/kossel_xl/Configuration_adv.h
  45. 4
    0
      Marlin/example_configurations/gCreate_gMax1.5+/Configuration.h
  46. 49
    0
      Marlin/example_configurations/gCreate_gMax1.5+/Configuration_adv.h
  47. 4
    0
      Marlin/example_configurations/makibox/Configuration.h
  48. 49
    0
      Marlin/example_configurations/makibox/Configuration_adv.h
  49. 4
    0
      Marlin/example_configurations/tvrrug/Round2/Configuration.h
  50. 49
    0
      Marlin/example_configurations/tvrrug/Round2/Configuration_adv.h
  51. 4
    0
      Marlin/example_configurations/wt150/Configuration.h
  52. 49
    0
      Marlin/example_configurations/wt150/Configuration_adv.h

+ 1
- 1
Marlin/Conditionals_post.h View File

@@ -579,7 +579,7 @@
579 579
   #define HAS_SUICIDE (PIN_EXISTS(SUICIDE))
580 580
   #define HAS_PHOTOGRAPH (PIN_EXISTS(PHOTOGRAPH))
581 581
   #define HAS_BUZZER (PIN_EXISTS(BEEPER) || ENABLED(LCD_USE_I2C_BUZZER))
582
-  #define HAS_CASE_LIGHT (PIN_EXISTS(CASE_LIGHT))
582
+  #define HAS_CASE_LIGHT (PIN_EXISTS(CASE_LIGHT) && ENABLED(CASE_LIGHT_ENABLE))
583 583
 
584 584
   // Digital control
585 585
   #define HAS_MICROSTEPS (HAS_X_MICROSTEPS || HAS_Y_MICROSTEPS || HAS_Z_MICROSTEPS || HAS_E0_MICROSTEPS || HAS_E1_MICROSTEPS || HAS_E2_MICROSTEPS || HAS_E3_MICROSTEPS || HAS_E4_MICROSTEPS)

+ 4
- 0
Marlin/Configuration.h View File

@@ -129,6 +129,8 @@
129 129
 // You can use an online service to generate a random UUID. (eg http://www.uuidgenerator.net/version4)
130 130
 //#define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
131 131
 
132
+// @section extruder
133
+
132 134
 // This defines the number of extruders
133 135
 // :[1, 2, 3, 4, 5]
134 136
 #define EXTRUDERS 1
@@ -172,6 +174,8 @@
172 174
 //#define HOTEND_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis
173 175
 //#define HOTEND_OFFSET_Y {0.0, 5.00}  // (in mm) for each extruder, offset of the hotend on the Y axis
174 176
 
177
+// @section machine
178
+
175 179
 /**
176 180
  * Select your power supply here. Use 0 if you haven't connected the PS_ON_PIN
177 181
  *

+ 49
- 0
Marlin/Configuration_adv.h View File

@@ -1132,6 +1132,55 @@
1132 1132
 //#define EXPERIMENTAL_I2CBUS
1133 1133
 #define I2C_SLAVE_ADDRESS  0 // Set a value from 8 to 127 to act as a slave
1134 1134
 
1135
+// @section extras
1136
+
1137
+/**
1138
+ * Spindle & Laser control
1139
+ *
1140
+ * Add the M3, M4, and M5 commands to turn the spindle/laser on and off, and
1141
+ * to set spindle speed, spindle direction, and laser power.
1142
+ *
1143
+ * SuperPid is a router/spindle speed controller used in the CNC milling community.
1144
+ * Marlin can be used to turn the spindle on and off. It can also be used to set
1145
+ * the spindle speed from 5,000 to 30,000 RPM.
1146
+ *
1147
+ * You'll need to select a pin for the ON/OFF function and optionally choose a 0-5V
1148
+ * hardware PWM pin for the speed control and a pin for the rotation direction.
1149
+ *
1150
+ * See http://marlinfw.org/docs/configuration/laser_spindle.html for more config details.
1151
+ */
1152
+//#define SPINDLE_LASER_ENABLE
1153
+#if ENABLED(SPINDLE_LASER_ENABLE)
1154
+
1155
+  #define SPINDLE_LASER_ENABLE_INVERT   false  // set to "true" if the on/off function is reversed
1156
+  #define SPINDLE_LASER_PWM             true   // set to true if your controller supports setting the speed/power
1157
+  #define SPINDLE_LASER_PWM_INVERT      true   // set to "true" if the speed/power goes up when you want it to go slower
1158
+  #define SPINDLE_LASER_POWERUP_DELAY   5000   // delay in milliseconds to allow the spindle/laser to come up to speed/power
1159
+  #define SPINDLE_LASER_POWERDOWN_DELAY 5000   // delay in milliseconds to allow the spindle to stop
1160
+  #define SPINDLE_DIR_CHANGE            true   // set to true if your spindle controller supports changing spindle direction
1161
+  #define SPINDLE_INVERT_DIR            false
1162
+  #define SPINDLE_STOP_ON_DIR_CHANGE    true   // set to true if Marlin should stop the spindle before changing rotation direction
1163
+
1164
+  /**
1165
+   *  The M3 & M4 commands use the following equation to convert PWM duty cycle to speed/power
1166
+   *
1167
+   *  SPEED/POWER = PWM duty cycle * SPEED_POWER_SLOPE + SPEED_POWER_INTERCEPT
1168
+   *    where PWM duty cycle varies from 0 to 255
1169
+   *
1170
+   *  set the following for your controller (ALL MUST BE SET)
1171
+   */
1172
+
1173
+  #define SPEED_POWER_SLOPE    118.4
1174
+  #define SPEED_POWER_INTERCEPT  0
1175
+  #define SPEED_POWER_MIN     5000
1176
+  #define SPEED_POWER_MAX    30000    // SuperPID router controller 0 - 30,000 RPM
1177
+
1178
+  //#define SPEED_POWER_SLOPE      0.3922
1179
+  //#define SPEED_POWER_INTERCEPT  0
1180
+  //#define SPEED_POWER_MIN       10
1181
+  //#define SPEED_POWER_MAX      100      // 0-100%
1182
+#endif
1183
+
1135 1184
 /**
1136 1185
  * M43 - display pin status, watch pins for changes, watch endstops & toggle LED, Z servo probe test, toggle pins
1137 1186
  */

+ 61
- 0
Marlin/SanityCheck.h View File

@@ -1134,3 +1134,64 @@ static_assert(COUNT(sanity_arr_3) >= XYZE, "DEFAULT_MAX_ACCELERATION requires 4
1134 1134
 static_assert(COUNT(sanity_arr_1) <= XYZE_N, "DEFAULT_AXIS_STEPS_PER_UNIT has too many elements.");
1135 1135
 static_assert(COUNT(sanity_arr_2) <= XYZE_N, "DEFAULT_MAX_FEEDRATE has too many elements.");
1136 1136
 static_assert(COUNT(sanity_arr_3) <= XYZE_N, "DEFAULT_MAX_ACCELERATION has too many elements.");
1137
+
1138
+/**
1139
+ * Sanity checks for Spindle / Laser
1140
+ */
1141
+#if ENABLED(SPINDLE_LASER_ENABLE)
1142
+  #if !PIN_EXISTS(SPINDLE_LASER_ENABLE)
1143
+    #error "SPINDLE_LASER_ENABLE requires SPINDLE_LASER_ENABLE_PIN."
1144
+  #elif SPINDLE_DIR_CHANGE && !PIN_EXISTS(SPINDLE_DIR)
1145
+    #error "SPINDLE_DIR_PIN not defined."
1146
+  #elif ENABLED(SPINDLE_LASER_PWM) && PIN_EXISTS(SPINDLE_LASER_PWM)
1147
+    #if !(WITHIN(SPINDLE_LASER_PWM_PIN, 2, 13) || WITHIN(SPINDLE_LASER_PWM_PIN, 44, 46))
1148
+      #error "SPINDLE_LASER_PWM_PIN not assigned to a PWM pin."
1149
+    #elif SPINDLE_LASER_POWERUP_DELAY < 1
1150
+      #error "SPINDLE_LASER_POWERUP_DELAY must be greater than 0."
1151
+    #elif SPINDLE_LASER_POWERDOWN_DELAY < 1
1152
+      #error "SPINDLE_LASER_POWERDOWN_DELAY must be greater than 0."
1153
+    #elif !defined(SPINDLE_LASER_PWM_INVERT)
1154
+      #error "SPINDLE_LASER_PWM_INVERT missing."
1155
+    #elif !defined(SPEED_POWER_SLOPE) || !defined(SPEED_POWER_INTERCEPT) || !defined(SPEED_POWER_MIN) || !defined(SPEED_POWER_MAX)
1156
+      #error "SPINDLE_LASER_PWM equation constant(s) missing."
1157
+    #elif SPINDLE_LASER_PWM_PIN == 4 || WITHIN(SPINDLE_LASER_PWM_PIN, 11, 13)
1158
+      #error "Counter/Timer for SPINDLE_LASER_PWM_PIN is used by a system interrupt."
1159
+    #elif PIN_EXISTS(X_MAX) && X_MAX_PIN == SPINDLE_LASER_PWM_PIN
1160
+      #error "SPINDLE_LASER_PWM pin is in use by X_MAX endstop."
1161
+    #elif PIN_EXISTS(X_MIN) && X_MIN_PIN == SPINDLE_LASER_PWM_PIN
1162
+      #error "SPINDLE_LASER_PWM pin is in use by X_MIN endstop."
1163
+    #elif PIN_EXISTS(Z_STEP) && Z_STEP_PIN == SPINDLE_LASER_PWM_PIN
1164
+      #error "SPINDLE_LASER_PWM pin in use by Z_STEP."
1165
+    #elif NUM_SERVOS > 0 && (WITHIN(SPINDLE_LASER_PWM_PIN, 2, 3) || SPINDLE_LASER_PWM_PIN == 5)
1166
+      #error "Counter/Timer for SPINDLE_LASER_PWM_PIN is used by the servo system."
1167
+    #elif PIN_EXISTS(CASE_LIGHT) && SPINDLE_LASER_PWM_PIN == CASE_LIGHT_PIN
1168
+      #error "SPINDLE_LASER_PWM_PIN is used by CASE_LIGHT_PIN."
1169
+    #elif PIN_EXISTS(E0_AUTO_FAN) && SPINDLE_LASER_PWM_PIN == E0_AUTO_FAN_PIN
1170
+      #error "SPINDLE_LASER_PWM_PIN is used by E0_AUTO_FAN_PIN."
1171
+    #elif PIN_EXISTS(E1_AUTO_FAN) && SPINDLE_LASER_PWM_PIN == E1_AUTO_FAN_PIN
1172
+      #error "SPINDLE_LASER_PWM_PIN is used by E1_AUTO_FAN_PIN."
1173
+    #elif PIN_EXISTS(E2_AUTO_FAN) && SPINDLE_LASER_PWM_PIN == E2_AUTO_FAN_PIN
1174
+      #error "SPINDLE_LASER_PWM_PIN is used by E2_AUTO_FAN_PIN."
1175
+    #elif PIN_EXISTS(E3_AUTO_FAN) && SPINDLE_LASER_PWM_PIN == E3_AUTO_FAN_PIN
1176
+      #error "SPINDLE_LASER_PWM_PIN is used by E3_AUTO_FAN_PIN."
1177
+    #elif PIN_EXISTS(E4_AUTO_FAN) && SPINDLE_LASER_PWM_PIN == E4_AUTO_FAN_PIN
1178
+      #error "SPINDLE_LASER_PWM_PIN is used by E4_AUTO_FAN_PIN."
1179
+    #elif PIN_EXISTS(FAN) && SPINDLE_LASER_PWM_PIN == FAN_PIN
1180
+      #error "SPINDLE_LASER_PWM_PIN is used FAN_PIN."
1181
+    #elif PIN_EXISTS(FAN1) && SPINDLE_LASER_PWM_PIN == FAN1_PIN
1182
+      #error "SPINDLE_LASER_PWM_PIN is used FAN1_PIN."
1183
+    #elif PIN_EXISTS(FAN2) && SPINDLE_LASER_PWM_PIN == FAN2_PIN
1184
+      #error "SPINDLE_LASER_PWM_PIN is used FAN2_PIN."
1185
+    #elif PIN_EXISTS(CONTROLLERFAN) && SPINDLE_LASER_PWM_PIN == CONTROLLERFAN_PIN
1186
+      #error "SPINDLE_LASER_PWM_PIN is used by CONTROLLERFAN_PIN."
1187
+    #elif PIN_EXISTS(MOTOR_CURRENT_PWM_XY) && SPINDLE_LASER_PWM_PIN == MOTOR_CURRENT_PWM_XY_PIN
1188
+      #error "SPINDLE_LASER_PWM_PIN is used by MOTOR_CURRENT_PWM_XY."
1189
+    #elif PIN_EXISTS(MOTOR_CURRENT_PWM_Z) && SPINDLE_LASER_PWM_PIN == MOTOR_CURRENT_PWM_Z_PIN
1190
+      #error "SPINDLE_LASER_PWM_PIN is used by MOTOR_CURRENT_PWM_Z."
1191
+    #elif PIN_EXISTS(MOTOR_CURRENT_PWM_E) && SPINDLE_LASER_PWM_PIN == MOTOR_CURRENT_PWM_E_PIN
1192
+      #error "SPINDLE_LASER_PWM_PIN is used by MOTOR_CURRENT_PWM_E."
1193
+    #elif PIN_EXISTS(CASE_LIGHT) && SPINDLE_LASER_PWM_PIN == CASE_LIGHT_PIN
1194
+      #error "SPINDLE_LASER_PWM_PIN is used by CASE_LIGHT."
1195
+    #endif
1196
+  #endif
1197
+#endif // SPINDLE_LASER_ENABLE

+ 4
- 0
Marlin/example_configurations/Cartesio/Configuration.h View File

@@ -130,6 +130,8 @@
130 130
 // You can use an online service to generate a random UUID. (eg http://www.uuidgenerator.net/version4)
131 131
 //#define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
132 132
 
133
+// @section extruder
134
+
133 135
 // This defines the number of extruders
134 136
 // :[1, 2, 3, 4, 5]
135 137
 #define EXTRUDERS 3
@@ -173,6 +175,8 @@
173 175
 //#define HOTEND_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis
174 176
 //#define HOTEND_OFFSET_Y {0.0, 5.00}  // (in mm) for each extruder, offset of the hotend on the Y axis
175 177
 
178
+// @section machine
179
+
176 180
 /**
177 181
  * Select your power supply here. Use 0 if you haven't connected the PS_ON_PIN
178 182
  *

+ 49
- 0
Marlin/example_configurations/Cartesio/Configuration_adv.h View File

@@ -1125,6 +1125,55 @@
1125 1125
 //#define EXPERIMENTAL_I2CBUS
1126 1126
 #define I2C_SLAVE_ADDRESS  0 // Set a value from 8 to 127 to act as a slave
1127 1127
 
1128
+// @section extras
1129
+
1130
+/**
1131
+ * Spindle & Laser control
1132
+ *
1133
+ * Add the M3, M4, and M5 commands to turn the spindle/laser on and off, and
1134
+ * to set spindle speed, spindle direction, and laser power.
1135
+ *
1136
+ * SuperPid is a router/spindle speed controller used in the CNC milling community.
1137
+ * Marlin can be used to turn the spindle on and off. It can also be used to set
1138
+ * the spindle speed from 5,000 to 30,000 RPM.
1139
+ *
1140
+ * You'll need to select a pin for the ON/OFF function and optionally choose a 0-5V
1141
+ * hardware PWM pin for the speed control and a pin for the rotation direction.
1142
+ *
1143
+ * See http://marlinfw.org/docs/configuration/laser_spindle.html for more config details.
1144
+ */
1145
+//#define SPINDLE_LASER_ENABLE
1146
+#if ENABLED(SPINDLE_LASER_ENABLE)
1147
+
1148
+  #define SPINDLE_LASER_ENABLE_INVERT   false  // set to "true" if the on/off function is reversed
1149
+  #define SPINDLE_LASER_PWM             true   // set to true if your controller supports setting the speed/power
1150
+  #define SPINDLE_LASER_PWM_INVERT      true   // set to "true" if the speed/power goes up when you want it to go slower
1151
+  #define SPINDLE_LASER_POWERUP_DELAY   5000   // delay in milliseconds to allow the spindle/laser to come up to speed/power
1152
+  #define SPINDLE_LASER_POWERDOWN_DELAY 5000   // delay in milliseconds to allow the spindle to stop
1153
+  #define SPINDLE_DIR_CHANGE            true   // set to true if your spindle controller supports changing spindle direction
1154
+  #define SPINDLE_INVERT_DIR            false
1155
+  #define SPINDLE_STOP_ON_DIR_CHANGE    true   // set to true if Marlin should stop the spindle before changing rotation direction
1156
+
1157
+  /**
1158
+   *  The M3 & M4 commands use the following equation to convert PWM duty cycle to speed/power
1159
+   *
1160
+   *  SPEED/POWER = PWM duty cycle * SPEED_POWER_SLOPE + SPEED_POWER_INTERCEPT
1161
+   *    where PWM duty cycle varies from 0 to 255
1162
+   *
1163
+   *  set the following for your controller (ALL MUST BE SET)
1164
+   */
1165
+
1166
+  #define SPEED_POWER_SLOPE    118.4
1167
+  #define SPEED_POWER_INTERCEPT  0
1168
+  #define SPEED_POWER_MIN     5000
1169
+  #define SPEED_POWER_MAX    30000    // SuperPID router controller 0 - 30,000 RPM
1170
+
1171
+  //#define SPEED_POWER_SLOPE      0.3922
1172
+  //#define SPEED_POWER_INTERCEPT  0
1173
+  //#define SPEED_POWER_MIN       10
1174
+  //#define SPEED_POWER_MAX      100      // 0-100%
1175
+#endif
1176
+
1128 1177
 /**
1129 1178
  * M43 - display pin status, watch pins for changes, watch endstops & toggle LED, Z servo probe test, toggle pins
1130 1179
  */

+ 4
- 0
Marlin/example_configurations/Felix/Configuration.h View File

@@ -129,6 +129,8 @@
129 129
 // You can use an online service to generate a random UUID. (eg http://www.uuidgenerator.net/version4)
130 130
 //#define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
131 131
 
132
+// @section extruder
133
+
132 134
 // This defines the number of extruders
133 135
 // :[1, 2, 3, 4, 5]
134 136
 #define EXTRUDERS 1
@@ -172,6 +174,8 @@
172 174
 //#define HOTEND_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis
173 175
 //#define HOTEND_OFFSET_Y {0.0, 5.00}  // (in mm) for each extruder, offset of the hotend on the Y axis
174 176
 
177
+// @section machine
178
+
175 179
 /**
176 180
  * Select your power supply here. Use 0 if you haven't connected the PS_ON_PIN
177 181
  *

+ 49
- 0
Marlin/example_configurations/Felix/Configuration_adv.h View File

@@ -1125,6 +1125,55 @@
1125 1125
 //#define EXPERIMENTAL_I2CBUS
1126 1126
 #define I2C_SLAVE_ADDRESS  0 // Set a value from 8 to 127 to act as a slave
1127 1127
 
1128
+// @section extras
1129
+
1130
+/**
1131
+ * Spindle & Laser control
1132
+ *
1133
+ * Add the M3, M4, and M5 commands to turn the spindle/laser on and off, and
1134
+ * to set spindle speed, spindle direction, and laser power.
1135
+ *
1136
+ * SuperPid is a router/spindle speed controller used in the CNC milling community.
1137
+ * Marlin can be used to turn the spindle on and off. It can also be used to set
1138
+ * the spindle speed from 5,000 to 30,000 RPM.
1139
+ *
1140
+ * You'll need to select a pin for the ON/OFF function and optionally choose a 0-5V
1141
+ * hardware PWM pin for the speed control and a pin for the rotation direction.
1142
+ *
1143
+ * See http://marlinfw.org/docs/configuration/laser_spindle.html for more config details.
1144
+ */
1145
+//#define SPINDLE_LASER_ENABLE
1146
+#if ENABLED(SPINDLE_LASER_ENABLE)
1147
+
1148
+  #define SPINDLE_LASER_ENABLE_INVERT   false  // set to "true" if the on/off function is reversed
1149
+  #define SPINDLE_LASER_PWM             true   // set to true if your controller supports setting the speed/power
1150
+  #define SPINDLE_LASER_PWM_INVERT      true   // set to "true" if the speed/power goes up when you want it to go slower
1151
+  #define SPINDLE_LASER_POWERUP_DELAY   5000   // delay in milliseconds to allow the spindle/laser to come up to speed/power
1152
+  #define SPINDLE_LASER_POWERDOWN_DELAY 5000   // delay in milliseconds to allow the spindle to stop
1153
+  #define SPINDLE_DIR_CHANGE            true   // set to true if your spindle controller supports changing spindle direction
1154
+  #define SPINDLE_INVERT_DIR            false
1155
+  #define SPINDLE_STOP_ON_DIR_CHANGE    true   // set to true if Marlin should stop the spindle before changing rotation direction
1156
+
1157
+  /**
1158
+   *  The M3 & M4 commands use the following equation to convert PWM duty cycle to speed/power
1159
+   *
1160
+   *  SPEED/POWER = PWM duty cycle * SPEED_POWER_SLOPE + SPEED_POWER_INTERCEPT
1161
+   *    where PWM duty cycle varies from 0 to 255
1162
+   *
1163
+   *  set the following for your controller (ALL MUST BE SET)
1164
+   */
1165
+
1166
+  #define SPEED_POWER_SLOPE    118.4
1167
+  #define SPEED_POWER_INTERCEPT  0
1168
+  #define SPEED_POWER_MIN     5000
1169
+  #define SPEED_POWER_MAX    30000    // SuperPID router controller 0 - 30,000 RPM
1170
+
1171
+  //#define SPEED_POWER_SLOPE      0.3922
1172
+  //#define SPEED_POWER_INTERCEPT  0
1173
+  //#define SPEED_POWER_MIN       10
1174
+  //#define SPEED_POWER_MAX      100      // 0-100%
1175
+#endif
1176
+
1128 1177
 /**
1129 1178
  * M43 - display pin status, watch pins for changes, watch endstops & toggle LED, Z servo probe test, toggle pins
1130 1179
  */

+ 4
- 0
Marlin/example_configurations/Felix/DUAL/Configuration.h View File

@@ -129,6 +129,8 @@
129 129
 // You can use an online service to generate a random UUID. (eg http://www.uuidgenerator.net/version4)
130 130
 //#define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
131 131
 
132
+// @section extruder
133
+
132 134
 // This defines the number of extruders
133 135
 // :[1, 2, 3, 4, 5]
134 136
 #define EXTRUDERS 2
@@ -172,6 +174,8 @@
172 174
 //#define HOTEND_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis
173 175
 //#define HOTEND_OFFSET_Y {0.0, 5.00}  // (in mm) for each extruder, offset of the hotend on the Y axis
174 176
 
177
+// @section machine
178
+
175 179
 /**
176 180
  * Select your power supply here. Use 0 if you haven't connected the PS_ON_PIN
177 181
  *

+ 4
- 0
Marlin/example_configurations/FolgerTech-i3-2020/Configuration.h View File

@@ -129,6 +129,8 @@
129 129
 // You can use an online service to generate a random UUID. (eg http://www.uuidgenerator.net/version4)
130 130
 //#define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
131 131
 
132
+// @section extruder
133
+
132 134
 // This defines the number of extruders
133 135
 // :[1, 2, 3, 4, 5]
134 136
 #define EXTRUDERS 1
@@ -172,6 +174,8 @@
172 174
 //#define HOTEND_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis
173 175
 //#define HOTEND_OFFSET_Y {0.0, 5.00}  // (in mm) for each extruder, offset of the hotend on the Y axis
174 176
 
177
+// @section machine
178
+
175 179
 /**
176 180
  * Select your power supply here. Use 0 if you haven't connected the PS_ON_PIN
177 181
  *

+ 53
- 0
Marlin/example_configurations/FolgerTech-i3-2020/Configuration_adv.h View File

@@ -1132,11 +1132,64 @@
1132 1132
 //#define EXPERIMENTAL_I2CBUS
1133 1133
 #define I2C_SLAVE_ADDRESS  0 // Set a value from 8 to 127 to act as a slave
1134 1134
 
1135
+// @section extras
1136
+
1137
+/**
1138
+ * Spindle & Laser control
1139
+ *
1140
+ * Add the M3, M4, and M5 commands to turn the spindle/laser on and off, and
1141
+ * to set spindle speed, spindle direction, and laser power.
1142
+ *
1143
+ * SuperPid is a router/spindle speed controller used in the CNC milling community.
1144
+ * Marlin can be used to turn the spindle on and off. It can also be used to set
1145
+ * the spindle speed from 5,000 to 30,000 RPM.
1146
+ *
1147
+ * You'll need to select a pin for the ON/OFF function and optionally choose a 0-5V
1148
+ * hardware PWM pin for the speed control and a pin for the rotation direction.
1149
+ *
1150
+ * See http://marlinfw.org/docs/configuration/laser_spindle.html for more config details.
1151
+ */
1152
+//#define SPINDLE_LASER_ENABLE
1153
+#if ENABLED(SPINDLE_LASER_ENABLE)
1154
+
1155
+  #define SPINDLE_LASER_ENABLE_INVERT   false  // set to "true" if the on/off function is reversed
1156
+  #define SPINDLE_LASER_PWM             true   // set to true if your controller supports setting the speed/power
1157
+  #define SPINDLE_LASER_PWM_INVERT      true   // set to "true" if the speed/power goes up when you want it to go slower
1158
+  #define SPINDLE_LASER_POWERUP_DELAY   5000   // delay in milliseconds to allow the spindle/laser to come up to speed/power
1159
+  #define SPINDLE_LASER_POWERDOWN_DELAY 5000   // delay in milliseconds to allow the spindle to stop
1160
+  #define SPINDLE_DIR_CHANGE            true   // set to true if your spindle controller supports changing spindle direction
1161
+  #define SPINDLE_INVERT_DIR            false
1162
+  #define SPINDLE_STOP_ON_DIR_CHANGE    true   // set to true if Marlin should stop the spindle before changing rotation direction
1163
+
1164
+  /**
1165
+   *  The M3 & M4 commands use the following equation to convert PWM duty cycle to speed/power
1166
+   *
1167
+   *  SPEED/POWER = PWM duty cycle * SPEED_POWER_SLOPE + SPEED_POWER_INTERCEPT
1168
+   *    where PWM duty cycle varies from 0 to 255
1169
+   *
1170
+   *  set the following for your controller (ALL MUST BE SET)
1171
+   */
1172
+
1173
+  #define SPEED_POWER_SLOPE    118.4
1174
+  #define SPEED_POWER_INTERCEPT  0
1175
+  #define SPEED_POWER_MIN     5000
1176
+  #define SPEED_POWER_MAX    30000    // SuperPID router controller 0 - 30,000 RPM
1177
+
1178
+  //#define SPEED_POWER_SLOPE      0.3922
1179
+  //#define SPEED_POWER_INTERCEPT  0
1180
+  //#define SPEED_POWER_MIN       10
1181
+  //#define SPEED_POWER_MAX      100      // 0-100%
1182
+#endif
1183
+
1184
+// @section debug
1185
+
1135 1186
 /**
1136 1187
  * M43 - display pin status, watch pins for changes, watch endstops & toggle LED, Z servo probe test, toggle pins
1137 1188
  */
1138 1189
 #define PINS_DEBUGGING
1139 1190
 
1191
+// @section extras
1192
+
1140 1193
 /**
1141 1194
  * Auto-report temperatures with M155 S<seconds>
1142 1195
  */

+ 4
- 0
Marlin/example_configurations/Hephestos/Configuration.h View File

@@ -132,6 +132,8 @@
132 132
 // You can use an online service to generate a random UUID. (eg http://www.uuidgenerator.net/version4)
133 133
 //#define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
134 134
 
135
+// @section extruder
136
+
135 137
 // This defines the number of extruders
136 138
 // :[1, 2, 3, 4, 5]
137 139
 #define EXTRUDERS 1
@@ -175,6 +177,8 @@
175 177
 //#define HOTEND_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis
176 178
 //#define HOTEND_OFFSET_Y {0.0, 5.00}  // (in mm) for each extruder, offset of the hotend on the Y axis
177 179
 
180
+// @section machine
181
+
178 182
 /**
179 183
  * Select your power supply here. Use 0 if you haven't connected the PS_ON_PIN
180 184
  *

+ 49
- 0
Marlin/example_configurations/Hephestos/Configuration_adv.h View File

@@ -1125,6 +1125,55 @@
1125 1125
 //#define EXPERIMENTAL_I2CBUS
1126 1126
 #define I2C_SLAVE_ADDRESS  0 // Set a value from 8 to 127 to act as a slave
1127 1127
 
1128
+// @section extras
1129
+
1130
+/**
1131
+ * Spindle & Laser control
1132
+ *
1133
+ * Add the M3, M4, and M5 commands to turn the spindle/laser on and off, and
1134
+ * to set spindle speed, spindle direction, and laser power.
1135
+ *
1136
+ * SuperPid is a router/spindle speed controller used in the CNC milling community.
1137
+ * Marlin can be used to turn the spindle on and off. It can also be used to set
1138
+ * the spindle speed from 5,000 to 30,000 RPM.
1139
+ *
1140
+ * You'll need to select a pin for the ON/OFF function and optionally choose a 0-5V
1141
+ * hardware PWM pin for the speed control and a pin for the rotation direction.
1142
+ *
1143
+ * See http://marlinfw.org/docs/configuration/laser_spindle.html for more config details.
1144
+ */
1145
+//#define SPINDLE_LASER_ENABLE
1146
+#if ENABLED(SPINDLE_LASER_ENABLE)
1147
+
1148
+  #define SPINDLE_LASER_ENABLE_INVERT   false  // set to "true" if the on/off function is reversed
1149
+  #define SPINDLE_LASER_PWM             true   // set to true if your controller supports setting the speed/power
1150
+  #define SPINDLE_LASER_PWM_INVERT      true   // set to "true" if the speed/power goes up when you want it to go slower
1151
+  #define SPINDLE_LASER_POWERUP_DELAY   5000   // delay in milliseconds to allow the spindle/laser to come up to speed/power
1152
+  #define SPINDLE_LASER_POWERDOWN_DELAY 5000   // delay in milliseconds to allow the spindle to stop
1153
+  #define SPINDLE_DIR_CHANGE            true   // set to true if your spindle controller supports changing spindle direction
1154
+  #define SPINDLE_INVERT_DIR            false
1155
+  #define SPINDLE_STOP_ON_DIR_CHANGE    true   // set to true if Marlin should stop the spindle before changing rotation direction
1156
+
1157
+  /**
1158
+   *  The M3 & M4 commands use the following equation to convert PWM duty cycle to speed/power
1159
+   *
1160
+   *  SPEED/POWER = PWM duty cycle * SPEED_POWER_SLOPE + SPEED_POWER_INTERCEPT
1161
+   *    where PWM duty cycle varies from 0 to 255
1162
+   *
1163
+   *  set the following for your controller (ALL MUST BE SET)
1164
+   */
1165
+
1166
+  #define SPEED_POWER_SLOPE    118.4
1167
+  #define SPEED_POWER_INTERCEPT  0
1168
+  #define SPEED_POWER_MIN     5000
1169
+  #define SPEED_POWER_MAX    30000    // SuperPID router controller 0 - 30,000 RPM
1170
+
1171
+  //#define SPEED_POWER_SLOPE      0.3922
1172
+  //#define SPEED_POWER_INTERCEPT  0
1173
+  //#define SPEED_POWER_MIN       10
1174
+  //#define SPEED_POWER_MAX      100      // 0-100%
1175
+#endif
1176
+
1128 1177
 /**
1129 1178
  * M43 - display pin status, watch pins for changes, watch endstops & toggle LED, Z servo probe test, toggle pins
1130 1179
  */

+ 4
- 0
Marlin/example_configurations/Hephestos_2/Configuration.h View File

@@ -129,6 +129,8 @@
129 129
 // You can use an online service to generate a random UUID. (eg http://www.uuidgenerator.net/version4)
130 130
 #define MACHINE_UUID "8d083632-40c5-4649-85b8-43d9ae6c5d55" // BQ Hephestos 2 standard config
131 131
 
132
+// @section extruder
133
+
132 134
 // This defines the number of extruders
133 135
 // :[1, 2, 3, 4, 5]
134 136
 #define EXTRUDERS 1
@@ -172,6 +174,8 @@
172 174
 //#define HOTEND_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis
173 175
 //#define HOTEND_OFFSET_Y {0.0, 5.00}  // (in mm) for each extruder, offset of the hotend on the Y axis
174 176
 
177
+// @section machine
178
+
175 179
 /**
176 180
  * Select your power supply here. Use 0 if you haven't connected the PS_ON_PIN
177 181
  *

+ 49
- 0
Marlin/example_configurations/Hephestos_2/Configuration_adv.h View File

@@ -1109,6 +1109,55 @@
1109 1109
 //#define EXPERIMENTAL_I2CBUS
1110 1110
 #define I2C_SLAVE_ADDRESS  0 // Set a value from 8 to 127 to act as a slave
1111 1111
 
1112
+// @section extras
1113
+
1114
+/**
1115
+ * Spindle & Laser control
1116
+ *
1117
+ * Add the M3, M4, and M5 commands to turn the spindle/laser on and off, and
1118
+ * to set spindle speed, spindle direction, and laser power.
1119
+ *
1120
+ * SuperPid is a router/spindle speed controller used in the CNC milling community.
1121
+ * Marlin can be used to turn the spindle on and off. It can also be used to set
1122
+ * the spindle speed from 5,000 to 30,000 RPM.
1123
+ *
1124
+ * You'll need to select a pin for the ON/OFF function and optionally choose a 0-5V
1125
+ * hardware PWM pin for the speed control and a pin for the rotation direction.
1126
+ *
1127
+ * See http://marlinfw.org/docs/configuration/laser_spindle.html for more config details.
1128
+ */
1129
+//#define SPINDLE_LASER_ENABLE
1130
+#if ENABLED(SPINDLE_LASER_ENABLE)
1131
+
1132
+  #define SPINDLE_LASER_ENABLE_INVERT   false  // set to "true" if the on/off function is reversed
1133
+  #define SPINDLE_LASER_PWM             true   // set to true if your controller supports setting the speed/power
1134
+  #define SPINDLE_LASER_PWM_INVERT      true   // set to "true" if the speed/power goes up when you want it to go slower
1135
+  #define SPINDLE_LASER_POWERUP_DELAY   5000   // delay in milliseconds to allow the spindle/laser to come up to speed/power
1136
+  #define SPINDLE_LASER_POWERDOWN_DELAY 5000   // delay in milliseconds to allow the spindle to stop
1137
+  #define SPINDLE_DIR_CHANGE            true   // set to true if your spindle controller supports changing spindle direction
1138
+  #define SPINDLE_INVERT_DIR            false
1139
+  #define SPINDLE_STOP_ON_DIR_CHANGE    true   // set to true if Marlin should stop the spindle before changing rotation direction
1140
+
1141
+  /**
1142
+   *  The M3 & M4 commands use the following equation to convert PWM duty cycle to speed/power
1143
+   *
1144
+   *  SPEED/POWER = PWM duty cycle * SPEED_POWER_SLOPE + SPEED_POWER_INTERCEPT
1145
+   *    where PWM duty cycle varies from 0 to 255
1146
+   *
1147
+   *  set the following for your controller (ALL MUST BE SET)
1148
+   */
1149
+
1150
+  #define SPEED_POWER_SLOPE    118.4
1151
+  #define SPEED_POWER_INTERCEPT  0
1152
+  #define SPEED_POWER_MIN     5000
1153
+  #define SPEED_POWER_MAX    30000    // SuperPID router controller 0 - 30,000 RPM
1154
+
1155
+  //#define SPEED_POWER_SLOPE      0.3922
1156
+  //#define SPEED_POWER_INTERCEPT  0
1157
+  //#define SPEED_POWER_MIN       10
1158
+  //#define SPEED_POWER_MAX      100      // 0-100%
1159
+#endif
1160
+
1112 1161
 /**
1113 1162
  * M43 - display pin status, watch pins for changes, watch endstops & toggle LED, Z servo probe test, toggle pins
1114 1163
  */

+ 4
- 0
Marlin/example_configurations/K8200/Configuration.h View File

@@ -149,6 +149,8 @@
149 149
   #define MACHINE_UUID "92f72de1-c211-452e-9f2b-61ef88a4751e" // K8200 standard config without VM8201 (Display)
150 150
 #endif
151 151
 
152
+// @section extruder
153
+
152 154
 // This defines the number of extruders
153 155
 // :[1, 2, 3, 4, 5]
154 156
 #define EXTRUDERS 1
@@ -192,6 +194,8 @@
192 194
 //#define HOTEND_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis
193 195
 //#define HOTEND_OFFSET_Y {0.0, 5.00}  // (in mm) for each extruder, offset of the hotend on the Y axis
194 196
 
197
+// @section machine
198
+
195 199
 /**
196 200
  * Select your power supply here. Use 0 if you haven't connected the PS_ON_PIN
197 201
  *

+ 49
- 0
Marlin/example_configurations/K8200/Configuration_adv.h View File

@@ -1138,6 +1138,55 @@
1138 1138
 //#define EXPERIMENTAL_I2CBUS
1139 1139
 #define I2C_SLAVE_ADDRESS  0 // Set a value from 8 to 127 to act as a slave
1140 1140
 
1141
+// @section extras
1142
+
1143
+/**
1144
+ * Spindle & Laser control
1145
+ *
1146
+ * Add the M3, M4, and M5 commands to turn the spindle/laser on and off, and
1147
+ * to set spindle speed, spindle direction, and laser power.
1148
+ *
1149
+ * SuperPid is a router/spindle speed controller used in the CNC milling community.
1150
+ * Marlin can be used to turn the spindle on and off. It can also be used to set
1151
+ * the spindle speed from 5,000 to 30,000 RPM.
1152
+ *
1153
+ * You'll need to select a pin for the ON/OFF function and optionally choose a 0-5V
1154
+ * hardware PWM pin for the speed control and a pin for the rotation direction.
1155
+ *
1156
+ * See http://marlinfw.org/docs/configuration/laser_spindle.html for more config details.
1157
+ */
1158
+//#define SPINDLE_LASER_ENABLE
1159
+#if ENABLED(SPINDLE_LASER_ENABLE)
1160
+
1161
+  #define SPINDLE_LASER_ENABLE_INVERT   false  // set to "true" if the on/off function is reversed
1162
+  #define SPINDLE_LASER_PWM             true   // set to true if your controller supports setting the speed/power
1163
+  #define SPINDLE_LASER_PWM_INVERT      true   // set to "true" if the speed/power goes up when you want it to go slower
1164
+  #define SPINDLE_LASER_POWERUP_DELAY   5000   // delay in milliseconds to allow the spindle/laser to come up to speed/power
1165
+  #define SPINDLE_LASER_POWERDOWN_DELAY 5000   // delay in milliseconds to allow the spindle to stop
1166
+  #define SPINDLE_DIR_CHANGE            true   // set to true if your spindle controller supports changing spindle direction
1167
+  #define SPINDLE_INVERT_DIR            false
1168
+  #define SPINDLE_STOP_ON_DIR_CHANGE    true   // set to true if Marlin should stop the spindle before changing rotation direction
1169
+
1170
+  /**
1171
+   *  The M3 & M4 commands use the following equation to convert PWM duty cycle to speed/power
1172
+   *
1173
+   *  SPEED/POWER = PWM duty cycle * SPEED_POWER_SLOPE + SPEED_POWER_INTERCEPT
1174
+   *    where PWM duty cycle varies from 0 to 255
1175
+   *
1176
+   *  set the following for your controller (ALL MUST BE SET)
1177
+   */
1178
+
1179
+  #define SPEED_POWER_SLOPE    118.4
1180
+  #define SPEED_POWER_INTERCEPT  0
1181
+  #define SPEED_POWER_MIN     5000
1182
+  #define SPEED_POWER_MAX    30000    // SuperPID router controller 0 - 30,000 RPM
1183
+
1184
+  //#define SPEED_POWER_SLOPE      0.3922
1185
+  //#define SPEED_POWER_INTERCEPT  0
1186
+  //#define SPEED_POWER_MIN       10
1187
+  //#define SPEED_POWER_MAX      100      // 0-100%
1188
+#endif
1189
+
1141 1190
 /**
1142 1191
  * M43 - display pin status, watch pins for changes, watch endstops & toggle LED, Z servo probe test, toggle pins
1143 1192
  */

+ 4
- 0
Marlin/example_configurations/K8400/Configuration.h View File

@@ -129,6 +129,8 @@
129 129
 // You can use an online service to generate a random UUID. (eg http://www.uuidgenerator.net/version4)
130 130
 //#define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
131 131
 
132
+// @section extruder
133
+
132 134
 // This defines the number of extruders
133 135
 // :[1, 2, 3, 4, 5]
134 136
 #define EXTRUDERS 1
@@ -172,6 +174,8 @@
172 174
 //#define HOTEND_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis
173 175
 //#define HOTEND_OFFSET_Y {0.0, 5.00}  // (in mm) for each extruder, offset of the hotend on the Y axis
174 176
 
177
+// @section machine
178
+
175 179
 /**
176 180
  * Select your power supply here. Use 0 if you haven't connected the PS_ON_PIN
177 181
  *

+ 49
- 0
Marlin/example_configurations/K8400/Configuration_adv.h View File

@@ -1125,6 +1125,55 @@
1125 1125
 //#define EXPERIMENTAL_I2CBUS
1126 1126
 #define I2C_SLAVE_ADDRESS  0 // Set a value from 8 to 127 to act as a slave
1127 1127
 
1128
+// @section extras
1129
+
1130
+/**
1131
+ * Spindle & Laser control
1132
+ *
1133
+ * Add the M3, M4, and M5 commands to turn the spindle/laser on and off, and
1134
+ * to set spindle speed, spindle direction, and laser power.
1135
+ *
1136
+ * SuperPid is a router/spindle speed controller used in the CNC milling community.
1137
+ * Marlin can be used to turn the spindle on and off. It can also be used to set
1138
+ * the spindle speed from 5,000 to 30,000 RPM.
1139
+ *
1140
+ * You'll need to select a pin for the ON/OFF function and optionally choose a 0-5V
1141
+ * hardware PWM pin for the speed control and a pin for the rotation direction.
1142
+ *
1143
+ * See http://marlinfw.org/docs/configuration/laser_spindle.html for more config details.
1144
+ */
1145
+//#define SPINDLE_LASER_ENABLE
1146
+#if ENABLED(SPINDLE_LASER_ENABLE)
1147
+
1148
+  #define SPINDLE_LASER_ENABLE_INVERT   false  // set to "true" if the on/off function is reversed
1149
+  #define SPINDLE_LASER_PWM             true   // set to true if your controller supports setting the speed/power
1150
+  #define SPINDLE_LASER_PWM_INVERT      true   // set to "true" if the speed/power goes up when you want it to go slower
1151
+  #define SPINDLE_LASER_POWERUP_DELAY   5000   // delay in milliseconds to allow the spindle/laser to come up to speed/power
1152
+  #define SPINDLE_LASER_POWERDOWN_DELAY 5000   // delay in milliseconds to allow the spindle to stop
1153
+  #define SPINDLE_DIR_CHANGE            true   // set to true if your spindle controller supports changing spindle direction
1154
+  #define SPINDLE_INVERT_DIR            false
1155
+  #define SPINDLE_STOP_ON_DIR_CHANGE    true   // set to true if Marlin should stop the spindle before changing rotation direction
1156
+
1157
+  /**
1158
+   *  The M3 & M4 commands use the following equation to convert PWM duty cycle to speed/power
1159
+   *
1160
+   *  SPEED/POWER = PWM duty cycle * SPEED_POWER_SLOPE + SPEED_POWER_INTERCEPT
1161
+   *    where PWM duty cycle varies from 0 to 255
1162
+   *
1163
+   *  set the following for your controller (ALL MUST BE SET)
1164
+   */
1165
+
1166
+  #define SPEED_POWER_SLOPE    118.4
1167
+  #define SPEED_POWER_INTERCEPT  0
1168
+  #define SPEED_POWER_MIN     5000
1169
+  #define SPEED_POWER_MAX    30000    // SuperPID router controller 0 - 30,000 RPM
1170
+
1171
+  //#define SPEED_POWER_SLOPE      0.3922
1172
+  //#define SPEED_POWER_INTERCEPT  0
1173
+  //#define SPEED_POWER_MIN       10
1174
+  //#define SPEED_POWER_MAX      100      // 0-100%
1175
+#endif
1176
+
1128 1177
 /**
1129 1178
  * M43 - display pin status, watch pins for changes, watch endstops & toggle LED, Z servo probe test, toggle pins
1130 1179
  */

+ 4
- 0
Marlin/example_configurations/K8400/Dual-head/Configuration.h View File

@@ -129,6 +129,8 @@
129 129
 // You can use an online service to generate a random UUID. (eg http://www.uuidgenerator.net/version4)
130 130
 //#define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
131 131
 
132
+// @section extruder
133
+
132 134
 // This defines the number of extruders
133 135
 // :[1, 2, 3, 4, 5]
134 136
 #define EXTRUDERS 2
@@ -172,6 +174,8 @@
172 174
 //#define HOTEND_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis
173 175
 //#define HOTEND_OFFSET_Y {0.0, 5.00}  // (in mm) for each extruder, offset of the hotend on the Y axis
174 176
 
177
+// @section machine
178
+
175 179
 /**
176 180
  * Select your power supply here. Use 0 if you haven't connected the PS_ON_PIN
177 181
  *

+ 4
- 0
Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h View File

@@ -129,6 +129,8 @@
129 129
 // You can use an online service to generate a random UUID. (eg http://www.uuidgenerator.net/version4)
130 130
 //#define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
131 131
 
132
+// @section extruder
133
+
132 134
 // This defines the number of extruders
133 135
 // :[1, 2, 3, 4, 5]
134 136
 #define EXTRUDERS 1
@@ -172,6 +174,8 @@
172 174
 //#define HOTEND_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis
173 175
 //#define HOTEND_OFFSET_Y {0.0, 5.00}  // (in mm) for each extruder, offset of the hotend on the Y axis
174 176
 
177
+// @section machine
178
+
175 179
 /**
176 180
  * Select your power supply here. Use 0 if you haven't connected the PS_ON_PIN
177 181
  *

+ 4
- 0
Marlin/example_configurations/RigidBot/Configuration.h View File

@@ -132,6 +132,8 @@
132 132
 // You can use an online service to generate a random UUID. (eg http://www.uuidgenerator.net/version4)
133 133
 //#define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
134 134
 
135
+// @section extruder
136
+
135 137
 // This defines the number of extruders
136 138
 // :[1, 2, 3, 4, 5]
137 139
 #define EXTRUDERS 1  // Single extruder. Set to 2 for dual extruders
@@ -175,6 +177,8 @@
175 177
 #define HOTEND_OFFSET_X {0.0, 36.00} // (in mm) for each extruder, offset of the hotend on the X axis
176 178
 #define HOTEND_OFFSET_Y {0.0, 0.00}  // (in mm) for each extruder, offset of the hotend on the Y axis
177 179
 
180
+// @section machine
181
+
178 182
 /**
179 183
  * Select your power supply here. Use 0 if you haven't connected the PS_ON_PIN
180 184
  *

+ 49
- 0
Marlin/example_configurations/RigidBot/Configuration_adv.h View File

@@ -1125,6 +1125,55 @@
1125 1125
 //#define EXPERIMENTAL_I2CBUS
1126 1126
 #define I2C_SLAVE_ADDRESS  0 // Set a value from 8 to 127 to act as a slave
1127 1127
 
1128
+// @section extras
1129
+
1130
+/**
1131
+ * Spindle & Laser control
1132
+ *
1133
+ * Add the M3, M4, and M5 commands to turn the spindle/laser on and off, and
1134
+ * to set spindle speed, spindle direction, and laser power.
1135
+ *
1136
+ * SuperPid is a router/spindle speed controller used in the CNC milling community.
1137
+ * Marlin can be used to turn the spindle on and off. It can also be used to set
1138
+ * the spindle speed from 5,000 to 30,000 RPM.
1139
+ *
1140
+ * You'll need to select a pin for the ON/OFF function and optionally choose a 0-5V
1141
+ * hardware PWM pin for the speed control and a pin for the rotation direction.
1142
+ *
1143
+ * See http://marlinfw.org/docs/configuration/laser_spindle.html for more config details.
1144
+ */
1145
+//#define SPINDLE_LASER_ENABLE
1146
+#if ENABLED(SPINDLE_LASER_ENABLE)
1147
+
1148
+  #define SPINDLE_LASER_ENABLE_INVERT   false  // set to "true" if the on/off function is reversed
1149
+  #define SPINDLE_LASER_PWM             true   // set to true if your controller supports setting the speed/power
1150
+  #define SPINDLE_LASER_PWM_INVERT      true   // set to "true" if the speed/power goes up when you want it to go slower
1151
+  #define SPINDLE_LASER_POWERUP_DELAY   5000   // delay in milliseconds to allow the spindle/laser to come up to speed/power
1152
+  #define SPINDLE_LASER_POWERDOWN_DELAY 5000   // delay in milliseconds to allow the spindle to stop
1153
+  #define SPINDLE_DIR_CHANGE            true   // set to true if your spindle controller supports changing spindle direction
1154
+  #define SPINDLE_INVERT_DIR            false
1155
+  #define SPINDLE_STOP_ON_DIR_CHANGE    true   // set to true if Marlin should stop the spindle before changing rotation direction
1156
+
1157
+  /**
1158
+   *  The M3 & M4 commands use the following equation to convert PWM duty cycle to speed/power
1159
+   *
1160
+   *  SPEED/POWER = PWM duty cycle * SPEED_POWER_SLOPE + SPEED_POWER_INTERCEPT
1161
+   *    where PWM duty cycle varies from 0 to 255
1162
+   *
1163
+   *  set the following for your controller (ALL MUST BE SET)
1164
+   */
1165
+
1166
+  #define SPEED_POWER_SLOPE    118.4
1167
+  #define SPEED_POWER_INTERCEPT  0
1168
+  #define SPEED_POWER_MIN     5000
1169
+  #define SPEED_POWER_MAX    30000    // SuperPID router controller 0 - 30,000 RPM
1170
+
1171
+  //#define SPEED_POWER_SLOPE      0.3922
1172
+  //#define SPEED_POWER_INTERCEPT  0
1173
+  //#define SPEED_POWER_MIN       10
1174
+  //#define SPEED_POWER_MAX      100      // 0-100%
1175
+#endif
1176
+
1128 1177
 /**
1129 1178
  * M43 - display pin status, watch pins for changes, watch endstops & toggle LED, Z servo probe test, toggle pins
1130 1179
  */

+ 4
- 0
Marlin/example_configurations/SCARA/Configuration.h View File

@@ -162,6 +162,8 @@
162 162
 // You can use an online service to generate a random UUID. (eg http://www.uuidgenerator.net/version4)
163 163
 //#define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
164 164
 
165
+// @section extruder
166
+
165 167
 // This defines the number of extruders
166 168
 // :[1, 2, 3, 4, 5]
167 169
 #define EXTRUDERS 1
@@ -205,6 +207,8 @@
205 207
 //#define HOTEND_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis
206 208
 //#define HOTEND_OFFSET_Y {0.0, 5.00}  // (in mm) for each extruder, offset of the hotend on the Y axis
207 209
 
210
+// @section machine
211
+
208 212
 /**
209 213
  * Select your power supply here. Use 0 if you haven't connected the PS_ON_PIN
210 214
  *

+ 49
- 0
Marlin/example_configurations/SCARA/Configuration_adv.h View File

@@ -1125,6 +1125,55 @@
1125 1125
 //#define EXPERIMENTAL_I2CBUS
1126 1126
 #define I2C_SLAVE_ADDRESS  0 // Set a value from 8 to 127 to act as a slave
1127 1127
 
1128
+// @section extras
1129
+
1130
+/**
1131
+ * Spindle & Laser control
1132
+ *
1133
+ * Add the M3, M4, and M5 commands to turn the spindle/laser on and off, and
1134
+ * to set spindle speed, spindle direction, and laser power.
1135
+ *
1136
+ * SuperPid is a router/spindle speed controller used in the CNC milling community.
1137
+ * Marlin can be used to turn the spindle on and off. It can also be used to set
1138
+ * the spindle speed from 5,000 to 30,000 RPM.
1139
+ *
1140
+ * You'll need to select a pin for the ON/OFF function and optionally choose a 0-5V
1141
+ * hardware PWM pin for the speed control and a pin for the rotation direction.
1142
+ *
1143
+ * See http://marlinfw.org/docs/configuration/laser_spindle.html for more config details.
1144
+ */
1145
+//#define SPINDLE_LASER_ENABLE
1146
+#if ENABLED(SPINDLE_LASER_ENABLE)
1147
+
1148
+  #define SPINDLE_LASER_ENABLE_INVERT   false  // set to "true" if the on/off function is reversed
1149
+  #define SPINDLE_LASER_PWM             true   // set to true if your controller supports setting the speed/power
1150
+  #define SPINDLE_LASER_PWM_INVERT      true   // set to "true" if the speed/power goes up when you want it to go slower
1151
+  #define SPINDLE_LASER_POWERUP_DELAY   5000   // delay in milliseconds to allow the spindle/laser to come up to speed/power
1152
+  #define SPINDLE_LASER_POWERDOWN_DELAY 5000   // delay in milliseconds to allow the spindle to stop
1153
+  #define SPINDLE_DIR_CHANGE            true   // set to true if your spindle controller supports changing spindle direction
1154
+  #define SPINDLE_INVERT_DIR            false
1155
+  #define SPINDLE_STOP_ON_DIR_CHANGE    true   // set to true if Marlin should stop the spindle before changing rotation direction
1156
+
1157
+  /**
1158
+   *  The M3 & M4 commands use the following equation to convert PWM duty cycle to speed/power
1159
+   *
1160
+   *  SPEED/POWER = PWM duty cycle * SPEED_POWER_SLOPE + SPEED_POWER_INTERCEPT
1161
+   *    where PWM duty cycle varies from 0 to 255
1162
+   *
1163
+   *  set the following for your controller (ALL MUST BE SET)
1164
+   */
1165
+
1166
+  #define SPEED_POWER_SLOPE    118.4
1167
+  #define SPEED_POWER_INTERCEPT  0
1168
+  #define SPEED_POWER_MIN     5000
1169
+  #define SPEED_POWER_MAX    30000    // SuperPID router controller 0 - 30,000 RPM
1170
+
1171
+  //#define SPEED_POWER_SLOPE      0.3922
1172
+  //#define SPEED_POWER_INTERCEPT  0
1173
+  //#define SPEED_POWER_MIN       10
1174
+  //#define SPEED_POWER_MAX      100      // 0-100%
1175
+#endif
1176
+
1128 1177
 /**
1129 1178
  * M43 - display pin status, watch pins for changes, watch endstops & toggle LED, Z servo probe test, toggle pins
1130 1179
  */

+ 4
- 0
Marlin/example_configurations/TAZ4/Configuration.h View File

@@ -129,6 +129,8 @@
129 129
 // You can use an online service to generate a random UUID. (eg http://www.uuidgenerator.net/version4)
130 130
 //#define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
131 131
 
132
+// @section extruder
133
+
132 134
 // This defines the number of extruders
133 135
 // :[1, 2, 3, 4, 5]
134 136
 #define EXTRUDERS 1
@@ -172,6 +174,8 @@
172 174
 //#define HOTEND_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis
173 175
 //#define HOTEND_OFFSET_Y {0.0, 5.00}  // (in mm) for each extruder, offset of the hotend on the Y axis
174 176
 
177
+// @section machine
178
+
175 179
 /**
176 180
  * Select your power supply here. Use 0 if you haven't connected the PS_ON_PIN
177 181
  *

+ 49
- 0
Marlin/example_configurations/TAZ4/Configuration_adv.h View File

@@ -1125,6 +1125,55 @@
1125 1125
 //#define EXPERIMENTAL_I2CBUS
1126 1126
 #define I2C_SLAVE_ADDRESS  0 // Set a value from 8 to 127 to act as a slave
1127 1127
 
1128
+// @section extras
1129
+
1130
+/**
1131
+ * Spindle & Laser control
1132
+ *
1133
+ * Add the M3, M4, and M5 commands to turn the spindle/laser on and off, and
1134
+ * to set spindle speed, spindle direction, and laser power.
1135
+ *
1136
+ * SuperPid is a router/spindle speed controller used in the CNC milling community.
1137
+ * Marlin can be used to turn the spindle on and off. It can also be used to set
1138
+ * the spindle speed from 5,000 to 30,000 RPM.
1139
+ *
1140
+ * You'll need to select a pin for the ON/OFF function and optionally choose a 0-5V
1141
+ * hardware PWM pin for the speed control and a pin for the rotation direction.
1142
+ *
1143
+ * See http://marlinfw.org/docs/configuration/laser_spindle.html for more config details.
1144
+ */
1145
+//#define SPINDLE_LASER_ENABLE
1146
+#if ENABLED(SPINDLE_LASER_ENABLE)
1147
+
1148
+  #define SPINDLE_LASER_ENABLE_INVERT   false  // set to "true" if the on/off function is reversed
1149
+  #define SPINDLE_LASER_PWM             true   // set to true if your controller supports setting the speed/power
1150
+  #define SPINDLE_LASER_PWM_INVERT      true   // set to "true" if the speed/power goes up when you want it to go slower
1151
+  #define SPINDLE_LASER_POWERUP_DELAY   5000   // delay in milliseconds to allow the spindle/laser to come up to speed/power
1152
+  #define SPINDLE_LASER_POWERDOWN_DELAY 5000   // delay in milliseconds to allow the spindle to stop
1153
+  #define SPINDLE_DIR_CHANGE            true   // set to true if your spindle controller supports changing spindle direction
1154
+  #define SPINDLE_INVERT_DIR            false
1155
+  #define SPINDLE_STOP_ON_DIR_CHANGE    true   // set to true if Marlin should stop the spindle before changing rotation direction
1156
+
1157
+  /**
1158
+   *  The M3 & M4 commands use the following equation to convert PWM duty cycle to speed/power
1159
+   *
1160
+   *  SPEED/POWER = PWM duty cycle * SPEED_POWER_SLOPE + SPEED_POWER_INTERCEPT
1161
+   *    where PWM duty cycle varies from 0 to 255
1162
+   *
1163
+   *  set the following for your controller (ALL MUST BE SET)
1164
+   */
1165
+
1166
+  #define SPEED_POWER_SLOPE    118.4
1167
+  #define SPEED_POWER_INTERCEPT  0
1168
+  #define SPEED_POWER_MIN     5000
1169
+  #define SPEED_POWER_MAX    30000    // SuperPID router controller 0 - 30,000 RPM
1170
+
1171
+  //#define SPEED_POWER_SLOPE      0.3922
1172
+  //#define SPEED_POWER_INTERCEPT  0
1173
+  //#define SPEED_POWER_MIN       10
1174
+  //#define SPEED_POWER_MAX      100      // 0-100%
1175
+#endif
1176
+
1128 1177
 /**
1129 1178
  * M43 - display pin status, watch pins for changes, watch endstops & toggle LED, Z servo probe test, toggle pins
1130 1179
  */

+ 4
- 0
Marlin/example_configurations/TinyBoy2/Configuration.h View File

@@ -151,6 +151,8 @@
151 151
 // You can use an online service to generate a random UUID. (eg http://www.uuidgenerator.net/version4)
152 152
 //#define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
153 153
 
154
+// @section extruder
155
+
154 156
 // This defines the number of extruders
155 157
 // :[1, 2, 3, 4, 5]
156 158
 #define EXTRUDERS 1
@@ -194,6 +196,8 @@
194 196
 //#define HOTEND_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis
195 197
 //#define HOTEND_OFFSET_Y {0.0, 5.00}  // (in mm) for each extruder, offset of the hotend on the Y axis
196 198
 
199
+// @section machine
200
+
197 201
 /**
198 202
  * Select your power supply here. Use 0 if you haven't connected the PS_ON_PIN
199 203
  *

+ 49
- 0
Marlin/example_configurations/TinyBoy2/Configuration_adv.h View File

@@ -1128,6 +1128,55 @@
1128 1128
 //#define EXPERIMENTAL_I2CBUS
1129 1129
 #define I2C_SLAVE_ADDRESS  0 // Set a value from 8 to 127 to act as a slave
1130 1130
 
1131
+// @section extras
1132
+
1133
+/**
1134
+ * Spindle & Laser control
1135
+ *
1136
+ * Add the M3, M4, and M5 commands to turn the spindle/laser on and off, and
1137
+ * to set spindle speed, spindle direction, and laser power.
1138
+ *
1139
+ * SuperPid is a router/spindle speed controller used in the CNC milling community.
1140
+ * Marlin can be used to turn the spindle on and off. It can also be used to set
1141
+ * the spindle speed from 5,000 to 30,000 RPM.
1142
+ *
1143
+ * You'll need to select a pin for the ON/OFF function and optionally choose a 0-5V
1144
+ * hardware PWM pin for the speed control and a pin for the rotation direction.
1145
+ *
1146
+ * See http://marlinfw.org/docs/configuration/laser_spindle.html for more config details.
1147
+ */
1148
+//#define SPINDLE_LASER_ENABLE
1149
+#if ENABLED(SPINDLE_LASER_ENABLE)
1150
+
1151
+  #define SPINDLE_LASER_ENABLE_INVERT   false  // set to "true" if the on/off function is reversed
1152
+  #define SPINDLE_LASER_PWM             true   // set to true if your controller supports setting the speed/power
1153
+  #define SPINDLE_LASER_PWM_INVERT      true   // set to "true" if the speed/power goes up when you want it to go slower
1154
+  #define SPINDLE_LASER_POWERUP_DELAY   5000   // delay in milliseconds to allow the spindle/laser to come up to speed/power
1155
+  #define SPINDLE_LASER_POWERDOWN_DELAY 5000   // delay in milliseconds to allow the spindle to stop
1156
+  #define SPINDLE_DIR_CHANGE            true   // set to true if your spindle controller supports changing spindle direction
1157
+  #define SPINDLE_INVERT_DIR            false
1158
+  #define SPINDLE_STOP_ON_DIR_CHANGE    true   // set to true if Marlin should stop the spindle before changing rotation direction
1159
+
1160
+  /**
1161
+   *  The M3 & M4 commands use the following equation to convert PWM duty cycle to speed/power
1162
+   *
1163
+   *  SPEED/POWER = PWM duty cycle * SPEED_POWER_SLOPE + SPEED_POWER_INTERCEPT
1164
+   *    where PWM duty cycle varies from 0 to 255
1165
+   *
1166
+   *  set the following for your controller (ALL MUST BE SET)
1167
+   */
1168
+
1169
+  #define SPEED_POWER_SLOPE    118.4
1170
+  #define SPEED_POWER_INTERCEPT  0
1171
+  #define SPEED_POWER_MIN     5000
1172
+  #define SPEED_POWER_MAX    30000    // SuperPID router controller 0 - 30,000 RPM
1173
+
1174
+  //#define SPEED_POWER_SLOPE      0.3922
1175
+  //#define SPEED_POWER_INTERCEPT  0
1176
+  //#define SPEED_POWER_MIN       10
1177
+  //#define SPEED_POWER_MAX      100      // 0-100%
1178
+#endif
1179
+
1131 1180
 /**
1132 1181
  * M43 - display pin status, watch pins for changes, watch endstops & toggle LED, Z servo probe test, toggle pins
1133 1182
  */

+ 4
- 0
Marlin/example_configurations/WITBOX/Configuration.h View File

@@ -132,6 +132,8 @@
132 132
 // You can use an online service to generate a random UUID. (eg http://www.uuidgenerator.net/version4)
133 133
 //#define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
134 134
 
135
+// @section extruder
136
+
135 137
 // This defines the number of extruders
136 138
 // :[1, 2, 3, 4, 5]
137 139
 #define EXTRUDERS 1
@@ -175,6 +177,8 @@
175 177
 //#define HOTEND_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis
176 178
 //#define HOTEND_OFFSET_Y {0.0, 5.00}  // (in mm) for each extruder, offset of the hotend on the Y axis
177 179
 
180
+// @section machine
181
+
178 182
 /**
179 183
  * Select your power supply here. Use 0 if you haven't connected the PS_ON_PIN
180 184
  *

+ 49
- 0
Marlin/example_configurations/WITBOX/Configuration_adv.h View File

@@ -1125,6 +1125,55 @@
1125 1125
 //#define EXPERIMENTAL_I2CBUS
1126 1126
 #define I2C_SLAVE_ADDRESS  0 // Set a value from 8 to 127 to act as a slave
1127 1127
 
1128
+// @section extras
1129
+
1130
+/**
1131
+ * Spindle & Laser control
1132
+ *
1133
+ * Add the M3, M4, and M5 commands to turn the spindle/laser on and off, and
1134
+ * to set spindle speed, spindle direction, and laser power.
1135
+ *
1136
+ * SuperPid is a router/spindle speed controller used in the CNC milling community.
1137
+ * Marlin can be used to turn the spindle on and off. It can also be used to set
1138
+ * the spindle speed from 5,000 to 30,000 RPM.
1139
+ *
1140
+ * You'll need to select a pin for the ON/OFF function and optionally choose a 0-5V
1141
+ * hardware PWM pin for the speed control and a pin for the rotation direction.
1142
+ *
1143
+ * See http://marlinfw.org/docs/configuration/laser_spindle.html for more config details.
1144
+ */
1145
+//#define SPINDLE_LASER_ENABLE
1146
+#if ENABLED(SPINDLE_LASER_ENABLE)
1147
+
1148
+  #define SPINDLE_LASER_ENABLE_INVERT   false  // set to "true" if the on/off function is reversed
1149
+  #define SPINDLE_LASER_PWM             true   // set to true if your controller supports setting the speed/power
1150
+  #define SPINDLE_LASER_PWM_INVERT      true   // set to "true" if the speed/power goes up when you want it to go slower
1151
+  #define SPINDLE_LASER_POWERUP_DELAY   5000   // delay in milliseconds to allow the spindle/laser to come up to speed/power
1152
+  #define SPINDLE_LASER_POWERDOWN_DELAY 5000   // delay in milliseconds to allow the spindle to stop
1153
+  #define SPINDLE_DIR_CHANGE            true   // set to true if your spindle controller supports changing spindle direction
1154
+  #define SPINDLE_INVERT_DIR            false
1155
+  #define SPINDLE_STOP_ON_DIR_CHANGE    true   // set to true if Marlin should stop the spindle before changing rotation direction
1156
+
1157
+  /**
1158
+   *  The M3 & M4 commands use the following equation to convert PWM duty cycle to speed/power
1159
+   *
1160
+   *  SPEED/POWER = PWM duty cycle * SPEED_POWER_SLOPE + SPEED_POWER_INTERCEPT
1161
+   *    where PWM duty cycle varies from 0 to 255
1162
+   *
1163
+   *  set the following for your controller (ALL MUST BE SET)
1164
+   */
1165
+
1166
+  #define SPEED_POWER_SLOPE    118.4
1167
+  #define SPEED_POWER_INTERCEPT  0
1168
+  #define SPEED_POWER_MIN     5000
1169
+  #define SPEED_POWER_MAX    30000    // SuperPID router controller 0 - 30,000 RPM
1170
+
1171
+  //#define SPEED_POWER_SLOPE      0.3922
1172
+  //#define SPEED_POWER_INTERCEPT  0
1173
+  //#define SPEED_POWER_MIN       10
1174
+  //#define SPEED_POWER_MAX      100      // 0-100%
1175
+#endif
1176
+
1128 1177
 /**
1129 1178
  * M43 - display pin status, watch pins for changes, watch endstops & toggle LED, Z servo probe test, toggle pins
1130 1179
  */

+ 4
- 0
Marlin/example_configurations/adafruit/ST7565/Configuration.h View File

@@ -129,6 +129,8 @@
129 129
 // You can use an online service to generate a random UUID. (eg http://www.uuidgenerator.net/version4)
130 130
 //#define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
131 131
 
132
+// @section extruder
133
+
132 134
 // This defines the number of extruders
133 135
 // :[1, 2, 3, 4, 5]
134 136
 #define EXTRUDERS 1
@@ -172,6 +174,8 @@
172 174
 //#define HOTEND_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis
173 175
 //#define HOTEND_OFFSET_Y {0.0, 5.00}  // (in mm) for each extruder, offset of the hotend on the Y axis
174 176
 
177
+// @section machine
178
+
175 179
 /**
176 180
  * Select your power supply here. Use 0 if you haven't connected the PS_ON_PIN
177 181
  *

+ 4
- 0
Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration.h View File

@@ -129,6 +129,8 @@
129 129
 // You can use an online service to generate a random UUID. (eg http://www.uuidgenerator.net/version4)
130 130
 //#define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
131 131
 
132
+// @section extruder
133
+
132 134
 // This defines the number of extruders
133 135
 // :[1, 2, 3, 4, 5]
134 136
 #define EXTRUDERS 1
@@ -172,6 +174,8 @@
172 174
 //#define HOTEND_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis
173 175
 //#define HOTEND_OFFSET_Y {0.0, 5.00}  // (in mm) for each extruder, offset of the hotend on the Y axis
174 176
 
177
+// @section machine
178
+
175 179
 /**
176 180
  * Select your power supply here. Use 0 if you haven't connected the PS_ON_PIN
177 181
  *

+ 49
- 0
Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration_adv.h View File

@@ -1130,6 +1130,55 @@
1130 1130
 //#define EXPERIMENTAL_I2CBUS
1131 1131
 #define I2C_SLAVE_ADDRESS  0 // Set a value from 8 to 127 to act as a slave
1132 1132
 
1133
+// @section extras
1134
+
1135
+/**
1136
+ * Spindle & Laser control
1137
+ *
1138
+ * Add the M3, M4, and M5 commands to turn the spindle/laser on and off, and
1139
+ * to set spindle speed, spindle direction, and laser power.
1140
+ *
1141
+ * SuperPid is a router/spindle speed controller used in the CNC milling community.
1142
+ * Marlin can be used to turn the spindle on and off. It can also be used to set
1143
+ * the spindle speed from 5,000 to 30,000 RPM.
1144
+ *
1145
+ * You'll need to select a pin for the ON/OFF function and optionally choose a 0-5V
1146
+ * hardware PWM pin for the speed control and a pin for the rotation direction.
1147
+ *
1148
+ * See http://marlinfw.org/docs/configuration/laser_spindle.html for more config details.
1149
+ */
1150
+//#define SPINDLE_LASER_ENABLE
1151
+#if ENABLED(SPINDLE_LASER_ENABLE)
1152
+
1153
+  #define SPINDLE_LASER_ENABLE_INVERT   false  // set to "true" if the on/off function is reversed
1154
+  #define SPINDLE_LASER_PWM             true   // set to true if your controller supports setting the speed/power
1155
+  #define SPINDLE_LASER_PWM_INVERT      true   // set to "true" if the speed/power goes up when you want it to go slower
1156
+  #define SPINDLE_LASER_POWERUP_DELAY   5000   // delay in milliseconds to allow the spindle/laser to come up to speed/power
1157
+  #define SPINDLE_LASER_POWERDOWN_DELAY 5000   // delay in milliseconds to allow the spindle to stop
1158
+  #define SPINDLE_DIR_CHANGE            true   // set to true if your spindle controller supports changing spindle direction
1159
+  #define SPINDLE_INVERT_DIR            false
1160
+  #define SPINDLE_STOP_ON_DIR_CHANGE    true   // set to true if Marlin should stop the spindle before changing rotation direction
1161
+
1162
+  /**
1163
+   *  The M3 & M4 commands use the following equation to convert PWM duty cycle to speed/power
1164
+   *
1165
+   *  SPEED/POWER = PWM duty cycle * SPEED_POWER_SLOPE + SPEED_POWER_INTERCEPT
1166
+   *    where PWM duty cycle varies from 0 to 255
1167
+   *
1168
+   *  set the following for your controller (ALL MUST BE SET)
1169
+   */
1170
+
1171
+  #define SPEED_POWER_SLOPE    118.4
1172
+  #define SPEED_POWER_INTERCEPT  0
1173
+  #define SPEED_POWER_MIN     5000
1174
+  #define SPEED_POWER_MAX    30000    // SuperPID router controller 0 - 30,000 RPM
1175
+
1176
+  //#define SPEED_POWER_SLOPE      0.3922
1177
+  //#define SPEED_POWER_INTERCEPT  0
1178
+  //#define SPEED_POWER_MIN       10
1179
+  //#define SPEED_POWER_MAX      100      // 0-100%
1180
+#endif
1181
+
1133 1182
 /**
1134 1183
  * M43 - display pin status, watch pins for changes, watch endstops & toggle LED, Z servo probe test, toggle pins
1135 1184
  */

+ 4
- 0
Marlin/example_configurations/delta/FLSUN/kossel_mini/Configuration.h View File

@@ -129,6 +129,8 @@
129 129
 // You can use an online service to generate a random UUID. (eg http://www.uuidgenerator.net/version4)
130 130
 //#define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
131 131
 
132
+// @section extruder
133
+
132 134
 // This defines the number of extruders
133 135
 // :[1, 2, 3, 4, 5]
134 136
 #define EXTRUDERS 1
@@ -172,6 +174,8 @@
172 174
 //#define HOTEND_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis
173 175
 //#define HOTEND_OFFSET_Y {0.0, 5.00}  // (in mm) for each extruder, offset of the hotend on the Y axis
174 176
 
177
+// @section machine
178
+
175 179
 /**
176 180
  * Select your power supply here. Use 0 if you haven't connected the PS_ON_PIN
177 181
  *

+ 49
- 0
Marlin/example_configurations/delta/FLSUN/kossel_mini/Configuration_adv.h View File

@@ -1129,6 +1129,55 @@
1129 1129
 //#define EXPERIMENTAL_I2CBUS
1130 1130
 #define I2C_SLAVE_ADDRESS  0 // Set a value from 8 to 127 to act as a slave
1131 1131
 
1132
+// @section extras
1133
+
1134
+/**
1135
+ * Spindle & Laser control
1136
+ *
1137
+ * Add the M3, M4, and M5 commands to turn the spindle/laser on and off, and
1138
+ * to set spindle speed, spindle direction, and laser power.
1139
+ *
1140
+ * SuperPid is a router/spindle speed controller used in the CNC milling community.
1141
+ * Marlin can be used to turn the spindle on and off. It can also be used to set
1142
+ * the spindle speed from 5,000 to 30,000 RPM.
1143
+ *
1144
+ * You'll need to select a pin for the ON/OFF function and optionally choose a 0-5V
1145
+ * hardware PWM pin for the speed control and a pin for the rotation direction.
1146
+ *
1147
+ * See http://marlinfw.org/docs/configuration/laser_spindle.html for more config details.
1148
+ */
1149
+//#define SPINDLE_LASER_ENABLE
1150
+#if ENABLED(SPINDLE_LASER_ENABLE)
1151
+
1152
+  #define SPINDLE_LASER_ENABLE_INVERT   false  // set to "true" if the on/off function is reversed
1153
+  #define SPINDLE_LASER_PWM             true   // set to true if your controller supports setting the speed/power
1154
+  #define SPINDLE_LASER_PWM_INVERT      true   // set to "true" if the speed/power goes up when you want it to go slower
1155
+  #define SPINDLE_LASER_POWERUP_DELAY   5000   // delay in milliseconds to allow the spindle/laser to come up to speed/power
1156
+  #define SPINDLE_LASER_POWERDOWN_DELAY 5000   // delay in milliseconds to allow the spindle to stop
1157
+  #define SPINDLE_DIR_CHANGE            true   // set to true if your spindle controller supports changing spindle direction
1158
+  #define SPINDLE_INVERT_DIR            false
1159
+  #define SPINDLE_STOP_ON_DIR_CHANGE    true   // set to true if Marlin should stop the spindle before changing rotation direction
1160
+
1161
+  /**
1162
+   *  The M3 & M4 commands use the following equation to convert PWM duty cycle to speed/power
1163
+   *
1164
+   *  SPEED/POWER = PWM duty cycle * SPEED_POWER_SLOPE + SPEED_POWER_INTERCEPT
1165
+   *    where PWM duty cycle varies from 0 to 255
1166
+   *
1167
+   *  set the following for your controller (ALL MUST BE SET)
1168
+   */
1169
+
1170
+  #define SPEED_POWER_SLOPE    118.4
1171
+  #define SPEED_POWER_INTERCEPT  0
1172
+  #define SPEED_POWER_MIN     5000
1173
+  #define SPEED_POWER_MAX    30000    // SuperPID router controller 0 - 30,000 RPM
1174
+
1175
+  //#define SPEED_POWER_SLOPE      0.3922
1176
+  //#define SPEED_POWER_INTERCEPT  0
1177
+  //#define SPEED_POWER_MIN       10
1178
+  //#define SPEED_POWER_MAX      100      // 0-100%
1179
+#endif
1180
+
1132 1181
 /**
1133 1182
  * M43 - display pin status, watch pins for changes, watch endstops & toggle LED, Z servo probe test, toggle pins
1134 1183
  */

+ 4
- 0
Marlin/example_configurations/delta/generic/Configuration.h View File

@@ -129,6 +129,8 @@
129 129
 // You can use an online service to generate a random UUID. (eg http://www.uuidgenerator.net/version4)
130 130
 //#define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
131 131
 
132
+// @section extruder
133
+
132 134
 // This defines the number of extruders
133 135
 // :[1, 2, 3, 4, 5]
134 136
 #define EXTRUDERS 1
@@ -172,6 +174,8 @@
172 174
 //#define HOTEND_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis
173 175
 //#define HOTEND_OFFSET_Y {0.0, 5.00}  // (in mm) for each extruder, offset of the hotend on the Y axis
174 176
 
177
+// @section machine
178
+
175 179
 /**
176 180
  * Select your power supply here. Use 0 if you haven't connected the PS_ON_PIN
177 181
  *

+ 49
- 0
Marlin/example_configurations/delta/generic/Configuration_adv.h View File

@@ -1127,6 +1127,55 @@
1127 1127
 //#define EXPERIMENTAL_I2CBUS
1128 1128
 #define I2C_SLAVE_ADDRESS  0 // Set a value from 8 to 127 to act as a slave
1129 1129
 
1130
+// @section extras
1131
+
1132
+/**
1133
+ * Spindle & Laser control
1134
+ *
1135
+ * Add the M3, M4, and M5 commands to turn the spindle/laser on and off, and
1136
+ * to set spindle speed, spindle direction, and laser power.
1137
+ *
1138
+ * SuperPid is a router/spindle speed controller used in the CNC milling community.
1139
+ * Marlin can be used to turn the spindle on and off. It can also be used to set
1140
+ * the spindle speed from 5,000 to 30,000 RPM.
1141
+ *
1142
+ * You'll need to select a pin for the ON/OFF function and optionally choose a 0-5V
1143
+ * hardware PWM pin for the speed control and a pin for the rotation direction.
1144
+ *
1145
+ * See http://marlinfw.org/docs/configuration/laser_spindle.html for more config details.
1146
+ */
1147
+//#define SPINDLE_LASER_ENABLE
1148
+#if ENABLED(SPINDLE_LASER_ENABLE)
1149
+
1150
+  #define SPINDLE_LASER_ENABLE_INVERT   false  // set to "true" if the on/off function is reversed
1151
+  #define SPINDLE_LASER_PWM             true   // set to true if your controller supports setting the speed/power
1152
+  #define SPINDLE_LASER_PWM_INVERT      true   // set to "true" if the speed/power goes up when you want it to go slower
1153
+  #define SPINDLE_LASER_POWERUP_DELAY   5000   // delay in milliseconds to allow the spindle/laser to come up to speed/power
1154
+  #define SPINDLE_LASER_POWERDOWN_DELAY 5000   // delay in milliseconds to allow the spindle to stop
1155
+  #define SPINDLE_DIR_CHANGE            true   // set to true if your spindle controller supports changing spindle direction
1156
+  #define SPINDLE_INVERT_DIR            false
1157
+  #define SPINDLE_STOP_ON_DIR_CHANGE    true   // set to true if Marlin should stop the spindle before changing rotation direction
1158
+
1159
+  /**
1160
+   *  The M3 & M4 commands use the following equation to convert PWM duty cycle to speed/power
1161
+   *
1162
+   *  SPEED/POWER = PWM duty cycle * SPEED_POWER_SLOPE + SPEED_POWER_INTERCEPT
1163
+   *    where PWM duty cycle varies from 0 to 255
1164
+   *
1165
+   *  set the following for your controller (ALL MUST BE SET)
1166
+   */
1167
+
1168
+  #define SPEED_POWER_SLOPE    118.4
1169
+  #define SPEED_POWER_INTERCEPT  0
1170
+  #define SPEED_POWER_MIN     5000
1171
+  #define SPEED_POWER_MAX    30000    // SuperPID router controller 0 - 30,000 RPM
1172
+
1173
+  //#define SPEED_POWER_SLOPE      0.3922
1174
+  //#define SPEED_POWER_INTERCEPT  0
1175
+  //#define SPEED_POWER_MIN       10
1176
+  //#define SPEED_POWER_MAX      100      // 0-100%
1177
+#endif
1178
+
1130 1179
 /**
1131 1180
  * M43 - display pin status, watch pins for changes, watch endstops & toggle LED, Z servo probe test, toggle pins
1132 1181
  */

+ 4
- 0
Marlin/example_configurations/delta/kossel_mini/Configuration.h View File

@@ -129,6 +129,8 @@
129 129
 // You can use an online service to generate a random UUID. (eg http://www.uuidgenerator.net/version4)
130 130
 //#define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
131 131
 
132
+// @section extruder
133
+
132 134
 // This defines the number of extruders
133 135
 // :[1, 2, 3, 4, 5]
134 136
 #define EXTRUDERS 1
@@ -172,6 +174,8 @@
172 174
 //#define HOTEND_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis
173 175
 //#define HOTEND_OFFSET_Y {0.0, 5.00}  // (in mm) for each extruder, offset of the hotend on the Y axis
174 176
 
177
+// @section machine
178
+
175 179
 /**
176 180
  * Select your power supply here. Use 0 if you haven't connected the PS_ON_PIN
177 181
  *

+ 49
- 0
Marlin/example_configurations/delta/kossel_mini/Configuration_adv.h View File

@@ -1127,6 +1127,55 @@
1127 1127
 //#define EXPERIMENTAL_I2CBUS
1128 1128
 #define I2C_SLAVE_ADDRESS  0 // Set a value from 8 to 127 to act as a slave
1129 1129
 
1130
+// @section extras
1131
+
1132
+/**
1133
+ * Spindle & Laser control
1134
+ *
1135
+ * Add the M3, M4, and M5 commands to turn the spindle/laser on and off, and
1136
+ * to set spindle speed, spindle direction, and laser power.
1137
+ *
1138
+ * SuperPid is a router/spindle speed controller used in the CNC milling community.
1139
+ * Marlin can be used to turn the spindle on and off. It can also be used to set
1140
+ * the spindle speed from 5,000 to 30,000 RPM.
1141
+ *
1142
+ * You'll need to select a pin for the ON/OFF function and optionally choose a 0-5V
1143
+ * hardware PWM pin for the speed control and a pin for the rotation direction.
1144
+ *
1145
+ * See http://marlinfw.org/docs/configuration/laser_spindle.html for more config details.
1146
+ */
1147
+//#define SPINDLE_LASER_ENABLE
1148
+#if ENABLED(SPINDLE_LASER_ENABLE)
1149
+
1150
+  #define SPINDLE_LASER_ENABLE_INVERT   false  // set to "true" if the on/off function is reversed
1151
+  #define SPINDLE_LASER_PWM             true   // set to true if your controller supports setting the speed/power
1152
+  #define SPINDLE_LASER_PWM_INVERT      true   // set to "true" if the speed/power goes up when you want it to go slower
1153
+  #define SPINDLE_LASER_POWERUP_DELAY   5000   // delay in milliseconds to allow the spindle/laser to come up to speed/power
1154
+  #define SPINDLE_LASER_POWERDOWN_DELAY 5000   // delay in milliseconds to allow the spindle to stop
1155
+  #define SPINDLE_DIR_CHANGE            true   // set to true if your spindle controller supports changing spindle direction
1156
+  #define SPINDLE_INVERT_DIR            false
1157
+  #define SPINDLE_STOP_ON_DIR_CHANGE    true   // set to true if Marlin should stop the spindle before changing rotation direction
1158
+
1159
+  /**
1160
+   *  The M3 & M4 commands use the following equation to convert PWM duty cycle to speed/power
1161
+   *
1162
+   *  SPEED/POWER = PWM duty cycle * SPEED_POWER_SLOPE + SPEED_POWER_INTERCEPT
1163
+   *    where PWM duty cycle varies from 0 to 255
1164
+   *
1165
+   *  set the following for your controller (ALL MUST BE SET)
1166
+   */
1167
+
1168
+  #define SPEED_POWER_SLOPE    118.4
1169
+  #define SPEED_POWER_INTERCEPT  0
1170
+  #define SPEED_POWER_MIN     5000
1171
+  #define SPEED_POWER_MAX    30000    // SuperPID router controller 0 - 30,000 RPM
1172
+
1173
+  //#define SPEED_POWER_SLOPE      0.3922
1174
+  //#define SPEED_POWER_INTERCEPT  0
1175
+  //#define SPEED_POWER_MIN       10
1176
+  //#define SPEED_POWER_MAX      100      // 0-100%
1177
+#endif
1178
+
1130 1179
 /**
1131 1180
  * M43 - display pin status, watch pins for changes, watch endstops & toggle LED, Z servo probe test, toggle pins
1132 1181
  */

+ 4
- 0
Marlin/example_configurations/delta/kossel_pro/Configuration.h View File

@@ -133,6 +133,8 @@
133 133
 // You can use an online service to generate a random UUID. (eg http://www.uuidgenerator.net/version4)
134 134
 //#define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
135 135
 
136
+// @section extruder
137
+
136 138
 // This defines the number of extruders
137 139
 // :[1, 2, 3, 4, 5]
138 140
 #define EXTRUDERS 1
@@ -176,6 +178,8 @@
176 178
 //#define HOTEND_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis
177 179
 //#define HOTEND_OFFSET_Y {0.0, 5.00}  // (in mm) for each extruder, offset of the hotend on the Y axis
178 180
 
181
+// @section machine
182
+
179 183
 /**
180 184
  * Select your power supply here. Use 0 if you haven't connected the PS_ON_PIN
181 185
  *

+ 49
- 0
Marlin/example_configurations/delta/kossel_pro/Configuration_adv.h View File

@@ -1132,6 +1132,55 @@
1132 1132
 //#define EXPERIMENTAL_I2CBUS
1133 1133
 #define I2C_SLAVE_ADDRESS  0 // Set a value from 8 to 127 to act as a slave
1134 1134
 
1135
+// @section extras
1136
+
1137
+/**
1138
+ * Spindle & Laser control
1139
+ *
1140
+ * Add the M3, M4, and M5 commands to turn the spindle/laser on and off, and
1141
+ * to set spindle speed, spindle direction, and laser power.
1142
+ *
1143
+ * SuperPid is a router/spindle speed controller used in the CNC milling community.
1144
+ * Marlin can be used to turn the spindle on and off. It can also be used to set
1145
+ * the spindle speed from 5,000 to 30,000 RPM.
1146
+ *
1147
+ * You'll need to select a pin for the ON/OFF function and optionally choose a 0-5V
1148
+ * hardware PWM pin for the speed control and a pin for the rotation direction.
1149
+ *
1150
+ * See http://marlinfw.org/docs/configuration/laser_spindle.html for more config details.
1151
+ */
1152
+//#define SPINDLE_LASER_ENABLE
1153
+#if ENABLED(SPINDLE_LASER_ENABLE)
1154
+
1155
+  #define SPINDLE_LASER_ENABLE_INVERT   false  // set to "true" if the on/off function is reversed
1156
+  #define SPINDLE_LASER_PWM             true   // set to true if your controller supports setting the speed/power
1157
+  #define SPINDLE_LASER_PWM_INVERT      true   // set to "true" if the speed/power goes up when you want it to go slower
1158
+  #define SPINDLE_LASER_POWERUP_DELAY   5000   // delay in milliseconds to allow the spindle/laser to come up to speed/power
1159
+  #define SPINDLE_LASER_POWERDOWN_DELAY 5000   // delay in milliseconds to allow the spindle to stop
1160
+  #define SPINDLE_DIR_CHANGE            true   // set to true if your spindle controller supports changing spindle direction
1161
+  #define SPINDLE_INVERT_DIR            false
1162
+  #define SPINDLE_STOP_ON_DIR_CHANGE    true   // set to true if Marlin should stop the spindle before changing rotation direction
1163
+
1164
+  /**
1165
+   *  The M3 & M4 commands use the following equation to convert PWM duty cycle to speed/power
1166
+   *
1167
+   *  SPEED/POWER = PWM duty cycle * SPEED_POWER_SLOPE + SPEED_POWER_INTERCEPT
1168
+   *    where PWM duty cycle varies from 0 to 255
1169
+   *
1170
+   *  set the following for your controller (ALL MUST BE SET)
1171
+   */
1172
+
1173
+  #define SPEED_POWER_SLOPE    118.4
1174
+  #define SPEED_POWER_INTERCEPT  0
1175
+  #define SPEED_POWER_MIN     5000
1176
+  #define SPEED_POWER_MAX    30000    // SuperPID router controller 0 - 30,000 RPM
1177
+
1178
+  //#define SPEED_POWER_SLOPE      0.3922
1179
+  //#define SPEED_POWER_INTERCEPT  0
1180
+  //#define SPEED_POWER_MIN       10
1181
+  //#define SPEED_POWER_MAX      100      // 0-100%
1182
+#endif
1183
+
1135 1184
 /**
1136 1185
  * M43 - display pin status, watch pins for changes, watch endstops & toggle LED, Z servo probe test, toggle pins
1137 1186
  */

+ 4
- 0
Marlin/example_configurations/delta/kossel_xl/Configuration.h View File

@@ -129,6 +129,8 @@
129 129
 // You can use an online service to generate a random UUID. (eg http://www.uuidgenerator.net/version4)
130 130
 //#define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
131 131
 
132
+// @section extruder
133
+
132 134
 // This defines the number of extruders
133 135
 // :[1, 2, 3, 4, 5]
134 136
 #define EXTRUDERS 1
@@ -172,6 +174,8 @@
172 174
 //#define HOTEND_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis
173 175
 //#define HOTEND_OFFSET_Y {0.0, 5.00}  // (in mm) for each extruder, offset of the hotend on the Y axis
174 176
 
177
+// @section machine
178
+
175 179
 /**
176 180
  * Select your power supply here. Use 0 if you haven't connected the PS_ON_PIN
177 181
  *

+ 49
- 0
Marlin/example_configurations/delta/kossel_xl/Configuration_adv.h View File

@@ -1127,6 +1127,55 @@
1127 1127
 //#define EXPERIMENTAL_I2CBUS
1128 1128
 #define I2C_SLAVE_ADDRESS  0 // Set a value from 8 to 127 to act as a slave
1129 1129
 
1130
+// @section extras
1131
+
1132
+/**
1133
+ * Spindle & Laser control
1134
+ *
1135
+ * Add the M3, M4, and M5 commands to turn the spindle/laser on and off, and
1136
+ * to set spindle speed, spindle direction, and laser power.
1137
+ *
1138
+ * SuperPid is a router/spindle speed controller used in the CNC milling community.
1139
+ * Marlin can be used to turn the spindle on and off. It can also be used to set
1140
+ * the spindle speed from 5,000 to 30,000 RPM.
1141
+ *
1142
+ * You'll need to select a pin for the ON/OFF function and optionally choose a 0-5V
1143
+ * hardware PWM pin for the speed control and a pin for the rotation direction.
1144
+ *
1145
+ * See http://marlinfw.org/docs/configuration/laser_spindle.html for more config details.
1146
+ */
1147
+//#define SPINDLE_LASER_ENABLE
1148
+#if ENABLED(SPINDLE_LASER_ENABLE)
1149
+
1150
+  #define SPINDLE_LASER_ENABLE_INVERT   false  // set to "true" if the on/off function is reversed
1151
+  #define SPINDLE_LASER_PWM             true   // set to true if your controller supports setting the speed/power
1152
+  #define SPINDLE_LASER_PWM_INVERT      true   // set to "true" if the speed/power goes up when you want it to go slower
1153
+  #define SPINDLE_LASER_POWERUP_DELAY   5000   // delay in milliseconds to allow the spindle/laser to come up to speed/power
1154
+  #define SPINDLE_LASER_POWERDOWN_DELAY 5000   // delay in milliseconds to allow the spindle to stop
1155
+  #define SPINDLE_DIR_CHANGE            true   // set to true if your spindle controller supports changing spindle direction
1156
+  #define SPINDLE_INVERT_DIR            false
1157
+  #define SPINDLE_STOP_ON_DIR_CHANGE    true   // set to true if Marlin should stop the spindle before changing rotation direction
1158
+
1159
+  /**
1160
+   *  The M3 & M4 commands use the following equation to convert PWM duty cycle to speed/power
1161
+   *
1162
+   *  SPEED/POWER = PWM duty cycle * SPEED_POWER_SLOPE + SPEED_POWER_INTERCEPT
1163
+   *    where PWM duty cycle varies from 0 to 255
1164
+   *
1165
+   *  set the following for your controller (ALL MUST BE SET)
1166
+   */
1167
+
1168
+  #define SPEED_POWER_SLOPE    118.4
1169
+  #define SPEED_POWER_INTERCEPT  0
1170
+  #define SPEED_POWER_MIN     5000
1171
+  #define SPEED_POWER_MAX    30000    // SuperPID router controller 0 - 30,000 RPM
1172
+
1173
+  //#define SPEED_POWER_SLOPE      0.3922
1174
+  //#define SPEED_POWER_INTERCEPT  0
1175
+  //#define SPEED_POWER_MIN       10
1176
+  //#define SPEED_POWER_MAX      100      // 0-100%
1177
+#endif
1178
+
1130 1179
 /**
1131 1180
  * M43 - display pin status, watch pins for changes, watch endstops & toggle LED, Z servo probe test, toggle pins
1132 1181
  */

+ 4
- 0
Marlin/example_configurations/gCreate_gMax1.5+/Configuration.h View File

@@ -134,6 +134,8 @@
134 134
 // You can use an online service to generate a random UUID. (eg http://www.uuidgenerator.net/version4)
135 135
 //#define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
136 136
 
137
+// @section extruder
138
+
137 139
 // This defines the number of extruders
138 140
 // :[1, 2, 3, 4, 5]
139 141
 #define EXTRUDERS 1
@@ -177,6 +179,8 @@
177 179
 //#define HOTEND_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis
178 180
 //#define HOTEND_OFFSET_Y {0.0, 5.00}  // (in mm) for each extruder, offset of the hotend on the Y axis
179 181
 
182
+// @section machine
183
+
180 184
 /**
181 185
  * Select your power supply here. Use 0 if you haven't connected the PS_ON_PIN
182 186
  *

+ 49
- 0
Marlin/example_configurations/gCreate_gMax1.5+/Configuration_adv.h View File

@@ -1132,6 +1132,55 @@
1132 1132
 //#define EXPERIMENTAL_I2CBUS
1133 1133
 #define I2C_SLAVE_ADDRESS  0 // Set a value from 8 to 127 to act as a slave
1134 1134
 
1135
+// @section extras
1136
+
1137
+/**
1138
+ * Spindle & Laser control
1139
+ *
1140
+ * Add the M3, M4, and M5 commands to turn the spindle/laser on and off, and
1141
+ * to set spindle speed, spindle direction, and laser power.
1142
+ *
1143
+ * SuperPid is a router/spindle speed controller used in the CNC milling community.
1144
+ * Marlin can be used to turn the spindle on and off. It can also be used to set
1145
+ * the spindle speed from 5,000 to 30,000 RPM.
1146
+ *
1147
+ * You'll need to select a pin for the ON/OFF function and optionally choose a 0-5V
1148
+ * hardware PWM pin for the speed control and a pin for the rotation direction.
1149
+ *
1150
+ * See http://marlinfw.org/docs/configuration/laser_spindle.html for more config details.
1151
+ */
1152
+//#define SPINDLE_LASER_ENABLE
1153
+#if ENABLED(SPINDLE_LASER_ENABLE)
1154
+
1155
+  #define SPINDLE_LASER_ENABLE_INVERT   false  // set to "true" if the on/off function is reversed
1156
+  #define SPINDLE_LASER_PWM             true   // set to true if your controller supports setting the speed/power
1157
+  #define SPINDLE_LASER_PWM_INVERT      true   // set to "true" if the speed/power goes up when you want it to go slower
1158
+  #define SPINDLE_LASER_POWERUP_DELAY   5000   // delay in milliseconds to allow the spindle/laser to come up to speed/power
1159
+  #define SPINDLE_LASER_POWERDOWN_DELAY 5000   // delay in milliseconds to allow the spindle to stop
1160
+  #define SPINDLE_DIR_CHANGE            true   // set to true if your spindle controller supports changing spindle direction
1161
+  #define SPINDLE_INVERT_DIR            false
1162
+  #define SPINDLE_STOP_ON_DIR_CHANGE    true   // set to true if Marlin should stop the spindle before changing rotation direction
1163
+
1164
+  /**
1165
+   *  The M3 & M4 commands use the following equation to convert PWM duty cycle to speed/power
1166
+   *
1167
+   *  SPEED/POWER = PWM duty cycle * SPEED_POWER_SLOPE + SPEED_POWER_INTERCEPT
1168
+   *    where PWM duty cycle varies from 0 to 255
1169
+   *
1170
+   *  set the following for your controller (ALL MUST BE SET)
1171
+   */
1172
+
1173
+  #define SPEED_POWER_SLOPE    118.4
1174
+  #define SPEED_POWER_INTERCEPT  0
1175
+  #define SPEED_POWER_MIN     5000
1176
+  #define SPEED_POWER_MAX    30000    // SuperPID router controller 0 - 30,000 RPM
1177
+
1178
+  //#define SPEED_POWER_SLOPE      0.3922
1179
+  //#define SPEED_POWER_INTERCEPT  0
1180
+  //#define SPEED_POWER_MIN       10
1181
+  //#define SPEED_POWER_MAX      100      // 0-100%
1182
+#endif
1183
+
1135 1184
 /**
1136 1185
  * M43 - display pin status, watch pins for changes, watch endstops & toggle LED, Z servo probe test, toggle pins
1137 1186
  */

+ 4
- 0
Marlin/example_configurations/makibox/Configuration.h View File

@@ -129,6 +129,8 @@
129 129
 // You can use an online service to generate a random UUID. (eg http://www.uuidgenerator.net/version4)
130 130
 //#define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
131 131
 
132
+// @section extruder
133
+
132 134
 // This defines the number of extruders
133 135
 // :[1, 2, 3, 4, 5]
134 136
 #define EXTRUDERS 1
@@ -172,6 +174,8 @@
172 174
 //#define HOTEND_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis
173 175
 //#define HOTEND_OFFSET_Y {0.0, 5.00}  // (in mm) for each extruder, offset of the hotend on the Y axis
174 176
 
177
+// @section machine
178
+
175 179
 /**
176 180
  * Select your power supply here. Use 0 if you haven't connected the PS_ON_PIN
177 181
  *

+ 49
- 0
Marlin/example_configurations/makibox/Configuration_adv.h View File

@@ -1125,6 +1125,55 @@
1125 1125
 //#define EXPERIMENTAL_I2CBUS
1126 1126
 #define I2C_SLAVE_ADDRESS  0 // Set a value from 8 to 127 to act as a slave
1127 1127
 
1128
+// @section extras
1129
+
1130
+/**
1131
+ * Spindle & Laser control
1132
+ *
1133
+ * Add the M3, M4, and M5 commands to turn the spindle/laser on and off, and
1134
+ * to set spindle speed, spindle direction, and laser power.
1135
+ *
1136
+ * SuperPid is a router/spindle speed controller used in the CNC milling community.
1137
+ * Marlin can be used to turn the spindle on and off. It can also be used to set
1138
+ * the spindle speed from 5,000 to 30,000 RPM.
1139
+ *
1140
+ * You'll need to select a pin for the ON/OFF function and optionally choose a 0-5V
1141
+ * hardware PWM pin for the speed control and a pin for the rotation direction.
1142
+ *
1143
+ * See http://marlinfw.org/docs/configuration/laser_spindle.html for more config details.
1144
+ */
1145
+//#define SPINDLE_LASER_ENABLE
1146
+#if ENABLED(SPINDLE_LASER_ENABLE)
1147
+
1148
+  #define SPINDLE_LASER_ENABLE_INVERT   false  // set to "true" if the on/off function is reversed
1149
+  #define SPINDLE_LASER_PWM             true   // set to true if your controller supports setting the speed/power
1150
+  #define SPINDLE_LASER_PWM_INVERT      true   // set to "true" if the speed/power goes up when you want it to go slower
1151
+  #define SPINDLE_LASER_POWERUP_DELAY   5000   // delay in milliseconds to allow the spindle/laser to come up to speed/power
1152
+  #define SPINDLE_LASER_POWERDOWN_DELAY 5000   // delay in milliseconds to allow the spindle to stop
1153
+  #define SPINDLE_DIR_CHANGE            true   // set to true if your spindle controller supports changing spindle direction
1154
+  #define SPINDLE_INVERT_DIR            false
1155
+  #define SPINDLE_STOP_ON_DIR_CHANGE    true   // set to true if Marlin should stop the spindle before changing rotation direction
1156
+
1157
+  /**
1158
+   *  The M3 & M4 commands use the following equation to convert PWM duty cycle to speed/power
1159
+   *
1160
+   *  SPEED/POWER = PWM duty cycle * SPEED_POWER_SLOPE + SPEED_POWER_INTERCEPT
1161
+   *    where PWM duty cycle varies from 0 to 255
1162
+   *
1163
+   *  set the following for your controller (ALL MUST BE SET)
1164
+   */
1165
+
1166
+  #define SPEED_POWER_SLOPE    118.4
1167
+  #define SPEED_POWER_INTERCEPT  0
1168
+  #define SPEED_POWER_MIN     5000
1169
+  #define SPEED_POWER_MAX    30000    // SuperPID router controller 0 - 30,000 RPM
1170
+
1171
+  //#define SPEED_POWER_SLOPE      0.3922
1172
+  //#define SPEED_POWER_INTERCEPT  0
1173
+  //#define SPEED_POWER_MIN       10
1174
+  //#define SPEED_POWER_MAX      100      // 0-100%
1175
+#endif
1176
+
1128 1177
 /**
1129 1178
  * M43 - display pin status, watch pins for changes, watch endstops & toggle LED, Z servo probe test, toggle pins
1130 1179
  */

+ 4
- 0
Marlin/example_configurations/tvrrug/Round2/Configuration.h View File

@@ -129,6 +129,8 @@
129 129
 // You can use an online service to generate a random UUID. (eg http://www.uuidgenerator.net/version4)
130 130
 //#define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
131 131
 
132
+// @section extruder
133
+
132 134
 // This defines the number of extruders
133 135
 // :[1, 2, 3, 4, 5]
134 136
 #define EXTRUDERS 1
@@ -172,6 +174,8 @@
172 174
 //#define HOTEND_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis
173 175
 //#define HOTEND_OFFSET_Y {0.0, 5.00}  // (in mm) for each extruder, offset of the hotend on the Y axis
174 176
 
177
+// @section machine
178
+
175 179
 /**
176 180
  * Select your power supply here. Use 0 if you haven't connected the PS_ON_PIN
177 181
  *

+ 49
- 0
Marlin/example_configurations/tvrrug/Round2/Configuration_adv.h View File

@@ -1125,6 +1125,55 @@
1125 1125
 //#define EXPERIMENTAL_I2CBUS
1126 1126
 #define I2C_SLAVE_ADDRESS  0 // Set a value from 8 to 127 to act as a slave
1127 1127
 
1128
+// @section extras
1129
+
1130
+/**
1131
+ * Spindle & Laser control
1132
+ *
1133
+ * Add the M3, M4, and M5 commands to turn the spindle/laser on and off, and
1134
+ * to set spindle speed, spindle direction, and laser power.
1135
+ *
1136
+ * SuperPid is a router/spindle speed controller used in the CNC milling community.
1137
+ * Marlin can be used to turn the spindle on and off. It can also be used to set
1138
+ * the spindle speed from 5,000 to 30,000 RPM.
1139
+ *
1140
+ * You'll need to select a pin for the ON/OFF function and optionally choose a 0-5V
1141
+ * hardware PWM pin for the speed control and a pin for the rotation direction.
1142
+ *
1143
+ * See http://marlinfw.org/docs/configuration/laser_spindle.html for more config details.
1144
+ */
1145
+//#define SPINDLE_LASER_ENABLE
1146
+#if ENABLED(SPINDLE_LASER_ENABLE)
1147
+
1148
+  #define SPINDLE_LASER_ENABLE_INVERT   false  // set to "true" if the on/off function is reversed
1149
+  #define SPINDLE_LASER_PWM             true   // set to true if your controller supports setting the speed/power
1150
+  #define SPINDLE_LASER_PWM_INVERT      true   // set to "true" if the speed/power goes up when you want it to go slower
1151
+  #define SPINDLE_LASER_POWERUP_DELAY   5000   // delay in milliseconds to allow the spindle/laser to come up to speed/power
1152
+  #define SPINDLE_LASER_POWERDOWN_DELAY 5000   // delay in milliseconds to allow the spindle to stop
1153
+  #define SPINDLE_DIR_CHANGE            true   // set to true if your spindle controller supports changing spindle direction
1154
+  #define SPINDLE_INVERT_DIR            false
1155
+  #define SPINDLE_STOP_ON_DIR_CHANGE    true   // set to true if Marlin should stop the spindle before changing rotation direction
1156
+
1157
+  /**
1158
+   *  The M3 & M4 commands use the following equation to convert PWM duty cycle to speed/power
1159
+   *
1160
+   *  SPEED/POWER = PWM duty cycle * SPEED_POWER_SLOPE + SPEED_POWER_INTERCEPT
1161
+   *    where PWM duty cycle varies from 0 to 255
1162
+   *
1163
+   *  set the following for your controller (ALL MUST BE SET)
1164
+   */
1165
+
1166
+  #define SPEED_POWER_SLOPE    118.4
1167
+  #define SPEED_POWER_INTERCEPT  0
1168
+  #define SPEED_POWER_MIN     5000
1169
+  #define SPEED_POWER_MAX    30000    // SuperPID router controller 0 - 30,000 RPM
1170
+
1171
+  //#define SPEED_POWER_SLOPE      0.3922
1172
+  //#define SPEED_POWER_INTERCEPT  0
1173
+  //#define SPEED_POWER_MIN       10
1174
+  //#define SPEED_POWER_MAX      100      // 0-100%
1175
+#endif
1176
+
1128 1177
 /**
1129 1178
  * M43 - display pin status, watch pins for changes, watch endstops & toggle LED, Z servo probe test, toggle pins
1130 1179
  */

+ 4
- 0
Marlin/example_configurations/wt150/Configuration.h View File

@@ -129,6 +129,8 @@
129 129
 // You can use an online service to generate a random UUID. (eg http://www.uuidgenerator.net/version4)
130 130
 //#define MACHINE_UUID "5f0bb7a3-0e14-428c-812b-15ab0d3ecc71"
131 131
 
132
+// @section extruder
133
+
132 134
 // This defines the number of extruders
133 135
 // :[1, 2, 3, 4, 5]
134 136
 #define EXTRUDERS 1
@@ -172,6 +174,8 @@
172 174
 //#define HOTEND_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis
173 175
 //#define HOTEND_OFFSET_Y {0.0, 5.00}  // (in mm) for each extruder, offset of the hotend on the Y axis
174 176
 
177
+// @section machine
178
+
175 179
 /**
176 180
  * Select your power supply here. Use 0 if you haven't connected the PS_ON_PIN
177 181
  *

+ 49
- 0
Marlin/example_configurations/wt150/Configuration_adv.h View File

@@ -1128,6 +1128,55 @@
1128 1128
 //#define EXPERIMENTAL_I2CBUS
1129 1129
 #define I2C_SLAVE_ADDRESS  0 // Set a value from 8 to 127 to act as a slave
1130 1130
 
1131
+// @section extras
1132
+
1133
+/**
1134
+ * Spindle & Laser control
1135
+ *
1136
+ * Add the M3, M4, and M5 commands to turn the spindle/laser on and off, and
1137
+ * to set spindle speed, spindle direction, and laser power.
1138
+ *
1139
+ * SuperPid is a router/spindle speed controller used in the CNC milling community.
1140
+ * Marlin can be used to turn the spindle on and off. It can also be used to set
1141
+ * the spindle speed from 5,000 to 30,000 RPM.
1142
+ *
1143
+ * You'll need to select a pin for the ON/OFF function and optionally choose a 0-5V
1144
+ * hardware PWM pin for the speed control and a pin for the rotation direction.
1145
+ *
1146
+ * See http://marlinfw.org/docs/configuration/laser_spindle.html for more config details.
1147
+ */
1148
+//#define SPINDLE_LASER_ENABLE
1149
+#if ENABLED(SPINDLE_LASER_ENABLE)
1150
+
1151
+  #define SPINDLE_LASER_ENABLE_INVERT   false  // set to "true" if the on/off function is reversed
1152
+  #define SPINDLE_LASER_PWM             true   // set to true if your controller supports setting the speed/power
1153
+  #define SPINDLE_LASER_PWM_INVERT      true   // set to "true" if the speed/power goes up when you want it to go slower
1154
+  #define SPINDLE_LASER_POWERUP_DELAY   5000   // delay in milliseconds to allow the spindle/laser to come up to speed/power
1155
+  #define SPINDLE_LASER_POWERDOWN_DELAY 5000   // delay in milliseconds to allow the spindle to stop
1156
+  #define SPINDLE_DIR_CHANGE            true   // set to true if your spindle controller supports changing spindle direction
1157
+  #define SPINDLE_INVERT_DIR            false
1158
+  #define SPINDLE_STOP_ON_DIR_CHANGE    true   // set to true if Marlin should stop the spindle before changing rotation direction
1159
+
1160
+  /**
1161
+   *  The M3 & M4 commands use the following equation to convert PWM duty cycle to speed/power
1162
+   *
1163
+   *  SPEED/POWER = PWM duty cycle * SPEED_POWER_SLOPE + SPEED_POWER_INTERCEPT
1164
+   *    where PWM duty cycle varies from 0 to 255
1165
+   *
1166
+   *  set the following for your controller (ALL MUST BE SET)
1167
+   */
1168
+
1169
+  #define SPEED_POWER_SLOPE    118.4
1170
+  #define SPEED_POWER_INTERCEPT  0
1171
+  #define SPEED_POWER_MIN     5000
1172
+  #define SPEED_POWER_MAX    30000    // SuperPID router controller 0 - 30,000 RPM
1173
+
1174
+  //#define SPEED_POWER_SLOPE      0.3922
1175
+  //#define SPEED_POWER_INTERCEPT  0
1176
+  //#define SPEED_POWER_MIN       10
1177
+  //#define SPEED_POWER_MAX      100      // 0-100%
1178
+#endif
1179
+
1131 1180
 /**
1132 1181
  * M43 - display pin status, watch pins for changes, watch endstops & toggle LED, Z servo probe test, toggle pins
1133 1182
  */

Loading…
Cancel
Save