Browse Source

Merge branch 'Development' into config_testing

Latest upstream changes
Scott Lahteine 10 years ago
parent
commit
63d5d28085

+ 2
- 0
Marlin/Configuration.h View File

225
 // so you shouldn't use it unless you are OK with PWM on your bed.  (see the comment on enabling PIDTEMPBED)
225
 // so you shouldn't use it unless you are OK with PWM on your bed.  (see the comment on enabling PIDTEMPBED)
226
 #define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
226
 #define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
227
 
227
 
228
+//#define PID_BED_DEBUG // Sends debug data to the serial port.
229
+
228
 #ifdef PIDTEMPBED
230
 #ifdef PIDTEMPBED
229
 //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
231
 //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
230
 //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
232
 //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)

+ 2
- 2
Marlin/Marlin_main.cpp View File

2514
    */
2514
    */
2515
   inline void gcode_M28() {
2515
   inline void gcode_M28() {
2516
     char* codepos = strchr_pointer + 4;
2516
     char* codepos = strchr_pointer + 4;
2517
-    char* starpos = strchr(strchr_pointer + 4, '*');
2517
+    char* starpos = strchr(codepos, '*');
2518
     if (starpos) {
2518
     if (starpos) {
2519
       char* npos = strchr(cmdbuffer[bufindr], 'N');
2519
       char* npos = strchr(cmdbuffer[bufindr], 'N');
2520
       strchr_pointer = strchr(npos, ' ') + 1;
2520
       strchr_pointer = strchr(npos, ' ') + 1;
2521
       *(starpos) = '\0';
2521
       *(starpos) = '\0';
2522
     }
2522
     }
2523
-    card.openFile(strchr_pointer + 4, false);
2523
+    card.openFile(codepos, false);
2524
   }
2524
   }
2525
 
2525
 
