Prusa MINI Firmware overview
planner_bezier.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 /**
25  * planner_bezier.h
26  *
27  * Compute and buffer movement commands for Bézier curves
28  *
29  */
30 
31 #include "../core/types.h"
32 
33 void cubic_b_spline(
34  const xyze_pos_t &position, // current position
35  const xyze_pos_t &target, // target position
36  const xy_pos_t (&offsets)[2], // a pair of offsets
37  const feedRate_t &scaled_fr_mm_s, // mm/s scaled by feedrate %
38  const uint8_t extruder
39 );
planner.h
XYZEval
Definition: types.h:101
XYZEval::z
T z
Definition: types.h:383
temperature.h
XYZEval::e
T e
Definition: types.h:383
millis
uint32_t millis(void)
Definition: wiring_time.c:29
Temperature::manage_heater
static void manage_heater() _O2
Definition: temperature.cpp:975
motion.h
feedRate_t
float feedRate_t
Definition: types.h:80
NOMORE
#define NOMORE(v, n)
Definition: macros.h:133
ABS
#define ABS(a)
Definition: macros.h:266
cubic_b_spline
void cubic_b_spline(const xyze_pos_t &position, const xyze_pos_t &target, const xy_pos_t(&offsets)[2], const feedRate_t &scaled_fr_mm_s, const uint8_t extruder)
XYZEval::x
T x
Definition: types.h:383
Planner::buffer_line
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
XYval
Definition: types.h:99
createSpeedLookupTable.a
list a
Definition: createSpeedLookupTable.py:29
XYZEval::set
FI void set(const T px)
Definition: types.h:391
XYval::x
T x
Definition: types.h:185
ELAPSED
#define ELAPSED(NOW, SOON)
Definition: millis_t.h:29
uint8_t
const uint8_t[]
Definition: 404_html.c:3
apply_motion_limits
void apply_motion_limits(xyz_pos_t &target)
Definition: motion.cpp:589
XYval::y
T y
Definition: types.h:185
Planner::apply_leveling
static void apply_leveling(xyz_pos_t &raw)
Definition: planner.cpp:1381
createSpeedLookupTable.b
list b
Definition: createSpeedLookupTable.py:30
idle
void idle()
Definition: Marlin.cpp:629
thermalManager
Temperature thermalManager
Definition: temperature.cpp:89
millis_t
uint32_t millis_t
Definition: millis_t.h:26
active_extruder
constexpr uint8_t active_extruder
Definition: motion.h:107
planner
Planner planner
Definition: planner.cpp:111
XYZEval::y
T y
Definition: types.h:383