BULME_AHEL20
/
LPC_HL_FUNC_GENERATOR_DAC
Function generator
Diff: FuncGen.h
- Revision:
- 2:100244cef3d6
- Child:
- 3:c8c3b755ef54
diff -r e88b745f2ca2 -r 100244cef3d6 FuncGen.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/FuncGen.h Thu Mar 17 13:45:13 2016 +0000 @@ -0,0 +1,70 @@ +#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(int 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; +public: + TriangleGen(); + + void SetPointsPerPeriod(int 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; +public: + RectGen(); + + void SetPointsPerPeriod(int aPoints); + + void SetFrequ(float aFrequ); + + // Dauer des ON-Pulses in Prozent ( 0..1 ) + void SetPulsWidth(float aPercent); + + // Einen Abtastwert berechnen + void CalcOneStep(); +}; + +#endif + + +