2526
   /**
2526
   /**

+ 2
- 0
Marlin/configurator/config/Configuration.h View File

234
 // so you shouldn't use it unless you are OK with PWM on your bed.  (see the comment on enabling PIDTEMPBED)
234
 // so you shouldn't use it unless you are OK with PWM on your bed.  (see the comment on enabling PIDTEMPBED)
235
 #define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
235
 #define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
236
 
236
 
237
+//#define PID_BED_DEBUG // Sends debug data to the serial port.
238
+
237
 #ifdef PIDTEMPBED
239
 #ifdef PIDTEMPBED
238
 //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
240
 //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
239
 //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
241
 //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)

+ 18
- 17
Marlin/dogm_lcd_implementation.h View File

197
       u8g.drawBox(55, 50, (unsigned int)(71.f * card.percentDone() / 100.f), 2);
197
       u8g.drawBox(55, 50, (unsigned int)(71.f * card.percentDone() / 100.f), 2);
198
     }
198
     }
199
 
199
 
200
-    u8g.setPrintPos(80,47);
200
+    u8g.setPrintPos(80,48);
201
     if (starttime != 0) {
201
     if (starttime != 0) {
202
       uint16_t time = (millis() - starttime) / 60000;
202
       uint16_t time = (millis() - starttime) / 60000;
203
       u8g.print(itostr2(time/60));
203
       u8g.print(itostr2(time/60));
231
     }
231
     }
232
 
232
 
233
   // X, Y, Z-Coordinates
233
   // X, Y, Z-Coordinates
234
+  #define XYZ_BASELINE 38
234
   u8g.setFont(FONT_STATUSMENU);
235
   u8g.setFont(FONT_STATUSMENU);
235
-  u8g.drawBox(0,29,128,10);
236
+  u8g.drawBox(0,30,128,9);
236
   u8g.setColorIndex(0); // white on black
237
   u8g.setColorIndex(0); // white on black
237
-  u8g.setPrintPos(2,37);
238
+  u8g.setPrintPos(2,XYZ_BASELINE);
238
   u8g.print('X');
239
   u8g.print('X');
239
-  u8g.drawPixel(8,33);
240
-  u8g.drawPixel(8,35);
241
-  u8g.setPrintPos(10,37);
240
+  u8g.drawPixel(8,XYZ_BASELINE - 5);
241
+  u8g.drawPixel(8,XYZ_BASELINE - 3);
242
+  u8g.setPrintPos(10,XYZ_BASELINE);
242
   u8g.print(ftostr31ns(current_position[X_AXIS]));
243
   u8g.print(ftostr31ns(current_position[X_AXIS]));
243
-  u8g.setPrintPos(43,37);
244
-  lcd_printPGM(PSTR("Y"));
245
-  u8g.drawPixel(49,33);
246
-  u8g.drawPixel(49,35);
247
-  u8g.setPrintPos(51,37);
244
+  u8g.setPrintPos(43,XYZ_BASELINE);
245
+  u8g.print('Y');
246
+  u8g.drawPixel(49,XYZ_BASELINE - 5);
247
+  u8g.drawPixel(49,XYZ_BASELINE - 3);
248
+  u8g.setPrintPos(51,XYZ_BASELINE);
248
   u8g.print(ftostr31ns(current_position[Y_AXIS]));
249
   u8g.print(ftostr31ns(current_position[Y_AXIS]));
249
-  u8g.setPrintPos(83,37);
250
+  u8g.setPrintPos(83,XYZ_BASELINE);
250
   u8g.print('Z');
251
   u8g.print('Z');
251
-  u8g.drawPixel(89,33);
252
-  u8g.drawPixel(89,35);
253
-  u8g.setPrintPos(91,37);
252
+  u8g.drawPixel(89,XYZ_BASELINE - 5);
253
+  u8g.drawPixel(89,XYZ_BASELINE - 3);
254
+  u8g.setPrintPos(91,XYZ_BASELINE);
254
   u8g.print(ftostr31(current_position[Z_AXIS]));
255
   u8g.print(ftostr31(current_position[Z_AXIS]));
255
   u8g.setColorIndex(1); // black on white
256
   u8g.setColorIndex(1); // black on white
256
  
257
  
259
   u8g.setPrintPos(3,49);
260
   u8g.setPrintPos(3,49);
260
   u8g.print(LCD_STR_FEEDRATE[0]);
261
   u8g.print(LCD_STR_FEEDRATE[0]);
261
   u8g.setFont(FONT_STATUSMENU);
262
   u8g.setFont(FONT_STATUSMENU);
262
-  u8g.setPrintPos(12,48);
263
+  u8g.setPrintPos(12,49);
263
   u8g.print(itostr3(feedmultiply));
264
   u8g.print(itostr3(feedmultiply));
264
   u8g.print('%');
265
   u8g.print('%');
265
 
266
 
266
   // Status line
267
   // Status line
267
   u8g.setFont(FONT_STATUSMENU);
268
   u8g.setFont(FONT_STATUSMENU);
268
-  u8g.setPrintPos(0,61);
269
+  u8g.setPrintPos(0,63);
269
   #ifndef FILAMENT_LCD_DISPLAY
270
   #ifndef FILAMENT_LCD_DISPLAY
270
     u8g.print(lcd_status_message);
271
     u8g.print(lcd_status_message);
271
   #else
272
   #else

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

215
 // so you shouldn't use it unless you are OK with PWM on your bed.  (see the comment on enabling PIDTEMPBED)
215
 // so you shouldn't use it unless you are OK with PWM on your bed.  (see the comment on enabling PIDTEMPBED)
216
 #define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
216
 #define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
217
 
217
 
218
+//#define PID_BED_DEBUG // Sends debug data to the serial port.
219
+
218
 #ifdef PIDTEMPBED
220
 #ifdef PIDTEMPBED
219
 // Felix Foil Heater
221
 // Felix Foil Heater
220
    #define DEFAULT_bedKp 103.37
222
    #define DEFAULT_bedKp 103.37

+ 2
- 0
Marlin/example_configurations/Felix/Configuration_DUAL.h View File

215
 // so you shouldn't use it unless you are OK with PWM on your bed.  (see the comment on enabling PIDTEMPBED)
215
 // so you shouldn't use it unless you are OK with PWM on your bed.  (see the comment on enabling PIDTEMPBED)
216
 #define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
216
 #define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
217
 
217
 
218
+//#define PID_BED_DEBUG // Sends debug data to the serial port.
219
+
218
 #ifdef PIDTEMPBED
220
 #ifdef PIDTEMPBED
219
 // Felix Foil Heater
221
 // Felix Foil Heater
220
    #define DEFAULT_bedKp 103.37
222
    #define DEFAULT_bedKp 103.37

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

231
 // so you shouldn't use it unless you are OK with PWM on your bed.  (see the comment on enabling PIDTEMPBED)
231
 // so you shouldn't use it unless you are OK with PWM on your bed.  (see the comment on enabling PIDTEMPBED)
232
 #define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
232
 #define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
233
 
233
 
234
+//#define PID_BED_DEBUG // Sends debug data to the serial port.
235
+
234
 #ifdef PIDTEMPBED
236
 #ifdef PIDTEMPBED
235
 //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
237
 //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
236
 //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
238
 //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)

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

230
 // so you shouldn't use it unless you are OK with PWM on your bed.  (see the comment on enabling PIDTEMPBED)
230
 // so you shouldn't use it unless you are OK with PWM on your bed.  (see the comment on enabling PIDTEMPBED)
231
 #define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
231
 #define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
232
 
232
 
233
+//#define PID_BED_DEBUG // Sends debug data to the serial port.
234
+
233
 #ifdef PIDTEMPBED
235
 #ifdef PIDTEMPBED
234
 //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
236
 //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
235
 //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
237
 //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)

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

254
 // so you shouldn't use it unless you are OK with PWM on your bed.  (see the comment on enabling PIDTEMPBED)
254
 // so you shouldn't use it unless you are OK with PWM on your bed.  (see the comment on enabling PIDTEMPBED)
255
 #define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
255
 #define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
256
 
256
 
257
+//#define PID_BED_DEBUG // Sends debug data to the serial port.
258
+
257
 #ifdef PIDTEMPBED
259
 #ifdef PIDTEMPBED
258
 //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
260
 //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
259
 //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
261
 //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)

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

230
 // so you shouldn't use it unless you are OK with PWM on your bed.  (see the comment on enabling PIDTEMPBED)
230
 // so you shouldn't use it unless you are OK with PWM on your bed.  (see the comment on enabling PIDTEMPBED)
231
 #define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
231
 #define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
232
 
232
 
233
+//#define PID_BED_DEBUG // Sends debug data to the serial port.
234
+
233
 #ifdef PIDTEMPBED
235
 #ifdef PIDTEMPBED
234
 //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
236
 //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
235
 //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
237
 //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)

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

258
 // so you shouldn't use it unless you are OK with PWM on your bed.  (see the comment on enabling PIDTEMPBED)
258
 // so you shouldn't use it unless you are OK with PWM on your bed.  (see the comment on enabling PIDTEMPBED)
259
 #define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
259
 #define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
260
 
260
 
261
+//#define PID_BED_DEBUG // Sends debug data to the serial port.
262
+
261
 #ifdef PIDTEMPBED
263
 #ifdef PIDTEMPBED
262
 //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
264
 //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
263
 //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
265
 //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)

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

259
 // so you shouldn't use it unless you are OK with PWM on your bed.  (see the comment on enabling PIDTEMPBED)
259
 // so you shouldn't use it unless you are OK with PWM on your bed.  (see the comment on enabling PIDTEMPBED)
260
 #define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
260
 #define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
261
 
261
 
262
+//#define PID_BED_DEBUG // Sends debug data to the serial port.
263
+
262
 #ifdef PIDTEMPBED
264
 #ifdef PIDTEMPBED
263
 //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
265
 //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
264
 //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
266
 //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)

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

228
 // to increase the heat up rate. However, if changed, user must be aware of the safety concerns
228
 // to increase the heat up rate. However, if changed, user must be aware of the safety concerns
229
 // of drawing too much current from the power supply.
229
 // of drawing too much current from the power supply.
230
 
230
 
231
+//#define PID_BED_DEBUG // Sends debug data to the serial port.
232
+
231
 #ifdef PIDTEMPBED
233
 #ifdef PIDTEMPBED
232
 //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
234
 //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
233
 //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
235
 //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)

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

230
 // so you shouldn't use it unless you are OK with PWM on your bed.  (see the comment on enabling PIDTEMPBED)
230
 // so you shouldn't use it unless you are OK with PWM on your bed.  (see the comment on enabling PIDTEMPBED)
231
 #define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
231
 #define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current
232
 
232
 
233
+//#define PID_BED_DEBUG // Sends debug data to the serial port.
234
+
233
 #ifdef PIDTEMPBED
235
 #ifdef PIDTEMPBED
234
 //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
236
 //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
235
 //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
237
 //from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)

+ 15
- 0
Marlin/temperature.cpp View File

551
       pid_output = constrain(target_temperature_bed, 0, MAX_BED_POWER);
551
       pid_output = constrain(target_temperature_bed, 0, MAX_BED_POWER);
552
     #endif // PID_OPENLOOP
552
     #endif // PID_OPENLOOP
553
 
553
 
554
+    #ifdef PID_BED_DEBUG
555
+      SERIAL_ECHO_START;
556
+      SERIAL_ECHO(" PID_BED_DEBUG ");
557
+      SERIAL_ECHO(": Input ");
558
+      SERIAL_ECHO(current_temperature_bed);
559
+      SERIAL_ECHO(" Output ");
560
+      SERIAL_ECHO(pid_output);
561
+      SERIAL_ECHO(" pTerm ");
562
+      SERIAL_ECHO(pTerm_bed);
563
+      SERIAL_ECHO(" iTerm ");
564
+      SERIAL_ECHO(iTerm_bed);
565
+      SERIAL_ECHO(" dTerm ");
566
+      SERIAL_ECHOLN(dTerm_bed);
567
+    #endif //PID_BED_DEBUG
568
+
554
     return pid_output;
569
     return pid_output;
555
   }
570
   }
556
 #endif
571
 #endif

Loading…
Cancel
Save