Bladeren bron

Merge branch 'Development' into planner_oh_planner

Latest upstream commits
Scott Lahteine 10 jaren geleden
bovenliggende
commit
01740fd9c6

BIN
Documentation/Logo/marlinwiki.png Bestand weergeven


+ 15
- 64
Marlin/Marlin_main.cpp Bestand weergeven

4052
 }
4052
 }
4053
 
4053
 
4054
 #ifdef SCARA
4054
 #ifdef SCARA
4055
-
4056
-  /**
4057
-   * M360: SCARA calibration: Move to cal-position ThetaA (0 deg calibration)
4058
-   */
4059
-  inline bool gcode_M360() {
4060
-    SERIAL_ECHOLN(" Cal: Theta 0 ");
4055
+  bool SCARA_move_to_cal(uint8_t delta_x, uint8_t delta_y) {
4061
     //SoftEndsEnabled = false;              // Ignore soft endstops during calibration
4056
     //SoftEndsEnabled = false;              // Ignore soft endstops during calibration
4062
     //SERIAL_ECHOLN(" Soft endstops disabled ");
4057
     //SERIAL_ECHOLN(" Soft endstops disabled ");
4063
     if (! Stopped) {
4058
     if (! Stopped) {
4064
       //get_coordinates(); // For X Y Z E F
4059
       //get_coordinates(); // For X Y Z E F
4065
-      delta[X_AXIS] = 0;
4066
-      delta[Y_AXIS] = 120;
4060
+      delta[X_AXIS] = delta_x;
4061
+      delta[Y_AXIS] = delta_y;
4067
       calculate_SCARA_forward_Transform(delta);
4062
       calculate_SCARA_forward_Transform(delta);
4068
       destination[X_AXIS] = delta[X_AXIS]/axis_scaling[X_AXIS];
4063
       destination[X_AXIS] = delta[X_AXIS]/axis_scaling[X_AXIS];
4069
       destination[Y_AXIS] = delta[Y_AXIS]/axis_scaling[Y_AXIS];
4064
       destination[Y_AXIS] = delta[Y_AXIS]/axis_scaling[Y_AXIS];
4075
   }
4070
   }
4076
 
4071
 
4077
   /**
4072
   /**
4073
+   * M360: SCARA calibration: Move to cal-position ThetaA (0 deg calibration)
4074
+   */
4075
+  inline bool gcode_M360() {
4076
+    SERIAL_ECHOLN(" Cal: Theta 0 ");
4077
+    return SCARA_move_to_cal(0, 120);
4078
+  }
4079
+
4080
+  /**
4078
    * M361: SCARA calibration: Move to cal-position ThetaB (90 deg calibration - steps per degree)
4081
    * M361: SCARA calibration: Move to cal-position ThetaB (90 deg calibration - steps per degree)
4079
    */
4082
    */
4080
   inline bool gcode_M361() {
4083
   inline bool gcode_M361() {
4081
     SERIAL_ECHOLN(" Cal: Theta 90 ");
4084
     SERIAL_ECHOLN(" Cal: Theta 90 ");
4082
-    //SoftEndsEnabled = false;              // Ignore soft endstops during calibration
4083
-    //SERIAL_ECHOLN(" Soft endstops disabled ");
4084
-    if (! Stopped) {
4085
-      //get_coordinates(); // For X Y Z E F
4086
-      delta[X_AXIS] = 90;
4087
-      delta[Y_AXIS] = 130;
4088
-      calculate_SCARA_forward_Transform(delta);
4089
-      destination[X_AXIS] = delta[X_AXIS]/axis_scaling[X_AXIS];
4090
-      destination[Y_AXIS] = delta[Y_AXIS]/axis_scaling[Y_AXIS];
4091
-      prepare_move();
4092
-      //ClearToSend();
4093
-      return true;
4094
-    }
4095
-    return false;
4085
+    return SCARA_move_to_cal(90, 130);
4096
   }
4086
   }
4097
 
4087
 
4098
   /**
4088
   /**
4100
    */
4090
    */
4101
   inline bool gcode_M362() {
4091
   inline bool gcode_M362() {
4102
     SERIAL_ECHOLN(" Cal: Psi 0 ");
4092
     SERIAL_ECHOLN(" Cal: Psi 0 ");
4103
-    //SoftEndsEnabled = false;              // Ignore soft endstops during calibration
4104
-    //SERIAL_ECHOLN(" Soft endstops disabled ");
4105
-    if (! Stopped) {
4106
-      //get_coordinates(); // For X Y Z E F
4107
-      delta[X_AXIS] = 60;
4108
-      delta[Y_AXIS] = 180;
4109
-      calculate_SCARA_forward_Transform(delta);
4110
-      destination[X_AXIS] = delta[X_AXIS]/axis_scaling[X_AXIS];
4111
-      destination[Y_AXIS] = delta[Y_AXIS]/axis_scaling[Y_AXIS];
4112
-      prepare_move();
4113
-      //ClearToSend();
4114
-      return true;
4115
-    }
4116
-    return false;
4093
+    return SCARA_move_to_cal(60, 180);
4117
   }
4094
   }
4118
 
4095
 
4119
   /**
4096
   /**
4121
    */
4098
    */
4122
   inline bool gcode_M363() {
4099
   inline bool gcode_M363() {
4123
     SERIAL_ECHOLN(" Cal: Psi 90 ");
4100
     SERIAL_ECHOLN(" Cal: Psi 90 ");
4124
-    //SoftEndsEnabled = false;              // Ignore soft endstops during calibration
4125
-    //SERIAL_ECHOLN(" Soft endstops disabled ");
4126
-    if (! Stopped) {
4127
-      //get_coordinates(); // For X Y Z E F
4128
-      delta[X_AXIS] = 50;
4129
-      delta[Y_AXIS] = 90;
4130
-      calculate_SCARA_forward_Transform(delta);
4131
-      destination[X_AXIS] = delta[X_AXIS]/axis_scaling[X_AXIS];
4132
-      destination[Y_AXIS] = delta[Y_AXIS]/axis_scaling[Y_AXIS];
4133
-      prepare_move();
4134
-      //ClearToSend();
4135
-      return true;
4136
-    }
4137
-    return false;
4101
+    return SCARA_move_to_cal(50, 90);
4138
   }
4102
   }
4139
 
4103
 
4140
   /**
4104
   /**
4142
    */
4106
    */
4143
   inline bool gcode_M364() {
4107
   inline bool gcode_M364() {
4144
     SERIAL_ECHOLN(" Cal: Theta-Psi 90 ");
4108
     SERIAL_ECHOLN(" Cal: Theta-Psi 90 ");
4145
-   // SoftEndsEnabled = false;              // Ignore soft endstops during calibration
4146
-    //SERIAL_ECHOLN(" Soft endstops disabled ");
4147
-    if (! Stopped) {
4148
-      //get_coordinates(); // For X Y Z E F
4149
-      delta[X_AXIS] = 45;
4150
-      delta[Y_AXIS] = 135;
4151
-      calculate_SCARA_forward_Transform(delta);
4152
-      destination[X_AXIS] = delta[X_AXIS] / axis_scaling[X_AXIS];
4153
-      destination[Y_AXIS] = delta[Y_AXIS] / axis_scaling[Y_AXIS];
4154
-      prepare_move();
4155
-      //ClearToSend();
4156
-      return true;
4157
-    }
4158
-    return false;
4109
+    return SCARA_move_to_cal(45, 135);
4159
   }
4110
   }
4160
 
4111
 
4161
   /**
4112
   /**

+ 0
- 1
Marlin/example_configurations/Felix/Configuration.h Bestand weergeven

403
   // Note: this feature occupies 10'206 byte
403
   // Note: this feature occupies 10'206 byte
404
   #ifdef AUTO_BED_LEVELING_GRID
404
   #ifdef AUTO_BED_LEVELING_GRID
405
 
405
 
406
-home_offset    // set the rectangle in which to probe
407
     #define LEFT_PROBE_BED_POSITION 15
406
     #define LEFT_PROBE_BED_POSITION 15
408
     #define RIGHT_PROBE_BED_POSITION 170
407
     #define RIGHT_PROBE_BED_POSITION 170
409
     #define BACK_PROBE_BED_POSITION 180
408
     #define BACK_PROBE_BED_POSITION 180

+ 0
- 1
Marlin/example_configurations/Felix/Configuration_DUAL.h Bestand weergeven

403
   // Note: this feature occupies 10'206 byte
403
   // Note: this feature occupies 10'206 byte
404
   #ifdef AUTO_BED_LEVELING_GRID
404
   #ifdef AUTO_BED_LEVELING_GRID
405
 
405
 
406
-home_offset    // set the rectangle in which to probe
407
     #define LEFT_PROBE_BED_POSITION 15
406
     #define LEFT_PROBE_BED_POSITION 15
408
     #define RIGHT_PROBE_BED_POSITION 170
407
     #define RIGHT_PROBE_BED_POSITION 170
409
     #define BACK_PROBE_BED_POSITION 180
408
     #define BACK_PROBE_BED_POSITION 180

+ 46
- 41
Marlin/temperature.cpp Bestand weergeven

177
 // Init min and max temp with extreme values to prevent false errors during startup
177
 // Init min and max temp with extreme values to prevent false errors during startup
178
 static int minttemp_raw[EXTRUDERS] = ARRAY_BY_EXTRUDERS( HEATER_0_RAW_LO_TEMP , HEATER_1_RAW_LO_TEMP , HEATER_2_RAW_LO_TEMP, HEATER_3_RAW_LO_TEMP);
178
 static int minttemp_raw[EXTRUDERS] = ARRAY_BY_EXTRUDERS( HEATER_0_RAW_LO_TEMP , HEATER_1_RAW_LO_TEMP , HEATER_2_RAW_LO_TEMP, HEATER_3_RAW_LO_TEMP);
179
 static int maxttemp_raw[EXTRUDERS] = ARRAY_BY_EXTRUDERS( HEATER_0_RAW_HI_TEMP , HEATER_1_RAW_HI_TEMP , HEATER_2_RAW_HI_TEMP, HEATER_3_RAW_HI_TEMP);
179
 static int maxttemp_raw[EXTRUDERS] = ARRAY_BY_EXTRUDERS( HEATER_0_RAW_HI_TEMP , HEATER_1_RAW_HI_TEMP , HEATER_2_RAW_HI_TEMP, HEATER_3_RAW_HI_TEMP);
180
-static int minttemp[EXTRUDERS] = ARRAY_BY_EXTRUDERS( 0, 0, 0, 0 );
180
+static int minttemp[EXTRUDERS] = { 0 };
181
 static int maxttemp[EXTRUDERS] = ARRAY_BY_EXTRUDERS( 16383, 16383, 16383, 16383 );
181
 static int maxttemp[EXTRUDERS] = ARRAY_BY_EXTRUDERS( 16383, 16383, 16383, 16383 );
182
 //static int bed_minttemp_raw = HEATER_BED_RAW_LO_TEMP; /* No bed mintemp error implemented?!? */
182
 //static int bed_minttemp_raw = HEATER_BED_RAW_LO_TEMP; /* No bed mintemp error implemented?!? */
183
 #ifdef BED_MAXTEMP
183
 #ifdef BED_MAXTEMP
197
 static void updateTemperaturesFromRawValues();
197
 static void updateTemperaturesFromRawValues();
198
 
198
 
199
 #ifdef WATCH_TEMP_PERIOD
199
 #ifdef WATCH_TEMP_PERIOD
200
-  int watch_start_temp[EXTRUDERS] = ARRAY_BY_EXTRUDERS(0,0,0,0);
201
-  unsigned long watchmillis[EXTRUDERS] = ARRAY_BY_EXTRUDERS(0,0,0,0);
200
+  int watch_start_temp[EXTRUDERS] = { 0 };
201
+  unsigned long watchmillis[EXTRUDERS] = { 0 };
202
 #endif //WATCH_TEMP_PERIOD
202
 #endif //WATCH_TEMP_PERIOD
203
 
203
 
204
 #ifndef SOFT_PWM_SCALE
204
 #ifndef SOFT_PWM_SCALE
661
 
661
 
662
   updateTemperaturesFromRawValues();
662
   updateTemperaturesFromRawValues();
663
 
663
 
664
-  #ifdef HEATER_0_USES_MAX6675
665
-    float ct = current_temperature[0];
666
-    if (ct > min(HEATER_0_MAXTEMP, 1023)) max_temp_error(0);
667
-    if (ct < max(HEATER_0_MINTEMP, 0.01)) min_temp_error(0);
668
-  #endif //HEATER_0_USES_MAX6675
669
-
670
   unsigned long ms = millis();
664
   unsigned long ms = millis();
671
 
665
 
672
   // Loop through all extruders
666
   // Loop through all extruders
1145
   for (int i=0; i<EXTRUDERS; i++) setTargetHotend(0, i);
1139
   for (int i=0; i<EXTRUDERS; i++) setTargetHotend(0, i);
1146
   setTargetBed(0);
1140
   setTargetBed(0);
1147
 
1141
 
1142
+  #define DISABLE_HEATER(NR) { \
1143
+    target_temperature[NR] = 0; \
1144
+    soft_pwm[NR] = 0; \
1145
+    WRITE_HEATER_ ## NR (LOW); \
1146
+  }
1147
+
1148
   #if HAS_TEMP_0
1148
   #if HAS_TEMP_0
1149
     target_temperature[0] = 0;
1149
     target_temperature[0] = 0;
1150
     soft_pwm[0] = 0;
1150
     soft_pwm[0] = 0;
1151
-    WRITE_HEATER_0P(LOW); // If HEATERS_PARALLEL should apply, change to WRITE_HEATER_0
1151
+    WRITE_HEATER_0P(LOW); // Should HEATERS_PARALLEL apply here? Then change to DISABLE_HEATER(0)
1152
   #endif
1152
   #endif
1153
 
1153
 
1154
   #if EXTRUDERS > 1 && HAS_TEMP_1
1154
   #if EXTRUDERS > 1 && HAS_TEMP_1
1155
-    target_temperature[1] = 0;
1156
-    soft_pwm[1] = 0;
1157
-    WRITE_HEATER_1(LOW);
1155
+    DISABLE_HEATER(1);
1158
   #endif
1156
   #endif
1159
 
1157
 
1160
   #if EXTRUDERS > 2 && HAS_TEMP_2
1158
   #if EXTRUDERS > 2 && HAS_TEMP_2
1161
-    target_temperature[2] = 0;
1162
-    soft_pwm[2] = 0;
1163
-    WRITE_HEATER_2(LOW);
1159
+    DISABLE_HEATER(2);
1164
   #endif
1160
   #endif
1165
 
1161
 
1166
   #if EXTRUDERS > 3 && HAS_TEMP_3
1162
   #if EXTRUDERS > 3 && HAS_TEMP_3
1167
-    target_temperature[3] = 0;
1168
-    soft_pwm[3] = 0;
1169
-    WRITE_HEATER_3(LOW);
1163
+    DISABLE_HEATER(3);
1170
   #endif
1164
   #endif
1171
 
1165
 
1172
   #if HAS_TEMP_BED
1166
   #if HAS_TEMP_BED
1257
 // Timer 0 is shared with millies
1251
 // Timer 0 is shared with millies
1258
 //
1252
 //
1259
 ISR(TIMER0_COMPB_vect) {
1253
 ISR(TIMER0_COMPB_vect) {
1254
+  #ifdef TEMP_SENSOR_1_AS_REDUNDANT
1255
+    #define TEMP_SENSOR_COUNT 2
1256
+  #else 
1257
+    #define TEMP_SENSOR_COUNT EXTRUDERS
1258
+  #endif
1259
+
1260
   //these variables are only accesible from the ISR, but static, so they don't lose their value
1260
   //these variables are only accesible from the ISR, but static, so they don't lose their value
1261
   static unsigned char temp_count = 0;
1261
   static unsigned char temp_count = 0;
1262
-  static unsigned long raw_temp_value[EXTRUDERS] = { 0 };
1262
+  static unsigned long raw_temp_value[TEMP_SENSOR_COUNT] = { 0 };
1263
   static unsigned long raw_temp_bed_value = 0;
1263
   static unsigned long raw_temp_bed_value = 0;
1264
   static TempState temp_state = StartupDelay;
1264
   static TempState temp_state = StartupDelay;
1265
   static unsigned char pwm_count = BIT(SOFT_PWM_SCALE);
1265
   static unsigned char pwm_count = BIT(SOFT_PWM_SCALE);
1475
       #endif
1475
       #endif
1476
       temp_state = PrepareTemp_BED;
1476
       temp_state = PrepareTemp_BED;
1477
       break;
1477
       break;
1478
+
1478
     case PrepareTemp_BED:
1479
     case PrepareTemp_BED:
1479
       #if HAS_TEMP_BED
1480
       #if HAS_TEMP_BED
1480
         START_ADC(TEMP_BED_PIN);
1481
         START_ADC(TEMP_BED_PIN);
1488
       #endif
1489
       #endif
1489
       temp_state = PrepareTemp_1;
1490
       temp_state = PrepareTemp_1;
1490
       break;
1491
       break;
1492
+
1491
     case PrepareTemp_1:
1493
     case PrepareTemp_1:
1492
       #if HAS_TEMP_1
1494
       #if HAS_TEMP_1
1493
         START_ADC(TEMP_1_PIN);
1495
         START_ADC(TEMP_1_PIN);
1501
       #endif
1503
       #endif
1502
       temp_state = PrepareTemp_2;
1504
       temp_state = PrepareTemp_2;
1503
       break;
1505
       break;
1506
+
1504
     case PrepareTemp_2:
1507
     case PrepareTemp_2:
1505
       #if HAS_TEMP_2
1508
       #if HAS_TEMP_2
1506
         START_ADC(TEMP_2_PIN);
1509
         START_ADC(TEMP_2_PIN);
1514
       #endif
1517
       #endif
1515
       temp_state = PrepareTemp_3;
1518
       temp_state = PrepareTemp_3;
1516
       break;
1519
       break;
1520
+
1517
     case PrepareTemp_3:
1521
     case PrepareTemp_3:
1518
       #if HAS_TEMP_3
1522
       #if HAS_TEMP_3
1519
         START_ADC(TEMP_3_PIN);
1523
         START_ADC(TEMP_3_PIN);
1527
       #endif
1531
       #endif
1528
       temp_state = Prepare_FILWIDTH;
1532
       temp_state = Prepare_FILWIDTH;
1529
       break;
1533
       break;
1534
+
1530
     case Prepare_FILWIDTH:
1535
     case Prepare_FILWIDTH:
1531
       #if HAS_FILAMENT_SENSOR
1536
       #if HAS_FILAMENT_SENSOR
1532
         START_ADC(FILWIDTH_PIN);
1537
         START_ADC(FILWIDTH_PIN);
1545
       temp_state = PrepareTemp_0;
1550
       temp_state = PrepareTemp_0;
1546
       temp_count++;
1551
       temp_count++;
1547
       break;
1552
       break;
1553
+
1548
     case StartupDelay:
1554
     case StartupDelay:
1549
       temp_state = PrepareTemp_0;
1555
       temp_state = PrepareTemp_0;
1550
       break;
1556
       break;
1554
     //   SERIAL_ERRORLNPGM("Temp measurement error!");
1560
     //   SERIAL_ERRORLNPGM("Temp measurement error!");
1555
     //   break;
1561
     //   break;
1556
   } // switch(temp_state)
1562
   } // switch(temp_state)
1557
-    
1563
+
1558
   if (temp_count >= OVERSAMPLENR) { // 10 * 16 * 1/(16000000/64/256)  = 164ms.
1564
   if (temp_count >= OVERSAMPLENR) { // 10 * 16 * 1/(16000000/64/256)  = 164ms.
1559
     if (!temp_meas_ready) { //Only update the raw values if they have been read. Else we could be updating them during reading.
1565
     if (!temp_meas_ready) { //Only update the raw values if they have been read. Else we could be updating them during reading.
1560
       #ifndef HEATER_0_USES_MAX6675
1566
       #ifndef HEATER_0_USES_MAX6675
1579
     #if HAS_FILAMENT_SENSOR
1585
     #if HAS_FILAMENT_SENSOR
1580
       current_raw_filwidth = raw_filwidth_value >> 10;  // Divide to get to 0-16384 range since we used 1/128 IIR filter approach
1586
       current_raw_filwidth = raw_filwidth_value >> 10;  // Divide to get to 0-16384 range since we used 1/128 IIR filter approach
1581
     #endif
1587
     #endif
1582
-    
1588
+
1583
     temp_meas_ready = true;
1589
     temp_meas_ready = true;
1584
     temp_count = 0;
1590
     temp_count = 0;
1585
-    for (int i = 0; i < EXTRUDERS; i++) raw_temp_value[i] = 0;
1591
+    for (int i = 0; i < TEMP_SENSOR_COUNT; i++) raw_temp_value[i] = 0;
1586
     raw_temp_bed_value = 0;
1592
     raw_temp_bed_value = 0;
1587
 
1593
 
1588
-    #if HEATER_0_RAW_LO_TEMP > HEATER_0_RAW_HI_TEMP
1589
-      #define GE0 <=
1590
-      #define LE0 >=
1594
+    #ifdef HEATER_0_USES_MAX6675
1595
+      float ct = current_temperature[0];
1596
+      if (ct > min(HEATER_0_MAXTEMP, 1023)) max_temp_error(0);
1597
+      if (ct < max(HEATER_0_MINTEMP, 0.01)) min_temp_error(0);
1591
     #else
1598
     #else
1592
-      #define GE0 >=
1593
-      #define LE0 <=
1599
+      #if HEATER_0_RAW_LO_TEMP > HEATER_0_RAW_HI_TEMP
1600
+        #define GE0 <=
1601
+      #else
1602
+        #define GE0 >=
1603
+      #endif
1604
+      if (current_temperature_raw[0] GE0 maxttemp_raw[0]) max_temp_error(0);
1605
+      if (minttemp_raw[0] GE0 current_temperature_raw[0]) min_temp_error(0);
1594
     #endif
1606
     #endif
1595
-    if (current_temperature_raw[0] GE0 maxttemp_raw[0]) max_temp_error(0);
1596
-    if (current_temperature_raw[0] LE0 minttemp_raw[0]) min_temp_error(0);
1597
 
1607
 
1598
     #if EXTRUDERS > 1
1608
     #if EXTRUDERS > 1
1599
       #if HEATER_1_RAW_LO_TEMP > HEATER_1_RAW_HI_TEMP
1609
       #if HEATER_1_RAW_LO_TEMP > HEATER_1_RAW_HI_TEMP
1600
         #define GE1 <=
1610
         #define GE1 <=
1601
-        #define LE1 >=
1602
       #else
1611
       #else
1603
         #define GE1 >=
1612
         #define GE1 >=
1604
-        #define LE1 <=
1605
       #endif
1613
       #endif
1606
       if (current_temperature_raw[1] GE1 maxttemp_raw[1]) max_temp_error(1);
1614
       if (current_temperature_raw[1] GE1 maxttemp_raw[1]) max_temp_error(1);
1607
-      if (current_temperature_raw[1] LE1 minttemp_raw[1]) min_temp_error(1);
1615
+      if (minttemp_raw[1] GE0 current_temperature_raw[1]) min_temp_error(1);
1616
+
1608
       #if EXTRUDERS > 2
1617
       #if EXTRUDERS > 2
1609
         #if HEATER_2_RAW_LO_TEMP > HEATER_2_RAW_HI_TEMP
1618
         #if HEATER_2_RAW_LO_TEMP > HEATER_2_RAW_HI_TEMP
1610
           #define GE2 <=
1619
           #define GE2 <=
1611
-          #define LE2 >=
1612
         #else
1620
         #else
1613
           #define GE2 >=
1621
           #define GE2 >=
1614
-          #define LE2 <=
1615
         #endif
1622
         #endif
1616
         if (current_temperature_raw[2] GE2 maxttemp_raw[2]) max_temp_error(2);
1623
         if (current_temperature_raw[2] GE2 maxttemp_raw[2]) max_temp_error(2);
1617
-        if (current_temperature_raw[2] LE2 minttemp_raw[2]) min_temp_error(2);
1624
+        if (minttemp_raw[2] GE0 current_temperature_raw[2]) min_temp_error(2);
1625
+
1618
         #if EXTRUDERS > 3
1626
         #if EXTRUDERS > 3
1619
           #if HEATER_3_RAW_LO_TEMP > HEATER_3_RAW_HI_TEMP
1627
           #if HEATER_3_RAW_LO_TEMP > HEATER_3_RAW_HI_TEMP
1620
             #define GE3 <=
1628
             #define GE3 <=
1621
-            #define LE3 >=
1622
           #else
1629
           #else
1623
             #define GE3 >=
1630
             #define GE3 >=
1624
-            #define LE3 <=
1625
           #endif
1631
           #endif
1626
           if (current_temperature_raw[3] GE3 maxttemp_raw[3]) max_temp_error(3);
1632
           if (current_temperature_raw[3] GE3 maxttemp_raw[3]) max_temp_error(3);
1627
-          if (current_temperature_raw[3] LE3 minttemp_raw[3]) min_temp_error(3);
1633
+          if (minttemp_raw[3] GE0 current_temperature_raw[3]) min_temp_error(3);
1634
+
1628
         #endif // EXTRUDERS > 3
1635
         #endif // EXTRUDERS > 3
1629
       #endif // EXTRUDERS > 2
1636
       #endif // EXTRUDERS > 2
1630
     #endif // EXTRUDERS > 1
1637
     #endif // EXTRUDERS > 1
1632
     #if defined(BED_MAXTEMP) && (TEMP_SENSOR_BED != 0)
1639
     #if defined(BED_MAXTEMP) && (TEMP_SENSOR_BED != 0)
1633
       #if HEATER_BED_RAW_LO_TEMP > HEATER_BED_RAW_HI_TEMP
1640
       #if HEATER_BED_RAW_LO_TEMP > HEATER_BED_RAW_HI_TEMP
1634
         #define GEBED <=
1641
         #define GEBED <=
1635
-        #define LEBED >=
1636
       #else
1642
       #else
1637
         #define GEBED >=
1643
         #define GEBED >=
1638
-        #define LEBED <=
1639
       #endif
1644
       #endif
1640
       if (current_temperature_bed_raw GEBED bed_maxttemp_raw) {
1645
       if (current_temperature_bed_raw GEBED bed_maxttemp_raw) {
1641
         target_temperature_bed = 0;
1646
         target_temperature_bed = 0;

+ 3
- 3
Marlin/ultralcd.cpp Bestand weergeven

912
   START_MENU();
912
   START_MENU();
913
   MENU_ITEM(back, MSG_CONTROL, lcd_control_menu);
913
   MENU_ITEM(back, MSG_CONTROL, lcd_control_menu);
914
   #ifdef ENABLE_AUTO_BED_LEVELING
914
   #ifdef ENABLE_AUTO_BED_LEVELING
915
-    MENU_ITEM_EDIT(float32, MSG_ZPROBE_ZOFFSET, &zprobe_zoffset, 0.5, 50);
915
+    MENU_ITEM_EDIT(float32, MSG_ZPROBE_ZOFFSET, &zprobe_zoffset, 0.0, 50);
916
   #endif
916
   #endif
917
-  MENU_ITEM_EDIT(float5, MSG_ACC, &acceleration, 500, 99000);
917
+  MENU_ITEM_EDIT(float5, MSG_ACC, &acceleration, 10, 99000);
918
   MENU_ITEM_EDIT(float3, MSG_VXY_JERK, &max_xy_jerk, 1, 990);
918
   MENU_ITEM_EDIT(float3, MSG_VXY_JERK, &max_xy_jerk, 1, 990);
919
   MENU_ITEM_EDIT(float52, MSG_VZ_JERK, &max_z_jerk, 0.1, 990);
919
   MENU_ITEM_EDIT(float52, MSG_VZ_JERK, &max_z_jerk, 0.1, 990);
920
   MENU_ITEM_EDIT(float3, MSG_VE_JERK, &max_e_jerk, 1, 990);
920
   MENU_ITEM_EDIT(float3, MSG_VE_JERK, &max_e_jerk, 1, 990);
926
   MENU_ITEM_EDIT(float3, MSG_VTRAV_MIN, &mintravelfeedrate, 0, 999);
926
   MENU_ITEM_EDIT(float3, MSG_VTRAV_MIN, &mintravelfeedrate, 0, 999);
927
   MENU_ITEM_EDIT_CALLBACK(long5, MSG_AMAX MSG_X, &max_acceleration_units_per_sq_second[X_AXIS], 100, 99000, reset_acceleration_rates);
927
   MENU_ITEM_EDIT_CALLBACK(long5, MSG_AMAX MSG_X, &max_acceleration_units_per_sq_second[X_AXIS], 100, 99000, reset_acceleration_rates);
928
   MENU_ITEM_EDIT_CALLBACK(long5, MSG_AMAX MSG_Y, &max_acceleration_units_per_sq_second[Y_AXIS], 100, 99000, reset_acceleration_rates);
928
   MENU_ITEM_EDIT_CALLBACK(long5, MSG_AMAX MSG_Y, &max_acceleration_units_per_sq_second[Y_AXIS], 100, 99000, reset_acceleration_rates);
929
-  MENU_ITEM_EDIT_CALLBACK(long5, MSG_AMAX MSG_Z, &max_acceleration_units_per_sq_second[Z_AXIS], 100, 99000, reset_acceleration_rates);
929
+  MENU_ITEM_EDIT_CALLBACK(long5, MSG_AMAX MSG_Z, &max_acceleration_units_per_sq_second[Z_AXIS], 10, 99000, reset_acceleration_rates);
930
   MENU_ITEM_EDIT_CALLBACK(long5, MSG_AMAX MSG_E, &max_acceleration_units_per_sq_second[E_AXIS], 100, 99000, reset_acceleration_rates);
930
   MENU_ITEM_EDIT_CALLBACK(long5, MSG_AMAX MSG_E, &max_acceleration_units_per_sq_second[E_AXIS], 100, 99000, reset_acceleration_rates);
931
   MENU_ITEM_EDIT(float5, MSG_A_RETRACT, &retract_acceleration, 100, 99000);
931
   MENU_ITEM_EDIT(float5, MSG_A_RETRACT, &retract_acceleration, 100, 99000);
932
   MENU_ITEM_EDIT(float5, MSG_A_TRAVEL, &travel_acceleration, 100, 99000);
932
   MENU_ITEM_EDIT(float5, MSG_A_TRAVEL, &travel_acceleration, 100, 99000);

Laden…
Annuleren
Opslaan