Under construction

Dependencies:   4DGL-uLCD-SE SDFileSystem mbed

Fork of vs1011e by Erick Cardenas

Committer:
swilliams346
Date:
Mon Dec 12 14:31:10 2016 +0000
Revision:
1:9c5643903657
Under construction

Who changed what in which revision?

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