BaseMachine OscController Library
SpiOscController.h
- Committer:
- ryood
- Date:
- 2017-02-13
- Revision:
- 3:31a6b490986f
- Parent:
- 1:d3217569b33e
- Child:
- 4:7146756bcc4f
File content as of revision 3:31a6b490986f:
/* * BaseMachine SpiOscController * * mbed Rev 135 / mbed-rtos Rev 123 * * 2017.02.13 * */ #ifndef _SPI_OSC_CONTROLLER_H_ #define _SPI_OSC_CONTROLLER_H_ #include "mbed.h" #include "OscController.h" #define DCO_PACKET_HEADER (0x55) #define SPI_WAIT (wait_us(1)) class SpiOscController : public OscController { public: SpiOscController(SPI* _pSpim, PinName _DcoCS, uint8_t _waveShape=WAVESHAPE_SQUARE, uint8_t _pulseWidth=127) : OscController(_waveShape, _pulseWidth), pSpiM(_pSpim), DcoCS(_DcoCS, 1) {} virtual void outDco() { #if(UART_TRACE) OscController.outDco(); printf("%d\t", DCO_PACKET_HEADER); printf("%d\t", waveShape); printf("%d\t", pulseWidth); printf("%d\t", frequency10 >> 8); printf("%d\t", frequency10 & 0xff); printf("\r\n"); #endif DcoCS = 0; pSpiM->write(DCO_PACKET_HEADER); pSpiM->write(waveShape); pSpiM->write(pulseWidth); pSpiM->write(frequency10 >> 8); pSpiM->write(frequency10 & 0xff); SPI_WAIT; DcoCS = 1; } private: SPI* pSpiM; DigitalOut DcoCS; }; #endif //_SPI_OSC_CONTROLLER_H_