aswersf

Dependents:   p31_SerielDirectwithBytes_Generatoren_Rampe_Sinus_usw

Committer:
ogris
Date:
Tue Apr 25 06:52:25 2017 +0000
Revision:
0:2e0be62147b1
awers; ;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ogris 0:2e0be62147b1 1
ogris 0:2e0be62147b1 2 #ifndef FuncGenFSST_h
ogris 0:2e0be62147b1 3 #define FuncGenFSST_h
ogris 0:2e0be62147b1 4
ogris 0:2e0be62147b1 5 //Sägezahn
ogris 0:2e0be62147b1 6 class SingnedRampGen {
ogris 0:2e0be62147b1 7 public:
ogris 0:2e0be62147b1 8 float val; // momentaner Ausgangswert
ogris 0:2e0be62147b1 9 private:
ogris 0:2e0be62147b1 10 float _inc;
ogris 0:2e0be62147b1 11 public:
ogris 0:2e0be62147b1 12 SingnedRampGen();
ogris 0:2e0be62147b1 13
ogris 0:2e0be62147b1 14 void SetPointsPerPeriod(float aPoints);
ogris 0:2e0be62147b1 15
ogris 0:2e0be62147b1 16 // bezogen auf Fsample 0..0.5
ogris 0:2e0be62147b1 17 void SetFrequ(float aFrequ);
ogris 0:2e0be62147b1 18
ogris 0:2e0be62147b1 19 // Einen Abtastwert berechnen
ogris 0:2e0be62147b1 20 // wird bei z.B. Fsample=100Hz 100x pro sec afgerufen
ogris 0:2e0be62147b1 21 void CalcOneStep();
ogris 0:2e0be62147b1 22 };
ogris 0:2e0be62147b1 23
ogris 0:2e0be62147b1 24 //Dreieck
ogris 0:2e0be62147b1 25 class TriangleGen {
ogris 0:2e0be62147b1 26 public:
ogris 0:2e0be62147b1 27 float val; // momentaner Ausgangswert
ogris 0:2e0be62147b1 28 private:
ogris 0:2e0be62147b1 29 float _inc;
ogris 0:2e0be62147b1 30 int _state;
ogris 0:2e0be62147b1 31 public:
ogris 0:2e0be62147b1 32 TriangleGen();
ogris 0:2e0be62147b1 33
ogris 0:2e0be62147b1 34 void SetPointsPerPeriod(float aPoints);
ogris 0:2e0be62147b1 35
ogris 0:2e0be62147b1 36 // bezogen auf Fsample 0..0.5
ogris 0:2e0be62147b1 37 void SetFrequ(float aFrequ);
ogris 0:2e0be62147b1 38
ogris 0:2e0be62147b1 39 // Einen Abtastwert berechnen
ogris 0:2e0be62147b1 40 void CalcOneStep();
ogris 0:2e0be62147b1 41 };
ogris 0:2e0be62147b1 42
ogris 0:2e0be62147b1 43 //Rechteck
ogris 0:2e0be62147b1 44 class RectGen {
ogris 0:2e0be62147b1 45 public:
ogris 0:2e0be62147b1 46 float val; // momentaner Ausgangswert
ogris 0:2e0be62147b1 47 private:
ogris 0:2e0be62147b1 48 float _inc;
ogris 0:2e0be62147b1 49 float _phase;
ogris 0:2e0be62147b1 50 public:
ogris 0:2e0be62147b1 51 RectGen();
ogris 0:2e0be62147b1 52
ogris 0:2e0be62147b1 53 void SetPointsPerPeriod(float aPoints);
ogris 0:2e0be62147b1 54
ogris 0:2e0be62147b1 55 void SetFrequ(float aFrequ);
ogris 0:2e0be62147b1 56
ogris 0:2e0be62147b1 57 // Dauer des ON-Pulses in Prozent ( 0..1 )
ogris 0:2e0be62147b1 58 void SetPulsWidth(float aPercent);
ogris 0:2e0be62147b1 59
ogris 0:2e0be62147b1 60 // Einen Abtastwert berechnen
ogris 0:2e0be62147b1 61 void CalcOneStep();
ogris 0:2e0be62147b1 62 };
ogris 0:2e0be62147b1 63
ogris 0:2e0be62147b1 64 #endif
ogris 0:2e0be62147b1 65
ogris 0:2e0be62147b1 66
ogris 0:2e0be62147b1 67
ogris 0:2e0be62147b1 68
ogris 0:2e0be62147b1 69
ogris 0:2e0be62147b1 70
ogris 0:2e0be62147b1 71
ogris 0:2e0be62147b1 72
ogris 0:2e0be62147b1 73
ogris 0:2e0be62147b1 74
ogris 0:2e0be62147b1 75
ogris 0:2e0be62147b1 76
ogris 0:2e0be62147b1 77
ogris 0:2e0be62147b1 78
ogris 0:2e0be62147b1 79
ogris 0:2e0be62147b1 80
ogris 0:2e0be62147b1 81
ogris 0:2e0be62147b1 82
ogris 0:2e0be62147b1 83