Skip to content

File MotorDriver.h

FileList > Drivers > MotorDriver > MotorDriver.h

Go to the source code of this file

Abstract base for non-blocking motor/servo drivers. More...

  • #include <Arduino.h>

Namespaces

Type Name
namespace OpenSkyhawk

Classes

Type Name
class MotorDriver
Common interface every motor/servo backend implements.

Detailed Description

A MotorDriver moves a physical actuator (gauge stepper, geared stepper, RC servo) toward a commanded position without blocking the loop. It owns the low-level drive (coil energising / PWM), homing, and per-step timing; it knows nothing about DCS-BIOS. High-level controls — NeedleGauge (value → angle), and later a motorised DrumDisplay or trim indicator — compose a MotorDriver and drive it, so no stepper/servo code is duplicated across controls.

A MotorDriver is NOT an OutputBase: it is owned and ticked (update()) by whatever control uses it, not registered on PanelGroup's output list directly.

Concrete drivers: StepperMotor (now); ServoMotor / StepDirMotor (future siblings).

Version:

0.1.0

Copyright:

GPL-2.0-only — see Firmware/LICENSE


The documentation for this class was generated from the following file Firmware/Libraries/PanelGroup/Drivers/MotorDriver/MotorDriver.h