commit
d771174797
@ -137,8 +137,10 @@ void gcode_M100() {
|
|||||||
// other vital statistics that define the memory pool.
|
// other vital statistics that define the memory pool.
|
||||||
//
|
//
|
||||||
if (code_seen('F')) {
|
if (code_seen('F')) {
|
||||||
int max_addr = (int) __brkval;
|
#if 0
|
||||||
int max_cnt = 0;
|
int max_addr = (int) __brkval;
|
||||||
|
int max_cnt = 0;
|
||||||
|
#endif
|
||||||
int block_cnt = 0;
|
int block_cnt = 0;
|
||||||
ptr = (unsigned char*) __brkval;
|
ptr = (unsigned char*) __brkval;
|
||||||
sp = top_of_stack();
|
sp = top_of_stack();
|
||||||
@ -155,10 +157,12 @@ void gcode_M100() {
|
|||||||
i += j;
|
i += j;
|
||||||
block_cnt++;
|
block_cnt++;
|
||||||
}
|
}
|
||||||
if (j > max_cnt) { // We don't do anything with this information yet
|
#if 0
|
||||||
max_cnt = j; // but we do know where the biggest free memory block is.
|
if (j > max_cnt) { // We don't do anything with this information yet
|
||||||
max_addr = (int) ptr + i;
|
max_cnt = j; // but we do know where the biggest free memory block is.
|
||||||
}
|
max_addr = (int) ptr + i;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (block_cnt > 1)
|
if (block_cnt > 1)
|
||||||
|
@ -1638,6 +1638,9 @@ static void setup_for_endstop_move() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void stow_z_probe(bool doRaise = true) {
|
static void stow_z_probe(bool doRaise = true) {
|
||||||
|
#if !(HAS_SERVO_ENDSTOPS && (Z_RAISE_AFTER_PROBING > 0))
|
||||||
|
UNUSED(doRaise);
|
||||||
|
#endif
|
||||||
#if ENABLED(DEBUG_LEVELING_FEATURE)
|
#if ENABLED(DEBUG_LEVELING_FEATURE)
|
||||||
if (DEBUGGING(LEVELING)) {
|
if (DEBUGGING(LEVELING)) {
|
||||||
print_xyz("stow_z_probe > current_position", current_position);
|
print_xyz("stow_z_probe > current_position", current_position);
|
||||||
@ -1912,11 +1915,13 @@ static void setup_for_endstop_move() {
|
|||||||
|
|
||||||
#endif // AUTO_BED_LEVELING_FEATURE
|
#endif // AUTO_BED_LEVELING_FEATURE
|
||||||
|
|
||||||
static void axis_unhomed_error() {
|
#if ENABLED(Z_PROBE_SLED) || ENABLED(Z_SAFE_HOMING) || ENABLED(AUTO_BED_LEVELING_FEATURE)
|
||||||
LCD_MESSAGEPGM(MSG_YX_UNHOMED);
|
static void axis_unhomed_error() {
|
||||||
SERIAL_ECHO_START;
|
LCD_MESSAGEPGM(MSG_YX_UNHOMED);
|
||||||
SERIAL_ECHOLNPGM(MSG_YX_UNHOMED);
|
SERIAL_ECHO_START;
|
||||||
}
|
SERIAL_ECHOLNPGM(MSG_YX_UNHOMED);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#if ENABLED(Z_PROBE_SLED)
|
#if ENABLED(Z_PROBE_SLED)
|
||||||
|
|
||||||
@ -2300,6 +2305,8 @@ void unknown_command_error() {
|
|||||||
SERIAL_ECHO_START;
|
SERIAL_ECHO_START;
|
||||||
SERIAL_ECHOLNPGM(MSG_BUSY_PAUSED_FOR_INPUT);
|
SERIAL_ECHOLNPGM(MSG_BUSY_PAUSED_FOR_INPUT);
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
next_busy_signal_ms = ms + 10000UL; // "busy: ..." message every 10s
|
next_busy_signal_ms = ms + 10000UL; // "busy: ..." message every 10s
|
||||||
@ -3820,7 +3827,7 @@ inline void gcode_M42() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
double sum = 0.0, mean = 0.0, sigma = 0.0, sample_set[50];
|
double sum = 0.0, mean = 0.0, sigma = 0.0, sample_set[50];
|
||||||
uint8_t verbose_level = 1, n_samples = 10, n_legs = 0, schizoid_flag = 0;
|
int8_t verbose_level = 1, n_samples = 10, n_legs = 0, schizoid_flag = 0;
|
||||||
|
|
||||||
if (code_seen('V')) {
|
if (code_seen('V')) {
|
||||||
verbose_level = code_value_short();
|
verbose_level = code_value_short();
|
||||||
@ -5476,7 +5483,7 @@ inline void gcode_M400() { st_synchronize(); }
|
|||||||
if (delay_index2 == -1) { //initialize the ring buffer if it has not been done since startup
|
if (delay_index2 == -1) { //initialize the ring buffer if it has not been done since startup
|
||||||
int temp_ratio = widthFil_to_size_ratio();
|
int temp_ratio = widthFil_to_size_ratio();
|
||||||
|
|
||||||
for (delay_index1 = 0; delay_index1 < COUNT(measurement_delay); ++delay_index1)
|
for (delay_index1 = 0; delay_index1 < (int)COUNT(measurement_delay); ++delay_index1)
|
||||||
measurement_delay[delay_index1] = temp_ratio - 100; //subtract 100 to scale within a signed byte
|
measurement_delay[delay_index1] = temp_ratio - 100; //subtract 100 to scale within a signed byte
|
||||||
|
|
||||||
delay_index1 = delay_index2 = 0;
|
delay_index1 = delay_index2 = 0;
|
||||||
@ -5525,7 +5532,7 @@ inline void gcode_M410() { quickStop(); }
|
|||||||
* M421: Set a single Mesh Bed Leveling Z coordinate
|
* M421: Set a single Mesh Bed Leveling Z coordinate
|
||||||
*/
|
*/
|
||||||
inline void gcode_M421() {
|
inline void gcode_M421() {
|
||||||
float x, y, z;
|
float x = 0, y = 0, z = 0;
|
||||||
bool err = false, hasX, hasY, hasZ;
|
bool err = false, hasX, hasY, hasZ;
|
||||||
if ((hasX = code_seen('X'))) x = code_value();
|
if ((hasX = code_seen('X'))) x = code_value();
|
||||||
if ((hasY = code_seen('Y'))) y = code_value();
|
if ((hasY = code_seen('Y'))) y = code_value();
|
||||||
@ -5688,7 +5695,10 @@ inline void gcode_M503() {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
float lastpos[NUM_AXIS], fr60 = feedrate / 60;
|
float lastpos[NUM_AXIS];
|
||||||
|
#if ENABLED(DELTA)
|
||||||
|
float fr60 = feedrate / 60;
|
||||||
|
#endif
|
||||||
|
|
||||||
for (int i = 0; i < NUM_AXIS; i++)
|
for (int i = 0; i < NUM_AXIS; i++)
|
||||||
lastpos[i] = destination[i] = current_position[i];
|
lastpos[i] = destination[i] = current_position[i];
|
||||||
@ -5745,7 +5755,9 @@ inline void gcode_M503() {
|
|||||||
disable_e3();
|
disable_e3();
|
||||||
delay(100);
|
delay(100);
|
||||||
LCD_ALERTMESSAGEPGM(MSG_FILAMENTCHANGE);
|
LCD_ALERTMESSAGEPGM(MSG_FILAMENTCHANGE);
|
||||||
millis_t next_tick = 0;
|
#if DISABLED(AUTO_FILAMENT_CHANGE)
|
||||||
|
millis_t next_tick = 0;
|
||||||
|
#endif
|
||||||
KEEPALIVE_STATE(PAUSED_FOR_USER);
|
KEEPALIVE_STATE(PAUSED_FOR_USER);
|
||||||
while (!lcd_clicked()) {
|
while (!lcd_clicked()) {
|
||||||
#if DISABLED(AUTO_FILAMENT_CHANGE)
|
#if DISABLED(AUTO_FILAMENT_CHANGE)
|
||||||
|
@ -365,6 +365,7 @@ bool Sd2Card::init(uint8_t sckRateID, uint8_t chipSelectPin) {
|
|||||||
#if DISABLED(SOFTWARE_SPI)
|
#if DISABLED(SOFTWARE_SPI)
|
||||||
return setSckRate(sckRateID);
|
return setSckRate(sckRateID);
|
||||||
#else // SOFTWARE_SPI
|
#else // SOFTWARE_SPI
|
||||||
|
UNUSED(sckRateID);
|
||||||
return true;
|
return true;
|
||||||
#endif // SOFTWARE_SPI
|
#endif // SOFTWARE_SPI
|
||||||
|
|
||||||
|
@ -348,11 +348,11 @@ void CardReader::openFile(char* name, bool read, bool push_current/*=false*/) {
|
|||||||
char *dirname_start, *dirname_end;
|
char *dirname_start, *dirname_end;
|
||||||
if (name[0] == '/') {
|
if (name[0] == '/') {
|
||||||
dirname_start = &name[1];
|
dirname_start = &name[1];
|
||||||
while (dirname_start > 0) {
|
while (dirname_start != NULL) {
|
||||||
dirname_end = strchr(dirname_start, '/');
|
dirname_end = strchr(dirname_start, '/');
|
||||||
//SERIAL_ECHO("start:");SERIAL_ECHOLN((int)(dirname_start - name));
|
//SERIAL_ECHO("start:");SERIAL_ECHOLN((int)(dirname_start - name));
|
||||||
//SERIAL_ECHO("end :");SERIAL_ECHOLN((int)(dirname_end - name));
|
//SERIAL_ECHO("end :");SERIAL_ECHOLN((int)(dirname_end - name));
|
||||||
if (dirname_end > 0 && dirname_end > dirname_start) {
|
if (dirname_end != NULL && dirname_end > dirname_start) {
|
||||||
char subdirname[FILENAME_LENGTH];
|
char subdirname[FILENAME_LENGTH];
|
||||||
strncpy(subdirname, dirname_start, dirname_end - dirname_start);
|
strncpy(subdirname, dirname_start, dirname_end - dirname_start);
|
||||||
subdirname[dirname_end - dirname_start] = 0;
|
subdirname[dirname_end - dirname_start] = 0;
|
||||||
@ -429,11 +429,11 @@ void CardReader::removeFile(char* name) {
|
|||||||
char *dirname_start, *dirname_end;
|
char *dirname_start, *dirname_end;
|
||||||
if (name[0] == '/') {
|
if (name[0] == '/') {
|
||||||
dirname_start = strchr(name, '/') + 1;
|
dirname_start = strchr(name, '/') + 1;
|
||||||
while (dirname_start > 0) {
|
while (dirname_start != NULL) {
|
||||||
dirname_end = strchr(dirname_start, '/');
|
dirname_end = strchr(dirname_start, '/');
|
||||||
//SERIAL_ECHO("start:");SERIAL_ECHOLN((int)(dirname_start - name));
|
//SERIAL_ECHO("start:");SERIAL_ECHOLN((int)(dirname_start - name));
|
||||||
//SERIAL_ECHO("end :");SERIAL_ECHOLN((int)(dirname_end - name));
|
//SERIAL_ECHO("end :");SERIAL_ECHOLN((int)(dirname_end - name));
|
||||||
if (dirname_end > 0 && dirname_end > dirname_start) {
|
if (dirname_end != NULL && dirname_end > dirname_start) {
|
||||||
char subdirname[FILENAME_LENGTH];
|
char subdirname[FILENAME_LENGTH];
|
||||||
strncpy(subdirname, dirname_start, dirname_end - dirname_start);
|
strncpy(subdirname, dirname_start, dirname_end - dirname_start);
|
||||||
subdirname[dirname_end - dirname_start] = 0;
|
subdirname[dirname_end - dirname_start] = 0;
|
||||||
|
@ -83,7 +83,7 @@ extern float current_temperature_bed;
|
|||||||
|
|
||||||
#if ENABLED(PID_PARAMS_PER_EXTRUDER)
|
#if ENABLED(PID_PARAMS_PER_EXTRUDER)
|
||||||
extern float Kp[EXTRUDERS], Ki[EXTRUDERS], Kd[EXTRUDERS], Kc[EXTRUDERS]; // one param per extruder
|
extern float Kp[EXTRUDERS], Ki[EXTRUDERS], Kd[EXTRUDERS], Kc[EXTRUDERS]; // one param per extruder
|
||||||
#define PID_PARAM(param,e) param[e] // use macro to point to array value
|
#define PID_PARAM(param, e) param[e] // use macro to point to array value
|
||||||
#else
|
#else
|
||||||
extern float Kp, Ki, Kd, Kc; // one param per extruder - saves 20 or 36 bytes of ram (inc array pointer)
|
extern float Kp, Ki, Kd, Kc; // one param per extruder - saves 20 or 36 bytes of ram (inc array pointer)
|
||||||
#define PID_PARAM(param, e) param // use macro to point directly to value
|
#define PID_PARAM(param, e) param // use macro to point directly to value
|
||||||
|
@ -755,6 +755,8 @@ void _lcd_preheat(int endnum, const float temph, const float tempb, const int fa
|
|||||||
if (temph > 0) setTargetHotend(temph, endnum);
|
if (temph > 0) setTargetHotend(temph, endnum);
|
||||||
#if TEMP_SENSOR_BED != 0
|
#if TEMP_SENSOR_BED != 0
|
||||||
setTargetBed(tempb);
|
setTargetBed(tempb);
|
||||||
|
#else
|
||||||
|
UNUSED(tempb);
|
||||||
#endif
|
#endif
|
||||||
#if FAN_COUNT > 0
|
#if FAN_COUNT > 0
|
||||||
#if FAN_COUNT > 1
|
#if FAN_COUNT > 1
|
||||||
@ -762,6 +764,8 @@ void _lcd_preheat(int endnum, const float temph, const float tempb, const int fa
|
|||||||
#else
|
#else
|
||||||
fanSpeeds[0] = fan;
|
fanSpeeds[0] = fan;
|
||||||
#endif
|
#endif
|
||||||
|
#else
|
||||||
|
UNUSED(fan);
|
||||||
#endif
|
#endif
|
||||||
lcd_return_to_status();
|
lcd_return_to_status();
|
||||||
}
|
}
|
||||||
@ -1318,10 +1322,16 @@ static void lcd_control_menu() {
|
|||||||
// Helpers for editing PID Ki & Kd values
|
// Helpers for editing PID Ki & Kd values
|
||||||
// grab the PID value out of the temp variable; scale it; then update the PID driver
|
// grab the PID value out of the temp variable; scale it; then update the PID driver
|
||||||
void copy_and_scalePID_i(int e) {
|
void copy_and_scalePID_i(int e) {
|
||||||
|
#if DISABLED(PID_PARAMS_PER_EXTRUDER)
|
||||||
|
UNUSED(e);
|
||||||
|
#endif
|
||||||
PID_PARAM(Ki, e) = scalePID_i(raw_Ki);
|
PID_PARAM(Ki, e) = scalePID_i(raw_Ki);
|
||||||
updatePID();
|
updatePID();
|
||||||
}
|
}
|
||||||
void copy_and_scalePID_d(int e) {
|
void copy_and_scalePID_d(int e) {
|
||||||
|
#if DISABLED(PID_PARAMS_PER_EXTRUDER)
|
||||||
|
UNUSED(e);
|
||||||
|
#endif
|
||||||
PID_PARAM(Kd, e) = scalePID_d(raw_Kd);
|
PID_PARAM(Kd, e) = scalePID_d(raw_Kd);
|
||||||
updatePID();
|
updatePID();
|
||||||
}
|
}
|
||||||
@ -1892,18 +1902,20 @@ static void menu_action_function(menuFunc_t func) { (*func)(); }
|
|||||||
#if ENABLED(SDSUPPORT)
|
#if ENABLED(SDSUPPORT)
|
||||||
|
|
||||||
static void menu_action_sdfile(const char* filename, char* longFilename) {
|
static void menu_action_sdfile(const char* filename, char* longFilename) {
|
||||||
|
UNUSED(longFilename);
|
||||||
card.openAndPrintFile(filename);
|
card.openAndPrintFile(filename);
|
||||||
lcd_return_to_status();
|
lcd_return_to_status();
|
||||||
}
|
}
|
||||||
|
|
||||||
static void menu_action_sddirectory(const char* filename, char* longFilename) {
|
static void menu_action_sddirectory(const char* filename, char* longFilename) {
|
||||||
|
UNUSED(longFilename);
|
||||||
card.chdir(filename);
|
card.chdir(filename);
|
||||||
encoderPosition = 0;
|
encoderPosition = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif //SDSUPPORT
|
#endif //SDSUPPORT
|
||||||
|
|
||||||
static void menu_action_setting_edit_bool(const char* pstr, bool* ptr) { *ptr = !(*ptr); }
|
static void menu_action_setting_edit_bool(const char* pstr, bool* ptr) {UNUSED(pstr); *ptr = !(*ptr); }
|
||||||
static void menu_action_setting_edit_callback_bool(const char* pstr, bool* ptr, menuFunc_t callback) {
|
static void menu_action_setting_edit_callback_bool(const char* pstr, bool* ptr, menuFunc_t callback) {
|
||||||
menu_action_setting_edit_bool(pstr, ptr);
|
menu_action_setting_edit_bool(pstr, ptr);
|
||||||
(*callback)();
|
(*callback)();
|
||||||
@ -2203,6 +2215,10 @@ void lcd_ignore_click(bool b) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void lcd_finishstatus(bool persist=false) {
|
void lcd_finishstatus(bool persist=false) {
|
||||||
|
#if !(ENABLED(LCD_PROGRESS_BAR) && (PROGRESS_MSG_EXPIRE > 0))
|
||||||
|
UNUSED(persist);
|
||||||
|
#endif
|
||||||
|
|
||||||
#if ENABLED(LCD_PROGRESS_BAR)
|
#if ENABLED(LCD_PROGRESS_BAR)
|
||||||
progress_bar_ms = millis();
|
progress_bar_ms = millis();
|
||||||
#if PROGRESS_MSG_EXPIRE > 0
|
#if PROGRESS_MSG_EXPIRE > 0
|
||||||
|
@ -873,6 +873,7 @@ void lcd_implementation_drawedit(const char* pstr, const char* value) {
|
|||||||
#if ENABLED(SDSUPPORT)
|
#if ENABLED(SDSUPPORT)
|
||||||
|
|
||||||
static void lcd_implementation_drawmenu_sd(bool sel, uint8_t row, const char* pstr, const char* filename, char* longFilename, uint8_t concat, char post_char) {
|
static void lcd_implementation_drawmenu_sd(bool sel, uint8_t row, const char* pstr, const char* filename, char* longFilename, uint8_t concat, char post_char) {
|
||||||
|
UNUSED(pstr);
|
||||||
char c;
|
char c;
|
||||||
uint8_t n = LCD_WIDTH - concat;
|
uint8_t n = LCD_WIDTH - concat;
|
||||||
lcd.setCursor(0, row);
|
lcd.setCursor(0, row);
|
||||||
|
Loading…
Reference in New Issue
Block a user