Prusa MINI Firmware overview
|
Go to the documentation of this file.
24 #include "../inc/MarlinConfigPre.h"
25 #include "../core/types.h"
30 #if ENABLED(TOOLCHANGE_FILAMENT_SWAP)
31 float swap_length, extra_prime;
32 int16_t prime_speed, retract_speed;
34 #if ENABLED(TOOLCHANGE_PARK)
38 } toolchange_settings_t;
40 extern toolchange_settings_t toolchange_settings;
44 #if DO_SWITCH_EXTRUDER
45 void move_extruder_servo(
const uint8_t e);
48 #if ENABLED(SWITCHING_NOZZLE)
49 #if SWITCHING_NOZZLE_TWO_SERVOS
50 void lower_nozzle(
const uint8_t e);
51 void raise_nozzle(
const uint8_t e);
53 void move_nozzle_servo(
const uint8_t angle_index);
57 #if ENABLED(PARKING_EXTRUDER)
59 #if ENABLED(PARKING_EXTRUDER_SOLENOIDS_INVERT)
60 #define PE_MAGNET_ON_STATE !PARKING_EXTRUDER_SOLENOIDS_PINS_ACTIVE
62 #define PE_MAGNET_ON_STATE PARKING_EXTRUDER_SOLENOIDS_PINS_ACTIVE
67 inline void pe_activate_solenoid(
const uint8_t extruder_num) { pe_set_solenoid(extruder_num, PE_MAGNET_ON_STATE); }
68 inline void pe_deactivate_solenoid(
const uint8_t extruder_num) { pe_set_solenoid(extruder_num, !PE_MAGNET_ON_STATE); }
70 void pe_solenoid_init();
72 #elif ENABLED(MAGNETIC_PARKING_EXTRUDER)
74 typedef struct MPESettings {
75 float parking_xpos[2],
79 float travel_distance,
83 extern mpe_settings_t mpe_settings;
85 void mpe_settings_init();
89 #if ENABLED(SINGLENOZZLE)
90 extern uint16_t singlenozzle_temp[
EXTRUDERS];
96 #if ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
float delta_clip_start_height
T z
Definition: types.h:286
void enable_solenoid_on_active_extruder()
Definition: solenoid.cpp:77
#define SERIAL_CHAR(x)
Definition: serial.h:69
#define MIXING_VIRTUAL_TOOLS
Definition: mixing.h:47
T z
Definition: types.h:383
static void synchronize()
Definition: planner.cpp:1556
xyz_pos_t max
Definition: motion.h:139
#define SERIAL_ECHO(x)
Definition: serial.h:70
#define OUT_WRITE(IO, V)
Definition: fastio.h:108
T x
Definition: types.h:286
feedRate_t max_feedrate_mm_s[XYZE_N]
Definition: planner.h:182
#define LOW
Definition: wiring_constants.h:70
list gcode
Definition: g29_auto.py:44
#define DEBUG_ECHOLNPGM(...)
Definition: debug_out.h:79
#define _MAX(V...)
Definition: macros.h:346
void do_blocking_move_to_z(const float &rz, const feedRate_t &fr_mm_s)
Definition: motion.cpp:450
T e
Definition: types.h:383
void set_axis_is_at_home(const AxisEnum axis)
Definition: motion.cpp:1361
static volatile fsensor_t state
Definition: filament_sensor.c:23
AxisEnum
Definition: types.h:36
xyze_pos_t destination
Definition: motion.cpp:110
#define DEBUG_ECHOLNPAIR(...)
Definition: debug_out.h:82
#define SERIAL_ECHO_START()
Definition: serial.h:179
float feedRate_t
Definition: types.h:80
bool IsRunning()
Definition: Marlin.h:331
#define DEBUG_ECHOPGM(...)
Definition: debug_out.h:78
#define NOMORE(v, n)
Definition: macros.h:133
#define MOVE_SERVO(I, P)
Definition: servo.h:93
void disable_all_solenoids()
Definition: solenoid.cpp:79
#define SOL1_PIN
Definition: pins_LEAPFROG.h:89
#define SERIAL_ECHO_MSG(S)
Definition: serial.h:183
xyze_pos_t current_position
Definition: motion.cpp:102
static FORCE_INLINE bool targetTooColdToExtrude(const uint8_t)
Definition: temperature.h:315
void line_to_current_position(const feedRate_t &fr_mm_s)
Definition: motion.cpp:285
void do_blocking_move_to(const float rx, const float ry, const float rz, const feedRate_t &fr_mm_s)
Definition: motion.cpp:344
void sync_plan_position()
Definition: motion.cpp:216
#define REMEMBER(N, X, V...)
Definition: utility.h:76
void
Definition: png.h:1083
T x
Definition: types.h:383
#define XY_PROBE_FEEDRATE_MM_S
Definition: motion.h:77
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
#define SERIAL_ECHOLNPAIR(V...)
Definition: serial.h:144
FI void set(const T px)
Definition: types.h:391
#define DEBUG_POS(...)
Definition: debug_out.h:87
const uint8_t[]
Definition: 404_html.c:3
bool axis_unhomed_error(uint8_t axis_bits)
Definition: motion.cpp:1054
void update_software_endstops(const AxisEnum axis)
Definition: motion.cpp:503
#define _BV(bit)
Definition: wiring_constants.h:99
#define E_STEPPERS
Definition: Conditionals_LCD.h:429
T y
Definition: types.h:286
void select_multiplexed_stepper(const uint8_t e)
#define HAS_HOTEND_OFFSET
Definition: Conditionals_LCD.h:441
static FORCE_INLINE void T(const uint_fast8_t c)
Definition: mixing.h:113
constexpr xyz_pos_t hotend_offset[1]
Definition: motion.h:136
static void set_e_position_mm(const float &e)
Definition: planner.cpp:2764
#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 MSG_ERR_HOTEND_TOO_COLD
Definition: language.h:244
#define HIGH
Definition: wiring_constants.h:71
#define DEBUG_ECHOPAIR(...)
Definition: debug_out.h:80
#define MMM_TO_MMS(MM_M)
Definition: types.h:83
void safe_delay(millis_t ms)
Definition: utility.cpp:28
static planner_settings_t settings
Definition: planner.h:251
#define SERIAL_ECHOLNPGM(S)
Definition: serial.h:174
#define MSG_ACTIVE_EXTRUDER
Definition: language.h:183
axis_limits_t soft_endstop
Definition: motion.cpp:489
Temperature thermalManager
Definition: temperature.cpp:89
#define UNUSED(X)
Definition: stm32f4xx_hal_def.h:74
#define MSG_INVALID_EXTRUDER
Definition: language.h:167
#define TEMPORARY_BED_LEVELING_STATE(enable)
Definition: bedlevel.h:54
constexpr uint8_t active_extruder
Definition: motion.h:107
static void tool_change(uint8_t index)
#define ENABLED(V...)
Definition: macros.h:177
Planner planner
Definition: planner.cpp:111
FORCE_INLINE bool all_axes_homed()
Definition: motion.h:44
T y
Definition: types.h:383
void fanmux_switch(const uint8_t e)