kouzi osaki / MagneWave

MagneWave.h

Committer:
doctorura
Date:
2013-11-06
Revision:
4:8b4be75fd97a
Parent:
3:500b992880b3
Child:
5:a1c57d771887

File content as of revision 4:8b4be75fd97a:

#ifndef MAGNE_WAVE_H
#define MAGNE_WAVE_H

#include "mbed.h"
#include "SoftMCP4922.h"

class MagneWave
{
public:
    /*
     * MagneWave - Magnetone wave player
     * param
     * [in] dac: dac address
     */
    MagneWave( SoftMCP4922 *dac );
    
    /*
     * play - player function
     * param
     * [in] wavefile: file pointer
     */
    void play( FILE *wavefile );

private:
void dacOut();

//    Timer m_timer;
    SoftMCP4922 *m_wave_DAC;
    FILE *m_wavefile;
    Ticker tick;
    unsigned short m_fifo[256];
    short m_wptr;
    volatile short m_rptr;
    bool m_dacOn;
    bool m_fileEnd;
};



#endif  // MAGNE_WAVE_H