einfacher TP, TP1Ordn.cpp und .h sind wichtig

Dependencies:   Serial_HL mbed

Fork of ProcVisDemo by michael hollegha

Committer:
mSeiser
Date:
Wed May 03 16:04:57 2017 +0000
Revision:
2:a8f3233502df
nur einfacher TP;

Who changed what in which revision?

UserRevisionLine numberNew 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