Func-Gen - basic setup

Dependencies:   mbed

FuncGenFSST.h

Committer:
stkiegerl
Date:
2021-03-23
Revision:
3:9fd12684fa88
Parent:
2:3abf5ddd9fc0

File content as of revision 3:9fd12684fa88:


#ifndef FuncGenFSST_h
#define FuncGenFSST_h

// Amplituden fix auf +/-1

class SignedRampGen {
	public:
		float val; // momentaner Ausgangswert
  private:
		float _inc; 
	public:
		SignedRampGen(); // Konstruktor
    
		void SetPointsPerPeriod(float aPoints);
	
	  // bezogen auf Fsample 0..0.5
	  void SetFrequ(float aFrequ);

    // Einen Abtastwert berechnen
	  // wird bei z.B. Fsample=100Hz  100x pro sec afgerufen
		void CalcOneStep();
};


class TriangleGen {
	public:
		float val; // momentaner Ausgangswert
  private:
    float _inc;
    int   _state;
		float _phase;
	public:
		TriangleGen();
    
		void SetPointsPerPeriod(float aPoints);
	
		// bezogen auf Fsample 0..0.5
	  void SetFrequ(float aFrequ);
	
		// Einen Abtastwert berechnen
		void CalcOneStep();
};


class RectGen {
	public:
		float val; // momentaner Ausgangswert
	private:
		float _inc;
		float _phase;
		float _thrs;
	public:
		RectGen();
    
		void SetPointsPerPeriod(float aPoints);
	
		void SetFrequ(float aFrequ);

    // Dauer des ON-Pulses in Prozent ( 0..1 )
		void SetPulsWidth(float aPercent)
		{  
			_thrs=aPercent; // möglicherweise andere Formel
		}

    // Einen Abtastwert berechnen
		void CalcOneStep();
};

#endif