Prusa3d Marlin fork
mmu2_marlin.h
Go to the documentation of this file.
1 #pragma once
7 #include <stdint.h>
8 
9 namespace MMU2 {
10 
12 struct pos3d {
13  float xyz[3];
14  pos3d() = default;
15  inline constexpr pos3d(float x, float y, float z)
16  : xyz { x, y, z } {}
17  pos3d operator=(const float *newP) {
18  for (uint8_t i = 0; i < 3; ++i) {
19  xyz[i] = newP[i];
20  }
21  return *this;
22  }
23 };
24 
25 void extruder_move(float distance, float feed_rate);
26 void extruder_schedule_turning(float feed_rate);
27 
28 float move_raise_z(float delta);
29 
30 void planner_abort_queued_moves();
31 void planner_synchronize();
32 bool planner_any_moves();
33 float stepper_get_machine_position_E_mm();
34 float planner_get_current_position_E();
35 void planner_set_current_position_E(float e);
36 pos3d planner_current_position();
37 
38 void motion_do_blocking_move_to_xy(float rx, float ry, float feedRate_mm_s);
39 void motion_do_blocking_move_to_z(float z, float feedRate_mm_s);
40 
41 void nozzle_park();
42 
43 bool marlin_printingIsActive();
44 void marlin_manage_heater();
45 void marlin_manage_inactivity(bool b);
46 void marlin_idle(bool b);
47 void marlin_refresh_print_state_in_ram();
48 void marlin_clear_print_state_in_ram();
49 void marlin_stop_and_save_print_to_ram();
50 
51 int16_t thermal_degTargetHotend();
52 int16_t thermal_degHotend();
53 void thermal_setExtrudeMintemp(int16_t t);
54 void thermal_setTargetHotend(int16_t t);
55 
56 void safe_delay_keep_alive(uint16_t t);
57 
58 void Enable_E0();
59 void Disable_E0();
60 
61 bool all_axes_homed();
62 
63 } // namespace MMU2
New MMU2 protocol logic.
Definition: mmu2.cpp:26
@TODO hmmm, 12 bytes... may be we can reduce that
Definition: mmu2_marlin.h:12