浏览代码

Group all universal variables

Scott Lahteine 10 年前
父节点
当前提交
6b919e14c1
共有 1 个文件被更改,包括 74 次插入102 次删除
  1. 74
    102
      Marlin/Marlin_main.cpp

+ 74
- 102
Marlin/Marlin_main.cpp 查看文件

202
 #endif
202
 #endif
203
 
203
 
204
 float homing_feedrate[] = HOMING_FEEDRATE;
204
 float homing_feedrate[] = HOMING_FEEDRATE;
205
-#ifdef ENABLE_AUTO_BED_LEVELING
206
-  int xy_travel_speed = XY_TRAVEL_SPEED;
207
-  float zprobe_zoffset = -Z_PROBE_OFFSET_FROM_EXTRUDER;
208
-#endif
209
 int homing_bump_divisor[] = HOMING_BUMP_DIVISOR;
205
 int homing_bump_divisor[] = HOMING_BUMP_DIVISOR;
210
 bool axis_relative_modes[] = AXIS_RELATIVE_MODES;
206
 bool axis_relative_modes[] = AXIS_RELATIVE_MODES;
211
 int feedmultiply = 100; //100->1 200->2
207
 int feedmultiply = 100; //100->1 200->2
216
 float volumetric_multiplier[EXTRUDERS] = ARRAY_BY_EXTRUDERS(1.0, 1.0, 1.0, 1.0);
212
 float volumetric_multiplier[EXTRUDERS] = ARRAY_BY_EXTRUDERS(1.0, 1.0, 1.0, 1.0);
217
 float current_position[NUM_AXIS] = { 0.0 };
213
 float current_position[NUM_AXIS] = { 0.0 };
218
 float home_offset[3] = { 0 };
214
 float home_offset[3] = { 0 };
219
-#ifdef DELTA
220
-  float endstop_adj[3] = { 0 };
221
-#elif defined(Z_DUAL_ENDSTOPS)
222
-  float z_endstop_adj = 0;
223
-#endif
224
-
225
 float min_pos[3] = { X_MIN_POS, Y_MIN_POS, Z_MIN_POS };
215
 float min_pos[3] = { X_MIN_POS, Y_MIN_POS, Z_MIN_POS };
226
 float max_pos[3] = { X_MAX_POS, Y_MAX_POS, Z_MAX_POS };
216
 float max_pos[3] = { X_MAX_POS, Y_MAX_POS, Z_MAX_POS };
227
 bool axis_known_position[3] = { false };
217
 bool axis_known_position[3] = { false };
218
+uint8_t active_extruder = 0;
219
+int fanSpeed = 0;
220
+bool cancel_heatup = false;
221
+const char errormagic[] PROGMEM = "Error:";
222
+const char echomagic[] PROGMEM = "echo:";
223
+const char axis_codes[NUM_AXIS] = {'X', 'Y', 'Z', 'E'};
224
+static float destination[NUM_AXIS] = { 0 };
225
+static float offset[3] = { 0 };
226
+static float feedrate = 1500.0, next_feedrate, saved_feedrate;
227
+static long gcode_N, gcode_LastN, Stopped_gcode_LastN = 0;
228
+static bool relative_mode = false;  //Determines Absolute or Relative Coordinates
229
+static char cmdbuffer[BUFSIZE][MAX_CMD_SIZE];
230
+static int bufindr = 0;
231
+static int bufindw = 0;
232
+static int buflen = 0;
233
+static char serial_char;
234
+static int serial_count = 0;
235
+static boolean comment_mode = false;
236
+static char *strchr_pointer; ///< A pointer to find chars in the command string (X, Y, Z, E, etc.)
237
+const char* queued_commands_P= NULL; /* pointer to the current line in the active sequence of commands, or NULL when none */
238
+const int sensitive_pins[] = SENSITIVE_PINS; ///< Sensitive pin list for M42
239
+// Inactivity shutdown
240
+static unsigned long previous_millis_cmd = 0;
241
+static unsigned long max_inactive_time = 0;
242
+static unsigned long stepper_inactive_time = DEFAULT_STEPPER_DEACTIVE_TIME*1000l;
243
+unsigned long starttime = 0; ///< Print job start time
244
+unsigned long stoptime = 0;  ///< Print job stop time
245
+static uint8_t tmp_extruder;
246
+bool Stopped = false;
247
+bool CooldownNoWait = true;
248
+bool target_direction;
249
+
250
+#ifdef ENABLE_AUTO_BED_LEVELING
251
+  int xy_travel_speed = XY_TRAVEL_SPEED;
252
+  float zprobe_zoffset = -Z_PROBE_OFFSET_FROM_EXTRUDER;
253
+#endif
254
+
255
+#if defined(Z_DUAL_ENDSTOPS) && !defined(DELTA)
256
+  float z_endstop_adj = 0;
257
+#endif
228
 
