Naming and code comments
This commit is contained in:
parent
c05b347617
commit
09d60e0128
@ -247,7 +247,7 @@ inline void refresh_cmd_timeout() { previous_cmd_ms = millis(); }
|
|||||||
|
|
||||||
extern float homing_feedrate[];
|
extern float homing_feedrate[];
|
||||||
extern bool axis_relative_modes[];
|
extern bool axis_relative_modes[];
|
||||||
extern int feedmultiply;
|
extern int feedrate_multiplier;
|
||||||
extern bool volumetric_enabled;
|
extern bool volumetric_enabled;
|
||||||
extern int extruder_multiply[EXTRUDERS]; // sets extrude multiply factor (in percent) for each extruder individually
|
extern int extruder_multiply[EXTRUDERS]; // sets extrude multiply factor (in percent) for each extruder individually
|
||||||
extern float filament_size[EXTRUDERS]; // cross-sectional area of filament (in millimeters), typically around 1.75 or 2.85, 0 disables the volumetric calculations for the extruder.
|
extern float filament_size[EXTRUDERS]; // cross-sectional area of filament (in millimeters), typically around 1.75 or 2.85, 0 disables the volumetric calculations for the extruder.
|
||||||
@ -309,8 +309,8 @@ extern int fanSpeed;
|
|||||||
extern float retract_recover_length, retract_recover_length_swap, retract_recover_feedrate;
|
extern float retract_recover_length, retract_recover_length_swap, retract_recover_feedrate;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
extern millis_t starttime;
|
extern millis_t print_job_start_ms;
|
||||||
extern millis_t stoptime;
|
extern millis_t print_job_stop_ms;
|
||||||
|
|
||||||
// Handling multiple extruders pins
|
// Handling multiple extruders pins
|
||||||
extern uint8_t active_extruder;
|
extern uint8_t active_extruder;
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -110,7 +110,7 @@
|
|||||||
|
|
||||||
// Serial Console Messages (do not translate those!)
|
// Serial Console Messages (do not translate those!)
|
||||||
|
|
||||||
#define MSG_Enqueing "enqueing \""
|
#define MSG_Enqueueing "enqueueing \""
|
||||||
#define MSG_POWERUP "PowerUp"
|
#define MSG_POWERUP "PowerUp"
|
||||||
#define MSG_EXTERNAL_RESET " External Reset"
|
#define MSG_EXTERNAL_RESET " External Reset"
|
||||||
#define MSG_BROWNOUT_RESET " Brown out Reset"
|
#define MSG_BROWNOUT_RESET " Brown out Reset"
|
||||||
|
@ -269,8 +269,8 @@ static void lcd_implementation_status_screen() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
u8g.setPrintPos(80,48);
|
u8g.setPrintPos(80,48);
|
||||||
if (starttime != 0) {
|
if (print_job_start_ms != 0) {
|
||||||
uint16_t time = (millis() - starttime) / 60000;
|
uint16_t time = (millis() - print_job_start_ms) / 60000;
|
||||||
lcd_print(itostr2(time/60));
|
lcd_print(itostr2(time/60));
|
||||||
lcd_print(':');
|
lcd_print(':');
|
||||||
lcd_print(itostr2(time%60));
|
lcd_print(itostr2(time%60));
|
||||||
@ -337,7 +337,7 @@ static void lcd_implementation_status_screen() {
|
|||||||
lcd_print(LCD_STR_FEEDRATE[0]);
|
lcd_print(LCD_STR_FEEDRATE[0]);
|
||||||
lcd_setFont(FONT_STATUSMENU);
|
lcd_setFont(FONT_STATUSMENU);
|
||||||
u8g.setPrintPos(12,49);
|
u8g.setPrintPos(12,49);
|
||||||
lcd_print(itostr3(feedmultiply));
|
lcd_print(itostr3(feedrate_multiplier));
|
||||||
lcd_print('%');
|
lcd_print('%');
|
||||||
|
|
||||||
// Status line
|
// Status line
|
||||||
|
@ -110,7 +110,7 @@
|
|||||||
|
|
||||||
// Serial Console Messages (do not translate those!)
|
// Serial Console Messages (do not translate those!)
|
||||||
|
|
||||||
#define MSG_Enqueing "enqueing \""
|
#define MSG_Enqueueing "enqueueing \""
|
||||||
#define MSG_POWERUP "PowerUp"
|
#define MSG_POWERUP "PowerUp"
|
||||||
#define MSG_EXTERNAL_RESET " External Reset"
|
#define MSG_EXTERNAL_RESET " External Reset"
|
||||||
#define MSG_BROWNOUT_RESET " Brown out Reset"
|
#define MSG_BROWNOUT_RESET " Brown out Reset"
|
||||||
|
@ -219,7 +219,7 @@ void PID_autotune(float temp, int extruder, int ncycles)
|
|||||||
|
|
||||||
SERIAL_ECHOLN(MSG_PID_AUTOTUNE_START);
|
SERIAL_ECHOLN(MSG_PID_AUTOTUNE_START);
|
||||||
|
|
||||||
disable_heater(); // switch off all heaters.
|
disable_all_heaters(); // switch off all heaters.
|
||||||
|
|
||||||
if (extruder < 0)
|
if (extruder < 0)
|
||||||
soft_pwm_bed = bias = d = MAX_BED_POWER / 2;
|
soft_pwm_bed = bias = d = MAX_BED_POWER / 2;
|
||||||
@ -458,11 +458,11 @@ inline void _temp_error(int e, const char *msg1, const char *msg2) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void max_temp_error(uint8_t e) {
|
void max_temp_error(uint8_t e) {
|
||||||
disable_heater();
|
disable_all_heaters();
|
||||||
_temp_error(e, PSTR(MSG_MAXTEMP_EXTRUDER_OFF), PSTR(MSG_ERR_MAXTEMP));
|
_temp_error(e, PSTR(MSG_MAXTEMP_EXTRUDER_OFF), PSTR(MSG_ERR_MAXTEMP));
|
||||||
}
|
}
|
||||||
void min_temp_error(uint8_t e) {
|
void min_temp_error(uint8_t e) {
|
||||||
disable_heater();
|
disable_all_heaters();
|
||||||
_temp_error(e, PSTR(MSG_MINTEMP_EXTRUDER_OFF), PSTR(MSG_ERR_MINTEMP));
|
_temp_error(e, PSTR(MSG_MINTEMP_EXTRUDER_OFF), PSTR(MSG_ERR_MINTEMP));
|
||||||
}
|
}
|
||||||
void bed_max_temp_error(void) {
|
void bed_max_temp_error(void) {
|
||||||
@ -579,6 +579,14 @@ float get_pid_output(int e) {
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Manage heating activities for extruder hot-ends and a heated bed
|
||||||
|
* - Acquire updated temperature readings
|
||||||
|
* - Invoke thermal runaway protection
|
||||||
|
* - Manage extruder auto-fan
|
||||||
|
* - Apply filament width to the extrusion rate (may move)
|
||||||
|
* - Update the heated bed PID output value
|
||||||
|
*/
|
||||||
void manage_heater() {
|
void manage_heater() {
|
||||||
|
|
||||||
if (!temp_meas_ready) return;
|
if (!temp_meas_ready) return;
|
||||||
@ -623,7 +631,7 @@ void manage_heater() {
|
|||||||
|
|
||||||
#ifdef TEMP_SENSOR_1_AS_REDUNDANT
|
#ifdef TEMP_SENSOR_1_AS_REDUNDANT
|
||||||
if (fabs(current_temperature[0] - redundant_temperature) > MAX_REDUNDANT_TEMP_SENSOR_DIFF) {
|
if (fabs(current_temperature[0] - redundant_temperature) > MAX_REDUNDANT_TEMP_SENSOR_DIFF) {
|
||||||
disable_heater();
|
disable_all_heaters();
|
||||||
_temp_error(0, PSTR(MSG_EXTRUDER_SWITCHED_OFF), PSTR(MSG_ERR_REDUNDANT_TEMP));
|
_temp_error(0, PSTR(MSG_EXTRUDER_SWITCHED_OFF), PSTR(MSG_ERR_REDUNDANT_TEMP));
|
||||||
}
|
}
|
||||||
#endif // TEMP_SENSOR_1_AS_REDUNDANT
|
#endif // TEMP_SENSOR_1_AS_REDUNDANT
|
||||||
@ -637,6 +645,21 @@ void manage_heater() {
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// Control the extruder rate based on the width sensor
|
||||||
|
#ifdef FILAMENT_SENSOR
|
||||||
|
if (filament_sensor) {
|
||||||
|
meas_shift_index = delay_index1 - meas_delay_cm;
|
||||||
|
if (meas_shift_index < 0) meas_shift_index += MAX_MEASUREMENT_DELAY + 1; //loop around buffer if needed
|
||||||
|
|
||||||
|
// Get the delayed info and add 100 to reconstitute to a percent of
|
||||||
|
// the nominal filament diameter then square it to get an area
|
||||||
|
meas_shift_index = constrain(meas_shift_index, 0, MAX_MEASUREMENT_DELAY);
|
||||||
|
float vm = pow((measurement_delay[meas_shift_index] + 100.0) / 100.0, 2);
|
||||||
|
if (vm < 0.01) vm = 0.01;
|
||||||
|
volumetric_multiplier[FILAMENT_SENSOR_EXTRUDER_NUM] = vm;
|
||||||
|
}
|
||||||
|
#endif //FILAMENT_SENSOR
|
||||||
|
|
||||||
#ifndef PIDTEMPBED
|
#ifndef PIDTEMPBED
|
||||||
if (ms < next_bed_check_ms) return;
|
if (ms < next_bed_check_ms) return;
|
||||||
next_bed_check_ms = ms + BED_CHECK_INTERVAL;
|
next_bed_check_ms = ms + BED_CHECK_INTERVAL;
|
||||||
@ -653,16 +676,7 @@ void manage_heater() {
|
|||||||
|
|
||||||
soft_pwm_bed = current_temperature_bed > BED_MINTEMP && current_temperature_bed < BED_MAXTEMP ? (int)pid_output >> 1 : 0;
|
soft_pwm_bed = current_temperature_bed > BED_MINTEMP && current_temperature_bed < BED_MAXTEMP ? (int)pid_output >> 1 : 0;
|
||||||
|
|
||||||
#elif !defined(BED_LIMIT_SWITCHING)
|
#elif defined(BED_LIMIT_SWITCHING)
|
||||||
// Check if temperature is within the correct range
|
|
||||||
if (current_temperature_bed > BED_MINTEMP && current_temperature_bed < BED_MAXTEMP) {
|
|
||||||
soft_pwm_bed = current_temperature_bed < target_temperature_bed ? MAX_BED_POWER >> 1 : 0;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
soft_pwm_bed = 0;
|
|
||||||
WRITE_HEATER_BED(LOW);
|
|
||||||
}
|
|
||||||
#else //#ifdef BED_LIMIT_SWITCHING
|
|
||||||
// Check if temperature is within the correct band
|
// Check if temperature is within the correct band
|
||||||
if (current_temperature_bed > BED_MINTEMP && current_temperature_bed < BED_MAXTEMP) {
|
if (current_temperature_bed > BED_MINTEMP && current_temperature_bed < BED_MAXTEMP) {
|
||||||
if (current_temperature_bed >= target_temperature_bed + BED_HYSTERESIS)
|
if (current_temperature_bed >= target_temperature_bed + BED_HYSTERESIS)
|
||||||
@ -674,34 +688,28 @@ void manage_heater() {
|
|||||||
soft_pwm_bed = 0;
|
soft_pwm_bed = 0;
|
||||||
WRITE_HEATER_BED(LOW);
|
WRITE_HEATER_BED(LOW);
|
||||||
}
|
}
|
||||||
|
#else // BED_LIMIT_SWITCHING
|
||||||
|
// Check if temperature is within the correct range
|
||||||
|
if (current_temperature_bed > BED_MINTEMP && current_temperature_bed < BED_MAXTEMP) {
|
||||||
|
soft_pwm_bed = current_temperature_bed < target_temperature_bed ? MAX_BED_POWER >> 1 : 0;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
soft_pwm_bed = 0;
|
||||||
|
WRITE_HEATER_BED(LOW);
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
#endif //TEMP_SENSOR_BED != 0
|
#endif //TEMP_SENSOR_BED != 0
|
||||||
|
|
||||||
// Control the extruder rate based on the width sensor
|
|
||||||
#ifdef FILAMENT_SENSOR
|
|
||||||
if (filament_sensor) {
|
|
||||||
meas_shift_index = delay_index1 - meas_delay_cm;
|
|
||||||
if (meas_shift_index < 0) meas_shift_index += MAX_MEASUREMENT_DELAY + 1; //loop around buffer if needed
|
|
||||||
|
|
||||||
// Get the delayed info and add 100 to reconstitute to a percent of
|
|
||||||
// the nominal filament diameter then square it to get an area
|
|
||||||
meas_shift_index = constrain(meas_shift_index, 0, MAX_MEASUREMENT_DELAY);
|
|
||||||
float vm = pow((measurement_delay[meas_shift_index] + 100.0) / 100.0, 2);
|
|
||||||
if (vm < 0.01) vm = 0.01;
|
|
||||||
volumetric_multiplier[FILAMENT_SENSOR_EXTRUDER_NUM] = vm;
|
|
||||||
}
|
|
||||||
#endif //FILAMENT_SENSOR
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#define PGM_RD_W(x) (short)pgm_read_word(&x)
|
#define PGM_RD_W(x) (short)pgm_read_word(&x)
|
||||||
// Derived from RepRap FiveD extruder::getTemperature()
|
// Derived from RepRap FiveD extruder::getTemperature()
|
||||||
// For hot end temperature measurement.
|
// For hot end temperature measurement.
|
||||||
static float analog2temp(int raw, uint8_t e) {
|
static float analog2temp(int raw, uint8_t e) {
|
||||||
#ifdef TEMP_SENSOR_1_AS_REDUNDANT
|
#ifdef TEMP_SENSOR_1_AS_REDUNDANT
|
||||||
if (e > EXTRUDERS)
|
if (e > EXTRUDERS)
|
||||||
#else
|
#else
|
||||||
if (e >= EXTRUDERS)
|
if (e >= EXTRUDERS)
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
SERIAL_ERROR_START;
|
SERIAL_ERROR_START;
|
||||||
SERIAL_ERROR((int)e);
|
SERIAL_ERROR((int)e);
|
||||||
@ -709,23 +717,18 @@ static float analog2temp(int raw, uint8_t e) {
|
|||||||
kill();
|
kill();
|
||||||
return 0.0;
|
return 0.0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef HEATER_0_USES_MAX6675
|
#ifdef HEATER_0_USES_MAX6675
|
||||||
if (e == 0)
|
if (e == 0) return 0.25 * raw;
|
||||||
{
|
|
||||||
return 0.25 * raw;
|
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if(heater_ttbl_map[e] != NULL)
|
if (heater_ttbl_map[e] != NULL) {
|
||||||
{
|
|
||||||
float celsius = 0;
|
float celsius = 0;
|
||||||
uint8_t i;
|
uint8_t i;
|
||||||
short (*tt)[][2] = (short (*)[][2])(heater_ttbl_map[e]);
|
short (*tt)[][2] = (short (*)[][2])(heater_ttbl_map[e]);
|
||||||
|
|
||||||
for (i=1; i<heater_ttbllen_map[e]; i++)
|
for (i = 1; i < heater_ttbllen_map[e]; i++) {
|
||||||
{
|
if (PGM_RD_W((*tt)[i][0]) > raw) {
|
||||||
if (PGM_RD_W((*tt)[i][0]) > raw)
|
|
||||||
{
|
|
||||||
celsius = PGM_RD_W((*tt)[i-1][1]) +
|
celsius = PGM_RD_W((*tt)[i-1][1]) +
|
||||||
(raw - PGM_RD_W((*tt)[i-1][0])) *
|
(raw - PGM_RD_W((*tt)[i-1][0])) *
|
||||||
(float)(PGM_RD_W((*tt)[i][1]) - PGM_RD_W((*tt)[i-1][1])) /
|
(float)(PGM_RD_W((*tt)[i][1]) - PGM_RD_W((*tt)[i-1][1])) /
|
||||||
@ -749,10 +752,8 @@ static float analog2tempBed(int raw) {
|
|||||||
float celsius = 0;
|
float celsius = 0;
|
||||||
byte i;
|
byte i;
|
||||||
|
|
||||||
for (i=1; i<BEDTEMPTABLE_LEN; i++)
|
for (i = 1; i < BEDTEMPTABLE_LEN; i++) {
|
||||||
{
|
if (PGM_RD_W(BEDTEMPTABLE[i][0]) > raw) {
|
||||||
if (PGM_RD_W(BEDTEMPTABLE[i][0]) > raw)
|
|
||||||
{
|
|
||||||
celsius = PGM_RD_W(BEDTEMPTABLE[i-1][1]) +
|
celsius = PGM_RD_W(BEDTEMPTABLE[i-1][1]) +
|
||||||
(raw - PGM_RD_W(BEDTEMPTABLE[i-1][0])) *
|
(raw - PGM_RD_W(BEDTEMPTABLE[i-1][0])) *
|
||||||
(float)(PGM_RD_W(BEDTEMPTABLE[i][1]) - PGM_RD_W(BEDTEMPTABLE[i-1][1])) /
|
(float)(PGM_RD_W(BEDTEMPTABLE[i][1]) - PGM_RD_W(BEDTEMPTABLE[i-1][1])) /
|
||||||
@ -816,11 +817,11 @@ static void updateTemperaturesFromRawValues() {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Initialize the temperature manager
|
||||||
|
* The manager is implemented by periodic calls to manage_heater()
|
||||||
void tp_init()
|
*/
|
||||||
{
|
void tp_init() {
|
||||||
#if MB(RUMBA) && ((TEMP_SENSOR_0==-1)||(TEMP_SENSOR_1==-1)||(TEMP_SENSOR_2==-1)||(TEMP_SENSOR_BED==-1))
|
#if MB(RUMBA) && ((TEMP_SENSOR_0==-1)||(TEMP_SENSOR_1==-1)||(TEMP_SENSOR_2==-1)||(TEMP_SENSOR_BED==-1))
|
||||||
//disable RUMBA JTAG in case the thermocouple extension is plugged on top of JTAG connector
|
//disable RUMBA JTAG in case the thermocouple extension is plugged on top of JTAG connector
|
||||||
MCUCR=BIT(JTD);
|
MCUCR=BIT(JTD);
|
||||||
@ -1059,7 +1060,7 @@ void setWatch() {
|
|||||||
SERIAL_ERRORLNPGM(MSG_THERMAL_RUNAWAY_STOP);
|
SERIAL_ERRORLNPGM(MSG_THERMAL_RUNAWAY_STOP);
|
||||||
if (heater_id < 0) SERIAL_ERRORLNPGM("bed"); else SERIAL_ERRORLN(heater_id);
|
if (heater_id < 0) SERIAL_ERRORLNPGM("bed"); else SERIAL_ERRORLN(heater_id);
|
||||||
LCD_ALERTMESSAGEPGM(MSG_THERMAL_RUNAWAY);
|
LCD_ALERTMESSAGEPGM(MSG_THERMAL_RUNAWAY);
|
||||||
disable_heater();
|
disable_all_heaters();
|
||||||
disable_all_steppers();
|
disable_all_steppers();
|
||||||
for (;;) {
|
for (;;) {
|
||||||
manage_heater();
|
manage_heater();
|
||||||
@ -1070,7 +1071,7 @@ void setWatch() {
|
|||||||
|
|
||||||
#endif // HAS_HEATER_THERMAL_PROTECTION || HAS_BED_THERMAL_PROTECTION
|
#endif // HAS_HEATER_THERMAL_PROTECTION || HAS_BED_THERMAL_PROTECTION
|
||||||
|
|
||||||
void disable_heater() {
|
void disable_all_heaters() {
|
||||||
for (int i=0; i<EXTRUDERS; i++) setTargetHotend(0, i);
|
for (int i=0; i<EXTRUDERS; i++) setTargetHotend(0, i);
|
||||||
setTargetBed(0);
|
setTargetBed(0);
|
||||||
|
|
||||||
@ -1208,11 +1209,15 @@ static void set_current_temp_raw() {
|
|||||||
temp_meas_ready = true;
|
temp_meas_ready = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
/**
|
||||||
// Timer 0 is shared with millies
|
* Timer 0 is shared with millies
|
||||||
//
|
* - Manage PWM to all the heaters and fan
|
||||||
|
* - Update the raw temperature values
|
||||||
|
* - Check new temperature values for MIN/MAX errors
|
||||||
|
* - Step the babysteps value for each axis towards 0
|
||||||
|
*/
|
||||||
ISR(TIMER0_COMPB_vect) {
|
ISR(TIMER0_COMPB_vect) {
|
||||||
//these variables are only accesible from the ISR, but static, so they don't lose their value
|
|
||||||
static unsigned char temp_count = 0;
|
static unsigned char temp_count = 0;
|
||||||
static TempState temp_state = StartupDelay;
|
static TempState temp_state = StartupDelay;
|
||||||
static unsigned char pwm_count = BIT(SOFT_PWM_SCALE);
|
static unsigned char pwm_count = BIT(SOFT_PWM_SCALE);
|
||||||
@ -1414,6 +1419,7 @@ ISR(TIMER0_COMPB_vect) {
|
|||||||
#define START_ADC(pin) ADCSRB = 0; SET_ADMUX_ADCSRA(pin)
|
#define START_ADC(pin) ADCSRB = 0; SET_ADMUX_ADCSRA(pin)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// Prepare or measure a sensor, each one every 12th frame
|
||||||
switch(temp_state) {
|
switch(temp_state) {
|
||||||
case PrepareTemp_0:
|
case PrepareTemp_0:
|
||||||
#if HAS_TEMP_0
|
#if HAS_TEMP_0
|
||||||
@ -1582,16 +1588,16 @@ ISR(TIMER0_COMPB_vect) {
|
|||||||
} // temp_count >= OVERSAMPLENR
|
} // temp_count >= OVERSAMPLENR
|
||||||
|
|
||||||
#ifdef BABYSTEPPING
|
#ifdef BABYSTEPPING
|
||||||
for (uint8_t axis=X_AXIS; axis<=Z_AXIS; axis++) {
|
for (uint8_t axis = X_AXIS; axis <= Z_AXIS; axis++) {
|
||||||
int curTodo=babystepsTodo[axis]; //get rid of volatile for performance
|
int curTodo = babystepsTodo[axis]; //get rid of volatile for performance
|
||||||
|
|
||||||
if (curTodo > 0) {
|
if (curTodo > 0) {
|
||||||
babystep(axis,/*fwd*/true);
|
babystep(axis,/*fwd*/true);
|
||||||
babystepsTodo[axis]--; //less to do next time
|
babystepsTodo[axis]--; //fewer to do next time
|
||||||
}
|
}
|
||||||
else if(curTodo < 0) {
|
else if (curTodo < 0) {
|
||||||
babystep(axis,/*fwd*/false);
|
babystep(axis,/*fwd*/false);
|
||||||
babystepsTodo[axis]++; //less to do next time
|
babystepsTodo[axis]++; //fewer to do next time
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif //BABYSTEPPING
|
#endif //BABYSTEPPING
|
||||||
|
@ -129,7 +129,7 @@ HOTEND_ROUTINES(0);
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
int getHeaterPower(int heater);
|
int getHeaterPower(int heater);
|
||||||
void disable_heater();
|
void disable_all_heaters();
|
||||||
void setWatch();
|
void setWatch();
|
||||||
void updatePID();
|
void updatePID();
|
||||||
|
|
||||||
|
@ -152,10 +152,10 @@ static void lcd_status_screen();
|
|||||||
* lcd_implementation_drawmenu_function(sel, row, PSTR(MSG_PAUSE_PRINT), lcd_sdcard_pause)
|
* lcd_implementation_drawmenu_function(sel, row, PSTR(MSG_PAUSE_PRINT), lcd_sdcard_pause)
|
||||||
* menu_action_function(lcd_sdcard_pause)
|
* menu_action_function(lcd_sdcard_pause)
|
||||||
*
|
*
|
||||||
* MENU_ITEM_EDIT(int3, MSG_SPEED, &feedmultiply, 10, 999)
|
* MENU_ITEM_EDIT(int3, MSG_SPEED, &feedrate_multiplier, 10, 999)
|
||||||
* MENU_ITEM(setting_edit_int3, MSG_SPEED, PSTR(MSG_SPEED), &feedmultiply, 10, 999)
|
* MENU_ITEM(setting_edit_int3, MSG_SPEED, PSTR(MSG_SPEED), &feedrate_multiplier, 10, 999)
|
||||||
* lcd_implementation_drawmenu_setting_edit_int3(sel, row, PSTR(MSG_SPEED), PSTR(MSG_SPEED), &feedmultiply, 10, 999)
|
* lcd_implementation_drawmenu_setting_edit_int3(sel, row, PSTR(MSG_SPEED), PSTR(MSG_SPEED), &feedrate_multiplier, 10, 999)
|
||||||
* menu_action_setting_edit_int3(PSTR(MSG_SPEED), &feedmultiply, 10, 999)
|
* menu_action_setting_edit_int3(PSTR(MSG_SPEED), &feedrate_multiplier, 10, 999)
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
#define MENU_ITEM(type, label, args...) do { \
|
#define MENU_ITEM(type, label, args...) do { \
|
||||||
@ -328,28 +328,28 @@ static void lcd_status_screen() {
|
|||||||
|
|
||||||
#ifdef ULTIPANEL_FEEDMULTIPLY
|
#ifdef ULTIPANEL_FEEDMULTIPLY
|
||||||
// Dead zone at 100% feedrate
|
// Dead zone at 100% feedrate
|
||||||
if ((feedmultiply < 100 && (feedmultiply + int(encoderPosition)) > 100) ||
|
if ((feedrate_multiplier < 100 && (feedrate_multiplier + int(encoderPosition)) > 100) ||
|
||||||
(feedmultiply > 100 && (feedmultiply + int(encoderPosition)) < 100)) {
|
(feedrate_multiplier > 100 && (feedrate_multiplier + int(encoderPosition)) < 100)) {
|
||||||
encoderPosition = 0;
|
encoderPosition = 0;
|
||||||
feedmultiply = 100;
|
feedrate_multiplier = 100;
|
||||||
}
|
}
|
||||||
if (feedmultiply == 100) {
|
if (feedrate_multiplier == 100) {
|
||||||
if (int(encoderPosition) > ENCODER_FEEDRATE_DEADZONE) {
|
if (int(encoderPosition) > ENCODER_FEEDRATE_DEADZONE) {
|
||||||
feedmultiply += int(encoderPosition) - ENCODER_FEEDRATE_DEADZONE;
|
feedrate_multiplier += int(encoderPosition) - ENCODER_FEEDRATE_DEADZONE;
|
||||||
encoderPosition = 0;
|
encoderPosition = 0;
|
||||||
}
|
}
|
||||||
else if (int(encoderPosition) < -ENCODER_FEEDRATE_DEADZONE) {
|
else if (int(encoderPosition) < -ENCODER_FEEDRATE_DEADZONE) {
|
||||||
feedmultiply += int(encoderPosition) + ENCODER_FEEDRATE_DEADZONE;
|
feedrate_multiplier += int(encoderPosition) + ENCODER_FEEDRATE_DEADZONE;
|
||||||
encoderPosition = 0;
|
encoderPosition = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
feedmultiply += int(encoderPosition);
|
feedrate_multiplier += int(encoderPosition);
|
||||||
encoderPosition = 0;
|
encoderPosition = 0;
|
||||||
}
|
}
|
||||||
#endif // ULTIPANEL_FEEDMULTIPLY
|
#endif // ULTIPANEL_FEEDMULTIPLY
|
||||||
|
|
||||||
feedmultiply = constrain(feedmultiply, 10, 999);
|
feedrate_multiplier = constrain(feedrate_multiplier, 10, 999);
|
||||||
|
|
||||||
#endif //ULTIPANEL
|
#endif //ULTIPANEL
|
||||||
}
|
}
|
||||||
@ -456,7 +456,7 @@ void lcd_set_home_offsets() {
|
|||||||
static void lcd_tune_menu() {
|
static void lcd_tune_menu() {
|
||||||
START_MENU();
|
START_MENU();
|
||||||
MENU_ITEM(back, MSG_MAIN, lcd_main_menu);
|
MENU_ITEM(back, MSG_MAIN, lcd_main_menu);
|
||||||
MENU_ITEM_EDIT(int3, MSG_SPEED, &feedmultiply, 10, 999);
|
MENU_ITEM_EDIT(int3, MSG_SPEED, &feedrate_multiplier, 10, 999);
|
||||||
#if TEMP_SENSOR_0 != 0
|
#if TEMP_SENSOR_0 != 0
|
||||||
MENU_MULTIPLIER_ITEM_EDIT(int3, MSG_NOZZLE, &target_temperature[0], 0, HEATER_0_MAXTEMP - 15);
|
MENU_MULTIPLIER_ITEM_EDIT(int3, MSG_NOZZLE, &target_temperature[0], 0, HEATER_0_MAXTEMP - 15);
|
||||||
#endif
|
#endif
|
||||||
|
@ -550,7 +550,7 @@ static void lcd_implementation_status_screen() {
|
|||||||
|
|
||||||
lcd.setCursor(0, 2);
|
lcd.setCursor(0, 2);
|
||||||
lcd.print(LCD_STR_FEEDRATE[0]);
|
lcd.print(LCD_STR_FEEDRATE[0]);
|
||||||
lcd.print(itostr3(feedmultiply));
|
lcd.print(itostr3(feedrate_multiplier));
|
||||||
lcd.print('%');
|
lcd.print('%');
|
||||||
|
|
||||||
#if LCD_WIDTH > 19 && defined(SDSUPPORT)
|
#if LCD_WIDTH > 19 && defined(SDSUPPORT)
|
||||||
@ -567,8 +567,8 @@ static void lcd_implementation_status_screen() {
|
|||||||
|
|
||||||
lcd.setCursor(LCD_WIDTH - 6, 2);
|
lcd.setCursor(LCD_WIDTH - 6, 2);
|
||||||
lcd.print(LCD_STR_CLOCK[0]);
|
lcd.print(LCD_STR_CLOCK[0]);
|
||||||
if (starttime != 0) {
|
if (print_job_start_ms != 0) {
|
||||||
uint16_t time = millis()/60000 - starttime/60000;
|
uint16_t time = millis()/60000 - print_job_start_ms/60000;
|
||||||
lcd.print(itostr2(time/60));
|
lcd.print(itostr2(time/60));
|
||||||
lcd.print(':');
|
lcd.print(':');
|
||||||
lcd.print(itostr2(time%60));
|
lcd.print(itostr2(time%60));
|
||||||
|
Loading…
Reference in New Issue
Block a user