Class evam::InertiaDecor¶
template <class TMotor, unsigned short tInertiaMass>
ClassList > evam > InertiaDecor
Decorator that simulates mechanical inertia (flywheel effect). More...
#include <evamInertiaDecor.h>
Inherits the following classes: Heartbeat, TMotor
Public Functions¶
| Type | Name |
|---|---|
| unsigned short | GetInertiaMass () const Get the current inertia mass value. |
| void | Go (int aSpeed) Apply the control value with inertia simulation. |
| InertiaDecor () |
|
| InertiaDecor (InertiaConfig config, Args... args) |
|
| void | SetInertiaMass (unsigned short aValue) Set the inertia mass value. |
Protected Functions¶
| Type | Name |
|---|---|
| void | onHeartbeat () override |
Detailed Description¶
When decelerating or stopping, speed decreases gradually over time, simulating the effect of mass and inertia. Acceleration and direction changes are applied immediately.
Template parameters:
MotorBase motor class (must implement Go(signed short))tInertiaMassVirtual mass (positive). Larger values = slower deceleration.
Public Functions Documentation¶
function GetInertiaMass¶
Get the current inertia mass value.
inline unsigned short evam::InertiaDecor::GetInertiaMass () const
Returns:
Current inertia mass value
function Go¶
Apply the control value with inertia simulation.
inline void evam::InertiaDecor::Go (
int aSpeed
)
Parameters:
aSpeedDesired speed, range -1000..1000
function InertiaDecor [1/2]¶
inline evam::InertiaDecor::InertiaDecor ()
function InertiaDecor [2/2]¶
template<typename... Args>
inline evam::InertiaDecor::InertiaDecor (
InertiaConfig config,
Args... args
)
function SetInertiaMass¶
Set the inertia mass value.
inline void evam::InertiaDecor::SetInertiaMass (
unsigned short aValue
)
Parameters:
aValueVirtual mass, clamped to 1..200
Protected Functions Documentation¶
function onHeartbeat¶
inline void evam::InertiaDecor::onHeartbeat () override
The documentation for this class was generated from the following file src/evamInertiaDecor.h