Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: internet_radio_leo
Fork of VS1053 by
VS1053.h
- Committer:
- kayekss
- Date:
- 2013-11-08
- Revision:
- 1:00c19f771676
- Parent:
- 0:708868399033
- Child:
- 2:47ba7e2259cd
File content as of revision 1:00c19f771676:
// ==================================================== Nov 08 2013, kayeks ==
// VS1053.h
// ===========================================================================
// Just a simple library for VLSI's mp3/midi codec chip
// - Minimal and simple implementation (and dirty too)
#ifndef KAYX_VS1053_H_
#define KAYX_VS1053_H_
class VS1053 {
private:
SPI spi;
DigitalOut cs;
DigitalOut bsync;
DigitalIn dreq;
DigitalOut rst;
public:
static const uint8_t SCI_MODE = 0x00;
static const uint8_t SCI_STATUS = 0x01;
static const uint8_t SCI_BASS = 0x02;
static const uint8_t SCI_CLOCKF = 0x03;
static const uint8_t SCI_DECODE_TIME = 0x04;
static const uint8_t SCI_AUDATA = 0x05;
static const uint8_t SCI_WRAM = 0x06;
static const uint8_t SCI_WRAMADDR = 0x07;
static const uint8_t SCI_HDAT0 = 0x08;
static const uint8_t SCI_HDAT1 = 0x09;
static const uint8_t SCI_AIADDR = 0x0a;
static const uint8_t SCI_VOL = 0x0b;
static const uint8_t SCI_AICTRL0 = 0x0c;
static const uint8_t SCI_AICTRL1 = 0x0d;
static const uint8_t SCI_AICTRL2 = 0x0e;
static const uint8_t SCI_AICTRL3 = 0x0f;
VS1053(PinName mosiPin, PinName misoPin, PinName sckPin,
PinName cs, PinName bsync, PinName dreq, PinName rstPin,
uint32_t spiFrequency=1000000);
~VS1053();
void hardwareReset();
void sendDataByte(uint8_t);
size_t sendDataBlock(uint8_t*, size_t);
void clockUp();
bool sendCancel();
bool stop();
private:
void writeReg(uint8_t, uint16_t);
uint16_t readReg(uint8_t);
};
#endif
