Library Code
Download Mp3(4).zip. If you are not using a lab computer, unzip it into the Arduino "libraries" folder. It creates 2 examples under Mp3->Examples: Song and SineTest.
Documentation
The example files and library itself are generously commented, so they should be your go-to resource for further details.
Mp3 Application Interface Functions
General Public Functions
The following functions should be the most useful for a typical application interface.
- decoder_initialize (void) - Initialize decoder with default mode, clock multiplier and volume
- begin (unsigned char, unsigned char, unsigned char, unsigned char) - Register passed-in CS, DCS, RST and DREQ pins
- volume (unsigned char) - Set decoder's output volume level, from min=0 to max=254
- play (unsigned char *, unsigned int) - Transmit bytes to fill the decoder's input buffer
- (unsigned int) avg_byte_rate (void) - Average song byte rate, updated once/sec, useful for determining remaining playtime
- clear_buffer (void) - Clears out the decoder's buffer (already called as part of cancel_playback)
- cancel_playback (void) - Stops playback of current song, useful for pause, rewind and fast-forward
Decoder Command and Data Control Functions
The following functions are available if you want to write routines that uses particular features of the decoder, such as a soft-reset button.
- xmit_spi (char) - Transmit a byte to decoder via SPI
- rcvr_spi (void) - Receive a byte from decoder via SPI
- cmd_deselect (void) - Command deselect and release SPI bus
- cmd_select (void) - Command chip select
- data_deselect (void) - Data deselect and release SPI bus
- data_select (void) - Data chip select
- decoder_reset (void) - Hard reset the decoder
- decoder_busy (void) - Data request is busy processing bytes
- decoder_ready (void) - Data request is ready for more bytes
SPI Communication Functions
You shouldn't have much need for these, as they're called within the preceding set of command and control functions, but we made them public just in case.
- void power_on (void) - Setup SPI and set pin directions
- (unsigned int) sci_read (int) - Read SCI data
- void sci_write (int, unsigned int) - Write SCI data
Comments (0)
You don't have permission to comment on this page.