BaseMachine OscController Library

Committer:
ryood
Date:
Mon Feb 13 16:00:16 2017 +0000
Revision:
0:d941144b13db
Child:
1:d3217569b33e
first commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ryood 0:d941144b13db 1 /*
ryood 0:d941144b13db 2 * BaseMachine_OscController
ryood 0:d941144b13db 3 *
ryood 0:d941144b13db 4 * mbed Rev 121 / mbed-rtos Rev 117
ryood 0:d941144b13db 5 *
ryood 0:d941144b13db 6 * 2017.02.13
ryood 0:d941144b13db 7 *
ryood 0:d941144b13db 8 */
ryood 0:d941144b13db 9
ryood 0:d941144b13db 10 class OscController {
ryood 0:d941144b13db 11 public:
ryood 0:d941144b13db 12 enum WaveShape { WAVESHAPE_SQUARE, WAVESHAPE_SAW, WAVESHAPE_N, WAVESHAPE_OFF=0xff };
ryood 0:d941144b13db 13
ryood 0:d941144b13db 14 OscController(uint8_t _waveShape=WAVESHAPE_SQUARE, uint8_t _pulseWidth=127) :
ryood 0:d941144b13db 15 waveShape(_waveShape),
ryood 0:d941144b13db 16 pulseWidth(_pulseWidth) {}
ryood 0:d941144b13db 17
ryood 0:d941144b13db 18 virtual void OutDco(uint32_t frequency)
ryood 0:d941144b13db 19 {
ryood 0:d941144b13db 20 printf("%d\r\n", frequency>>16);
ryood 0:d941144b13db 21 }
ryood 0:d941144b13db 22
ryood 0:d941144b13db 23 void setWaveShape(uint8_t _waveShape) {
ryood 0:d941144b13db 24 if (_waveShape < WAVESHAPE_N) {
ryood 0:d941144b13db 25 waveShape = _waveShape;
ryood 0:d941144b13db 26 }
ryood 0:d941144b13db 27 }
ryood 0:d941144b13db 28
ryood 0:d941144b13db 29 uint8_t getWaveShape() {
ryood 0:d941144b13db 30 return waveShape;
ryood 0:d941144b13db 31 }
ryood 0:d941144b13db 32
ryood 0:d941144b13db 33 void setPulseWidth(uint8_t _pulseWidth) {
ryood 0:d941144b13db 34 pulseWidth = _pulseWidth;
ryood 0:d941144b13db 35 }
ryood 0:d941144b13db 36
ryood 0:d941144b13db 37 uint8_t getPulseWidth() {
ryood 0:d941144b13db 38 return pulseWidth;
ryood 0:d941144b13db 39 }
ryood 0:d941144b13db 40
ryood 0:d941144b13db 41 protected:
ryood 0:d941144b13db 42 uint8_t waveShape;
ryood 0:d941144b13db 43 uint8_t pulseWidth;
ryood 0:d941144b13db 44 };