21constexpr float StepsToMm(int32_t steps,
float steps_per_rev,
22 float lead_screw_pitch_mm)
noexcept {
23 if (steps_per_rev == 0.0F) {
26 return (
static_cast<float>(steps) / steps_per_rev) * lead_screw_pitch_mm;
36constexpr int32_t
MmToSteps(
float mm,
float steps_per_rev,
37 float lead_screw_pitch_mm)
noexcept {
38 if (lead_screw_pitch_mm == 0.0F || steps_per_rev == 0.0F) {
41 return static_cast<int32_t
>(
42 std::round((mm / lead_screw_pitch_mm) * steps_per_rev));
52 if (steps_per_rev == 0.0F) {
55 return (
static_cast<float>(steps) / steps_per_rev) * 360.0F;
64constexpr int32_t
DegreesToSteps(
float degrees,
float steps_per_rev)
noexcept {
65 if (steps_per_rev == 0.0F) {
68 return static_cast<int32_t
>(std::round((degrees / 360.0F) * steps_per_rev));
78 return (rpm / 60.0F) * steps_per_rev;
88 float steps_per_rev)
noexcept {
89 if (steps_per_rev == 0.0F) {
92 return (steps_per_sec / steps_per_rev) * 60.0F;
103 float lead_screw_pitch_mm)
noexcept {
104 if (lead_screw_pitch_mm == 0.0F || steps_per_rev == 0.0F) {
107 return (mm_per_sec / lead_screw_pitch_mm) * steps_per_rev;
118 float lead_screw_pitch_mm)
noexcept {
119 if (steps_per_rev == 0.0F) {
122 return (steps_per_sec / steps_per_rev) * lead_screw_pitch_mm;
134 float lead_screw_pitch_mm)
noexcept {
135 if (lead_screw_pitch_mm == 0.0F || steps_per_rev == 0.0F) {
138 return (accel_mm_per_sec2 / lead_screw_pitch_mm) * steps_per_rev;
150 float lead_screw_pitch_mm)
noexcept {
151 if (steps_per_rev == 0.0F) {
154 return (accel_steps_per_sec2 / steps_per_rev) * lead_screw_pitch_mm;
165 uint16_t belt_pulley_teeth)
noexcept {
166 if (belt_pulley_teeth == 0 || steps_per_rev == 0.0F) {
169 return static_cast<int32_t
>(std::round(
170 (
static_cast<float>(teeth) /
static_cast<float>(belt_pulley_teeth)) *
182 uint16_t belt_pulley_teeth)
noexcept {
183 if (steps_per_rev == 0.0F) {
186 return (
static_cast<float>(steps) / steps_per_rev) *
187 static_cast<float>(belt_pulley_teeth);
Definition tmc51x0_register_defs.cpp:10
constexpr float StepsToMm(int32_t steps, float steps_per_rev, float lead_screw_pitch_mm) noexcept
Convert steps to millimeters.
Definition tmc51x0_units.hpp:21
constexpr float StepsPerSecToRpm(float steps_per_sec, float steps_per_rev) noexcept
Convert steps per second to RPM.
Definition tmc51x0_units.hpp:87
constexpr float AccelerationMmToSteps(float accel_mm_per_sec2, float steps_per_rev, float lead_screw_pitch_mm) noexcept
Convert acceleration from mm/s² to steps/s²
Definition tmc51x0_units.hpp:132
constexpr float AccelerationStepsToMm(float accel_steps_per_sec2, float steps_per_rev, float lead_screw_pitch_mm) noexcept
Convert acceleration from steps/s² to mm/s²
Definition tmc51x0_units.hpp:148
constexpr int32_t MmToSteps(float mm, float steps_per_rev, float lead_screw_pitch_mm) noexcept
Convert millimeters to steps.
Definition tmc51x0_units.hpp:36
constexpr float MmPerSecToStepsPerSec(float mm_per_sec, float steps_per_rev, float lead_screw_pitch_mm) noexcept
Convert millimeters per second to steps per second.
Definition tmc51x0_units.hpp:102
constexpr float StepsToBeltTeeth(int32_t steps, float steps_per_rev, uint16_t belt_pulley_teeth) noexcept
Convert steps to belt drive distance (teeth)
Definition tmc51x0_units.hpp:181
constexpr float StepsPerSecToMmPerSec(float steps_per_sec, float steps_per_rev, float lead_screw_pitch_mm) noexcept
Convert steps per second to millimeters per second.
Definition tmc51x0_units.hpp:117
constexpr int32_t BeltTeethToSteps(uint32_t teeth, float steps_per_rev, uint16_t belt_pulley_teeth) noexcept
Convert belt drive distance (teeth) to steps.
Definition tmc51x0_units.hpp:164
constexpr float StepsToDegrees(int32_t steps, float steps_per_rev) noexcept
Convert steps to degrees.
Definition tmc51x0_units.hpp:51
constexpr float RpmToStepsPerSec(float rpm, float steps_per_rev) noexcept
Convert RPM to steps per second.
Definition tmc51x0_units.hpp:77
constexpr int32_t DegreesToSteps(float degrees, float steps_per_rev) noexcept
Convert degrees to steps.
Definition tmc51x0_units.hpp:64