37 #include <sys/select.h>
38 #include <sys/types.h>
41 #include <mraa/uart.h>
43 const int WT5001_DEFAULT_UART = 0;
44 const int WT5001_MAX_VOLUME = 31;
47 const uint8_t WT5001_START = 0x7e;
48 const uint8_t WT5001_END = 0x7e;
80 typedef enum { NONE = 0x00,
92 COPY_UDISK2FLASH = 0xab,
99 CLEAR_ALARM_DUR = 0xb6,
101 READ_PLAY_STATE = 0xc2,
102 READ_SPI_NUMF = 0xc3,
104 READ_UDISK_NUMF = 0xc5,
105 READ_CUR_FNAME = 0xc6,
112 typedef enum { NORMAL = 0x00,
113 SINGLE_REPEAT = 0x01,
122 } WT5001_PLAYSOURCE_T;
154 int readData(
char *buffer,
size_t len);
189 bool play(WT5001_PLAYSOURCE_T psrc, uint16_t index);
232 bool queue(uint16_t index);
250 bool insert(uint16_t index);
260 bool setDate(uint16_t year, uint8_t month, uint8_t day);
270 bool setTime(uint8_t hour, uint8_t minute, uint8_t second);
280 bool setAlarm(uint8_t hour, uint8_t minute, uint8_t second);
312 bool getNumFiles(WT5001_PLAYSOURCE_T psrc, uint16_t *numf);
330 bool getDate(uint16_t *year, uint8_t *month, uint8_t *day);
340 bool getTime(uint8_t *hour, uint8_t *minute, uint8_t *second);
344 int ttyFd() {
return m_ttyFd; };
345 int setTtyFd(
int fd) { m_ttyFd = fd; };
348 mraa_uart_context m_uart;
bool setDate(uint16_t year, uint8_t month, uint8_t day)
Definition: wt5001.cxx:339
bool stop()
Definition: wt5001.cxx:206
bool getNumFiles(WT5001_PLAYSOURCE_T psrc, uint16_t *numf)
Definition: wt5001.cxx:455
int writeData(char *buffer, size_t len)
Definition: wt5001.cxx:110
~WT5001()
Definition: wt5001.cxx:62
WT5001(int uart)
Definition: wt5001.cxx:34
bool setupTty(speed_t baud=B9600)
Definition: wt5001.cxx:131
bool play(WT5001_PLAYSOURCE_T psrc, uint16_t index)
Definition: wt5001.cxx:173
bool setAlarm(uint8_t hour, uint8_t minute, uint8_t second)
Definition: wt5001.cxx:376
bool getVolume(uint8_t *vol)
Definition: wt5001.cxx:409
bool next()
Definition: wt5001.cxx:221
bool dataAvailable(unsigned int millis)
Definition: wt5001.cxx:70
bool queue(uint16_t index)
Definition: wt5001.cxx:289
bool getTime(uint8_t *hour, uint8_t *minute, uint8_t *second)
Definition: wt5001.cxx:550
int readData(char *buffer, size_t len)
Definition: wt5001.cxx:94
bool checkResponse(WT5001_OPCODE_T opcode)
Definition: wt5001.cxx:159
C++ API for the WT5001 Serial MP3 module.
Definition: wt5001.h:76
bool setVolume(uint8_t vol)
Definition: wt5001.cxx:266
bool insert(uint16_t index)
Definition: wt5001.cxx:322
bool getPlayState(uint8_t *ps)
Definition: wt5001.cxx:432
bool setPlayMode(WT5001_PLAYMODE_T pm)
Definition: wt5001.cxx:306
bool clearAlarm()
Definition: wt5001.cxx:394
bool pause()
Definition: wt5001.cxx:251
bool getDate(uint16_t *year, uint8_t *month, uint8_t *day)
Definition: wt5001.cxx:523
bool getCurrentFile(uint16_t *curf)
Definition: wt5001.cxx:497
bool previous()
Definition: wt5001.cxx:236
bool setTime(uint8_t hour, uint8_t minute, uint8_t second)
Definition: wt5001.cxx:358