Audio
Dependencies: Lib_DFPlayerMini
Lib_DFPlayerMini.h@2:b25892ce36c5, 2021-05-05 (annotated)
- Committer:
- ackerden
- Date:
- Wed May 05 14:59:42 2021 +0000
- Revision:
- 2:b25892ce36c5
- Parent:
- 0:6e015ec7e3a7
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
bluefish | 0:6e015ec7e3a7 | 1 | #ifndef __LIBRARY_DFPLAYER_MINI_H__ |
bluefish | 0:6e015ec7e3a7 | 2 | #define __LIBRARY_DFPLAYER_MINI_H__ |
bluefish | 0:6e015ec7e3a7 | 3 | |
bluefish | 0:6e015ec7e3a7 | 4 | #include "mbed.h" |
ackerden | 2:b25892ce36c5 | 5 | |
bluefish | 0:6e015ec7e3a7 | 6 | |
bluefish | 0:6e015ec7e3a7 | 7 | #define DFPLAYER_STX (0x7E) |
bluefish | 0:6e015ec7e3a7 | 8 | #define DFPLAYER_ETX (0xEF) |
bluefish | 0:6e015ec7e3a7 | 9 | #define DFPLAYER_VER (0xFF) |
bluefish | 0:6e015ec7e3a7 | 10 | |
bluefish | 0:6e015ec7e3a7 | 11 | // typedef definition |
bluefish | 0:6e015ec7e3a7 | 12 | typedef enum _DFPLAYERMINICOM{ |
bluefish | 0:6e015ec7e3a7 | 13 | DFPLAYER_NEXT = 0x01, |
bluefish | 0:6e015ec7e3a7 | 14 | DFPLAYER_PREV = 0x02, |
bluefish | 0:6e015ec7e3a7 | 15 | DFPLAYER_NUM = 0x03, |
bluefish | 0:6e015ec7e3a7 | 16 | DFPLAYER_VOL_PLUS = 0x04, |
bluefish | 0:6e015ec7e3a7 | 17 | DFPLAYER_VOL_MINUS = 0x05, |
bluefish | 0:6e015ec7e3a7 | 18 | DFPLAYER_VOL_SET = 0x06, |
bluefish | 0:6e015ec7e3a7 | 19 | DFPLAYER_EQ = 0x07, |
bluefish | 0:6e015ec7e3a7 | 20 | DFPLAYER_PLAYBACKMODE = 0x08, |
bluefish | 0:6e015ec7e3a7 | 21 | DFPLAYER_PLAYBACKSOURCE = 0x09, |
bluefish | 0:6e015ec7e3a7 | 22 | DFPLAYER_STANDBY = 0x0A, |
bluefish | 0:6e015ec7e3a7 | 23 | DFPLAYER_NORMAL = 0x0B, |
bluefish | 0:6e015ec7e3a7 | 24 | DFPLAYER_RESET = 0x0C, |
bluefish | 0:6e015ec7e3a7 | 25 | DFPLAYER_PLAYBACK = 0x0D, |
bluefish | 0:6e015ec7e3a7 | 26 | DFPLAYER_PAUSE = 0x0E, |
bluefish | 0:6e015ec7e3a7 | 27 | DFPLAYER_PLAYBACKFOLDER = 0x0F, |
bluefish | 0:6e015ec7e3a7 | 28 | DFPLAYER_VOLADJUSTSET = 0x10, |
bluefish | 0:6e015ec7e3a7 | 29 | DFPLAYER_REPEATPLAY = 0x11, |
bluefish | 0:6e015ec7e3a7 | 30 | DFPLAYER_STAY1 = 0x3C, |
bluefish | 0:6e015ec7e3a7 | 31 | DFPLAYER_STAY2 = 0x3D, |
bluefish | 0:6e015ec7e3a7 | 32 | DFPLAYER_STAY3 = 0x3E, |
bluefish | 0:6e015ec7e3a7 | 33 | DFPLAYER_INITIALIZE = 0x3F, |
bluefish | 0:6e015ec7e3a7 | 34 | DFPLAYER_ERROR = 0x40, |
bluefish | 0:6e015ec7e3a7 | 35 | DFPLAYER_REPLY = 0x41, |
bluefish | 0:6e015ec7e3a7 | 36 | DFPLAYER_CSTATUS = 0x42, |
bluefish | 0:6e015ec7e3a7 | 37 | DFPLAYER_CVOLUME = 0x43, |
bluefish | 0:6e015ec7e3a7 | 38 | DFPLAYER_CEQ = 0x44, |
bluefish | 0:6e015ec7e3a7 | 39 | DFPLAYER_CPLAYBACKMODE = 0x45, |
bluefish | 0:6e015ec7e3a7 | 40 | DFPLAYER_VERSION = 0x46, |
bluefish | 0:6e015ec7e3a7 | 41 | DFPLAYER_TFFILES = 0x47, |
bluefish | 0:6e015ec7e3a7 | 42 | DFPLAYER_UDISKFILES = 0x48, |
bluefish | 0:6e015ec7e3a7 | 43 | DFPLAYER_FLASHFILES = 0x49, |
bluefish | 0:6e015ec7e3a7 | 44 | DFPLAYER_KEEPON = 0x4A, |
bluefish | 0:6e015ec7e3a7 | 45 | DFPLAYER_CTFTRACK = 0x4B, |
bluefish | 0:6e015ec7e3a7 | 46 | DFPLAYER_CUDISKTRACK = 0x4C, |
bluefish | 0:6e015ec7e3a7 | 47 | DFPLAYER_CFLASHTRACK = 0x4D |
bluefish | 0:6e015ec7e3a7 | 48 | } DFPLAYERMINICOM; |
bluefish | 0:6e015ec7e3a7 | 49 | |
bluefish | 0:6e015ec7e3a7 | 50 | typedef void (*BUSYFUNCPTR)(void); |
bluefish | 0:6e015ec7e3a7 | 51 | |
bluefish | 0:6e015ec7e3a7 | 52 | class DFPlayerMini{ |
bluefish | 0:6e015ec7e3a7 | 53 | public: |
bluefish | 0:6e015ec7e3a7 | 54 | DFPlayerMini( PinName busy, PinName tx, PinName rx ); // constructor |
bluefish | 0:6e015ec7e3a7 | 55 | ~DFPlayerMini(); // destructor |
bluefish | 0:6e015ec7e3a7 | 56 | |
bluefish | 0:6e015ec7e3a7 | 57 | void begin(); |
bluefish | 0:6e015ec7e3a7 | 58 | void attachBusyInterrupt( BUSYFUNCPTR func ); |
bluefish | 0:6e015ec7e3a7 | 59 | void playNext(); |
bluefish | 0:6e015ec7e3a7 | 60 | void playPrev(); |
bluefish | 0:6e015ec7e3a7 | 61 | void playNumber( uint16_t num ); |
bluefish | 0:6e015ec7e3a7 | 62 | void playFolder( uint8_t folder, uint8_t num ); |
bluefish | 0:6e015ec7e3a7 | 63 | void volumePlus(); |
bluefish | 0:6e015ec7e3a7 | 64 | void volumeMinus(); |
bluefish | 0:6e015ec7e3a7 | 65 | void volumeSet( uint8_t vol ); |
bluefish | 0:6e015ec7e3a7 | 66 | |
bluefish | 0:6e015ec7e3a7 | 67 | private: |
bluefish | 0:6e015ec7e3a7 | 68 | InterruptIn _busy; |
ackerden | 2:b25892ce36c5 | 69 | BufferedSerial _serial; |
bluefish | 0:6e015ec7e3a7 | 70 | BUSYFUNCPTR _func; |
bluefish | 0:6e015ec7e3a7 | 71 | |
bluefish | 0:6e015ec7e3a7 | 72 | void _send_command( DFPLAYERMINICOM com, uint8_t param1, uint8_t param2 ); |
bluefish | 0:6e015ec7e3a7 | 73 | }; |
bluefish | 0:6e015ec7e3a7 | 74 | |
bluefish | 0:6e015ec7e3a7 | 75 | #endif |