93 lines
3.1 KiB
C++
93 lines
3.1 KiB
C++
// BluebitKt540b.h
|
||
|
||
#ifndef _BLUEBITKT540B_h
|
||
#define _BLUEBITKT540B_h
|
||
|
||
#if defined(ARDUINO) && ARDUINO >= 100
|
||
#include "arduino.h"
|
||
#else
|
||
#include "WProgram.h"
|
||
#endif
|
||
|
||
#include <SoftwareSerial.h>
|
||
|
||
/*ѡ<><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
||
#define CMD_NEXT 0x01
|
||
#define CMD_PREV 0x02
|
||
#define CMD_PLAY_SONG 0x03
|
||
/*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
||
#define CMD_VOLUME_INC 0x04
|
||
#define CMD_VOLUME_DEC 0x05
|
||
#define CMD_VOLUME 0x06
|
||
#define CMD_SET_EQ 0x07
|
||
#define CMD_LOOP 0x08
|
||
#define CMD_MEDIA_SELECT 0x09
|
||
/*<2A>豸״̬<D7B4><CCAC><EFBFBD><EFBFBD>*/
|
||
#define CMD_ENTER_SLEEP_MODE 0x0A
|
||
#define CMD_EXIT_SLEEP_MODE 0x0B
|
||
#define CMD_RESET 0x0C
|
||
#define CMD_PLAY 0x0D
|
||
#define CMD_PAUSE 0x0E
|
||
#define CMD_DIR_PLAY 0x0F
|
||
#define CMD_DIR_PLAY1 0x14
|
||
#define CMD_STOP 0x16
|
||
#define CMD_DIR_LOOP 0x17
|
||
#define CMD_RADOM_PLAY 0x18
|
||
#define CMD_LOOP_ONE 0x19
|
||
#define CMD_DAC_ON_OFF 0x1A
|
||
#define CMD_PLAY_WITH_VOLUME 0x22
|
||
/*<2A><>ȡ<EFBFBD>豸״̬*/
|
||
#define CMD_GET_STATE 0x42
|
||
#define PLAY_STATE 0x01
|
||
#define STOP_STATE 0x00
|
||
|
||
typedef enum {
|
||
UDISK,
|
||
TFCARD,
|
||
FLASH,
|
||
} MEDIA;
|
||
|
||
class Kt540bClass
|
||
{
|
||
protected:
|
||
|
||
public:
|
||
Kt540bClass(int rxPin, int txPin);
|
||
void begin();
|
||
void play(void); //<2F><><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD>лָ<D0BB><D6B8><EFBFBD>
|
||
void play(uint8_t songNum); //<2F><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>Ÿ<EFBFBD><C5B8><EFBFBD>
|
||
//void play(uint8_t songNum, uint8_t volume); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>Ÿ<EFBFBD><C5B8><EFBFBD>
|
||
void playDir(uint8_t dir, uint8_t songNum); //<2F><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
void playNext(void); //<2F><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>
|
||
void playPrev(void); //<2F><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>
|
||
void setVolume(uint8_t volume); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
void volumeInc(); //<2F><><EFBFBD><EFBFBD>+
|
||
void volumeDec(); //<2F><><EFBFBD><EFBFBD>-
|
||
void setEQ(uint8_t eq); //<2F><><EFBFBD><EFBFBD>EQֵ
|
||
void loop(uint8_t songNo); //ָ<><D6B8><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ÿ<EFBFBD><C5B8><EFBFBD>ѭ<EFBFBD><D1AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
void loop(uint8_t dir, uint8_t songNo); //ָ<><D6B8>Ŀ¼<C4BF><C2BC><EFBFBD><EFBFBD><EFBFBD>Ÿ<EFBFBD><C5B8><EFBFBD>ѭ<EFBFBD><D1AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
void loopDir(uint8_t dir); //ָ<><D6B8>Ŀ¼ѭ<C2BC><D1AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
void singleLoop(boolean onOff); //<2F><><EFBFBD><EFBFBD>ѭ<EFBFBD><D1AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
void radomPlay(void); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD>ϵĸ裩
|
||
void pause(void); //<2F><>ͣ
|
||
void stop(void); //ֹͣ
|
||
void setDac(bool onOff); //DAC<41><43><EFBFBD><EFBFBD>
|
||
void enterSleep(void); //<2F><><EFBFBD><EFBFBD>˯<EFBFBD><CBAF>
|
||
void exitSleep(void); //<2F>˳<EFBFBD>˯<EFBFBD><CBAF>
|
||
void resetDevice(void); //<2F>豸<EFBFBD><E8B1B8>λ
|
||
void setPlayMedia(MEDIA playMedia); //ѡ<><D1A1><EFBFBD><EFBFBD>ý<EFBFBD><C3BD>
|
||
uint8_t getPlayState(void); //<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>״̬
|
||
private:
|
||
int pinRx;
|
||
int pinTx;
|
||
int time;
|
||
SoftwareSerial Sserial;
|
||
|
||
void sendCmd(uint8_t cmd, uint8_t data1, uint8_t data2);
|
||
};
|
||
|
||
//extern Kt540bClass Kt540b;
|
||
|
||
#endif
|
||
|