Capacitive Touch Sensor Controlling an MP3 Player

Dependencies:   4DGL-uLCD-SE SDFileSystem TextLCD mbed wave_player

Committer:
maxmbrown
Date:
Thu Dec 08 20:20:09 2016 +0000
Revision:
0:1cb83aab3f9a
Capacitive Touch Sensor Controlling an MP3 Player

Who changed what in which revision?

UserRevisionLine numberNew contents of line
maxmbrown 0:1cb83aab3f9a 1 #ifndef VS1002_H
maxmbrown 0:1cb83aab3f9a 2 #define VS1002_H
maxmbrown 0:1cb83aab3f9a 3
maxmbrown 0:1cb83aab3f9a 4 #include "mbed.h"
maxmbrown 0:1cb83aab3f9a 5 #include "SDFileSystem.h"
maxmbrown 0:1cb83aab3f9a 6 #include "string"
maxmbrown 0:1cb83aab3f9a 7 #include "string.h"
maxmbrown 0:1cb83aab3f9a 8 #include "TextLCD.h"
maxmbrown 0:1cb83aab3f9a 9
maxmbrown 0:1cb83aab3f9a 10
maxmbrown 0:1cb83aab3f9a 11 //SCI_MODE register bits as of p.26 of the datasheet
maxmbrown 0:1cb83aab3f9a 12 #define SM_DIFF 0x0001
maxmbrown 0:1cb83aab3f9a 13 #define SM_SETTOZERO 0x0002
maxmbrown 0:1cb83aab3f9a 14 #define SM_RESET 0x0004
maxmbrown 0:1cb83aab3f9a 15 #define SM_OUTOFWAV 0x0008
maxmbrown 0:1cb83aab3f9a 16 #define SM_PDOWN 0x0010
maxmbrown 0:1cb83aab3f9a 17 #define SM_TESTS 0x0020
maxmbrown 0:1cb83aab3f9a 18 #define SM_STREAM 0x0040
maxmbrown 0:1cb83aab3f9a 19 #define SM_PLUSV 0x0080
maxmbrown 0:1cb83aab3f9a 20 #define SM_DACT 0x0100
maxmbrown 0:1cb83aab3f9a 21 #define SM_SDIORD 0x0200
maxmbrown 0:1cb83aab3f9a 22 #define SM_SDISHARE 0x0400
maxmbrown 0:1cb83aab3f9a 23 #define SM_SDINEW 0x0800
maxmbrown 0:1cb83aab3f9a 24 #define SM_ADPCM 0x1000
maxmbrown 0:1cb83aab3f9a 25 #define SM_ADPCM_HP 0x2000
maxmbrown 0:1cb83aab3f9a 26
maxmbrown 0:1cb83aab3f9a 27 extern int new_song_number;
maxmbrown 0:1cb83aab3f9a 28 extern int volume_left;
maxmbrown 0:1cb83aab3f9a 29 extern int volume_right;
maxmbrown 0:1cb83aab3f9a 30 extern int size;
maxmbrown 0:1cb83aab3f9a 31 extern bool pause;
maxmbrown 0:1cb83aab3f9a 32 extern bool old_pause;
maxmbrown 0:1cb83aab3f9a 33 extern bool mute;
maxmbrown 0:1cb83aab3f9a 34 extern bool old_mute;
maxmbrown 0:1cb83aab3f9a 35 extern bool stop;
maxmbrown 0:1cb83aab3f9a 36 extern int t;
maxmbrown 0:1cb83aab3f9a 37 extern int oldt;
maxmbrown 0:1cb83aab3f9a 38 extern int m;
maxmbrown 0:1cb83aab3f9a 39 extern int fade;
maxmbrown 0:1cb83aab3f9a 40 extern int old_fade;
maxmbrown 0:1cb83aab3f9a 41 extern string print_fade;
maxmbrown 0:1cb83aab3f9a 42 extern int fade_percent;
maxmbrown 0:1cb83aab3f9a 43
maxmbrown 0:1cb83aab3f9a 44 extern char * song_name[6];
maxmbrown 0:1cb83aab3f9a 45
maxmbrown 0:1cb83aab3f9a 46
maxmbrown 0:1cb83aab3f9a 47 class VS1002 {
maxmbrown 0:1cb83aab3f9a 48
maxmbrown 0:1cb83aab3f9a 49 public:
maxmbrown 0:1cb83aab3f9a 50
maxmbrown 0:1cb83aab3f9a 51 VS1002(PinName mmosi, PinName mmiso, PinName ssck, PinName ccs, const char *name, PinName mosi, PinName miso, PinName sck, PinName cs, PinName rst, PinName dreq, PinName dcs, PinName vol);
maxmbrown 0:1cb83aab3f9a 52
maxmbrown 0:1cb83aab3f9a 53 void cs_low(void);
maxmbrown 0:1cb83aab3f9a 54 void cs_high(void);
maxmbrown 0:1cb83aab3f9a 55 void dcs_low(void);
maxmbrown 0:1cb83aab3f9a 56 void dcs_high(void);
maxmbrown 0:1cb83aab3f9a 57 void sci_en(void);
maxmbrown 0:1cb83aab3f9a 58 void sci_dis(void);
maxmbrown 0:1cb83aab3f9a 59 void sdi_en(void);
maxmbrown 0:1cb83aab3f9a 60 void sdi_dis(void);
maxmbrown 0:1cb83aab3f9a 61
maxmbrown 0:1cb83aab3f9a 62 void sci_initialise(void);
maxmbrown 0:1cb83aab3f9a 63 void sdi_initialise(void);
maxmbrown 0:1cb83aab3f9a 64 void reset(void);
maxmbrown 0:1cb83aab3f9a 65 void power_down(void);
maxmbrown 0:1cb83aab3f9a 66
maxmbrown 0:1cb83aab3f9a 67 void sci_write(unsigned char, unsigned short int);
maxmbrown 0:1cb83aab3f9a 68 void sdi_write(unsigned char);
maxmbrown 0:1cb83aab3f9a 69 unsigned short int read(unsigned short int);
maxmbrown 0:1cb83aab3f9a 70 void sine_test_activate(unsigned char);
maxmbrown 0:1cb83aab3f9a 71 void volume(signed int,signed int);
maxmbrown 0:1cb83aab3f9a 72 void sine_test_deactivate(void);
maxmbrown 0:1cb83aab3f9a 73 void play_song(string, string, int);
maxmbrown 0:1cb83aab3f9a 74 void update_LCD(string);
maxmbrown 0:1cb83aab3f9a 75
maxmbrown 0:1cb83aab3f9a 76 int num_of_files;
maxmbrown 0:1cb83aab3f9a 77
maxmbrown 0:1cb83aab3f9a 78 DigitalIn _DREQ;
maxmbrown 0:1cb83aab3f9a 79 DigitalOut _RST;
maxmbrown 0:1cb83aab3f9a 80 AnalogIn _VOL;
maxmbrown 0:1cb83aab3f9a 81
maxmbrown 0:1cb83aab3f9a 82 protected:
maxmbrown 0:1cb83aab3f9a 83
maxmbrown 0:1cb83aab3f9a 84 SPI _spi;
maxmbrown 0:1cb83aab3f9a 85 DigitalOut _CS;
maxmbrown 0:1cb83aab3f9a 86 DigitalOut _DCS;
maxmbrown 0:1cb83aab3f9a 87 SDFileSystem _sd;
maxmbrown 0:1cb83aab3f9a 88
maxmbrown 0:1cb83aab3f9a 89 };
maxmbrown 0:1cb83aab3f9a 90 #endif