258
 
229
 // Extruder offsets
259
 // Extruder offsets
230
 #if EXTRUDERS > 1
260
 #if EXTRUDERS > 1
243
   };
273
   };
244
 #endif
274
 #endif
245
 
275
 
246
-uint8_t active_extruder = 0;
247
-int fanSpeed = 0;
248
-
249
 #ifdef SERVO_ENDSTOPS
276
 #ifdef SERVO_ENDSTOPS
250
   int servo_endstops[] = SERVO_ENDSTOPS;
277
   int servo_endstops[] = SERVO_ENDSTOPS;
251
   int servo_endstop_angles[] = SERVO_ENDSTOP_ANGLES;
278
   int servo_endstop_angles[] = SERVO_ENDSTOP_ANGLES;
282
   ;
309
   ;
283
 #endif
310
 #endif
284
 
311
 
285
-#ifdef DELTA
286
-  float delta[3] = { 0, 0, 0 };
287
-  #define SIN_60 0.8660254037844386
288
-  #define COS_60 0.5
289
-  // these are the default values, can be overriden with M665
290
-  float delta_radius = DELTA_RADIUS;
291
-  float delta_tower1_x = -SIN_60 * delta_radius; // front left tower
292
-  float delta_tower1_y = -COS_60 * delta_radius;     
293
-  float delta_tower2_x =  SIN_60 * delta_radius; // front right tower
294
-  float delta_tower2_y = -COS_60 * delta_radius;     
295
-  float delta_tower3_x = 0;                      // back middle tower
296
-  float delta_tower3_y = delta_radius;
297
-  float delta_diagonal_rod = DELTA_DIAGONAL_ROD;
298
-  float delta_diagonal_rod_2 = sq(delta_diagonal_rod);
299
-  float delta_segments_per_second = DELTA_SEGMENTS_PER_SECOND;
300
-  #ifdef ENABLE_AUTO_BED_LEVELING
301
-    int delta_grid_spacing[2] = { 0, 0 };
302
-    float bed_level[AUTO_BED_LEVELING_GRID_POINTS][AUTO_BED_LEVELING_GRID_POINTS];
312
+#if defined(DELTA) || defined(SCARA)
313
+  static float delta[3] = { 0, 0, 0 };    
314
+  #ifdef DELTA
315
+    #define SIN_60 0.8660254037844386
316
+    #define COS_60 0.5
317
+    float endstop_adj[3] = { 0 };
318
+    // these are the default values, can be overriden with M665
319
+    float delta_radius = DELTA_RADIUS;
320
+    float delta_tower1_x = -SIN_60 * delta_radius; // front left tower
321
+    float delta_tower1_y = -COS_60 * delta_radius;     
322
+    float delta_tower2_x =  SIN_60 * delta_radius; // front right tower
323
+    float delta_tower2_y = -COS_60 * delta_radius;     
324
+    float delta_tower3_x = 0;                      // back middle tower
325
+    float delta_tower3_y = delta_radius;
326
+    float delta_diagonal_rod = DELTA_DIAGONAL_ROD;
327
+    float delta_diagonal_rod_2 = sq(delta_diagonal_rod);
328
+    float delta_segments_per_second = DELTA_SEGMENTS_PER_SECOND;
329
+    #ifdef ENABLE_AUTO_BED_LEVELING
330
+      int delta_grid_spacing[2] = { 0, 0 };
331
+      float bed_level[AUTO_BED_LEVELING_GRID_POINTS][AUTO_BED_LEVELING_GRID_POINTS];
332
+    #endif
303
   #endif
