12Oct2012MBEDLab3Project

Dependencies:   DebounceIn EthernetNetIf FatFileSystem HTTPClient Motor SDFileSystem TextLCD mbed

Committer:
psawant9
Date:
Fri Oct 12 16:07:36 2012 +0000
Revision:
1:098c1e0989ee
Parent:
0:814bd1653303
12Oct2012mbedLab3Project

Who changed what in which revision?

UserRevisionLine numberNew contents of line
psawant9 0:814bd1653303 1 #ifndef VS1002_H
psawant9 0:814bd1653303 2 #define VS1002_H
psawant9 0:814bd1653303 3
psawant9 0:814bd1653303 4 //#define FS_ONLY
psawant9 0:814bd1653303 5 #define FIXED_VOL
psawant9 0:814bd1653303 6
psawant9 0:814bd1653303 7 #include "mbed.h"
psawant9 0:814bd1653303 8 #include "SDFileSystem.h"
psawant9 0:814bd1653303 9 #include "string"
psawant9 0:814bd1653303 10 #include "string.h"
psawant9 0:814bd1653303 11
psawant9 0:814bd1653303 12 //SCI_MODE register bits as of p.26 of the datasheet
psawant9 0:814bd1653303 13 #define SM_DIFF 0x0001
psawant9 0:814bd1653303 14 #define SM_SETTOZERO 0x0002
psawant9 0:814bd1653303 15 #define SM_RESET 0x0004
psawant9 0:814bd1653303 16 #define SM_OUTOFWAV 0x0008
psawant9 0:814bd1653303 17 #define SM_PDOWN 0x0010
psawant9 0:814bd1653303 18 #define SM_TESTS 0x0020
psawant9 0:814bd1653303 19 #define SM_STREAM 0x0040
psawant9 0:814bd1653303 20 #define SM_PLUSV 0x0080
psawant9 0:814bd1653303 21 #define SM_DACT 0x0100
psawant9 0:814bd1653303 22 #define SM_SDIORD 0x0200
psawant9 0:814bd1653303 23 #define SM_SDISHARE 0x0400
psawant9 0:814bd1653303 24 #define SM_SDINEW 0x0800
psawant9 0:814bd1653303 25 #define SM_ADPCM 0x1000
psawant9 0:814bd1653303 26 #define SM_ADPCM_HP 0x2000
psawant9 0:814bd1653303 27
psawant9 0:814bd1653303 28
psawant9 0:814bd1653303 29 class VS1002 {
psawant9 0:814bd1653303 30
psawant9 0:814bd1653303 31 public:
psawant9 0:814bd1653303 32 // VS1002(int _mmosi, int _mmiso, int _ssck, int _ccs, const char* _name,
psawant9 0:814bd1653303 33 // int _mosi, int _miso, int _sck, int _cs, int _rst, int _dreq, int _dcs, int _vol);
psawant9 0:814bd1653303 34 VS1002(PinName _mmosi, PinName _mmiso, PinName _ssck, PinName _ccs, const char* _name,
psawant9 0:814bd1653303 35 PinName _mosi, PinName _miso, PinName _sck, PinName _cs, PinName _rst, PinName _dreq,
psawant9 0:814bd1653303 36 PinName _dcs, PinName _vol);
psawant9 0:814bd1653303 37
psawant9 0:814bd1653303 38 void cs_low(void);
psawant9 0:814bd1653303 39 void cs_high(void);
psawant9 0:814bd1653303 40 void dcs_low(void);
psawant9 0:814bd1653303 41 void dcs_high(void);
psawant9 0:814bd1653303 42 void sci_en(void);
psawant9 0:814bd1653303 43 void sci_dis(void);
psawant9 0:814bd1653303 44 void sdi_en(void);
psawant9 0:814bd1653303 45 void sdi_dis(void);
psawant9 0:814bd1653303 46
psawant9 0:814bd1653303 47 void sci_initialise(void);
psawant9 0:814bd1653303 48 void sdi_initialise(void);
psawant9 0:814bd1653303 49 void reset(void);
psawant9 0:814bd1653303 50 void power_down(void);
psawant9 0:814bd1653303 51
psawant9 0:814bd1653303 52 void sci_write(unsigned char, unsigned short int);
psawant9 0:814bd1653303 53 void sdi_write(unsigned char);
psawant9 0:814bd1653303 54 unsigned short int read(unsigned short int);
psawant9 0:814bd1653303 55 void sine_test_activate(unsigned char);
psawant9 0:814bd1653303 56 void volume(void);
psawant9 0:814bd1653303 57 void sine_test_deactivate(void);
psawant9 0:814bd1653303 58 void play_song(int);
psawant9 0:814bd1653303 59 void play_song(string);
psawant9 0:814bd1653303 60 int num_of_files;
psawant9 0:814bd1653303 61
psawant9 0:814bd1653303 62 DigitalIn _DREQ;
psawant9 0:814bd1653303 63 DigitalOut _RST;
psawant9 0:814bd1653303 64 AnalogIn _VOL;
psawant9 0:814bd1653303 65
psawant9 0:814bd1653303 66 protected:
psawant9 0:814bd1653303 67
psawant9 0:814bd1653303 68 SPI _spi;
psawant9 0:814bd1653303 69 DigitalOut _CS;
psawant9 0:814bd1653303 70 DigitalOut _DCS;
psawant9 0:814bd1653303 71 SDFileSystem _sd;
psawant9 0:814bd1653303 72
psawant9 0:814bd1653303 73 };
psawant9 0:814bd1653303 74 #endif