Skip to content

# Namespace evam

Namespace List > evam

## Classes

Type | Name
--- | ---
struct | AdaptiveSmoothConfig Configuration structure for AdaptiveSmoothDecor .
class | AdaptiveSmoothDecor <class TMotor, tMinTimeConstantMs, tMaxTimeConstantMs> Decorator with adaptive smoothing based on input rate of change.
struct | CurveConfig Configuration structure for CurveDecor .
class | CurveDecor <class TMotor, tBend> Decorator that applies an S-curve (nonlinear) transformation to the control signal.
struct | DirectionalConfig Configuration structure for DirectionalMotor .
class | DirectionalMotor <class Driver, kMaxBackward, kMinBackward, kMinForward, kMaxForward> Bidirectional motor controller (forward/reverse).
struct | ForwardConfig Configuration structure for ForwardMotor .
class | ForwardMotor <class Driver, kMinValue, kMaxValue> Unidirectional forward-only motor controller (e.g., aircraft ESC, throttle).
class | IMotor
class | IMotorMaker <class TMotor>
struct | InertiaConfig Configuration structure for InertiaDecor .
class | InertiaDecor <class TMotor, tInertiaMass> Decorator that simulates mechanical inertia (flywheel effect).
struct | KickConfig Configuration structure for KickDecor .
class | KickDecor <class TMotor, tDefaultKickDurationMs, tDefaultKickPower> Decorator that applies a momentary kick to overcome static friction.
class | LinearActuator <class Driver, kMinValue, kMaxValue> Linear actuator controller (position control).
struct | LinearActuatorConfig Configuration structure for LinearActuator .
struct | MedianConfig Configuration structure for MedianDecor .
class | MedianDecor <class TMotor, tWindowSize> Decorator that applies median filtering with fixed time base.
struct | MinmaxConfig Configuration structure for MinmaxDecor .
class | MinmaxDecor <class TMotor, N> Decorator that applies a min-max (morphological) filter to the control signal.
struct | PwmConfig Configuration structure for PwmDriver .
class | PwmDriver <kPin> Simple PWM output driver (unipolar).
class | RingBuffer <typename T, N>
struct | ServoConfig Configuration structure for ServoDriver .
class | ServoDriver <kPin, kMinPulse, kMiddlePulse, kMaxPulse> Servo driver using standard Arduino Servo library.
struct | SlidingWindowConfig Configuration structure for SlidingWindowDecor .
class | SlidingWindowDecor <class TMotor, N> Decorator that applies a simple moving average (sliding window) filter.
struct | SoftwareServoConfig Configuration structure for SoftwareServoDriver .
class | SoftwareServoDriver <kPin, kMinPulse, kMiddlePulse, kMaxPulse> Software-based servo driver using millis() for timing.
class | SteeringActuator <class Driver, kLeftPos, kCenterPos, kRightPos> Steering actuator (centered servo) controller.
struct | SteeringConfig Configuration structure for SteeringActuator .
struct | TA6586Config Configuration structure for TA6586Driver .
class | TA6586Driver <kForwardPin, kBackwardPin> Driver for the TA6586 dual H-bridge motor driver.
struct | TB6612Config Configuration structure for TB6612FNGDriver .
class | TB6612FNGDriver <kPinSpeed, kPinMode1, kPinMode2> Driver for the TB6612FNG dual H-bridge motor driver.

## Public Types

Type | Name
--- | ---
typedef ServoDriver< kPin, kMinPulse,(kMaxPulse - kMinPulse)/2+kMinPulse, kMaxPulse > | ServoFlatDriver
typedef SoftwareServoDriver< kPin, kMinPulse,(kMaxPulse - kMinPulse)/2+kMinPulse, kMaxPulse > | SoftwareServoFlatDriver

## Public Attributes

Type | Name
--- | ---
signed short | kDefaultBend = `0`
unsigned short | kDefaultKickDurationMs = `20`
signed short | kDefaultKickPower = `1000`
unsigned short | kDefaultMaxTimeConstantMs = `150`
unsigned short | kDefaultMinTimeConstantMs = `10`
unsigned short | kDefaultWindowSize = `5`
unsigned short | kInertiaMass = `5`
signed short | kMaxBend = `10`
signed short | kMaxKickPower = `1000`
unsigned short | kMaxTimeConstantLimit = `500`
unsigned short | kMaxWindowSize = `15`
signed short | kMinBend = `-10`
unsigned short | kMinTimeConstantLimit = `5`
unsigned short | kMinWindowSize = `3`

## Public Types Documentation

### typedef ServoFlatDriver

    using evam::ServoFlatDriver = ServoDriver<kPin, kMinPulse, (kMaxPulse - kMinPulse) / 2 + kMinPulse, kMaxPulse>;

### typedef SoftwareServoFlatDriver

    using evam::SoftwareServoFlatDriver = SoftwareServoDriver<kPin, kMinPulse, (kMaxPulse - kMinPulse) / 2 + kMinPulse, kMaxPulse>;

## Public Attributes Documentation

### variable kDefaultBend

    signed short evam::kDefaultBend;

### variable kDefaultKickDurationMs

    unsigned short evam::kDefaultKickDurationMs;

### variable kDefaultKickPower

    signed short evam::kDefaultKickPower;

### variable kDefaultMaxTimeConstantMs

    unsigned short evam::kDefaultMaxTimeConstantMs;

### variable kDefaultMinTimeConstantMs

    unsigned short evam::kDefaultMinTimeConstantMs;

### variable kDefaultWindowSize

    unsigned short evam::kDefaultWindowSize;

### variable kInertiaMass

    unsigned short evam::kInertiaMass;

### variable kMaxBend

    signed short evam::kMaxBend;

### variable kMaxKickPower

    signed short evam::kMaxKickPower;

### variable kMaxTimeConstantLimit

    unsigned short evam::kMaxTimeConstantLimit;

### variable kMaxWindowSize

    unsigned short evam::kMaxWindowSize;

### variable kMinBend

    signed short evam::kMinBend;

### variable kMinTimeConstantLimit

    unsigned short evam::kMinTimeConstantLimit;

### variable kMinWindowSize

    unsigned short evam::kMinWindowSize;

The documentation for this class was generated from the following file `src/evabIMotor.h`