Prusa-MMU-Private
PrusaMultiMaterialUpgradev3firmwareforMK3SMK4
Classes | Namespaces | Typedefs | Functions | Variables
axisunit.h File Reference
#include "../config/axis.h"
#include "pulse_gen.h"
Include dependency graph for axisunit.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  modules::motion::AxisUnit< T, A, U >
 
struct  modules::motion::AxisScale
 Axis type conversion table for template expansion. More...
 

Namespaces

 modules
 The modules namespace contains models of MMU's components.
 
 modules::motion
 

Typedefs

typedef AxisUnit< pos_t, Pulley, Lenght > modules::motion::P_pos_t
 Pulley position type (steps)
 
typedef AxisUnit< steps_t, Pulley, Speed > modules::motion::P_speed_t
 Pulley speed type (steps/s)
 
typedef AxisUnit< steps_t, Pulley, Accel > modules::motion::P_accel_t
 Pulley acceleration type (steps/s2)
 
typedef AxisUnit< pos_t, Selector, Lenght > modules::motion::S_pos_t
 Selector position type (steps)
 
typedef AxisUnit< steps_t, Selector, Speed > modules::motion::S_speed_t
 Selector speed type (steps/s)
 
typedef AxisUnit< steps_t, Selector, Accel > modules::motion::S_accel_t
 Selector acceleration type (steps/s2)
 
typedef AxisUnit< pos_t, Idler, Lenght > modules::motion::I_pos_t
 Idler position type (steps)
 
typedef AxisUnit< steps_t, Idler, Speed > modules::motion::I_speed_t
 Idler speed type (steps/s)
 
typedef AxisUnit< steps_t, Idler, Accel > modules::motion::I_accel_t
 Idler acceleration type (steps/s2)
 

Functions

template<typename T , Axis A, config::UnitType U>
constexpr AxisUnit< T, A, U > modules::motion::operator* (const long double f, const AxisUnit< T, A, U > u)
 
template<typename AU , typename U >
static constexpr AU modules::motion::unitToAxisUnit (U v)
 
template<typename U , typename AU , typename T = int32_t>
static constexpr T modules::motion::axisUnitToTruncatedUnit (AU v, long double mul=1.)
 
template<typename U , typename T = int32_t>
static constexpr T modules::motion::truncatedUnit (U v, long double mul=1.)
 
template<typename AU , typename U >
static constexpr AU::type_t modules::motion::unitToSteps (U v)
 
static constexpr P_pos_t modules::motion::operator""_P_mm (long double mm)
 
static constexpr P_speed_t modules::motion::operator""_P_mm_s (long double mm_s)
 
static constexpr P_accel_t modules::motion::operator""_P_mm_s2 (long double mm_s2)
 
static constexpr S_pos_t modules::motion::operator""_S_mm (long double mm)
 
static constexpr S_speed_t modules::motion::operator""_S_mm_s (long double mm_s)
 
static constexpr S_accel_t modules::motion::operator""_S_mm_s2 (long double mm_s2)
 
static constexpr I_pos_t modules::motion::operator""_I_deg (long double deg)
 
static constexpr I_speed_t modules::motion::operator""_I_deg_s (long double deg_s)
 
static constexpr I_accel_t modules::motion::operator""_I_deg_s2 (long double deg_s2)
 

Variables

static constexpr AxisScale modules::motion::axisScale [config::NUM_AXIS]