Prusa MINI Firmware overview
abl.h
Go to the documentation of this file.
1 /**
2  * Marlin 3D Printer Firmware
3  * Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
4  *
5  * Based on Sprinter and grbl.
6  * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
7  *
8  * This program is free software: you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License as published by
10  * the Free Software Foundation, either version 3 of the License, or
11  * (at your option) any later version.
12  *
13  * This program is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  * GNU General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License
19  * along with this program. If not, see <http://www.gnu.org/licenses/>.
20  *
21  */
22 #pragma once
23 
24 #include "../../../inc/MarlinConfigPre.h"
25 
28 extern bed_mesh_t z_values;
29 float bilinear_z_offset(const xy_pos_t &raw);
30 
33 void refresh_bed_level();
34 #if ENABLED(ABL_BILINEAR_SUBDIVISION)
35  void print_bilinear_leveling_grid_virt();
36  void bed_level_virt_interpolate();
37 #endif
38 
39 #if IS_CARTESIAN && DISABLED(SEGMENT_LEVELED_MOVES)
40  void bilinear_line_to_destination(const feedRate_t &scaled_fr_mm_s, uint16_t x_splits=0xFFFF, uint16_t y_splits=0xFFFF);
41 #endif
42 
43 #define _GET_MESH_X(I) float(bilinear_start.x + (I) * bilinear_grid_spacing.x)
44 #define _GET_MESH_Y(J) float(bilinear_start.y + (J) * bilinear_grid_spacing.y)
45 #define Z_VALUES_ARR z_values
WITHIN
#define WITHIN(N, L, H)
Definition: macros.h:195
z_values
bed_mesh_t z_values
bilinear_line_to_destination
void bilinear_line_to_destination(const feedRate_t &scaled_fr_mm_s, uint16_t x_splits=0xFFFF, uint16_t y_splits=0xFFFF)
XYval::asFloat
FI XYval< float > asFloat()
Definition: types.h:201
NOLESS
#define NOLESS(v, n)
Definition: macros.h:127
XYZEval
Definition: types.h:101
sq
#define sq(x)
Definition: wiring_constants.h:83
XYZEval::z
T z
Definition: types.h:383
DEBUG_ECHOLNPGM
#define DEBUG_ECHOLNPGM(...)
Definition: debug_out.h:79
_MAX
#define _MAX(V...)
Definition: macros.h:346
XYZEval::e
T e
Definition: types.h:383
i
uint8_t i
Definition: screen_test_graph.c:72
_MIN
#define _MIN(V...)
Definition: macros.h:333
destination
xyze_pos_t destination
Definition: motion.cpp:110
LIMIT
#define LIMIT(v, n1, n2)
Definition: macros.h:139
feedRate_t
float feedRate_t
Definition: types.h:80
DEBUG_ECHOPGM
#define DEBUG_ECHOPGM(...)
Definition: debug_out.h:78
createSpeedLookupTable.end
end
Definition: createSpeedLookupTable.py:33
XYval::reciprocal
FI XYval< float > reciprocal() const
Definition: types.h:203
bilinear_start
xy_int_t bilinear_start
current_position
xyze_pos_t current_position
Definition: motion.cpp:102
line_to_current_position
void line_to_current_position(const feedRate_t &fr_mm_s)
Definition: motion.cpp:285
isnan
#define isnan
Definition: Arduino.h:55
FLOOR
#define FLOOR(x)
Definition: macros.h:284
bilinear_grid_spacing
xy_int_t bilinear_grid_spacing
ExtUI::onMeshUpdate
void onMeshUpdate(const uint8_t xpos, const uint8_t ypos, const float zval)
Definition: marlin_server.cpp:945
XYZEval::x
T x
Definition: types.h:383
constrain
#define constrain(amt, low, high)
Definition: wiring_constants.h:79
bilinear_grid_factor
xy_float_t bilinear_grid_factor
XYval< int16_t >
createSpeedLookupTable.a
list a
Definition: createSpeedLookupTable.py:29
L
#define L(CODE)
Definition: macros.h:76
XYval::x
T x
Definition: types.h:185
uint8_t
const uint8_t[]
Definition: 404_html.c:3
bilinear_z_offset
float bilinear_z_offset(const xy_pos_t &raw)
print_bilinear_leveling_grid
void print_bilinear_leveling_grid()
DEBUG_ECHO
#define DEBUG_ECHO(...)
Definition: debug_out.h:75
extrapolate_unprobed_bed_level
void extrapolate_unprobed_bed_level()
CBI
#define CBI(A, B)
Definition: macros.h:89
DEBUGGING
#define DEBUGGING(F)
Definition: serial.h:47
TEST
#define TEST(n, b)
Definition: macros.h:81
XYval::y
T y
Definition: types.h:185
refresh_bed_level
void refresh_bed_level()
SERIAL_ECHOLNPGM
#define SERIAL_ECHOLNPGM(S)
Definition: serial.h:174
DEBUG_CHAR
#define DEBUG_CHAR(...)
Definition: debug_out.h:74
createSpeedLookupTable.b
list b
Definition: createSpeedLookupTable.py:30
XYZEval::y
T y
Definition: types.h:383