BaseMachine OscController Library

Committer:
ryood
Date:
Mon Feb 13 19:20:56 2017 +0000
Revision:
7:03f0c7e507ce
Parent:
5:dda1279a1bf4
Test OK.

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 1:d3217569b33e 4 * mbed Rev 135 / mbed-rtos Rev 123
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 5:dda1279a1bf4 18 virtual void outDco()
ryood 0:d941144b13db 19 {
ryood 3:31a6b490986f 20 printf("%d\t%d\t%d\r\n", frequency10, waveShape, pulseWidth);
ryood 3:31a6b490986f 21 }
ryood 3:31a6b490986f 22
ryood 3:31a6b490986f 23 // frequecny10: 周波数の10倍値を16bit左シフト
ryood 3:31a6b490986f 24 void setFrequency10(uint16_t _frequency10)
ryood 3:31a6b490986f 25 {
ryood 3:31a6b490986f 26 frequency10 = _frequency10;
ryood 0:d941144b13db 27 }
ryood 0:d941144b13db 28
ryood 0:d941144b13db 29 void setWaveShape(uint8_t _waveShape) {
ryood 0:d941144b13db 30 if (_waveShape < WAVESHAPE_N) {
ryood 0:d941144b13db 31 waveShape = _waveShape;
ryood 0:d941144b13db 32 }
ryood 0:d941144b13db 33 }
ryood 0:d941144b13db 34
ryood 0:d941144b13db 35 uint8_t getWaveShape() {
ryood 0:d941144b13db 36 return waveShape;
ryood 0:d941144b13db 37 }
ryood 0:d941144b13db 38
ryood 0:d941144b13db 39 void setPulseWidth(uint8_t _pulseWidth) {
ryood 0:d941144b13db 40 pulseWidth = _pulseWidth;
ryood 0:d941144b13db 41 }
ryood 0:d941144b13db 42
ryood 0:d941144b13db 43 uint8_t getPulseWidth() {
ryood 0:d941144b13db 44 return pulseWidth;
ryood 0:d941144b13db 45 }
ryood 0:d941144b13db 46
ryood 0:d941144b13db 47 protected:
ryood 3:31a6b490986f 48 uint16_t frequency10;
ryood 0:d941144b13db 49 uint8_t waveShape;
ryood 0:d941144b13db 50 uint8_t pulseWidth;
ryood 0:d941144b13db 51 };