Browse Source

Merge pull request #4914 from Rerouter/PID-Unconstrained-Itemp

Pid unconstrained itemp
Scott Lahteine 9 years ago
parent
commit
473f4a17a8
24 changed files with 4 additions and 90 deletions
  1. 0
    3
      Marlin/Configuration.h
  2. 0
    3
      Marlin/example_configurations/Cartesio/Configuration.h
  3. 0
    3
      Marlin/example_configurations/Felix/Configuration.h
  4. 0
    1
      Marlin/example_configurations/Felix/DUAL/Configuration.h
  5. 0
    3
      Marlin/example_configurations/Hephestos/Configuration.h
  6. 0
    3
      Marlin/example_configurations/Hephestos_2/Configuration.h
  7. 0
    3
      Marlin/example_configurations/K8200/Configuration.h
  8. 0
    3
      Marlin/example_configurations/K8400/Configuration.h
  9. 0
    3
      Marlin/example_configurations/K8400/Dual-head/Configuration.h
  10. 0
    3
      Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h
  11. 0
    3
      Marlin/example_configurations/RigidBot/Configuration.h
  12. 0
    3
      Marlin/example_configurations/SCARA/Configuration.h
  13. 0
    3
      Marlin/example_configurations/TAZ4/Configuration.h
  14. 0
    3
      Marlin/example_configurations/WITBOX/Configuration.h
  15. 0
    3
      Marlin/example_configurations/adafruit/ST7565/Configuration.h
  16. 0
    3
      Marlin/example_configurations/delta/biv2.5/Configuration.h
  17. 0
    3
      Marlin/example_configurations/delta/generic/Configuration.h
  18. 0
    3
      Marlin/example_configurations/delta/kossel_mini/Configuration.h
  19. 0
    3
      Marlin/example_configurations/delta/kossel_pro/Configuration.h
  20. 0
    3
      Marlin/example_configurations/delta/kossel_xl/Configuration.h
  21. 0
    3
      Marlin/example_configurations/makibox/Configuration.h
  22. 0
    3
      Marlin/example_configurations/tvrrug/Round2/Configuration.h
  23. 2
    20
      Marlin/temperature.cpp
  24. 2
    6
      Marlin/temperature.h

+ 0
- 3
Marlin/Configuration.h View File

298
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
298
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
299
   #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
299
   #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
300
                                   // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
300
                                   // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
301
-  #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
302
   #define K1 0.95 //smoothing factor within the PID
301
   #define K1 0.95 //smoothing factor within the PID
303
 
302
 
304
   // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
303
   // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
345
 
344
 
346
   //#define PID_BED_DEBUG // Sends debug data to the serial port.
345
   //#define PID_BED_DEBUG // Sends debug data to the serial port.
347
 
346
 
348
-  #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
349
-
350
   //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
347
   //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
351
   //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
348
   //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
352
   #define  DEFAULT_bedKp 10.00
349
   #define  DEFAULT_bedKp 10.00

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

299
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
299
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
300
   #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
300
   #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
301
                                   // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
301
                                   // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
302
-  #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
303
   #define K1 0.95 //smoothing factor within the PID
302
   #define K1 0.95 //smoothing factor within the PID
304
 
303
 
305
   // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
304
   // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
347
 
346
 
348
   //#define PID_BED_DEBUG // Sends debug data to the serial port.
347
   //#define PID_BED_DEBUG // Sends debug data to the serial port.
349
 
348
 
350
-  #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
351
-
352
     //24V 500W silicone heater on to 4mm glass CartesioW
349
     //24V 500W silicone heater on to 4mm glass CartesioW
353
     #define  DEFAULT_bedKp 390
350
     #define  DEFAULT_bedKp 390
354
     #define  DEFAULT_bedKi 70
351
     #define  DEFAULT_bedKi 70

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

298
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
298
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
299
   #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
299
   #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
300
                                   // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
300
                                   // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
301
-  #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
302
   #define K1 0.95 //smoothing factor within the PID
301
   #define K1 0.95 //smoothing factor within the PID
303
 
302
 
304
   // Felix 2.0+ electronics with v4 Hotend
303
   // Felix 2.0+ electronics with v4 Hotend
334
 
333
 
335
   //#define PID_BED_DEBUG // Sends debug data to the serial port.
334
   //#define PID_BED_DEBUG // Sends debug data to the serial port.
