Dependents:   MP3_player_on_Orange

Committer:
nameless129
Date:
Wed Mar 14 14:08:32 2012 +0000
Revision:
0:9abce67c084e

        

Who changed what in which revision?

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