einfacher TP, TP1Ordn.cpp und .h sind wichtig
Fork of ProcVisDemo by
FunkGen.cpp@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 | #include "FunkGen.h" |
mSeiser | 2:a8f3233502df | 3 | |
mSeiser | 2:a8f3233502df | 4 | SignedRampGen::SignedRampGen() |
mSeiser | 2:a8f3233502df | 5 | { |
mSeiser | 2:a8f3233502df | 6 | val = 0; |
mSeiser | 2:a8f3233502df | 7 | SetPointsPerPeriod(10); // Default ist 10Pts/Periode |
mSeiser | 2:a8f3233502df | 8 | } |
mSeiser | 2:a8f3233502df | 9 | |
mSeiser | 2:a8f3233502df | 10 | void SignedRampGen::SetPointsPerPeriod(float aPoints) |
mSeiser | 2:a8f3233502df | 11 | { |
mSeiser | 2:a8f3233502df | 12 | _inc = 2.0/aPoints; |
mSeiser | 2:a8f3233502df | 13 | } |
mSeiser | 2:a8f3233502df | 14 | |
mSeiser | 2:a8f3233502df | 15 | void SignedRampGen::SetFrequ(float aFrequ) |
mSeiser | 2:a8f3233502df | 16 | { |
mSeiser | 2:a8f3233502df | 17 | SetPointsPerPeriod(1.0/aFrequ); |
mSeiser | 2:a8f3233502df | 18 | } |
mSeiser | 2:a8f3233502df | 19 | |
mSeiser | 2:a8f3233502df | 20 | void SignedRampGen::CalcOneStep() |
mSeiser | 2:a8f3233502df | 21 | { |
mSeiser | 2:a8f3233502df | 22 | val = val + _inc; |
mSeiser | 2:a8f3233502df | 23 | if( val>1.0 ) |
mSeiser | 2:a8f3233502df | 24 | val = -1 + (val - 1.0); |
mSeiser | 2:a8f3233502df | 25 | } |
mSeiser | 2:a8f3233502df | 26 | |
mSeiser | 2:a8f3233502df | 27 | |
mSeiser | 2:a8f3233502df | 28 | |
mSeiser | 2:a8f3233502df | 29 | TriangleGen::TriangleGen() |
mSeiser | 2:a8f3233502df | 30 | { |
mSeiser | 2:a8f3233502df | 31 | val=_phase=0; |
mSeiser | 2:a8f3233502df | 32 | SetPointsPerPeriod(100); |
mSeiser | 2:a8f3233502df | 33 | } |
mSeiser | 2:a8f3233502df | 34 | |
mSeiser | 2:a8f3233502df | 35 | void TriangleGen::SetPointsPerPeriod(float aPoints) |
mSeiser | 2:a8f3233502df | 36 | { |
mSeiser | 2:a8f3233502df | 37 | _inc = 4.0/aPoints; |
mSeiser | 2:a8f3233502df | 38 | } |
mSeiser | 2:a8f3233502df | 39 | |
mSeiser | 2:a8f3233502df | 40 | void TriangleGen::SetFrequ(float aFrequ) |
mSeiser | 2:a8f3233502df | 41 | { |
mSeiser | 2:a8f3233502df | 42 | SetPointsPerPeriod(1.0/aFrequ); |
mSeiser | 2:a8f3233502df | 43 | } |
mSeiser | 2:a8f3233502df | 44 | |
mSeiser | 2:a8f3233502df | 45 | void TriangleGen::CalcOneStep() |
mSeiser | 2:a8f3233502df | 46 | { |
mSeiser | 2:a8f3233502df | 47 | _phase = _phase + _inc; |
mSeiser | 2:a8f3233502df | 48 | if( _phase>1.0 ) { |
mSeiser | 2:a8f3233502df | 49 | _phase = -1 + (_phase - 1.0); |
mSeiser | 2:a8f3233502df | 50 | if( _state==1 ) |
mSeiser | 2:a8f3233502df | 51 | _state=2; |
mSeiser | 2:a8f3233502df | 52 | else |
mSeiser | 2:a8f3233502df | 53 | _state=1; |
mSeiser | 2:a8f3233502df | 54 | } |
mSeiser | 2:a8f3233502df | 55 | if( _state==1 ) |
mSeiser | 2:a8f3233502df | 56 | val = _phase; |
mSeiser | 2:a8f3233502df | 57 | else |
mSeiser | 2:a8f3233502df | 58 | val = -_phase; |
mSeiser | 2:a8f3233502df | 59 | } |
mSeiser | 2:a8f3233502df | 60 | |
mSeiser | 2:a8f3233502df | 61 | |
mSeiser | 2:a8f3233502df | 62 | |
mSeiser | 2:a8f3233502df | 63 | RectGen::RectGen() |
mSeiser | 2:a8f3233502df | 64 | { |
mSeiser | 2:a8f3233502df | 65 | val=0; _phase=0; _thrs=0; |
mSeiser | 2:a8f3233502df | 66 | SetPointsPerPeriod(10); // Default ist 10Pts/Periode |
mSeiser | 2:a8f3233502df | 67 | } |
mSeiser | 2:a8f3233502df | 68 | |
mSeiser | 2:a8f3233502df | 69 | void RectGen::SetPointsPerPeriod(float aPoints) |
mSeiser | 2:a8f3233502df | 70 | { |
mSeiser | 2:a8f3233502df | 71 | _inc = 2.0/aPoints; |
mSeiser | 2:a8f3233502df | 72 | } |
mSeiser | 2:a8f3233502df | 73 | |
mSeiser | 2:a8f3233502df | 74 | void RectGen::SetFrequ(float aFrequ) |
mSeiser | 2:a8f3233502df | 75 | { |
mSeiser | 2:a8f3233502df | 76 | SetPointsPerPeriod(1.0/aFrequ); |
mSeiser | 2:a8f3233502df | 77 | } |
mSeiser | 2:a8f3233502df | 78 | |
mSeiser | 2:a8f3233502df | 79 | void RectGen::SetPulsWidth(float aPercent) |
mSeiser | 2:a8f3233502df | 80 | { |
mSeiser | 2:a8f3233502df | 81 | _thrs = 1.0-aPercent; |
mSeiser | 2:a8f3233502df | 82 | } |
mSeiser | 2:a8f3233502df | 83 | |
mSeiser | 2:a8f3233502df | 84 | void RectGen::CalcOneStep() |
mSeiser | 2:a8f3233502df | 85 | { |
mSeiser | 2:a8f3233502df | 86 | _phase = _phase + _inc; |
mSeiser | 2:a8f3233502df | 87 | if( _phase>1.0 ) |
mSeiser | 2:a8f3233502df | 88 | _phase = -1 + (_phase - 1.0); |
mSeiser | 2:a8f3233502df | 89 | if( _phase>_thrs ) |
mSeiser | 2:a8f3233502df | 90 | val = 1.0; |
mSeiser | 2:a8f3233502df | 91 | else |
mSeiser | 2:a8f3233502df | 92 | val = -1.0; |
mSeiser | 2:a8f3233502df | 93 | } |
mSeiser | 2:a8f3233502df | 94 | |
mSeiser | 2:a8f3233502df | 95 | |
mSeiser | 2:a8f3233502df | 96 | |
mSeiser | 2:a8f3233502df | 97 | |
mSeiser | 2:a8f3233502df | 98 | |
mSeiser | 2:a8f3233502df | 99 | |
mSeiser | 2:a8f3233502df | 100 | |
mSeiser | 2:a8f3233502df | 101 | |
mSeiser | 2:a8f3233502df | 102 | |
mSeiser | 2:a8f3233502df | 103 | |
mSeiser | 2:a8f3233502df | 104 | |
mSeiser | 2:a8f3233502df | 105 | |
mSeiser | 2:a8f3233502df | 106 | |
mSeiser | 2:a8f3233502df | 107 | |
mSeiser | 2:a8f3233502df | 108 | |
mSeiser | 2:a8f3233502df | 109 | |
mSeiser | 2:a8f3233502df | 110 | |
mSeiser | 2:a8f3233502df | 111 |