333
   #endif
304
-#endif
305
 
334
 
306
-#ifdef SCARA
307
-  float axis_scaling[3] = { 1, 1, 1 };    // Build size scaling, default to 1
308
-  static float delta[3] = { 0, 0, 0 };		
309
-#endif
335
+  #ifdef SCARA
336
+    float axis_scaling[3] = { 1, 1, 1 };    // Build size scaling, default to 1
337
+  #endif
310
 
338
 
311
-bool cancel_heatup = false;
339
+#elif !defined(DELTA)
340
+  static bool home_all_axis = true;
341
+#endif
312
 
342
 
313
 #ifdef FILAMENT_SENSOR
343
 #ifdef FILAMENT_SENSOR
314
   //Variables for Filament Sensor input
344
   //Variables for Filament Sensor input
326
    static bool filrunoutEnqued = false;
356
    static bool filrunoutEnqued = false;
327
 #endif
357
 #endif
328
 
358
 
329
-const char errormagic[] PROGMEM = "Error:";
330
-const char echomagic[] PROGMEM = "echo:";
331
-
332
-const char axis_codes[NUM_AXIS] = {'X', 'Y', 'Z', 'E'};
333
-static float destination[NUM_AXIS] = { 0 };
334
-
335
-static float offset[3] = { 0 };
336
-
337
-#ifndef DELTA
338
-  static bool home_all_axis = true;
339
-#endif
340
-
341
-static float feedrate = 1500.0, next_feedrate, saved_feedrate;
342
-static long gcode_N, gcode_LastN, Stopped_gcode_LastN = 0;
343
-
344
-static bool relative_mode = false;  //Determines Absolute or Relative Coordinates
345
-
346
-static char cmdbuffer[BUFSIZE][MAX_CMD_SIZE];
347
 #ifdef SDSUPPORT
359
 #ifdef SDSUPPORT
348
   static bool fromsd[BUFSIZE];
360
   static bool fromsd[BUFSIZE];
349
 #endif
361
 #endif
350
-static int bufindr = 0;
351
-static int bufindw = 0;
352
-static int buflen = 0;
353
-
354
-static char serial_char;
355
-static int serial_count = 0;
356
-static boolean comment_mode = false;
357
-static char *strchr_pointer; ///< A pointer to find chars in the command string (X, Y, Z, E, etc.)
358
-
359
-const char* queued_commands_P= NULL; /* pointer to the current line in the active sequence of commands, or NULL when none */
360
-
361
-const int sensitive_pins[] = SENSITIVE_PINS; ///< Sensitive pin list for M42
362
-
363
-// Inactivity shutdown
364
-static unsigned long previous_millis_cmd = 0;
365
-static unsigned long max_inactive_time = 0;
366
-static unsigned long stepper_inactive_time = DEFAULT_STEPPER_DEACTIVE_TIME*1000l;
367
-
368
-unsigned long starttime = 0; ///< Print job start time
369
-unsigned long stoptime = 0;  ///< Print job stop time
370
-
371
-static uint8_t tmp_extruder;
372
-
373
-
374
-bool Stopped = false;
375
 
362
 
376
 #if NUM_SERVOS > 0
363
 #if NUM_SERVOS > 0
377
   Servo servos[NUM_SERVOS];
364
   Servo servos[NUM_SERVOS];
378
 #endif
365
 #endif
379
 
366
 
380
-bool CooldownNoWait = true;
381
-bool target_direction;
382
-
383
 #ifdef CHDK
367
 #ifdef CHDK
384
   unsigned long chdkHigh = 0;
368
   unsigned long chdkHigh = 0;
385
   boolean chdkActive = false;
369
   boolean chdkActive = false;
386
 #endif
370
 #endif
387
 
371
 
388
 //===========================================================================
372
 //===========================================================================
389
-//=============================Routines======================================
373
+//================================ Functions ================================
390
 //===========================================================================
374
 //===========================================================================
391
 
375
 
392
 void get_arc_coordinates();
376
 void get_arc_coordinates();
