Merge pull request #6201 from thinkyhead/rc_fix_broken_ubl
Fix broken auto#.g, some other regressions
This commit is contained in:
commit
a7aa70e79a
|
@ -36,24 +36,27 @@
|
||||||
#include "UBL.h"
|
#include "UBL.h"
|
||||||
#include "ultralcd.h"
|
#include "ultralcd.h"
|
||||||
|
|
||||||
#define EXTRUSION_MULTIPLIER 1.0 // This is too much clutter for the main Configuration.h file But
|
#define EXTRUSION_MULTIPLIER 1.0
|
||||||
#define RETRACTION_MULTIPLIER 1.0 // some user have expressed an interest in being able to customize
|
#define RETRACTION_MULTIPLIER 1.0
|
||||||
#define NOZZLE 0.3 // these numbers for their printer so they don't need to type all
|
#define NOZZLE 0.3
|
||||||
#define FILAMENT 1.75 // the options every time they do a Mesh Validation Print.
|
#define FILAMENT 1.75
|
||||||
#define LAYER_HEIGHT 0.2
|
#define LAYER_HEIGHT 0.2
|
||||||
#define PRIME_LENGTH 10.0 // So, we put these number in an easy to find and change place.
|
#define PRIME_LENGTH 10.0
|
||||||
#define BED_TEMP 60.0
|
#define BED_TEMP 60.0
|
||||||
#define HOTEND_TEMP 205.0
|
#define HOTEND_TEMP 205.0
|
||||||
#define OOZE_AMOUNT 0.3
|
#define OOZE_AMOUNT 0.3
|
||||||
|
|
||||||
#define SIZE_OF_INTERSECTION_CIRCLES 5
|
#define SIZE_OF_INTERSECTION_CIRCLES 5
|
||||||
#define SIZE_OF_CROSSHAIRS 3 // crosshairs inside the circle. This number should be
|
#define SIZE_OF_CROSSHAIRS 3
|
||||||
// less than SIZE_OR_INTERSECTION_CIRCLES
|
|
||||||
|
#if SIZE_OF_CROSSHAIRS >= SIZE_OF_INTERSECTION_CIRCLES
|
||||||
|
#error "SIZE_OF_CROSSHAIRS must be less than SIZE_OF_INTERSECTION_CIRCLES."
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Roxy's G26 Mesh Validation Tool
|
* G26 Mesh Validation Tool
|
||||||
*
|
*
|
||||||
* G26 Is a Mesh Validation Tool intended to provide support for the Marlin Unified Bed Leveling System.
|
* G26 is a Mesh Validation Tool intended to provide support for the Marlin Unified Bed Leveling System.
|
||||||
* In order to fully utilize and benefit from the Marlin Unified Bed Leveling System an accurate Mesh must
|
* In order to fully utilize and benefit from the Marlin Unified Bed Leveling System an accurate Mesh must
|
||||||
* be defined. G29 is designed to allow the user to quickly validate the correctness of her Mesh. It will
|
* be defined. G29 is designed to allow the user to quickly validate the correctness of her Mesh. It will
|
||||||
* first heat the bed and nozzle. It will then print lines and circles along the Mesh Cell boundaries and
|
* first heat the bed and nozzle. It will then print lines and circles along the Mesh Cell boundaries and
|
||||||
|
@ -118,7 +121,7 @@
|
||||||
//#if ENABLED(ULTRA_LCD)
|
//#if ENABLED(ULTRA_LCD)
|
||||||
extern char lcd_status_message[];
|
extern char lcd_status_message[];
|
||||||
//#endif
|
//#endif
|
||||||
extern float destination[];
|
extern float destination[XYZE];
|
||||||
extern void set_destination_to_current();
|
extern void set_destination_to_current();
|
||||||
extern void set_current_to_destination();
|
extern void set_current_to_destination();
|
||||||
extern float code_value_float();
|
extern float code_value_float();
|
||||||
|
|
|
@ -243,8 +243,8 @@ extern bool Running;
|
||||||
inline bool IsRunning() { return Running; }
|
inline bool IsRunning() { return Running; }
|
||||||
inline bool IsStopped() { return !Running; }
|
inline bool IsStopped() { return !Running; }
|
||||||
|
|
||||||
bool enqueue_and_echo_command(const char* cmd, bool say_ok=false); //put a single ASCII command at the end of the current buffer or return false when it is full
|
bool enqueue_and_echo_command(const char* cmd, bool say_ok=false); // Add a single command to the end of the buffer. Return false on failure.
|
||||||
void enqueue_and_echo_commands_P(const char* cmd); //put one or many ASCII commands at the end of the current buffer, read from flash
|
void enqueue_and_echo_commands_P(const char * const cmd); // Set one or more commands to be prioritized over the next Serial/SD command.
|
||||||
void clear_command_queue();
|
void clear_command_queue();
|
||||||
|
|
||||||
extern millis_t previous_cmd_ms;
|
extern millis_t previous_cmd_ms;
|
||||||
|
|
|
@ -795,39 +795,6 @@ inline void echo_command(const char* cmd) {
|
||||||
SERIAL_EOL;
|
SERIAL_EOL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Shove a command in RAM to the front of the main command queue.
|
|
||||||
* Return true if the command is successfully added.
|
|
||||||
*/
|
|
||||||
inline bool _shovecommand(const char* cmd, bool say_ok=false) {
|
|
||||||
if (*cmd == ';' || commands_in_queue >= BUFSIZE) return false;
|
|
||||||
cmd_queue_index_r = (cmd_queue_index_r + BUFSIZE - 1) % BUFSIZE; // Index of the previous slot
|
|
||||||
commands_in_queue++;
|
|
||||||
strcpy(command_queue[cmd_queue_index_r], cmd);
|
|
||||||
send_ok[cmd_queue_index_r] = say_ok;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Shove a command to the front of the queue with Serial Echo
|
|
||||||
* Return true if the command is successfully added.
|
|
||||||
*/
|
|
||||||
bool shove_and_echo_command(const char* cmd, bool say_ok=false) {
|
|
||||||
if (_shovecommand(cmd, say_ok)) {
|
|
||||||
echo_command(cmd);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Shove a command onto the front of the queue,
|
|
||||||
* and don't return until successful.
|
|
||||||
*/
|
|
||||||
void shove_and_echo_command_now(const char* cmd) {
|
|
||||||
while (!shove_and_echo_command(cmd)) idle();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Inject the next "immediate" command, when possible, onto the front of the queue.
|
* Inject the next "immediate" command, when possible, onto the front of the queue.
|
||||||
* Return true if any immediate commands remain to inject.
|
* Return true if any immediate commands remain to inject.
|
||||||
|
@ -840,7 +807,7 @@ static bool drain_injected_commands_P() {
|
||||||
cmd[sizeof(cmd) - 1] = '\0';
|
cmd[sizeof(cmd) - 1] = '\0';
|
||||||
while ((c = cmd[i]) && c != '\n') i++; // find the end of this gcode command
|
while ((c = cmd[i]) && c != '\n') i++; // find the end of this gcode command
|
||||||
cmd[i] = '\0';
|
cmd[i] = '\0';
|
||||||
if (shove_and_echo_command(cmd)) // success?
|
if (enqueue_and_echo_command(cmd)) // success?
|
||||||
injected_commands_P = c ? injected_commands_P + i + 1 : NULL; // next command or done
|
injected_commands_P = c ? injected_commands_P + i + 1 : NULL; // next command or done
|
||||||
}
|
}
|
||||||
return (injected_commands_P != NULL); // return whether any more remain
|
return (injected_commands_P != NULL); // return whether any more remain
|
||||||
|
|
|
@ -150,6 +150,8 @@
|
||||||
#error "ABL_GRID_POINTS is now ABL_GRID_MAX_POINTS_X and ABL_GRID_MAX_POINTS_Y. Please update your configuration."
|
#error "ABL_GRID_POINTS is now ABL_GRID_MAX_POINTS_X and ABL_GRID_MAX_POINTS_Y. Please update your configuration."
|
||||||
#elif defined(ABL_GRID_POINTS_X) || defined(ABL_GRID_POINTS_Y)
|
#elif defined(ABL_GRID_POINTS_X) || defined(ABL_GRID_POINTS_Y)
|
||||||
#error "ABL_GRID_POINTS_[XY] is now ABL_GRID_MAX_POINTS_[XY]. Please update your configuration."
|
#error "ABL_GRID_POINTS_[XY] is now ABL_GRID_MAX_POINTS_[XY]. Please update your configuration."
|
||||||
|
#elif defined(UBL_MESH_EDIT_ENABLED)
|
||||||
|
#error "UBL_MESH_EDIT_ENABLED is now UBL_G26_MESH_EDITING. Please update your configuration."
|
||||||
#elif defined(BEEPER)
|
#elif defined(BEEPER)
|
||||||
#error "BEEPER is now BEEPER_PIN. Please update your pins definitions."
|
#error "BEEPER is now BEEPER_PIN. Please update your pins definitions."
|
||||||
#elif defined(SDCARDDETECT)
|
#elif defined(SDCARDDETECT)
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
|
|
||||||
#include "MarlinConfig.h"
|
#include "MarlinConfig.h"
|
||||||
|
|
||||||
#if ENABLED(AUTO_BED_LEVELING_UBL) && ENABLED(UBL_G26_MESH_EDITING)
|
#if ENABLED(AUTO_BED_LEVELING_UBL)
|
||||||
//#include "vector_3.h"
|
//#include "vector_3.h"
|
||||||
//#include "qr_solve.h"
|
//#include "qr_solve.h"
|
||||||
|
|
||||||
|
|
|
@ -1034,7 +1034,7 @@
|
||||||
#define I2C_SLAVE_ADDRESS 0 // Set a value from 8 to 127 to act as a slave
|
#define I2C_SLAVE_ADDRESS 0 // Set a value from 8 to 127 to act as a slave
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add M43 command for pins info and testing
|
* Add M43, M44 and M45 commands for pins info and testing
|
||||||
*/
|
*/
|
||||||
//#define PINS_DEBUGGING
|
//#define PINS_DEBUGGING
|
||||||
|
|
||||||
|
|
|
@ -1034,7 +1034,7 @@
|
||||||
#define I2C_SLAVE_ADDRESS 0 // Set a value from 8 to 127 to act as a slave
|
#define I2C_SLAVE_ADDRESS 0 // Set a value from 8 to 127 to act as a slave
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add M43 command for pins info and testing
|
* Add M43, M44 and M45 commands for pins info and testing
|
||||||
*/
|
*/
|
||||||
//#define PINS_DEBUGGING
|
//#define PINS_DEBUGGING
|
||||||
|
|
||||||
|
|
|
@ -1034,7 +1034,7 @@
|
||||||
#define I2C_SLAVE_ADDRESS 0 // Set a value from 8 to 127 to act as a slave
|
#define I2C_SLAVE_ADDRESS 0 // Set a value from 8 to 127 to act as a slave
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add M43 command for pins info and testing
|
* Add M43, M44 and M45 commands for pins info and testing
|
||||||
*/
|
*/
|
||||||
//#define PINS_DEBUGGING
|
//#define PINS_DEBUGGING
|
||||||
|
|
||||||
|
|
|
@ -1017,7 +1017,7 @@
|
||||||
#define I2C_SLAVE_ADDRESS 0 // Set a value from 8 to 127 to act as a slave
|
#define I2C_SLAVE_ADDRESS 0 // Set a value from 8 to 127 to act as a slave
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add M43 command for pins info and testing
|
* Add M43, M44 and M45 commands for pins info and testing
|
||||||
*/
|
*/
|
||||||
//#define PINS_DEBUGGING
|
//#define PINS_DEBUGGING
|
||||||
|
|
||||||
|
|
|
@ -1047,7 +1047,7 @@
|
||||||
#define I2C_SLAVE_ADDRESS 0 // Set a value from 8 to 127 to act as a slave
|
#define I2C_SLAVE_ADDRESS 0 // Set a value from 8 to 127 to act as a slave
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add M43 command for pins info and testing
|
* Add M43, M44 and M45 commands for pins info and testing
|
||||||
*/
|
*/
|
||||||
//#define PINS_DEBUGGING
|
//#define PINS_DEBUGGING
|
||||||
|
|
||||||
|
|
|
@ -1034,7 +1034,7 @@
|
||||||
#define I2C_SLAVE_ADDRESS 0 // Set a value from 8 to 127 to act as a slave
|
#define I2C_SLAVE_ADDRESS 0 // Set a value from 8 to 127 to act as a slave
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add M43 command for pins info and testing
|
* Add M43, M44 and M45 commands for pins info and testing
|
||||||
*/
|
*/
|
||||||
//#define PINS_DEBUGGING
|
//#define PINS_DEBUGGING
|
||||||
|
|
||||||
|
|
|
@ -1034,7 +1034,7 @@
|
||||||
#define I2C_SLAVE_ADDRESS 0 // Set a value from 8 to 127 to act as a slave
|
#define I2C_SLAVE_ADDRESS 0 // Set a value from 8 to 127 to act as a slave
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add M43 command for pins info and testing
|
* Add M43, M44 and M45 commands for pins info and testing
|
||||||
*/
|
*/
|
||||||
//#define PINS_DEBUGGING
|
//#define PINS_DEBUGGING
|
||||||
|
|
||||||
|
|
|
@ -1034,7 +1034,7 @@
|
||||||
#define I2C_SLAVE_ADDRESS 0 // Set a value from 8 to 127 to act as a slave
|
#define I2C_SLAVE_ADDRESS 0 // Set a value from 8 to 127 to act as a slave
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add M43 command for pins info and testing
|
* Add M43, M44 and M45 commands for pins info and testing
|
||||||
*/
|
*/
|
||||||
//#define PINS_DEBUGGING
|
//#define PINS_DEBUGGING
|
||||||
|
|
||||||
|
|
|
@ -1042,7 +1042,7 @@
|
||||||
#define I2C_SLAVE_ADDRESS 0 // Set a value from 8 to 127 to act as a slave
|
#define I2C_SLAVE_ADDRESS 0 // Set a value from 8 to 127 to act as a slave
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add M43 command for pins info and testing
|
* Add M43, M44 and M45 commands for pins info and testing
|
||||||
*/
|
*/
|
||||||
//#define PINS_DEBUGGING
|
//#define PINS_DEBUGGING
|
||||||
|
|
||||||
|
|
|
@ -918,7 +918,7 @@
|
||||||
#define UBL_PROBE_PT_2_Y 20
|
#define UBL_PROBE_PT_2_Y 20
|
||||||
#define UBL_PROBE_PT_3_X 180
|
#define UBL_PROBE_PT_3_X 180
|
||||||
#define UBL_PROBE_PT_3_Y 20
|
#define UBL_PROBE_PT_3_Y 20
|
||||||
#define UBL_MESH_EDIT_ENABLED // Enable G26 mesh editing
|
#define UBL_G26_MESH_EDITING // Enable G26 mesh editing
|
||||||
|
|
||||||
#elif ENABLED(MESH_BED_LEVELING)
|
#elif ENABLED(MESH_BED_LEVELING)
|
||||||
|
|
||||||
|
|
|
@ -1034,7 +1034,7 @@
|
||||||
#define I2C_SLAVE_ADDRESS 0 // Set a value from 8 to 127 to act as a slave
|
#define I2C_SLAVE_ADDRESS 0 // Set a value from 8 to 127 to act as a slave
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add M43 command for pins info and testing
|
* Add M43, M44 and M45 commands for pins info and testing
|
||||||
*/
|
*/
|
||||||
//#define PINS_DEBUGGING
|
//#define PINS_DEBUGGING
|
||||||
|
|
||||||
|
|
|
@ -1039,7 +1039,7 @@
|
||||||
#define I2C_SLAVE_ADDRESS 0 // Set a value from 8 to 127 to act as a slave
|
#define I2C_SLAVE_ADDRESS 0 // Set a value from 8 to 127 to act as a slave
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add M43 command for pins info and testing
|
* Add M43, M44 and M45 commands for pins info and testing
|
||||||
*/
|
*/
|
||||||
//#define PINS_DEBUGGING
|
//#define PINS_DEBUGGING
|
||||||
|
|
||||||
|
|
|
@ -1036,7 +1036,7 @@
|
||||||
#define I2C_SLAVE_ADDRESS 0 // Set a value from 8 to 127 to act as a slave
|
#define I2C_SLAVE_ADDRESS 0 // Set a value from 8 to 127 to act as a slave
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add M43 command for pins info and testing
|
* Add M43, M44 and M45 commands for pins info and testing
|
||||||
*/
|
*/
|
||||||
//#define PINS_DEBUGGING
|
//#define PINS_DEBUGGING
|
||||||
|
|
||||||
|
|
|
@ -1036,7 +1036,7 @@
|
||||||
#define I2C_SLAVE_ADDRESS 0 // Set a value from 8 to 127 to act as a slave
|
#define I2C_SLAVE_ADDRESS 0 // Set a value from 8 to 127 to act as a slave
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add M43 command for pins info and testing
|
* Add M43, M44 and M45 commands for pins info and testing
|
||||||
*/
|
*/
|
||||||
//#define PINS_DEBUGGING
|
//#define PINS_DEBUGGING
|
||||||
|
|
||||||
|
|
|
@ -1041,7 +1041,7 @@
|
||||||
#define I2C_SLAVE_ADDRESS 0 // Set a value from 8 to 127 to act as a slave
|
#define I2C_SLAVE_ADDRESS 0 // Set a value from 8 to 127 to act as a slave
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add M43 command for pins info and testing
|
* Add M43, M44 and M45 commands for pins info and testing
|
||||||
*/
|
*/
|
||||||
//#define PINS_DEBUGGING
|
//#define PINS_DEBUGGING
|
||||||
|
|
||||||
|
|
|
@ -1036,7 +1036,7 @@
|
||||||
#define I2C_SLAVE_ADDRESS 0 // Set a value from 8 to 127 to act as a slave
|
#define I2C_SLAVE_ADDRESS 0 // Set a value from 8 to 127 to act as a slave
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add M43 command for pins info and testing
|
* Add M43, M44 and M45 commands for pins info and testing
|
||||||
*/
|
*/
|
||||||
//#define PINS_DEBUGGING
|
//#define PINS_DEBUGGING
|
||||||
|
|
||||||
|
|
|
@ -1034,7 +1034,7 @@
|
||||||
#define I2C_SLAVE_ADDRESS 0 // Set a value from 8 to 127 to act as a slave
|
#define I2C_SLAVE_ADDRESS 0 // Set a value from 8 to 127 to act as a slave
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add M43 command for pins info and testing
|
* Add M43, M44 and M45 commands for pins info and testing
|
||||||
*/
|
*/
|
||||||
//#define PINS_DEBUGGING
|
//#define PINS_DEBUGGING
|
||||||
|
|
||||||
|
|
|
@ -1034,7 +1034,7 @@
|
||||||
#define I2C_SLAVE_ADDRESS 0 // Set a value from 8 to 127 to act as a slave
|
#define I2C_SLAVE_ADDRESS 0 // Set a value from 8 to 127 to act as a slave
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add M43 command for pins info and testing
|
* Add M43, M44 and M45 commands for pins info and testing
|
||||||
*/
|
*/
|
||||||
//#define PINS_DEBUGGING
|
//#define PINS_DEBUGGING
|
||||||
|
|
||||||
|
|
|
@ -1141,16 +1141,16 @@ void Planner::_buffer_line(const float &a, const float &b, const float &c, const
|
||||||
|
|
||||||
// Limit acceleration per axis
|
// Limit acceleration per axis
|
||||||
if (block->step_event_count <= cutoff_long) {
|
if (block->step_event_count <= cutoff_long) {
|
||||||
LIMIT_ACCEL_LONG(X_AXIS,0);
|
LIMIT_ACCEL_LONG(X_AXIS, 0);
|
||||||
LIMIT_ACCEL_LONG(Y_AXIS,0);
|
LIMIT_ACCEL_LONG(Y_AXIS, 0);
|
||||||
LIMIT_ACCEL_LONG(Z_AXIS,0);
|
LIMIT_ACCEL_LONG(Z_AXIS, 0);
|
||||||
LIMIT_ACCEL_LONG(E_AXIS,ACCEL_IDX);
|
LIMIT_ACCEL_LONG(E_AXIS, ACCEL_IDX);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
LIMIT_ACCEL_FLOAT(X_AXIS,0);
|
LIMIT_ACCEL_FLOAT(X_AXIS, 0);
|
||||||
LIMIT_ACCEL_FLOAT(Y_AXIS,0);
|
LIMIT_ACCEL_FLOAT(Y_AXIS, 0);
|
||||||
LIMIT_ACCEL_FLOAT(Z_AXIS,0);
|
LIMIT_ACCEL_FLOAT(Z_AXIS, 0);
|
||||||
LIMIT_ACCEL_FLOAT(E_AXIS,ACCEL_IDX);
|
LIMIT_ACCEL_FLOAT(E_AXIS, ACCEL_IDX);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
block->acceleration_steps_per_s2 = accel;
|
block->acceleration_steps_per_s2 = accel;
|
||||||
|
@ -1256,6 +1256,7 @@ void Planner::_buffer_line(const float &a, const float &b, const float &c, const
|
||||||
v_exit *= v_factor;
|
v_exit *= v_factor;
|
||||||
v_entry *= v_factor;
|
v_entry *= v_factor;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Calculate jerk depending on whether the axis is coasting in the same direction or reversing.
|
// Calculate jerk depending on whether the axis is coasting in the same direction or reversing.
|
||||||
const float jerk = (v_exit > v_entry)
|
const float jerk = (v_exit > v_entry)
|
||||||
? // coasting axis reversal
|
? // coasting axis reversal
|
||||||
|
|
Loading…
Reference in a new issue