BaseMachine OscController Library

Revision:
0:d941144b13db
Child:
1:d3217569b33e
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/OscController.h	Mon Feb 13 16:00:16 2017 +0000
@@ -0,0 +1,44 @@
+/*
+ * BaseMachine_OscController
+ *
+ * mbed Rev 121 / mbed-rtos Rev 117
+ * 
+ * 2017.02.13
+ *
+ */
+ 
+ class OscController {
+ public:
+    enum WaveShape { WAVESHAPE_SQUARE, WAVESHAPE_SAW, WAVESHAPE_N, WAVESHAPE_OFF=0xff };
+    
+    OscController(uint8_t _waveShape=WAVESHAPE_SQUARE, uint8_t _pulseWidth=127) :
+        waveShape(_waveShape),
+        pulseWidth(_pulseWidth) {}
+        
+    virtual void OutDco(uint32_t frequency)
+    {
+        printf("%d\r\n", frequency>>16);
+    }
+    
+    void setWaveShape(uint8_t _waveShape) {
+        if (_waveShape < WAVESHAPE_N) {
+            waveShape = _waveShape;
+        }
+    }
+    
+    uint8_t getWaveShape() {
+        return waveShape;
+    }
+    
+    void setPulseWidth(uint8_t _pulseWidth) {
+        pulseWidth = _pulseWidth;
+    }
+    
+    uint8_t getPulseWidth() {
+        return pulseWidth;
+    }
+
+protected:
+    uint8_t waveShape;
+    uint8_t pulseWidth;
+};