|
|
@ -115,24 +115,29 @@ |
|
|
|
* Y # Y coordinate Specify the starting location of the drawing activity. |
|
|
|
*/ |
|
|
|
|
|
|
|
// External references
|
|
|
|
|
|
|
|
extern float feedrate; |
|
|
|
extern Planner planner; |
|
|
|
//#if ENABLED(ULTRA_LCD)
|
|
|
|
#if ENABLED(ULTRA_LCD) |
|
|
|
extern char lcd_status_message[]; |
|
|
|
//#endif
|
|
|
|
#endif |
|
|
|
extern float destination[XYZE]; |
|
|
|
extern void set_destination_to_current(); |
|
|
|
extern void set_current_to_destination(); |
|
|
|
extern float code_value_float(); |
|
|
|
extern bool code_value_bool(); |
|
|
|
extern bool code_has_value(); |
|
|
|
extern void lcd_init(); |
|
|
|
extern void lcd_setstatuspgm(const char* const message, const uint8_t level); |
|
|
|
#define PLANNER_XY_FEEDRATE() (min(planner.max_feedrate_mm_s[X_AXIS], planner.max_feedrate_mm_s[Y_AXIS])) //bob
|
|
|
|
void set_destination_to_current(); |
|
|
|
void set_current_to_destination(); |
|
|
|
float code_value_float(); |
|
|
|
bool code_value_bool(); |
|
|
|
bool code_has_value(); |
|
|
|
void lcd_init(); |
|
|
|
void lcd_setstatuspgm(const char* const message, const uint8_t level); |
|
|
|
bool prepare_move_to_destination_cartesian(); |
|
|
|
void line_to_destination(); |
|
|
|
void line_to_destination(float); |
|
|
|
void sync_plan_position_e(); |
|
|
|
void chirp_at_user(); |
|
|
|
|
|
|
|
// Private functions
|
|
|
|
|
|
|
|
void un_retract_filament(float where[XYZE]); |
|
|
|
void retract_filament(float where[XYZE]); |
|
|
|
void look_for_lines_to_connect(); |
|
|
@ -141,17 +146,14 @@ |
|
|
|
void print_line_from_here_to_there(const float&, const float&, const float&, const float&, const float&, const float&); |
|
|
|
bool turn_on_heaters(); |
|
|
|
bool prime_nozzle(); |
|
|
|
void chirp_at_user(); |
|
|
|
|
|
|
|
static uint16_t circle_flags[16], horizontal_mesh_line_flags[16], vertical_mesh_line_flags[16], continue_with_closest = 0; |
|
|
|
float g26_e_axis_feedrate = 0.020, |
|
|
|
random_deviation = 0.0, |
|
|
|
layer_height = LAYER_HEIGHT; |
|
|
|
|
|
|
|
bool g26_retracted = false; // We keep track of the state of the nozzle to know if it
|
|
|
|
// is currently retracted or not. This allows us to be
|
|
|
|
// less careful because mis-matched retractions and un-retractions
|
|
|
|
// won't leave us in a bad state.
|
|
|
|
static bool g26_retracted = false; // Track the retracted state of the nozzle so mismatched
|
|
|
|
// retracts/recovers won't result in a bad state.
|
|
|
|
|
|
|
|
float valid_trig_angle(float); |
|
|
|
mesh_index_pair find_closest_circle_to_print(const float&, const float&); |
|
|
@ -166,9 +168,9 @@ |
|
|
|
hotend_temp = HOTEND_TEMP, |
|
|
|
ooze_amount = OOZE_AMOUNT; |
|
|
|
|
|
|
|
int8_t prime_flag = 0; |
|
|
|
static int8_t prime_flag = 0; |
|
|
|
|
|
|
|
bool keep_heaters_on = false; |
|
|
|
static bool keep_heaters_on = false; |
|
|
|
|
|
|
|
/**
|
|
|
|
* G26: Mesh Validation Pattern generation. |
|
|
|