BaseMachine OscController Library

OscController.h

Committer:
ryood
Date:
2017-02-13
Revision:
0:d941144b13db
Child:
1:d3217569b33e

File content as of revision 0:d941144b13db:

/*
 * 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;
};