336
 
335
 
337
-  #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
338
-
339
   // Felix Foil Heater
336
   // Felix Foil Heater
340
   #define DEFAULT_bedKp 103.37
337
   #define DEFAULT_bedKp 103.37
341
   #define DEFAULT_bedKi 2.79
338
   #define DEFAULT_bedKi 2.79

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

298
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
298
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
299
   #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
299
   #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
300
                                   // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
300
                                   // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
301
-  #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
302
   #define K1 0.95 //smoothing factor within the PID
301
   #define K1 0.95 //smoothing factor within the PID
303
 
302
 
304
   // Felix 2.0+ electronics with v4 Hotend
303
   // Felix 2.0+ electronics with v4 Hotend

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

301
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
301
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
302
   #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
302
   #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
303
                                   // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
303
                                   // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
304
-  #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
305
   #define K1 0.95 //smoothing factor within the PID
304
   #define K1 0.95 //smoothing factor within the PID
306
 
305
 
307
   // Hephestos i3
306
   // Hephestos i3
337
 
336
 
338
   //#define PID_BED_DEBUG // Sends debug data to the serial port.
337
   //#define PID_BED_DEBUG // Sends debug data to the serial port.
339
 
338
 
340
-  #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
341
-
342
   //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
339
   //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
343
   //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
340
   //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
344
   #define  DEFAULT_bedKp 10.00
341
   #define  DEFAULT_bedKp 10.00

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

298
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
298
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
299
   #define PID_FUNCTIONAL_RANGE 250  // If the temperature difference between the target temperature and the actual temperature
299
   #define PID_FUNCTIONAL_RANGE 250  // If the temperature difference between the target temperature and the actual temperature
300
                                     // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
300
                                     // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
301
-  #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
302
   #define K1 0.95 //smoothing factor within the PID
301
   #define K1 0.95 //smoothing factor within the PID
303
 
302
 
304
   // Tuned PID values using M303
303
   // Tuned PID values using M303
339
 
338
 
340
   //#define PID_BED_DEBUG // Sends debug data to the serial port.
339
   //#define PID_BED_DEBUG // Sends debug data to the serial port.
341
 
340
 
342
-  #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
343
-
344
   //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
341
   //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
345
   //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
342
   //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
346
   #define  DEFAULT_bedKp 10.00
343
   #define  DEFAULT_bedKp 10.00

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

305
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
305
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
306
   #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
306
   #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
307
                                   // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
307
                                   // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
308
-  #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
309
   #define K1 0.95 //smoothing factor within the PID
308
   #define K1 0.95 //smoothing factor within the PID
310
 
309
 
311
   // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
310
   // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
356
 
355
 
357
   //#define PID_BED_DEBUG // Sends debug data to the serial port.
356
   //#define PID_BED_DEBUG // Sends debug data to the serial port.
358
 
357
 
359
-  #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
360
-
361
   //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
358
   //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
362
   //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
359
   //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
363
   //#define  DEFAULT_bedKp 10.00
360
   //#define  DEFAULT_bedKp 10.00

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

298
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
298
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
299
   #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
299
   #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
300
                                   // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
300
                                   // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
301
-  #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
302
   #define K1 0.95 //smoothing factor within the PID
301
   #define K1 0.95 //smoothing factor within the PID
303
 
302
 
304
   // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
303
   // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
345
 
344
 
346
   //#define PID_BED_DEBUG // Sends debug data to the serial port.
345
   //#define PID_BED_DEBUG // Sends debug data to the serial port.
347
 
346
 
348
-  #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
349
-
350
   //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
347
   //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
351
   //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
348
   //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
352
   #define  DEFAULT_bedKp 10.00
349
   #define  DEFAULT_bedKp 10.00

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

298
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
298
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
299
   #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
299
   #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
300
                                   // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
300
                                   // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
301
-  #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
302
   #define K1 0.95 //smoothing factor within the PID
301
   #define K1 0.95 //smoothing factor within the PID
303
 
302
 
304
   // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
303
   // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
345
 
344
 
346
   //#define PID_BED_DEBUG // Sends debug data to the serial port.
345
   //#define PID_BED_DEBUG // Sends debug data to the serial port.
347
 
346
 
348
-  #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
349
-
350
   //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
347
   //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
351
   //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
348
   //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
