einfacher TP, TP1Ordn.cpp und .h sind wichtig
Fork of ProcVisDemo by
FunkGen.h@2:a8f3233502df, 2017-05-03 (annotated)
- Committer:
- mSeiser
- Date:
- Wed May 03 16:04:57 2017 +0000
- Revision:
- 2:a8f3233502df
nur einfacher TP;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
mSeiser | 2:a8f3233502df | 1 | |
mSeiser | 2:a8f3233502df | 2 | #ifndef FunkGen_h |
mSeiser | 2:a8f3233502df | 3 | #define FunkGen_h |
mSeiser | 2:a8f3233502df | 4 | |
mSeiser | 2:a8f3233502df | 5 | // Amplituden fix auf +/-1 |
mSeiser | 2:a8f3233502df | 6 | |
mSeiser | 2:a8f3233502df | 7 | class SignedRampGen { |
mSeiser | 2:a8f3233502df | 8 | public: |
mSeiser | 2:a8f3233502df | 9 | float val; // momentaner Ausgangswert |
mSeiser | 2:a8f3233502df | 10 | private: |
mSeiser | 2:a8f3233502df | 11 | float _inc; |
mSeiser | 2:a8f3233502df | 12 | public: |
mSeiser | 2:a8f3233502df | 13 | SignedRampGen(); // Konstruktor |
mSeiser | 2:a8f3233502df | 14 | |
mSeiser | 2:a8f3233502df | 15 | void SetPointsPerPeriod(float aPoints); |
mSeiser | 2:a8f3233502df | 16 | |
mSeiser | 2:a8f3233502df | 17 | // bezogen auf Fsample 0..0.5 |
mSeiser | 2:a8f3233502df | 18 | void SetFrequ(float aFrequ); |
mSeiser | 2:a8f3233502df | 19 | |
mSeiser | 2:a8f3233502df | 20 | // Einen Abtastwert berechnen |
mSeiser | 2:a8f3233502df | 21 | // wird bei z.B. Fsample=100Hz 100x pro sec afgerufen |
mSeiser | 2:a8f3233502df | 22 | void CalcOneStep(); |
mSeiser | 2:a8f3233502df | 23 | }; |
mSeiser | 2:a8f3233502df | 24 | |
mSeiser | 2:a8f3233502df | 25 | |
mSeiser | 2:a8f3233502df | 26 | class TriangleGen { |
mSeiser | 2:a8f3233502df | 27 | public: |
mSeiser | 2:a8f3233502df | 28 | float val; // momentaner Ausgangswert |
mSeiser | 2:a8f3233502df | 29 | private: |
mSeiser | 2:a8f3233502df | 30 | float _inc; |
mSeiser | 2:a8f3233502df | 31 | int _state; |
mSeiser | 2:a8f3233502df | 32 | float _phase; |
mSeiser | 2:a8f3233502df | 33 | public: |
mSeiser | 2:a8f3233502df | 34 | TriangleGen(); |
mSeiser | 2:a8f3233502df | 35 | |
mSeiser | 2:a8f3233502df | 36 | void SetPointsPerPeriod(float aPoints); |
mSeiser | 2:a8f3233502df | 37 | |
mSeiser | 2:a8f3233502df | 38 | // bezogen auf Fsample 0..0.5 |
mSeiser | 2:a8f3233502df | 39 | void SetFrequ(float aFrequ); |
mSeiser | 2:a8f3233502df | 40 | |
mSeiser | 2:a8f3233502df | 41 | // Einen Abtastwert berechnen |
mSeiser | 2:a8f3233502df | 42 | void CalcOneStep(); |
mSeiser | 2:a8f3233502df | 43 | }; |
mSeiser | 2:a8f3233502df | 44 | |
mSeiser | 2:a8f3233502df | 45 | |
mSeiser | 2:a8f3233502df | 46 | class RectGen { |
mSeiser | 2:a8f3233502df | 47 | public: |
mSeiser | 2:a8f3233502df | 48 | float val; // momentaner Ausgangswert |
mSeiser | 2:a8f3233502df | 49 | private: |
mSeiser | 2:a8f3233502df | 50 | float _inc; |
mSeiser | 2:a8f3233502df | 51 | float _phase; |
mSeiser | 2:a8f3233502df | 52 | float _thrs; // Threshold für die PulsWidth |
mSeiser | 2:a8f3233502df | 53 | public: |
mSeiser | 2:a8f3233502df | 54 | RectGen(); |
mSeiser | 2:a8f3233502df | 55 | |
mSeiser | 2:a8f3233502df | 56 | void SetPointsPerPeriod(float aPoints); |
mSeiser | 2:a8f3233502df | 57 | |
mSeiser | 2:a8f3233502df | 58 | void SetFrequ(float aFrequ); |
mSeiser | 2:a8f3233502df | 59 | |
mSeiser | 2:a8f3233502df | 60 | // Dauer des ON-Pulses in Prozent ( 0..1 ) |
mSeiser | 2:a8f3233502df | 61 | void SetPulsWidth(float aPercent); |
mSeiser | 2:a8f3233502df | 62 | |
mSeiser | 2:a8f3233502df | 63 | // Einen Abtastwert berechnen |
mSeiser | 2:a8f3233502df | 64 | void CalcOneStep(); |
mSeiser | 2:a8f3233502df | 65 | }; |
mSeiser | 2:a8f3233502df | 66 | |
mSeiser | 2:a8f3233502df | 67 | #endif |
mSeiser | 2:a8f3233502df | 68 | |
mSeiser | 2:a8f3233502df | 69 | |
mSeiser | 2:a8f3233502df | 70 | |
mSeiser | 2:a8f3233502df | 71 | |
mSeiser | 2:a8f3233502df | 72 | |
mSeiser | 2:a8f3233502df | 73 | |
mSeiser | 2:a8f3233502df | 74 | |
mSeiser | 2:a8f3233502df | 75 | |
mSeiser | 2:a8f3233502df | 76 | |
mSeiser | 2:a8f3233502df | 77 | |
mSeiser | 2:a8f3233502df | 78 | |
mSeiser | 2:a8f3233502df | 79 | |
mSeiser | 2:a8f3233502df | 80 | |
mSeiser | 2:a8f3233502df | 81 | |
mSeiser | 2:a8f3233502df | 82 | |
mSeiser | 2:a8f3233502df | 83 | |
mSeiser | 2:a8f3233502df | 84 | |
mSeiser | 2:a8f3233502df | 85 | |
mSeiser | 2:a8f3233502df | 86 |