Stefan Kiegerl
/
FuncGen17
Func-Gen - basic setup
Diff: FuncGenFSST.h
- Revision:
- 2:3abf5ddd9fc0
- Child:
- 3:9fd12684fa88
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/FuncGenFSST.h Tue Mar 23 17:06:24 2021 +0000 @@ -0,0 +1,90 @@ + +#ifndef FuncGenFSST_h +#define FuncGenFSST_h + +// Amplituden fix auf +/-1 + +class SignedRampGen { + public: + float val; // momentaner Ausgangswert + private: + float _inc; + public: + SignedRampGen(); // Konstruktor + + void SetPointsPerPeriod(float aPoints); + + // bezogen auf Fsample 0..0.5 + void SetFrequ(float aFrequ); + + // Einen Abtastwert berechnen + // wird bei z.B. Fsample=100Hz 100x pro sec afgerufen + void CalcOneStep(); +}; + + +class TriangleGen { + public: + float val; // momentaner Ausgangswert + private: + float _inc; + int _state; + float _phase; + public: + TriangleGen(); + + void SetPointsPerPeriod(float aPoints); + + // bezogen auf Fsample 0..0.5 + void SetFrequ(float aFrequ); + + // Einen Abtastwert berechnen + void CalcOneStep(); +}; + + +class RectGen { + public: + float val; // momentaner Ausgangswert + private: + float _inc; + float _phase; + float _thrs; + public: + RectGen(); + + void SetPointsPerPeriod(float aPoints); + + void SetFrequ(float aFrequ); + + // Dauer des ON-Pulses in Prozent ( 0..1 ) + void SetPulsWidth(float aPercent) + { + _thrs=aPercent; // möglicherweise andere Formel + } + + // Einen Abtastwert berechnen + void CalcOneStep(); +}; + +#endif + + + + + + + + + + + + + + + + + + + +