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 #include "FuncGenFSST3.h"
ogris 0:2e0be62147b1 3
ogris 0:2e0be62147b1 4
ogris 0:2e0be62147b1 5 SingnedRampGen::SingnedRampGen()
ogris 0:2e0be62147b1 6 {
ogris 0:2e0be62147b1 7 // sinnvolle frequenz/Periode setzen
ogris 0:2e0be62147b1 8 SetPointsPerPeriod(50);
ogris 0:2e0be62147b1 9 }
ogris 0:2e0be62147b1 10
ogris 0:2e0be62147b1 11 void SingnedRampGen::SetPointsPerPeriod(float aPoints)
ogris 0:2e0be62147b1 12 {
ogris 0:2e0be62147b1 13 _inc = 2.0/aPoints;
ogris 0:2e0be62147b1 14 }
ogris 0:2e0be62147b1 15
ogris 0:2e0be62147b1 16 void SingnedRampGen::SetFrequ(float aFrequ)
ogris 0:2e0be62147b1 17 {
ogris 0:2e0be62147b1 18 SetPointsPerPeriod(1.0/aFrequ);
ogris 0:2e0be62147b1 19 }
ogris 0:2e0be62147b1 20
ogris 0:2e0be62147b1 21 void SingnedRampGen::CalcOneStep()
ogris 0:2e0be62147b1 22 {
ogris 0:2e0be62147b1 23 val = val + _inc;
ogris 0:2e0be62147b1 24 if( val>1.0 )
ogris 0:2e0be62147b1 25 val = -1 + (val - 1.0);
ogris 0:2e0be62147b1 26 }
ogris 0:2e0be62147b1 27
ogris 0:2e0be62147b1 28
ogris 0:2e0be62147b1 29 TriangleGen::SingnedRampGen()
ogris 0:2e0be62147b1 30 {
ogris 0:2e0be62147b1 31 // sinnvolle frequenz/Periode setzen
ogris 0:2e0be62147b1 32 SetPointsPerPeriod(100);
ogris 0:2e0be62147b1 33 }
ogris 0:2e0be62147b1 34
ogris 0:2e0be62147b1 35 void TriangleGen::SetPointsPerPeriod(float aPoints)
ogris 0:2e0be62147b1 36 {
ogris 0:2e0be62147b1 37 _inc = 4.0/aPoints;
ogris 0:2e0be62147b1 38 }
ogris 0:2e0be62147b1 39
ogris 0:2e0be62147b1 40 void TriangleGen::SetFrequ(float aFrequ)
ogris 0:2e0be62147b1 41 {
ogris 0:2e0be62147b1 42 SetPointsPerPeriod(2.0/aFrequ);
ogris 0:2e0be62147b1 43 }
ogris 0:2e0be62147b1 44
ogris 0:2e0be62147b1 45 void TriangleGen::CalcOneStep()
ogris 0:2e0be62147b1 46 {
ogris 0:2e0be62147b1 47 phase = phase + _inc;
ogris 0:2e0be62147b1 48
ogris 0:2e0be62147b1 49 if( phase>1.0 )
ogris 0:2e0be62147b1 50 {
ogris 0:2e0be62147b1 51 phase = -1 + (phase - 1.0);
ogris 0:2e0be62147b1 52 _state++;
ogris 0:2e0be62147b1 53 }
ogris 0:2e0be62147b1 54
ogris 0:2e0be62147b1 55
ogris 0:2e0be62147b1 56 }
ogris 0:2e0be62147b1 57
ogris 0:2e0be62147b1 58
ogris 0:2e0be62147b1 59
ogris 0:2e0be62147b1 60
ogris 0:2e0be62147b1 61
ogris 0:2e0be62147b1 62
ogris 0:2e0be62147b1 63
ogris 0:2e0be62147b1 64
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