352
   #define  DEFAULT_bedKp 10.00
349
   #define  DEFAULT_bedKp 10.00

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

298
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
298
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
299
   #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
299
   #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
300
                                   // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
300
                                   // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
301
-  #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
302
   #define K1 0.95 //smoothing factor within the PID
301
   #define K1 0.95 //smoothing factor within the PID
303
 
302
 
304
   // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
303
   // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
345
 
344
 
346
   //#define PID_BED_DEBUG // Sends debug data to the serial port.
345
   //#define PID_BED_DEBUG // Sends debug data to the serial port.
347
 
346
 
348
-  #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
349
-
350
   //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
347
   //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
351
   //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
348
   //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
352
   #define  DEFAULT_bedKp 10.00
349
   #define  DEFAULT_bedKp 10.00

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

301
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
301
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
302
   #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
302
   #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
303
                                   // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
303
                                   // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
304
-  #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
305
   #define K1 0.95 //smoothing factor within the PID
304
   #define K1 0.95 //smoothing factor within the PID
306
 
305
 
307
   // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
306
   // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
349
 
348
 
350
   //#define PID_BED_DEBUG // Sends debug data to the serial port.
349
   //#define PID_BED_DEBUG // Sends debug data to the serial port.
351
 
350
 
352
-  #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
353
-
354
   //RigidBot, from pid autotune
351
   //RigidBot, from pid autotune
355
   #define  DEFAULT_bedKp 355
352
   #define  DEFAULT_bedKp 355
356
   #define  DEFAULT_bedKi 66.5
353
   #define  DEFAULT_bedKi 66.5

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

330
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
330
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
331
   #define PID_FUNCTIONAL_RANGE 20 // If the temperature difference between the target temperature and the actual temperature
331
   #define PID_FUNCTIONAL_RANGE 20 // If the temperature difference between the target temperature and the actual temperature
332
                                   // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
332
                                   // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
333
-  #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
334
   #define K1 0.95 //smoothing factor within the PID
333
   #define K1 0.95 //smoothing factor within the PID
335
 
334
 
336
   // Merlin Hotend: From Autotune
335
   // Merlin Hotend: From Autotune
366
 
365
 
367
   //#define PID_BED_DEBUG // Sends debug data to the serial port.
366
   //#define PID_BED_DEBUG // Sends debug data to the serial port.
368
 
367
 
369
-  #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
370
-
371
   //12v Heatbed Mk3 12V in parallel
368
   //12v Heatbed Mk3 12V in parallel
372
   //from pidautotune
369
   //from pidautotune
373
   #define  DEFAULT_bedKp 630.14
370
   #define  DEFAULT_bedKp 630.14

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

298
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
298
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
299
   #define PID_FUNCTIONAL_RANGE 16 // If the temperature difference between the target temperature and the actual temperature
299
   #define PID_FUNCTIONAL_RANGE 16 // If the temperature difference between the target temperature and the actual temperature
300
                                   // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
300
                                   // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
301
-  #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
302
   #define K1 0.95 //smoothing factor within the PID
301
   #define K1 0.95 //smoothing factor within the PID
303
 
302
 
304
   // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
303
   // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
355
 
354
 
356
   //#define PID_BED_DEBUG // Sends debug data to the serial port.
355
   //#define PID_BED_DEBUG // Sends debug data to the serial port.
357
 
356
 
358
-  #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
359
-
360
   //24V 360W silicone heater from NPH on 3mm borosilicate (TAZ 2.2+)
357
   //24V 360W silicone heater from NPH on 3mm borosilicate (TAZ 2.2+)
361
   #define  DEFAULT_bedKp 20
358
   #define  DEFAULT_bedKp 20
362
   #define  DEFAULT_bedKi 5
359
   #define  DEFAULT_bedKi 5

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

301
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
301
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
302
   #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
302
   #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
303
                                   // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
303
                                   // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
304
-  #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
305
   #define K1 0.95 //smoothing factor within the PID
304
   #define K1 0.95 //smoothing factor within the PID
306
 
305
 
307
   // Witbox
306
   // Witbox
337
 
336
 
338
   //#define PID_BED_DEBUG // Sends debug data to the serial port.
337
   //#define PID_BED_DEBUG // Sends debug data to the serial port.
339
 
338
 
340
-  #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
341
-
342
   //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
339
   //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
343
   //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
340
   //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