5707
  */
5691
  */
5708
 void manage_inactivity(bool ignore_stepper_queue/*=false*/) {
5692
 void manage_inactivity(bool ignore_stepper_queue/*=false*/) {
5709
   
5693
   
5710
-  #if HAS_KILL
5711
-    static int killCount = 0;   // make the inactivity button a bit less responsive
5712
-    const int KILL_DELAY = 750;
5713
-  #endif
5714
-
5715
   #if HAS_FILRUNOUT
5694
   #if HAS_FILRUNOUT
5716
     if (card.sdprinting && !(READ(FILRUNOUT_PIN) ^ FIL_RUNOUT_INVERTING))
5695
     if (card.sdprinting && !(READ(FILRUNOUT_PIN) ^ FIL_RUNOUT_INVERTING))
5717
       filrunout();
5696
       filrunout();
5718
   #endif
5697
   #endif
5719
 
5698
 
5720
-  #if HAS_HOME
5721
-    static int homeDebounceCount = 0;   // poor man's debouncing count
5722
-    const int HOME_DEBOUNCE_DELAY = 750;
5723
-  #endif
5724
-
5725
   if (buflen < BUFSIZE - 1) get_command();
5699
   if (buflen < BUFSIZE - 1) get_command();
5726
 
5700
 
5727
   unsigned long ms = millis();
5701
   unsigned long ms = millis();
5744
     // Check if the kill button was pressed and wait just in case it was an accidental
5718
     // Check if the kill button was pressed and wait just in case it was an accidental
5745
     // key kill key press
5719
     // key kill key press
5746
     // -------------------------------------------------------------------------------
5720
     // -------------------------------------------------------------------------------
5721
+    static int killCount = 0;   // make the inactivity button a bit less responsive
5722
+    const int KILL_DELAY = 750;
5747
     if (!READ(KILL_PIN))
5723
     if (!READ(KILL_PIN))
5748
        killCount++;
5724
        killCount++;
5749
     else if (killCount > 0)
5725
     else if (killCount > 0)
5758
   #if HAS_HOME
5734
   #if HAS_HOME
5759
     // Check to see if we have to home, use poor man's debouncer
5735
     // Check to see if we have to home, use poor man's debouncer
5760
     // ---------------------------------------------------------
5736
     // ---------------------------------------------------------
5737
+    static int homeDebounceCount = 0;   // poor man's debouncing count
5738
+    const int HOME_DEBOUNCE_DELAY = 750;
5761
     if (!READ(HOME_PIN)) {
5739
     if (!READ(HOME_PIN)) {
5762
       if (!homeDebounceCount) {
5740
       if (!homeDebounceCount) {
5763
         enquecommands_P(PSTR("G28"));
5741
         enquecommands_P(PSTR("G28"));
5797
     if (delayed_move_time && ms > delayed_move_time + 1000 && !Stopped) {
5775
     if (delayed_move_time && ms > delayed_move_time + 1000 && !Stopped) {
5798
       // travel moves have been received so enact them
5776
       // travel moves have been received so enact them
5799
       delayed_move_time = 0xFFFFFFFFUL; // force moves to be done
5777
       delayed_move_time = 0xFFFFFFFFUL; // force moves to be done
5800
-      memcpy(destination,current_position, sizeof(destination));
5778
+      memcpy(destination, current_position, sizeof(destination));
5801
       prepare_move();
5779
       prepare_move();
5802
     }
5780
     }
5803
   #endif
5781
   #endif
5814
   cli(); // Stop interrupts
5792
   cli(); // Stop interrupts
5815
   disable_heater();
5793
   disable_heater();
5816
 
5794
 
5817
-  disable_x();
5818
-  disable_y();
5819
-  disable_z();
5820
-  disable_e0();
5821
-  disable_e1();
5822
-  disable_e2();
5823
-  disable_e3();
5795
+  disable_all_axes();
5824
 
5796
 
5825
   #if HAS_POWER_SWITCH
5797
   #if HAS_POWER_SWITCH
5826
     pinMode(PS_ON_PIN, INPUT);
5798
     pinMode(PS_ON_PIN, INPUT);

正在加载...
取消
保存