Function generator

Dependencies:   Serial_HL mbed

Revision:
2:100244cef3d6
Child:
3:c8c3b755ef54
diff -r e88b745f2ca2 -r 100244cef3d6 FuncGen.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/FuncGen.h	Thu Mar 17 13:45:13 2016 +0000
@@ -0,0 +1,70 @@
+#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(int 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;
+public:
+    TriangleGen();
+
+    void SetPointsPerPeriod(int 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;
+public:
+    RectGen();
+
+    void SetPointsPerPeriod(int aPoints);
+
+    void SetFrequ(float aFrequ);
+
+    // Dauer des ON-Pulses in Prozent ( 0..1 )
+    void SetPulsWidth(float aPercent);
+
+    // Einen Abtastwert berechnen
+    void CalcOneStep();
+};
+
+#endif
+
+
+