344
   #define  DEFAULT_bedKp 10.00
341
   #define  DEFAULT_bedKp 10.00

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

298
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
298
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
299
   #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
299
   #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
300
                                   // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
300
                                   // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
301
-  #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
302
   #define K1 0.95 //smoothing factor within the PID
301
   #define K1 0.95 //smoothing factor within the PID
303
 
302
 
304
   // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
303
   // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
345
 
344
 
346
   //#define PID_BED_DEBUG // Sends debug data to the serial port.
345
   //#define PID_BED_DEBUG // Sends debug data to the serial port.
347
 
346
 
348
-  #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
349
-
350
   //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
347
   //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
351
   //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
348
   //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
352
   #define  DEFAULT_bedKp 10.00
349
   #define  DEFAULT_bedKp 10.00

+ 0
- 3
Marlin/example_configurations/delta/biv2.5/Configuration.h View File

298
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
298
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
299
   #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
299
   #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
300
                                   // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
300
                                   // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
301
-  #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
302
   #define K1 0.95 //smoothing factor within the PID
301
   #define K1 0.95 //smoothing factor within the PID
303
 
302
 
304
   // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
303
   // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
345
 
344
 
346
   //#define PID_BED_DEBUG // Sends debug data to the serial port.
345
   //#define PID_BED_DEBUG // Sends debug data to the serial port.
347
 
346
 
348
-  #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
349
-
350
   //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
347
   //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
351
   //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
348
   //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
352
   #define  DEFAULT_bedKp 10.00
349
   #define  DEFAULT_bedKp 10.00

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

298
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
298
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
299
   #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
299
   #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
300
                                   // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
300
                                   // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
301
-  #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
302
   #define K1 0.95 //smoothing factor within the PID
301
   #define K1 0.95 //smoothing factor within the PID
303
 
302
 
304
   // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
303
   // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
345
 
344
 
346
   //#define PID_BED_DEBUG // Sends debug data to the serial port.
345
   //#define PID_BED_DEBUG // Sends debug data to the serial port.
347
 
346
 
348
-  #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
349
-
350
   //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
347
   //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
351
   //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
348
   //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
352
   #define  DEFAULT_bedKp 10.00
349
   #define  DEFAULT_bedKp 10.00

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

298
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
298
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
299
   #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
299
   #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
300
                                   // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
300
                                   // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
301
-  #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
302
   #define K1 0.95 //smoothing factor within the PID
301
   #define K1 0.95 //smoothing factor within the PID
303
 
302
 
304
   // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
303
   // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
345
 
344
 
346
   //#define PID_BED_DEBUG // Sends debug data to the serial port.
345
   //#define PID_BED_DEBUG // Sends debug data to the serial port.
347
 
346
 
348
-  #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
349
-
350
   //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
347
   //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
351
   //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
348
   //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
352
   #define  DEFAULT_bedKp 10.00
349
   #define  DEFAULT_bedKp 10.00

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

304
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
304
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
305
   #define PID_FUNCTIONAL_RANGE 50 // If the temperature difference between the target temperature and the actual temperature
305
   #define PID_FUNCTIONAL_RANGE 50 // If the temperature difference between the target temperature and the actual temperature
306
                                   // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
306
                                   // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
307
-  #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
308
   #define K1 0.95 //smoothing factor within the PID
307
   #define K1 0.95 //smoothing factor within the PID
309
 
308
 
310
   // Kossel Pro
309
   // Kossel Pro
340
 
339
 
341
   //#define PID_BED_DEBUG // Sends debug data to the serial port.
340
   //#define PID_BED_DEBUG // Sends debug data to the serial port.
342
 
341
 
343
-  #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
344
-
345
   //Kossel Pro heated bed plate with borosilicate glass
342
   //Kossel Pro heated bed plate with borosilicate glass
346
   //from pidautotune (M303 E-1 S60 C8)
343
   //from pidautotune (M303 E-1 S60 C8)
347
   #define  DEFAULT_bedKp 370.25
344
   #define  DEFAULT_bedKp 370.25

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

291
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
291
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
292
   #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
292
   #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
293
                                   // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
293
                                   // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
294
-  #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
295
   #define K1 0.95 //smoothing factor within the PID
294
   #define K1 0.95 //smoothing factor within the PID
296
 
295
 
297
   // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
296
   // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
343
 
