| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Control.PID
Synopsis
- data Settings a = Settings {
- _setpoint :: a
- _pFactor :: a
- _iFactor :: a
- _dFactor :: a
- _bias :: a
- _isReversed :: Bool
- _maxOutput :: a
- data Status a = Status {
- _settings :: Settings a
- _lastError :: a
- _lastIntegral :: a
- setpoint :: forall a. Lens' (Settings a) a
- pFactor :: forall a. Lens' (Settings a) a
- iFactor :: forall a. Lens' (Settings a) a
- dFactor :: forall a. Lens' (Settings a) a
- bias :: forall a. Lens' (Settings a) a
- isReversed :: forall a. Lens' (Settings a) Bool
- maxOutput :: forall a. Lens' (Settings a) a
- settings :: forall a. Lens' (Status a) (Settings a)
- lastError :: forall a. Lens' (Status a) a
- lastIntegral :: forall a. Lens' (Status a) a
- newSettings :: Fractional a => Settings a
- newStatus :: Fractional a => Status a
- run :: (Ord n, Fractional n) => n -> n -> Status n -> (n, Status n)
- resetIntegral :: Num n => Status n -> Status n
Documentation
PID control loop settings
Constructors
| Settings | |
Fields
| |
PID status
Constructors
| Status | |
Fields
| |
lastIntegral :: forall a. Lens' (Status a) a Source #
newSettings :: Fractional a => Settings a Source #
the default PID settings These will probably need tuning.
newStatus :: Fractional a => Status a Source #
an inital PID state with the default PID settings
Arguments
| :: (Ord n, Fractional n) | |
| => n | the amount of time elapsed since the PID loop was last run |
| -> n | the current input value |
| -> Status n | the current PID status |
| -> (n, Status n) | the output and updated PID status |
runs the PID loop