Prusa MINI Firmware overview
|
Go to the documentation of this file.
280 #include "../inc/MarlinConfig.h"
283 #if ENABLED(I2C_POSITION_ENCODERS)
284 #include "../feature/I2CPositionEncoder.h"
313 #if ENABLED(CNC_WORKSPACE_PLANES)
318 enum WorkspacePlane :
char { PLANE_XY, PLANE_ZX, PLANE_YZ };
319 static WorkspacePlane workspace_plane;
322 #define MAX_COORDINATE_SYSTEMS 9
323 #if ENABLED(CNC_COORDINATE_SYSTEMS)
324 static int8_t active_coordinate_system;
326 static bool select_coordinate_system(
const int8_t _new);
345 #if ENABLED(HOST_KEEPALIVE_FEATURE)
350 enum MarlinBusyState :
char {
358 static MarlinBusyState busy_state;
359 static uint8_t host_keepalive_interval;
361 static void host_keepalive();
363 #define KEEPALIVE_STATE(N) REMEMBER(_KA_, gcode.busy_state, gcode.N)
365 #define KEEPALIVE_STATE(N) NOOP
373 #
if IS_SCARA || defined(G0_FEEDRATE)
374 const bool fast_move=
false
378 #if ENABLED(ARC_SUPPORT)
379 static void G2_G3(
const bool clockwise);
384 #if ENABLED(BEZIER_CURVE_SUPPORT)
388 #if ENABLED(FWRETRACT)
393 #if ENABLED(NOZZLE_CLEAN_FEATURE)
397 #if ENABLED(CNC_WORKSPACE_PLANES)
403 #if ENABLED(INCH_MODE_SUPPORT)
408 #if ENABLED(G26_MESH_VALIDATION)
412 #if ENABLED(NOZZLE_PARK_FEATURE)
416 static void G28(
const bool always_home_all);
419 #if ENABLED(G29_RETRY_AND_RECOVER)
420 static void G29_with_retry();
421 #define G29_TYPE bool
423 #define G29_TYPE void
430 #if ENABLED(Z_PROBE_SLED)
436 #if ENABLED(DELTA_AUTO_CALIBRATION)
440 #if ENABLED(Z_STEPPER_AUTO_ALIGN)
445 #if ENABLED(G38_PROBE_TARGET)
446 static void G38(
const int8_t subcode);
453 #if ENABLED(CNC_COORDINATE_SYSTEMS)
463 #if ENABLED(GCODE_MOTION_MODES)
469 #if ENABLED(CALIBRATION_GCODE)
473 #if HAS_RESUME_CONTINUE
478 static void M3_M4(
const bool is_M4);
482 #if ENABLED(COOLANT_CONTROL)
483 #if ENABLED(COOLANT_MIST)
486 #if ENABLED(COOLANT_FLOOD)
492 #if ENABLED(EXTERNAL_CLOSED_LOOP_CONTROLLER)
496 #if ENABLED(EXPECTED_PRINTER_CHECK)
502 static void M18_M84();
504 #if ENABLED(SDSUPPORT)
520 #if ENABLED(SDSUPPORT)
522 #if ENABLED(LONG_FILENAME_HOST_SUPPORT)
525 #if BOTH(SDCARD_SORT_ALPHA, SDSORT_GCODE)
532 #if ENABLED(PINS_DEBUGGING)
536 #if ENABLED(Z_MIN_PROBE_REPEATABILITY_TEST)
540 #if ENABLED(LCD_SET_PROGRESS_MANUALLY)
544 #if ENABLED(M73_PRUSA)
545 static void M73_PE();
552 #if ENABLED(PRINTCOUNTER)
567 #if ENABLED(M100_FREE_MEMORY_WATCHER)
583 #if DISABLED(EMERGENCY_PARSER)
587 #if ENABLED(HOST_PROMPT_SUPPORT)
595 #if ENABLED(HOST_KEEPALIVE_FEATURE)
607 #if ENABLED(PARK_HEAD_ON_PAUSE)
611 #if ENABLED(BARICUDA)
627 #if HAS_HEATED_CHAMBER
632 #if HOTENDS && HAS_LCD_MENU
636 #if ENABLED(TEMPERATURE_UNITS_SUPPORT)
644 #if ENABLED(AUTO_REPORT_TEMPERATURES) && HAS_TEMP_SENSOR
648 #if ENABLED(MIXING_EXTRUDER)
651 #if ENABLED(DIRECT_MIXING_IN_G1)
654 #if ENABLED(GRADIENT_MIX)
674 #if ENABLED(FWRETRACT)
677 #if ENABLED(FWRETRACT_AUTORETRACT)
688 #if HAS_HOTEND_OFFSET
700 #if ENABLED(PHOTO_GCODE)
708 #if ENABLED(EXPERIMENTAL_I2CBUS)
715 #if ENABLED(EDITABLE_SERVO_ANGLES)
720 #if ENABLED(BABYSTEPPING)
732 #if ENABLED(PREVENT_COLD_EXTRUSION)
740 #if ENABLED(PIDTEMPBED)
744 #if HAS_USER_THERMISTORS
757 #if ENABLED(MORGAN_SCARA)
765 #if EITHER(EXT_SOLENOID, MANUAL_SOLENOID_CONTROL)
777 #if ENABLED(PRUSA_MMU2)
781 #if ENABLED(FILAMENT_WIDTH_SENSOR)
788 #if HAS_FILAMENT_SENSOR
797 #if ENABLED(BACKLASH_GCODE)
808 #if DISABLED(DISABLE_M503)
811 #if ENABLED(EEPROM_SETTINGS)
815 #if ENABLED(SDSUPPORT)
819 #if ENABLED(SD_ABORT_ON_ENDSTOP_HIT)
823 #if ENABLED(BAUD_RATE_GCODE)
827 #if ENABLED(ADVANCED_PAUSE_FEATURE)
832 #if HAS_DUPLICATION_MODE
840 #if ENABLED(DELTA) || HAS_EXTRA_ENDSTOPS
844 #if ENABLED(FILAMENT_LOAD_UNLOAD_GCODES)
849 #if ENABLED(GCODE_MACROS)
850 static void M810_819();
857 #if ENABLED(SKEW_CORRECTION_GCODE)
861 #if ENABLED(I2C_POSITION_ENCODERS)
874 #if ENABLED(LIN_ADVANCE)
884 #if ENABLED(MONITOR_DRIVER_STATUS)
888 #if ENABLED(HYBRID_THRESHOLD)
896 #if HAS_DRIVER(L6470)
904 #if HAS_DIGIPOTSS || HAS_MOTOR_CURRENT_PWM || EITHER(DIGIPOT_I2C, DAC_STEPPER_CURRENT)
906 #if HAS_DIGIPOTSS || ENABLED(DAC_STEPPER_CURRENT)
908 #if ENABLED(DAC_STEPPER_CURRENT)
915 #if ENABLED(SDSUPPORT)
919 #if ENABLED(MAGNETIC_PARKING_EXTRUDER)
923 #if ENABLED(PLATFORM_M997_SUPPORT)
929 #if ENABLED(POWER_LOSS_RECOVERY)
934 #if ENABLED(MAX7219_GCODE)
938 static void T(
const uint8_t tool_index);
float delta_clip_start_height
void enable_solenoid(const uint8_t num)
Definition: solenoid.cpp:75
#define WITHIN(N, L, H)
Definition: macros.h:195
#define PENDING(NOW, SOON)
Definition: millis_t.h:28
T z
Definition: types.h:286
void enable_solenoid_on_active_extruder()
Definition: solenoid.cpp:77
#define GET_TEXT(MSG)
Definition: multi_language.h:72
static void set_max_jerk(const AxisEnum axis, float targetValue)
Definition: planner.cpp:2855
#define RAW_Y_POSITION(POS)
Definition: motion.h:282
void incremental_LSF(struct linear_fit_data *lsf, const float &x, const float &y, const float &z)
Definition: least_squares_fit.h:72
static void set_color(const LEDColor &color)
#define SERIAL_CHAR(x)
Definition: serial.h:69
#define Y_MIN_POS
Definition: Configuration_A3ides_2209_MINI.h:985
#define MIXING_VIRTUAL_TOOLS
Definition: mixing.h:47
FI XYval< float > asFloat()
Definition: types.h:201
char * _sbrk(int incr)
Definition: syscalls.c:105
static FORCE_INLINE void _reset()
Definition: bltouch.h:77
#define MSG_DEBUG_COMMUNICATION
Definition: language.h:307
float delta_segments_per_second
#define NOLESS(v, n)
Definition: macros.h:127
constexpr uint16_t NUM_DIGITAL_PINS
Definition: pinmapping.h:32
static void enable(const bool ena)
Definition: filwidth.h:43
#define SET_BIT_TO(N, B, TF)
Definition: macros.h:82
#define PORT_REDIRECT(p)
Definition: serial.h:66
T a
Definition: types.h:287
#define X_CENTER
Definition: Conditionals_post.h:76
float D
Definition: least_squares_fit.h:40
#define sq(x)
Definition: wiring_constants.h:83
T z
Definition: types.h:383
static void synchronize()
Definition: planner.cpp:1556
void enable_e_steppers()
Definition: Marlin.cpp:279
void dac_current_raw(uint8_t channel, uint16_t val)
void host_action_prompt_end()
Definition: marlin_server.cpp:1047
#define MSG_Z_MOVE_COMP
Definition: language.h:180
#define FAN1_PIN
Definition: pins_AZSMZ_MINI.h:87
xyz_pos_t max
Definition: motion.h:139
static void set_e_relative()
Definition: gcode.h:304
#define SERIAL_ECHO(x)
Definition: serial.h:70
#define MACHINE_NAME
Definition: Version.h:76
#define MakeLEDColor(R, G, B, W, I)
Definition: leds.h:124
static FORCE_INLINE bool hotEnoughToExtrude(const uint8_t e)
Definition: temperature.h:318
uint8_t marlin_debug_flags
Definition: serial.cpp:26
void print_xyz(const float &x, const float &y, const float &z, PGM_P const prefix, PGM_P const suffix)
Definition: serial.cpp:70
static uint16_t get_status(const uint8_t axis)
static float index_to_xpos[GRID_MAX_POINTS_X]
Definition: mesh_bed_leveling.h:43
void randomSeed(uint32_t dwSeed)
Definition: WMath.cpp:25
#define OUT_WRITE(IO, V)
Definition: fastio.h:108
uint16_t ptr_int_t
Definition: hex_print_routines.h:46
static void adjust_mesh_to_mean(const bool cflag, const float value)
static void set_enabled(const bool enable)
Definition: spindle_laser.h:58
feedRate_t min_feedrate_mm_s
Definition: planner.h:186
static void process_subcommands_now_P(PGM_P pgcode)
Definition: gcode.cpp:859
static void flush_and_request_resend()
Definition: queue.cpp:268
static void process_parsed_command(const bool no_ok=false)
Definition: gcode.cpp:195
#define MSG_DEBUG_DRYRUN
Definition: language.h:306
T x
Definition: types.h:286
#define G29_RETURN(b)
Definition: G29.cpp:79
void report_M92(const bool echo=true, const int8_t e=-1)
Definition: M92.cpp:26
#define DEPLOY_PROBE()
Definition: probe.h:60
void _delay_ms(int delay)
Definition: HAL.h:143
const char * strchr_P(const char *s, int c)
Definition: Marduino.h:57
static matrix_3x3 create_look_at(const vector_3 &target)
Definition: vector_3.cpp:114
xyz_pos_t min
Definition: motion.h:139
static job_recovery_info_t info
Definition: power_loss_recovery.h:111
#define MSG_DEBUG_INFO
Definition: language.h:304
static bool exists()
Definition: power_loss_recovery.h:145
void disable_e_steppers()
Definition: Marlin.cpp:293
feedRate_t max_feedrate_mm_s[XYZE_N]
Definition: planner.h:182
constexpr xyz_pos_t probe_offset
Definition: probe.h:58
static int8_t get_target_extruder_from_command()
Definition: gcode.cpp:79
static void ok_to_send()
Definition: queue.cpp:242
#define NEAR_ZERO(x)
Definition: macros.h:270
static matrix_3x3 bed_level_matrix
Definition: planner.h:278
#define MYSERIAL0
Definition: HAL.h:89
FI void reset()
Definition: types.h:294
static volatile bool spi_abort
Definition: L6470_Marlin.h:44
#define PROGMEM
Definition: pgmspace.h:29
void print_hex_address(const void *const w)
Definition: hex_print_routines.cpp:79
Definition: L6470_Marlin.h:30
Definition: L6470_Marlin.h:30
GCodeQueue queue
Definition: queue.cpp:28
#define FAN2_PIN
Definition: pins_CHEAPTRONICv2.h:92
MarlinSettings settings
Definition: configuration_store.cpp:344
#define LOW
Definition: wiring_constants.h:70
#define PR_OUTER_VAR
Definition: G29.cpp:69
static void display_map(const int) _O0
bool pin_is_protected(const pin_t pin)
Definition: Marlin.cpp:258
#define PR_INNER_VAR
Definition: G29.cpp:71
#define RECIPROCAL(x)
Definition: macros.h:273
void digipot_i2c_set_current(const uint8_t channel, const float current)
list gcode
Definition: g29_auto.py:44
#define INPUT_PULLUP
Definition: wiring_constants.h:48
#define DEBUG_EOL()
Definition: debug_out.h:86
static constexpr uint8_t correction
Definition: backlash.h:41
#define DEBUG_ECHOLNPGM(...)
Definition: debug_out.h:79
millis_t stepper_inactive_time
Definition: Marlin.cpp:197
void enable_all_steppers()
Definition: Marlin.cpp:283
#define MSG_DEBUG_OFF
Definition: language.h:302
void host_prompt_do(const PromptReason type, const char *const pstr, const char *const pbtn)
Definition: marlin_server.cpp:1103
#define IS_SD_PRINTING()
Definition: cardreader.h:295
Stepper stepper
Definition: stepper.cpp:82
void remember_feedrate_scaling_off()
Definition: motion.cpp:475
float retract_acceleration
Definition: planner.h:183
#define MSG_SKEW_MIN
Definition: language.h:201
#define _MAX(V...)
Definition: macros.h:346
static float get_axis_position_mm(const AxisEnum axis)
Definition: planner.cpp:1526
static uint32_t max_acceleration_steps_per_s2[XYZE_N]
Definition: planner.h:253
void do_blocking_move_to_z(const float &rz, const feedRate_t &fr_mm_s)
Definition: motion.cpp:450
void incremental_LSF_reset(struct linear_fit_data *lsf)
Definition: least_squares_fit.h:47
Stopwatch print_job_timer
Definition: printcounter.cpp:63
static bool leveling_active
Definition: planner.h:276
#define SERIAL_ECHOPAIR(V...)
Definition: serial.h:114
static int8_t probe_index_x(const float &x)
Definition: mesh_bed_leveling.h:88
uint8_t type
Definition: UsbCore.h:184
void do_blocking_move_to_xy(const float &rx, const float &ry, const feedRate_t &fr_mm_s)
Definition: motion.cpp:454
start
Definition: g29_auto.py:150
Definition: L6470_Marlin.h:30
HAL_SERVO_LIB servo[NUM_SERVOS]
#define extDigitalRead(IO)
Definition: fastio.h:92
vector_3 get_normal() const
Definition: vector_3.cpp:61
static void zigzag(const int8_t index, int8_t &px, int8_t &py)
Definition: mesh_bed_leveling.h:63
#define Z_HOME_DIR
Definition: Configuration_A3ides_2209_MINI.h:975
static void calculate_volumetric_multipliers()
#define disable_Z()
Definition: Marlin.h:143
#define MSG_ERR_MESH_XY
Definition: language.h:206
static FORCE_INLINE void validate_homing_move()
Definition: endstops.h:144
static FORCE_INLINE void set_z2_lock(const bool state)
Definition: stepper.h:422
char * dtostrf(double __val, signed char __width, unsigned char __prec, char *__s)
static void error_status_decode(const uint16_t status, const uint8_t axis)
#define PGM_P
Definition: pgmspace.h:30
T e
Definition: types.h:383
static FORCE_INLINE void set_collector(const uint8_t c, const float f)
Definition: mixing.h:106
void set_axis_is_at_home(const AxisEnum axis)
Definition: motion.cpp:1361
#define G26_CLICK_CAN_CANCEL
Definition: temperature.h:155
I2CPositionEncodersMgr I2CPEM
#define HYPOT2(x, y)
Definition: macros.h:100
void print_hex_byte(const uint8_t b)
Definition: hex_print_routines.cpp:77
#define MSG_BUSY_PAUSED_FOR_INPUT
Definition: language.h:179
uint8_t i
Definition: screen_test_graph.c:72
#define SERIAL_ECHOLNPAIR_F(V...)
Definition: serial.h:177
static int8_t storage_slot
Definition: ubl.h:106
#define _MIN(V...)
Definition: macros.h:333
#define STRINGIFY(M)
Definition: macros.h:73
Definition: L6470_Marlin.h:30
#define L6470_ERROR_MASK
Definition: L6470_Marlin.h:32
static millis_t previous_move_ms
Definition: gcode.h:329
#define max(a, b)
Definition: wiring_constants.h:40
static volatile fsensor_t state
Definition: filament_sensor.c:23
#define FIL_RUNOUT2_PIN
Definition: pins_GT2560_V3.h:83
pin_t GET_PIN_MAP_PIN(const int16_t ind)
static void enable(const bool onoff=true)
Definition: endstops.cpp:291
#define unscalePID_d(d)
Definition: temperature.h:152
AxisEnum
Definition: types.h:36
#define disable_Y()
Definition: Marlin.h:104
xyze_pos_t destination
Definition: motion.cpp:110
#define BED_MAXTEMP
Definition: Configuration_A3ides_2209_MINI.h:396
void kill(PGM_P const lcd_error, PGM_P const lcd_component, const bool steppers_off)
Definition: Marlin.cpp:718
static void led_toggle(const uint8_t x, const uint8_t y)
uint32_t millis(void)
Definition: wiring_time.c:29
#define SUICIDE_PIN
Definition: pins_GT2560_REV_A.h:95
static bool has_any_measurement()
Definition: backlash.h:80
#define enable_Z()
Definition: Marlin.h:142
void protected_pin_err()
Definition: Marlin.cpp:268
#define CIRCLE_AREA(R)
Definition: macros.h:102
#define SET_OUTPUT(IO)
Definition: fastio.h:101
static uint8_t queue_index_r
Queue index of the active command.
Definition: power_loss_recovery.h:113
Definition: least_squares_fit.h:39
#define LIMIT(v, n1, n2)
Definition: macros.h:139
#define NEAR(x, y)
Definition: macros.h:271
xy_float_t xy_pos_t
Definition: types.h:159
#define PLANNER_XY_FEEDRATE()
Definition: planner.h:969
#define __bss_end
Definition: HAL.h:147
#define DEBUG_ECHOLNPAIR(...)
Definition: debug_out.h:82
PrintJobRecovery recovery
#define SERIAL_ECHO_START()
Definition: serial.h:179
static bool stop()
Stop the stopwatch.
Definition: stopwatch.cpp:36
millis_t max_inactive_time
Definition: Marlin.cpp:196
#define SERIAL_ECHOLN(x)
Definition: serial.h:72
#define DEBUG_ECHO_START()
Definition: debug_out.h:72
#define MSG_ERR_M420_FAILED
Definition: language.h:209
float B
Definition: least_squares_fit.h:40
float feedRate_t
Definition: types.h:80
Definition: L6470_Marlin.h:30
#define sprintf_P(s,...)
Definition: pgmspace.h:72
static FORCE_INLINE void _stow()
Definition: bltouch.h:89
FI void set(const T px)
Definition: types.h:290
bool soft_endstops_enabled
Definition: motion.cpp:486
#define SERIAL_ECHO_SP(C)
Definition: serial.h:186
void set_closedloop(const byte val)
#define KEEPALIVE_STATE(N)
Definition: gcode.h:365
#define pgm_read_ptr(addr)
Definition: pgmspace.h:113
bool extruder_duplication_enabled
Definition: motion.cpp:876
bool PWM_PIN(const pin_t p)
const float yz
Definition: planner.h:206
#define MSG_ZPROBE_OUT_SER
Definition: language.h:298
#define strlen_P(s)
Definition: pgmspace.h:61
static void report_mesh()
static void led_set(const uint8_t x, const uint8_t y, const bool on)
#define scalePID_d(d)
Definition: temperature.h:151
abc_float_t delta_endstop_adj
static bool save()
Definition: configuration_store.cpp:2198
static void reset()
Definition: configuration_store.cpp:2208
AxisRelative
Definition: gcode.h:287
static float z_values[GRID_MAX_POINTS_X][GRID_MAX_POINTS_Y]
Definition: mesh_bed_leveling.h:43
#define COOLANT_MIST_PIN
Definition: pins_RAMBO.h:159
FORCE_INLINE bool homing_needed()
Definition: motion.h:49
bool wait_for_user
Definition: Marlin.cpp:188
#define DEBUG_ECHOPGM(...)
Definition: debug_out.h:78
SpindleLaser cutter
Definition: spindle_laser.cpp:33
Definition: L6470_Marlin.h:30
bool Running
Definition: Marlin.cpp:181
#define strcpy_P(dest, src)
Definition: pgmspace.h:56
#define LINEAR_UNIT(V)
Definition: parser.h:299
#define MAX7219_LINES
Definition: Max7219_Debug_LEDs.h:53
#define X_MIN_POS
Definition: Configuration_A3ides_2209_MINI.h:984
#define NOMORE(v, n)
Definition: macros.h:133
end
Definition: createSpeedLookupTable.py:33
#define PR_INNER_END
Definition: G29.cpp:72
static FORCE_INLINE void _set_SW_mode()
Definition: bltouch.h:81
#define Z_MAX_POS
Definition: Configuration_A3ides_2209_MINI.h:989
#define SET_INPUT_PULLUP(IO)
Definition: fastio.h:100
#define MOVE_SERVO(I, P)
Definition: servo.h:93
void disable_all_solenoids()
Definition: solenoid.cpp:79
#define MSG_DEBUG_PREFIX
Definition: language.h:301
static const xyz_float_t distance_mm
Definition: backlash.h:42
#define RAW_Z_POSITION(POS)
Definition: motion.h:283
int8_t pin_t
Definition: HAL.h:65
#define ABS(a)
Definition: macros.h:266
static mesh_index_pair find_closest_mesh_point_of_type(const MeshPointType, const xy_pos_t &, const bool=false, MeshFlags *done_flags=nullptr) _O0
static void not_homing()
Definition: endstops.cpp:297
#define Y_CENTER
Definition: Conditionals_post.h:77
long random(long howbig)
Definition: WMath.cpp:31
#define MSG_BUSY_PAUSED_FOR_USER
Definition: language.h:178
#define E_AXIS_N(E)
Definition: Conditionals_LCD.h:454
FORCE_INLINE bool all_axes_known()
Definition: motion.h:45
#define MSG_INVALID_E_STEPPER
Definition: language.h:168
#define MSG_DEBUG_ECHO
Definition: language.h:303
#define ZERO(a)
Definition: macros.h:201
#define DIGIPOT_I2C_NUM_CHANNELS
Definition: Configuration_A3ides_2209_MINI_adv.h:700
static bool valid()
Definition: power_loss_recovery.h:167
static void refresh_positioning()
Definition: planner.cpp:2806
static char command_buffer[BUFSIZE][MAX_CMD_SIZE]
Definition: queue.h:54
void prepare_internal_move_to_destination(const feedRate_t &fr_mm_s=0.0f)
Definition: motion.h:186
#define FORCE_INLINE
Definition: macros.h:40
static void finish_and_disable()
Definition: planner.cpp:1517
#define Y_MAX_POS
Definition: Configuration_A3ides_2209_MINI.h:988
#define SERIAL_ECHO_MSG(S)
Definition: serial.h:183
T b
Definition: types.h:287
#define RADIANS(d)
Definition: macros.h:98
#define PSTR(str)
Definition: pgmspace.h:31
void set_bed_leveling_enabled(const bool enable=true)
static void set_e_absolute()
Definition: gcode.h:308
xyze_pos_t current_position
Definition: motion.cpp:102
bool case_light_on
Definition: caselight.cpp:28
int16_t feedrate_percentage
Definition: motion.cpp:139
Definition: L6470_Marlin.h:30
void recalc_delta_settings()
#define CASE_LIGHT_PIN
Definition: pins_GT2560_V3.h:144
FI void set(const T px)
Definition: types.h:189
#define COOLANT_FLOOD_PIN
Definition: pins_RAMBO.h:160
bool position_is_reachable(const float &rx, const float &ry)
Definition: motion.h:325
static void set_power(const cutter_power_t pwr)
Definition: spindle_laser.h:54
#define min(a, b)
Definition: wiring_constants.h:36
static void digipot_current(const uint8_t driver, const int16_t current)
Definition: stepper.cpp:2495
#define NUMBER_PINS_TOTAL
Definition: pinsDebug.h:27
Definition: mesh_bed_leveling.h:27
#define LROUND(x)
Definition: macros.h:285
#define Z_CLEARANCE_BETWEEN_PROBES
Definition: Configuration_A3ides_2209_MINI.h:893
Definition: L6470_Marlin.h:30
Definition: L6470_Marlin.h:30
#define RAW_X_POSITION(POS)
Definition: motion.h:281
static constexpr xyze_bool_t ar_init
Definition: gcode.cpp:53
#define LOGICAL_TO_NATIVE(POS, AXIS)
Definition: motion.h:270
void apply_rotation_xyz(const matrix_3x3 &matrix, float &_x, float &_y, float &_z)
Definition: vector_3.cpp:88
#define PR_OUTER_END
Definition: G29.cpp:70
static void set_direction(const bool)
Definition: spindle_laser.h:85
static FORCE_INLINE void report(const bool=false)
Definition: configuration_store.h:88
#define COUNT(a)
Definition: macros.h:200
void line_to_current_position(const feedRate_t &fr_mm_s)
Definition: motion.cpp:285
#define OUTPUT
Definition: wiring_constants.h:47
void set_current_from_steppers_for_axis(const AxisEnum axis)
Definition: motion.cpp:263
FilamentWidthSensor filwidth
#define MSG_DEBUG_ERRORS
Definition: language.h:305
void do_blocking_move_to(const float rx, const float ry, const float rz, const feedRate_t &fr_mm_s)
Definition: motion.cpp:344
Definition: mesh_bed_leveling.h:31
static float nominal_mm
Definition: filwidth.h:33
static uint8_t index_r
Definition: queue.h:51
static void set_directions()
Definition: stepper.cpp:354
void serialprintln_onoff(const bool onoff)
Definition: serial.cpp:58
void sync_plan_position()
Definition: motion.cpp:216
#define LOOP_L_N(VAR, N)
Definition: types.h:58
#define unscalePID_i(i)
Definition: temperature.h:150
#define LOOP_XYZ(VAR)
Definition: types.h:60
#define isnan
Definition: Arduino.h:55
float travel_acceleration
Definition: planner.h:183
Definition: mesh_bed_leveling.h:29
static void dwell(millis_t time)
Definition: gcode.cpp:149
GcodeSuite gcode
Definition: gcode.cpp:29
#define UNUSED_E(E)
Definition: Conditionals_LCD.h:455
#define FLOOR(x)
Definition: macros.h:284
float axis_steps_per_mm[XYZE_N]
Definition: planner.h:181
#define MSG_ERR_M421_PARAMETERS
Definition: language.h:204
#define MSG_HOTEND_OFFSET
Definition: language.h:217
xy_int_t bilinear_grid_spacing
#define DISABLED(V...)
Definition: macros.h:178
void sync_plan_position_e()
Definition: motion.cpp:221
static void home_all_axes()
Definition: gcode.h:343
void onMeshUpdate(const uint8_t xpos, const uint8_t ypos, const float zval)
Definition: marlin_server.cpp:945
FORCE_INLINE bool position_is_reachable_by_probe(const xy_int_t &pos)
Definition: motion.h:358
#define X_BED_SIZE
Definition: Configuration_A3ides_2209_MINI.h:980
#define INPUT
Definition: wiring_constants.h:46
void
Definition: png.h:1083
static float get_measurement(const AxisEnum a)
Definition: backlash.h:56
float probe_min_x()
Definition: probe.h:103
static bool axis_is_relative(const AxisEnum a)
Definition: gcode.h:294
FI XYZval< float > asLogical() const
Definition: types.h:307
static vector_3 cross(const vector_3 &a, const vector_3 &b)
Definition: vector_3.cpp:54
static void reset()
Definition: runout.h:76
void report_pin_state_extended(pin_t pin, bool ignore, bool extended=false, const char *start_string="")
Definition: pinsDebug.h:112
static FORCE_INLINE void _deploy()
Definition: bltouch.h:88
#define XY_PROBE_SPEED
Definition: Configuration_A3ides_2209_MINI.h:865
#define MSG_DEBUG_LEVELING
Definition: language.h:308
#define HEATER_0_MAXTEMP
Definition: Configuration_A3ides_2209_MINI.h:390
float acceleration
Definition: planner.h:183
T x
Definition: types.h:383
#define constrain(amt, low, high)
Definition: wiring_constants.h:79
uint8_t baricuda_valve_pressure
#define MSG_SOFT_ENDSTOPS
Definition: language.h:219
#define SERIAL_ECHO_F(V...)
Definition: serial.h:71
#define WRITE(IO, V)
Definition: fastio.h:96
uint32_t max_acceleration_mm_per_s2[XYZE_N]
Definition: planner.h:179
static void microstep_ms(const uint8_t driver, const int8_t ms1, const int8_t ms2, const int8_t ms3)
Definition: stepper.cpp:2701
#define SERIAL_ECHOPGM(S)
Definition: serial.h:173
#define Z_MIN_PROBE_ENDSTOP_INVERTING
Definition: Configuration_A3ides_2209_MINI.h:611
static void reset_acceleration_rates()
Definition: planner.cpp:2788
static void set_param(uint8_t axis, uint8_t param, uint32_t value)
#define HOST_ACTION_COMMANDS
Definition: Configuration_A3ides_2209_MINI_adv.h:2118
static bool buffer_line(const float &rx, const float &ry, const float &rz, const float &e, const feedRate_t &fr_mm_s, const uint8_t extruder, const float millimeters=0.0)
Definition: planner.cpp:2663
feedRate_t feedrate_mm_s
Definition: motion.cpp:138
int16_t GET_PIN_MAP_INDEX(const pin_t pin)
if(size<=((png_alloc_size_t) -1) - ob)
Definition: pngwrite.c:2176
static void set_z(const int8_t px, const int8_t py, const float &z)
Definition: mesh_bed_leveling.h:61
#define MSG_BUSY_PROCESSING
Definition: language.h:177
#define NUM_SERIAL
Definition: HAL.h:100
static void digitalPotWrite(const int16_t address, const int16_t value)
#define SERIAL_ECHOLNPAIR(V...)
Definition: serial.h:144
feedRate_t get_homing_bump_feedrate(const AxisEnum axis)
Definition: motion.cpp:1076
static bool get_user_input(uint8_t &driver_count, uint8_t axis_index[3], char axis_mon[3][3], float &position_max, float &position_min, float &final_feedrate, uint8_t &kval_hold, bool over_current_flag, uint8_t &OCD_TH_val, uint8_t &STALL_TH_val, uint16_t &over_current_threshold)
#define enable_X()
Definition: Marlin.h:76
list a
Definition: createSpeedLookupTable.py:29
#define enable_Y()
Definition: Marlin.h:103
#define HOTEND_LOOP()
Definition: Conditionals_LCD.h:436
#define _GET_MESH_X(I)
Definition: abl.h:43
#define scalePID_i(i)
Definition: temperature.h:149
static uint8_t brightness()
Definition: neopixel.h:114
float A
Definition: least_squares_fit.h:40
#define LED_PIN
Definition: pins_RAMPS_LINUX.h:208
void debug(PGM_P const title)
Definition: vector_3.cpp:139
float probe_max_x()
Definition: probe.h:104
#define MOTION_CONDITIONS
Definition: motion.h:233
static FORCE_INLINE void set_separate_multi_axis(const bool state)
Definition: stepper.h:410
uint8_t axis_known_position
Definition: motion.cpp:91
FI void set(const T px)
Definition: types.h:391
#define SQRT(x)
Definition: macros.h:281
T x
Definition: types.h:185
#define PHOTOGRAPH_PIN
Definition: pins_ELEFU_3.h:103
#define MIXER_STEPPER_LOOP(VAR)
Definition: mixing.h:68
#define M43_NEVER_TOUCH(Q)
Definition: pinsDebug.h:39
#define MSG_ERR_Z_HOMING_SER
Definition: language.h:245
#define FMOD(x, y)
Definition: macros.h:286
#define DEBUG_POS(...)
Definition: debug_out.h:87
static void disable_all_heaters()
Definition: temperature.cpp:1926
static float z2_endstop_adj
Definition: endstops.h:51
static void register_setup()
#define MSG_SKEW_MAX
Definition: language.h:202
FI XYval< int16_t > asInt()
Definition: types.h:197
float probe_min_y()
Definition: probe.h:105
const uint8_t[]
Definition: 404_html.c:3
static void normalize(const uint8_t tool_index)
uint8_t valid_head
Definition: power_loss_recovery.h:44
void update_case_light()
Definition: caselight.cpp:54
float bilinear_z_offset(const xy_pos_t &raw)
bool mirrored_duplication_mode
Definition: motion.cpp:876
void print_bilinear_leveling_grid()
static float z_offset
Definition: mesh_bed_leveling.h:43
bool axis_unhomed_error(uint8_t axis_bits)
Definition: motion.cpp:1054
const float xz
Definition: planner.h:206
static void set_relative_mode(const bool rel)
Definition: gcode.h:301
abc_float_t delta_tower_angle_trim
#define G29_TYPE
Definition: gcode.h:423
static void get_destination_from_command()
Definition: gcode.cpp:115
MeshLevelingState
Definition: mesh_bed_leveling.h:26
char * hex_byte(const uint8_t b)
Definition: hex_print_routines.cpp:38
#define HYPOT(x, y)
Definition: macros.h:287
static FORCE_INLINE void force_unapply_leveling(xyz_pos_t &raw)
Definition: planner.h:484
#define MSG_DUPLICATION_MODE
Definition: language.h:218
static void init(const bool set_voltage=false)
#define _BV(bit)
Definition: wiring_constants.h:99
Definition: L6470_Marlin.h:30
static bool mesh_is_valid()
Definition: ubl.h:300
#define E_STEPPERS
Definition: Conditionals_LCD.h:429
int finish_incremental_LSF(struct linear_fit_data *lsf)
Definition: least_squares_fit.cpp:43
void restore_stepper_drivers()
Definition: indirection.cpp:35
Definition: mesh_bed_leveling.h:30
#define DEBUG_ECHO(...)
Definition: debug_out.h:75
#define TEENSY_E2
Definition: fastio_AT90USB.h:383
static bool spi_active
Definition: L6470_Marlin.h:45
T y
Definition: types.h:286
void extrapolate_unprobed_bed_level()
static float steps_to_mm[XYZE_N]
Definition: planner.h:254
#define DEFAULT_NOMINAL_FILAMENT_DIA
Definition: Configuration_A3ides_2209_MINI.h:151
void delay(uint32_t ms)
Definition: wiring_time.c:42
static uint16_t cleaning_buffer_counter
Definition: planner.h:231
void print_bin(const uint16_t val)
Definition: serial.cpp:61
#define IS_SCARA
Definition: Conditionals_LCD.h:544
constexpr bool g29_in_progress
Definition: bedlevel.h:29
void inverse_kinematics(const xyz_pos_t &raw)
static float index_to_ypos[GRID_MAX_POINTS_Y]
Definition: mesh_bed_leveling.h:43
static void set_delay_cm(const uint8_t cm)
Definition: filwidth.h:45
#define SERIAL_ERROR_MSG(S)
Definition: serial.h:184
void restore_feedrate_and_scaling()
Definition: motion.cpp:479
FORCE_INLINE feedRate_t homing_feedrate(const AxisEnum a)
Definition: motion.h:93
#define X_MAX_POS
Definition: Configuration_A3ides_2209_MINI.h:987
#define disable_X()
Definition: Marlin.h:77
#define CBI(A, B)
Definition: macros.h:89
static void save(const bool force=false, const bool save_queue=true)
#define SERIAL_FLUSH()
Definition: serial.h:76
static FORCE_INLINE void T(const uint_fast8_t c)
Definition: mixing.h:113
#define Y_BED_SIZE
Definition: Configuration_A3ides_2209_MINI.h:981
constexpr xyz_pos_t hotend_offset[1]
Definition: motion.h:136
GcodeSuite gcode
Definition: g29_auto.py:44
static int read(struct _reent *_r, void *pv, char *pc, int n)
Definition: gcode_file.cpp:9
static uint32_t get_param(uint8_t axis, uint8_t param)
void dac_current_percent(uint8_t channel, float val)
#define ALL(V...)
Definition: macros.h:182
#define Z_MIN_PROBE_PIN
Definition: pins_RAMPS_LINUX.h:86
#define FAN0_PIN
Definition: pins_CNCONTROLS_15.h:67
#define MAX_COORDINATE_SYSTEMS
Definition: gcode.h:322
#define TEENSY_E3
Definition: fastio_AT90USB.h:384
#define SERIAL_ERROR_START()
Definition: serial.h:180
static void set_column(const uint8_t col, const uint32_t val)
#define EXTRUDERS
Definition: Configuration_A3ides_2209_MINI.h:148
void apply_motion_limits(xyz_pos_t &target)
Definition: motion.cpp:589
#define DEBUGGING(F)
Definition: serial.h:47
#define DEFAULT_KEEPALIVE_INTERVAL
Definition: Configuration_A3ides_2209_MINI.h:1356
void report_current_position()
Definition: motion.cpp:199
#define strncpy_P(a, b, n)
Definition: pgmspace.h:66
static status_t status
Definition: filament_sensor.c:37
#define Z_MIN_PIN
Definition: pins_ESP32.h:47
#define Z_HOMING_HEIGHT
Definition: Configuration_A3ides_2209_MINI.h:968
#define MSG_SOFT_MAX
Definition: language.h:221
static int8_t probe_index_y(const float &y)
Definition: mesh_bed_leveling.h:92
#define SERIAL_ECHOPAIR_F(S, V...)
Definition: serial.h:176
static void microstep_mode(const uint8_t driver, const uint8_t stepping)
Definition: stepper.cpp:2863
#define HIGH
Definition: wiring_constants.h:71
#define ARRAY_N(N, V...)
Definition: macros.h:227
Definition: L6470_Marlin.h:30
static FORCE_INLINE void reset_stepper_timeout()
Definition: gcode.h:330
static void enable_globally(const bool onoff=true)
Definition: endstops.cpp:285
#define MSG_SOFT_MIN
Definition: language.h:220
#define SERIAL_EOL()
Definition: serial.h:181
const float xy
Definition: planner.h:205
uint8_t baricuda_e_to_p_pressure
void serialprint_onoff(const bool onoff)
Definition: serial.cpp:57
uint8_t axes_need_homing(uint8_t axis_bits)
Definition: motion.cpp:1041
#define MSG_OFF
Definition: language.h:214
#define _GET_MESH_Y(J)
Definition: abl.h:44
static void microstep_readings()
Definition: stepper.cpp:2894
void quickstop_stepper()
Definition: Marlin.cpp:272
#define STOW_PROBE()
Definition: probe.h:61
#define DEBUG_ECHOPAIR(...)
Definition: debug_out.h:80
static int8_t get_target_e_stepper_from_command()
Definition: gcode.cpp:95
Definition: vector_3.h:47
static bool enabled
Definition: runout.h:53
static void set_zigzag_z(const int8_t index, const float &z)
Definition: mesh_bed_leveling.h:69
void pinMode(uint32_t ulPin, uint32_t ulMode)
Definition: wiring_digital.c:22
#define TEST(n, b)
Definition: macros.h:81
static uint8_t axis_relative
Definition: gcode.h:292
int
Definition: createSpeedLookupTable.py:15
#define MMM_TO_MMS(MM_M)
Definition: types.h:83
constexpr uint8_t all_off
Definition: backlash.h:27
#define Z_STEPPER_ALIGN_AMP
Definition: Conditionals_post.h:1816
static void set_row(const uint8_t row, const uint32_t val)
#define Z_STEPPER_COUNT
Definition: Conditionals_post.h:1768
T y
Definition: types.h:185
static FORCE_INLINE bool load()
Definition: configuration_store.h:79
#define log_machine_info()
Definition: utility.h:62
constexpr uint8_t all_on
Definition: backlash.h:27
#define extDigitalWrite(IO, V)
Definition: fastio.h:91
uint8_t case_light_brightness
Definition: caselight.cpp:27
void serialprint_truefalse(const bool tf)
Definition: serial.cpp:59
void safe_delay(millis_t ms)
Definition: utility.cpp:28
#define HOTENDS
Definition: Conditionals_LCD.h:425
#define NOOP
Definition: macros.h:258
#define TWIBUS_BUFFER_SIZE
Definition: twibus.h:34
static int32_t position(const AxisEnum axis)
Definition: stepper.cpp:2214
bool VALID_PIN(const pin_t p)
Definition: mesh_bed_leveling.h:28
char * hex_address(const void *const w)
Definition: hex_print_routines.cpp:67
args
Definition: createSpeedLookupTable.py:17
#define VOLUMETRIC_UNIT(V)
Definition: parser.h:300
#define PID_PARAM(F, H)
Definition: temperature.h:87
static void inject_P(PGM_P const pgcode)
Definition: queue.cpp:206
void serial_delay(const millis_t ms)
Definition: utility.h:31
static void set_filament_type(uint8_t index, uint8_t type)
static constexpr bool host_handling
Definition: runout.h:58
static uint8_t led_line[MAX7219_LINES]
Definition: Max7219_Debug_LEDs.h:76
png_uint_32 length
Definition: png.c:2247
float last_z
Definition: g29_auto.py:39
bool wait_for_heatup
Definition: Marlin.cpp:184
void homeaxis(const AxisEnum axis)
Definition: motion.cpp:1449
static void process_next_command()
Definition: gcode.cpp:831
static bool index_to_dir[MAX_L6470]
Definition: L6470_Marlin.h:38
void serialprintPGM(PGM_P str)
Definition: serial.cpp:35
float delta_calibration_radius
#define SBI(A, B)
Definition: macros.h:85
#define S_FMT
Definition: macros.h:68
void flashFirmware(int16_t value)
const xyze_char_t axis_codes
Definition: types.h:486
static planner_settings_t settings
Definition: planner.h:251
Definition: mesh_bed_leveling.h:32
#define SERIAL_ECHOLNPGM(S)
Definition: serial.h:174
#define DEBUG_CHAR(...)
Definition: debug_out.h:74
#define AXIS_RELATIVE_MODES
Definition: Configuration_A3ides_2209_MINI_adv.h:493
Definition: L6470_Marlin.h:30
T c
Definition: types.h:287
static void process_subcommands_now(char *gcode)
Definition: gcode.cpp:875
bool case_light_arg_flag
Definition: caselight.cpp:48
static void set_max_feedrate(const uint8_t axis, float targetValue)
Definition: planner.cpp:2841
list b
Definition: createSpeedLookupTable.py:30
void analogWrite(uint32_t ulPin, uint32_t ulValue)
Definition: wiring_analog.c:12
#define LOOP_XYZE(VAR)
Definition: types.h:61
static void set_max_acceleration(const uint8_t axis, float targetValue)
Definition: planner.cpp:2824
static void refresh_line(const uint8_t line)
Nozzle nozzle
Definition: nozzle.cpp:29
void idle()
Definition: Marlin.cpp:629
#define READ(IO)
Definition: fastio.h:95
#define MSG_E_STEPPER_NOT_SPECIFIED
Definition: language.h:169
static uint8_t axis_xref[MAX_L6470]
Definition: L6470_Marlin.h:39
feedRate_t min_travel_feedrate_mm_s
Definition: planner.h:186
Definition: L6470_Marlin.h:30
static void say_axis(const uint8_t axis, const bool label=true)
axis_limits_t soft_endstop
Definition: motion.cpp:489
int16_t PARSED_PIN_INDEX(const char code, const int16_t dval)
float xy_probe_feedrate_mm_s
Definition: motion.cpp:193
Temperature thermalManager
Definition: temperature.cpp:89
uint32_t micros(void)
Definition: wiring_time.c:34
#define UNUSED(X)
Definition: stm32f4xx_hal_def.h:74
Endstops endstops
Definition: endstops.cpp:51
void safety_timer_set_interval(millis_t ms)
Definition: safety_timer.cpp:6
void watchdog_refresh()
Definition: HAL.h:28
static float measured_mm
Definition: filwidth.h:33
uint32_t millis_t
Definition: millis_t.h:26
void set_axis_is_not_at_home(const AxisEnum axis)
Definition: motion.cpp:1425
static bool enabled
Definition: power_loss_recovery.h:138
#define MSG_INVALID_EXTRUDER
Definition: language.h:167
static FORCE_INLINE uint8_t get_current_vtool()
Definition: mixing.h:111
#define TEMPORARY_BED_LEVELING_STATE(enable)
Definition: bedlevel.h:54
#define BUZZ(d, f)
Definition: buzzer.h:126
constexpr uint8_t active_extruder
Definition: motion.h:107
static FORCE_INLINE void set_z_lock(const bool state)
Definition: stepper.h:421
uint32_t min_segment_time_us
Definition: planner.h:179
static void zero_fan_speeds()
Definition: temperature.h:506
static void tool_change(uint8_t index)
static bed_mesh_t z_values
Definition: ubl.h:108
bool suspend_auto_report
Definition: Marlin.cpp:192
#define ENABLED(V...)
Definition: macros.h:177
static FORCE_INLINE bool has_blocks_queued()
Definition: planner.h:762
Planner planner
Definition: planner.cpp:111
static png_bytep size_t size
Definition: pngwrite.c:2170
T y
Definition: types.h:383
parser
Definition: createSpeedLookupTable.py:14
float probe_max_y()
Definition: probe.h:106
#define Z_MIN_ENDSTOP_INVERTING
Definition: Configuration_A3ides_2209_MINI.h:607
void disable_solenoid(const uint8_t num)
Definition: solenoid.cpp:76
static bool has_measurement(const AxisEnum a)
Definition: backlash.h:69
static void enable(const bool onoff)
#define EXTRUDE_MAXLENGTH
Definition: Configuration_A3ides_2209_MINI.h:524
static skew_factor_t skew_factor
Definition: planner.h:299