342
 
344
   //#define PID_BED_DEBUG // Sends debug data to the serial port.
343
   //#define PID_BED_DEBUG // Sends debug data to the serial port.
345
 
344
 
346
-  #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
347
-
348
   //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
345
   //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
349
   //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
346
   //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
350
   #define  DEFAULT_bedKp 15.00
347
   #define  DEFAULT_bedKp 15.00

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

298
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
298
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
299
   #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
299
   #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
300
                                   // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
300
                                   // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
301
-  #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
302
   #define K1 0.95 //smoothing factor within the PID
301
   #define K1 0.95 //smoothing factor within the PID
303
 
302
 
304
   // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
303
   // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
348
 
347
 
349
   //#define PID_BED_DEBUG // Sends debug data to the serial port.
348
   //#define PID_BED_DEBUG // Sends debug data to the serial port.
350
 
349
 
351
-  #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
352
-
353
   //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
350
   //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
354
   //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
351
   //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
355
   #define  DEFAULT_bedKp 10.00
352
   #define  DEFAULT_bedKp 10.00

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

298
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
298
                                   // Set/get with gcode: M301 E[extruder number, 0-2]
299
   #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
299
   #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
300
                                   // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
300
                                   // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
301
-  #define PID_INTEGRAL_DRIVE_MAX PID_MAX  //limit for the integral term
302
   #define K1 0.95 //smoothing factor within the PID
301
   #define K1 0.95 //smoothing factor within the PID
303
 
302
 
304
   // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
303
   // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
335
 
334
 
336
   //#define PID_BED_DEBUG // Sends debug data to the serial port.
335
   //#define PID_BED_DEBUG // Sends debug data to the serial port.
337
 
336
 
338
-  #define PID_BED_INTEGRAL_DRIVE_MAX MAX_BED_POWER //limit for the integral term
339
-
340
   //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
337
   //120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
341
   //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
338
   //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
342
   #define  DEFAULT_bedKp 10.00
339
   #define  DEFAULT_bedKp 10.00

+ 2
- 20
Marlin/temperature.cpp View File

136
     int Temperature::lpq_ptr = 0;
136
     int Temperature::lpq_ptr = 0;
137
   #endif
137
   #endif
138
 
138
 
139
-  float Temperature::pid_error[HOTENDS],
140
-        Temperature::temp_iState_min[HOTENDS],
141
-        Temperature::temp_iState_max[HOTENDS];
139
+  float Temperature::pid_error[HOTENDS];
142
   bool Temperature::pid_reset[HOTENDS];
140
   bool Temperature::pid_reset[HOTENDS];
143
 #endif
141
 #endif
144
 
142
 
148
         Temperature::pTerm_bed,
146
         Temperature::pTerm_bed,
149
         Temperature::iTerm_bed,
147
         Temperature::iTerm_bed,
150
         Temperature::dTerm_bed,
148
         Temperature::dTerm_bed,
151
-        Temperature::pid_error_bed,
152
-        Temperature::temp_iState_min_bed,
153
-        Temperature::temp_iState_max_bed;
149
+        Temperature::pid_error_bed;
154
 #else
150
 #else
155
   millis_t Temperature::next_bed_check_ms;
151
   millis_t Temperature::next_bed_check_ms;
156
 #endif
152
 #endif
448
     #if ENABLED(PID_EXTRUSION_SCALING)
444
     #if ENABLED(PID_EXTRUSION_SCALING)
449
       last_e_position = 0;
445
       last_e_position = 0;
450
     #endif
446
     #endif
451
-    HOTEND_LOOP() {
452
-      temp_iState_max[e] = (PID_INTEGRAL_DRIVE_MAX) / PID_PARAM(Ki, e);
453
-    }
454
-  #endif
455
-  #if ENABLED(PIDTEMPBED)
456
-    temp_iState_max_bed = (PID_BED_INTEGRAL_DRIVE_MAX) / bedKi;
457
   #endif
447
   #endif
458
 }
448
 }
459
 
449
 
564
         }
554
         }
565
         pTerm[HOTEND_INDEX] = PID_PARAM(Kp, HOTEND_INDEX) * pid_error[HOTEND_INDEX];
555
         pTerm[HOTEND_INDEX] = PID_PARAM(Kp, HOTEND_INDEX) * pid_error[HOTEND_INDEX];
