Skip to content

# Class evam::ForwardMotor

template <class Driver, int kMinValue, int kMaxValue>

ClassList > evam > ForwardMotor

Unidirectional forward-only motor controller (e.g., aircraft ESC, throttle). More...

- `#include <evamForwardMotor.h>`

Inherits the following classes: Driver

## Public Functions

Type | Name
--- | ---
int | GetMaxValue () const Get maximum output value.
int | GetMinValue () const Get minimum output value.
void | Go (signed short aLevel) Apply the control value.
void | SetMaxValue (int aValue) Set maximum output value.
void | SetMinValue (int aValue) Set minimum output value.
void | SetupRange (int aMinValue, int aMaxValue) Configure the output range parameters at once.

## Detailed Description

Maps input range 0..1000 to driver output. Negative inputs are treated as stop (0).

Template parameters:

- `Driver` Driver class (must implement actUnipolar(unsigned short))
- `kMinValue` Minimum output value (e.g., 20 = stop)
- `kMaxValue` Maximum output value (e.g., 1000 = full throttle)

## Public Functions Documentation

### function GetMaxValue

Get maximum output value.

    inline int evam::ForwardMotor::GetMaxValue () const

Returns:

Current maximum output value.

### function GetMinValue

Get minimum output value.

    inline int evam::ForwardMotor::GetMinValue () const

Returns:

Current minimum output value.

### function Go

Apply the control value.

    inline void evam::ForwardMotor::Go (
        signed short aLevel
    )

Parameters:

- `aLevel` Input control value, range 0..1000 (negative treated as 0).

### function SetMaxValue

Set maximum output value.

    inline void evam::ForwardMotor::SetMaxValue (
        int aValue
    )

Parameters:

- `aValue` Output value, clamped to -1000..1000.

### function SetMinValue

Set minimum output value.

    inline void evam::ForwardMotor::SetMinValue (
        int aValue
    )

Parameters:

- `aValue` Output value, clamped to -1000..1000.

### function SetupRange

Configure the output range parameters at once.

    inline void evam::ForwardMotor::SetupRange (
        int aMinValue,
        int aMaxValue
    )

Parameters:

- `aMinValue` Minimum output value (stop position)
- `aMaxValue` Maximum output value (full throttle)

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