566
         temp_iState[HOTEND_INDEX] += pid_error[HOTEND_INDEX];
556
         temp_iState[HOTEND_INDEX] += pid_error[HOTEND_INDEX];
567
-        temp_iState[HOTEND_INDEX] = constrain(temp_iState[HOTEND_INDEX], temp_iState_min[HOTEND_INDEX], temp_iState_max[HOTEND_INDEX]);
568
         iTerm[HOTEND_INDEX] = PID_PARAM(Ki, HOTEND_INDEX) * temp_iState[HOTEND_INDEX];
557
         iTerm[HOTEND_INDEX] = PID_PARAM(Ki, HOTEND_INDEX) * temp_iState[HOTEND_INDEX];
569
 
558
 
570
         pid_output = pTerm[HOTEND_INDEX] + iTerm[HOTEND_INDEX] - dTerm[HOTEND_INDEX];
559
         pid_output = pTerm[HOTEND_INDEX] + iTerm[HOTEND_INDEX] - dTerm[HOTEND_INDEX];
627
       pid_error_bed = target_temperature_bed - current_temperature_bed;
616
       pid_error_bed = target_temperature_bed - current_temperature_bed;
628
       pTerm_bed = bedKp * pid_error_bed;
617
       pTerm_bed = bedKp * pid_error_bed;
629
       temp_iState_bed += pid_error_bed;
618
       temp_iState_bed += pid_error_bed;
630
-      temp_iState_bed = constrain(temp_iState_bed, temp_iState_min_bed, temp_iState_max_bed);
631
       iTerm_bed = bedKi * temp_iState_bed;
619
       iTerm_bed = bedKi * temp_iState_bed;
632
 
620
 
633
       dTerm_bed = K2 * bedKd * (current_temperature_bed - temp_dState_bed) + K1 * dTerm_bed;
621
       dTerm_bed = K2 * bedKd * (current_temperature_bed - temp_dState_bed) + K1 * dTerm_bed;
955
     // populate with the first value
943
     // populate with the first value
956
     maxttemp[e] = maxttemp[0];
944
     maxttemp[e] = maxttemp[0];
957
     #if ENABLED(PIDTEMP)
945
     #if ENABLED(PIDTEMP)
958
-      temp_iState_min[e] = 0.0;
959
-      temp_iState_max[e] = (PID_INTEGRAL_DRIVE_MAX) / PID_PARAM(Ki, e);
960
       #if ENABLED(PID_EXTRUSION_SCALING)
946
       #if ENABLED(PID_EXTRUSION_SCALING)
961
         last_e_position = 0;
947
         last_e_position = 0;
962
       #endif
948
       #endif
963
     #endif //PIDTEMP
949
     #endif //PIDTEMP
964
-    #if ENABLED(PIDTEMPBED)
965
-      temp_iState_min_bed = 0.0;
966
-      temp_iState_max_bed = (PID_BED_INTEGRAL_DRIVE_MAX) / bedKi;
967
-    #endif //PIDTEMPBED
968
   }
950
   }
969
 
951
 
970
   #if ENABLED(PIDTEMP) && ENABLED(PID_EXTRUSION_SCALING)
952
   #if ENABLED(PIDTEMP) && ENABLED(PID_EXTRUSION_SCALING)

+ 2
- 6
Marlin/temperature.h View File

157
         static int lpq_ptr;
157
         static int lpq_ptr;
158
       #endif
158
       #endif
159
 
159
 
160
-      static float pid_error[HOTENDS],
161
-                   temp_iState_min[HOTENDS],
162
-                   temp_iState_max[HOTENDS];
160
+      static float pid_error[HOTENDS];
163
       static bool pid_reset[HOTENDS];
161
       static bool pid_reset[HOTENDS];
164
     #endif
162
     #endif
165
 
163
 
169
                    pTerm_bed,
167
                    pTerm_bed,
170
                    iTerm_bed,
168
                    iTerm_bed,
171
                    dTerm_bed,
169
                    dTerm_bed,
172
-                   pid_error_bed,
173
-                   temp_iState_min_bed,
174
-                   temp_iState_max_bed;
170
+                   pid_error_bed;
175
     #else
171
     #else
176
       static millis_t next_bed_check_ms;
172
       static millis_t next_bed_check_ms;
177
     #endif
173
     #endif

Loading…
Cancel
Save