RSeries astromech firmware
VMusic Class Reference

#include <audio/VMusic.h>

Classes

struct  DirEntry
 
class  Parser
 

Public Types

enum  {
  kRegMode = 0x0, kRegStatus = 0x1, kRegBass = 0x2, kRegClockFreq = 0x3,
  kRegDecodeTime = 0x4, kRegAuData = 0x5, kRegWRAM = 0x6, kRegWRAMAddr = 0x7,
  kRegHDAT0 = 0x8, kRegHDAT1 = 0x9, kRegAIAddr = 0xA, kRegVolume = 0xB,
  kRegAICtrl0 = 0xC, kRegAICtrl1 = 0xD, kRegAICtrl2 = 0xE, kRegAICtrl3 = 0xF
}
 

Public Member Functions

 VMusic (Stream &stream)
 Default Constructor. More...
 
bool init ()
 
void process ()
 
bool driveInserted () const
 
bool moduleAvailable () const
 
bool isPlaying () const
 
bool isBusy ()
 
bool available () const
 
bool deleteDirectory (const char *dir)
 
bool diskLabel (char *labelBuffer, size_t bufferSize)
 
bool diskSerialNumber (uint32_t &serialNumber)
 
bool deleteFile (const char *fname)
 
bool renameFile (const char *oldname, const char *newname)
 
bool makeDirectory (const char *dir)
 
bool openFileRead (const char *fileName)
 
bool openFileAppend (const char *fileName)
 
bool closeFile (const char *fileName)
 
bool readFile (const char *fileName)
 
bool getFileSize (const char *fileName, uint32_t &size)
 
bool parseTextFile (Parser &parser, const char *fileName, const char *dir=nullptr)
 
bool seekFile (uint32_t pos)
 
bool readOpenFile (uint8_t *ptr, uint32_t len)
 
bool writeToFile (uint8_t *ptr, uint32_t len)
 
bool writeStringToFile (const char *ptr)
 
bool changeDirectory (const char *dir=nullptr)
 
bool suspendDisk ()
 
bool wakeDisk ()
 
bool openDirectory (const char *dir=nullptr)
 
bool readDirectory (DirEntry &entry)
 
bool play (const char *snd, const char *dir=nullptr)
 
bool playRepeatedly (const char *snd, const char *dir=nullptr)
 
bool playAll (const char *dir=nullptr)
 
bool playAllRepeatedly (const char *dir=nullptr)
 
bool playRandomRepeatedly (const char *dir=nullptr)
 
bool nextTrack ()
 
bool previousTrack ()
 
bool nextDirectory ()
 
void togglePausePlay ()
 
bool fastForward ()
 
bool fastReverse ()
 
bool stop ()
 
bool setVolume (uint8_t volumePercent)
 
uint16_t readCommandRegister (uint8_t commandRegister)
 
bool writeCommandRegister (uint8_t commandRegister, uint16_t value)
 
void outputString (const char *str)
 
void outputUpperString (const char *str)
 
uint16_t getDecodeTime ()
 
uint32_t getSampleRate ()
 
bool isStereo ()
 
bool isMono ()
 
void setBassEnhancer (int trebleControl, int freqLimit, int bassEnhancer, int lowerLimit)
 
void sendCommand (const char *cmd=nullptr, const char *arg1=nullptr, const char *arg2=nullptr)
 
void sendByteCommand (const char *cmd, uint8_t arg)
 
void sendByteWordCommand (const char *cmd, uint8_t arg, uint16_t word)
 
uint8_t readByte ()
 
bool expectResponse (const char *altresponse=nullptr)
 
uint8_t * getChunkResponse (uint8_t *buffer, size_t size)
 
uint8_t * getResponse (size_t &size)
 
uint8_t * readLine (size_t &size)
 
uint8_t * readUntilPrompt (size_t &size)
 

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
kRegMode 
kRegStatus 
kRegBass 
kRegClockFreq 
kRegDecodeTime 
kRegAuData 
kRegWRAM 
kRegWRAMAddr 
kRegHDAT0 
kRegHDAT1 
kRegAIAddr 
kRegVolume 
kRegAICtrl0 
kRegAICtrl1 
kRegAICtrl2 
kRegAICtrl3 

Constructor & Destructor Documentation

◆ VMusic()

VMusic::VMusic ( Stream &  stream)
inline

Default Constructor.

Registers the subclass to be called from the sketch setup() routine

Member Function Documentation

◆ available()

bool VMusic::available ( ) const
inline

◆ changeDirectory()

bool VMusic::changeDirectory ( const char *  dir = nullptr)
inline

◆ closeFile()

bool VMusic::closeFile ( const char *  fileName)
inline

◆ deleteDirectory()

bool VMusic::deleteDirectory ( const char *  dir)
inline

◆ deleteFile()

bool VMusic::deleteFile ( const char *  fname)
inline

◆ diskLabel()

bool VMusic::diskLabel ( char *  labelBuffer,
size_t  bufferSize 
)
inline

◆ diskSerialNumber()

bool VMusic::diskSerialNumber ( uint32_t &  serialNumber)
inline

◆ driveInserted()

bool VMusic::driveInserted ( ) const
inline

◆ expectResponse()

bool VMusic::expectResponse ( const char *  altresponse = nullptr)
inline

◆ fastForward()

bool VMusic::fastForward ( )
inline

◆ fastReverse()

bool VMusic::fastReverse ( )
inline

◆ getChunkResponse()

uint8_t* VMusic::getChunkResponse ( uint8_t *  buffer,
size_t  size 
)
inline

◆ getDecodeTime()

uint16_t VMusic::getDecodeTime ( )
inline

◆ getFileSize()

bool VMusic::getFileSize ( const char *  fileName,
uint32_t &  size 
)
inline

◆ getResponse()

uint8_t* VMusic::getResponse ( size_t &  size)
inline

◆ getSampleRate()

uint32_t VMusic::getSampleRate ( )
inline

◆ init()

bool VMusic::init ( )
inline

◆ isBusy()

bool VMusic::isBusy ( )
inline

◆ isMono()

bool VMusic::isMono ( )
inline

◆ isPlaying()

bool VMusic::isPlaying ( ) const
inline

◆ isStereo()

bool VMusic::isStereo ( )
inline

◆ makeDirectory()

bool VMusic::makeDirectory ( const char *  dir)
inline

◆ moduleAvailable()

bool VMusic::moduleAvailable ( ) const
inline

◆ nextDirectory()

bool VMusic::nextDirectory ( )
inline

◆ nextTrack()

bool VMusic::nextTrack ( )
inline

◆ openDirectory()

bool VMusic::openDirectory ( const char *  dir = nullptr)
inline

◆ openFileAppend()

bool VMusic::openFileAppend ( const char *  fileName)
inline

◆ openFileRead()

bool VMusic::openFileRead ( const char *  fileName)
inline

◆ outputString()

void VMusic::outputString ( const char *  str)
inline

◆ outputUpperString()

void VMusic::outputUpperString ( const char *  str)
inline

◆ parseTextFile()

bool VMusic::parseTextFile ( Parser parser,
const char *  fileName,
const char *  dir = nullptr 
)
inline

◆ play()

bool VMusic::play ( const char *  snd,
const char *  dir = nullptr 
)
inline

◆ playAll()

bool VMusic::playAll ( const char *  dir = nullptr)
inline

◆ playAllRepeatedly()

bool VMusic::playAllRepeatedly ( const char *  dir = nullptr)
inline

◆ playRandomRepeatedly()

bool VMusic::playRandomRepeatedly ( const char *  dir = nullptr)
inline

◆ playRepeatedly()

bool VMusic::playRepeatedly ( const char *  snd,
const char *  dir = nullptr 
)
inline

◆ previousTrack()

bool VMusic::previousTrack ( )
inline

◆ process()

void VMusic::process ( )
inline

◆ readByte()

uint8_t VMusic::readByte ( )
inline

◆ readCommandRegister()

uint16_t VMusic::readCommandRegister ( uint8_t  commandRegister)
inline

◆ readDirectory()

bool VMusic::readDirectory ( DirEntry entry)
inline

◆ readFile()

bool VMusic::readFile ( const char *  fileName)
inline

◆ readLine()

uint8_t* VMusic::readLine ( size_t &  size)
inline

◆ readOpenFile()

bool VMusic::readOpenFile ( uint8_t *  ptr,
uint32_t  len 
)
inline

◆ readUntilPrompt()

uint8_t* VMusic::readUntilPrompt ( size_t &  size)
inline

◆ renameFile()

bool VMusic::renameFile ( const char *  oldname,
const char *  newname 
)
inline

◆ seekFile()

bool VMusic::seekFile ( uint32_t  pos)
inline

◆ sendByteCommand()

void VMusic::sendByteCommand ( const char *  cmd,
uint8_t  arg 
)
inline

◆ sendByteWordCommand()

void VMusic::sendByteWordCommand ( const char *  cmd,
uint8_t  arg,
uint16_t  word 
)
inline

◆ sendCommand()

void VMusic::sendCommand ( const char *  cmd = nullptr,
const char *  arg1 = nullptr,
const char *  arg2 = nullptr 
)
inline

◆ setBassEnhancer()

void VMusic::setBassEnhancer ( int  trebleControl,
int  freqLimit,
int  bassEnhancer,
int  lowerLimit 
)
inline

◆ setVolume()

bool VMusic::setVolume ( uint8_t  volumePercent)
inline

◆ stop()

bool VMusic::stop ( )
inline

◆ suspendDisk()

bool VMusic::suspendDisk ( )
inline

◆ togglePausePlay()

void VMusic::togglePausePlay ( )
inline

◆ wakeDisk()

bool VMusic::wakeDisk ( )
inline

◆ writeCommandRegister()

bool VMusic::writeCommandRegister ( uint8_t  commandRegister,
uint16_t  value 
)
inline

◆ writeStringToFile()

bool VMusic::writeStringToFile ( const char *  ptr)
inline

◆ writeToFile()

bool VMusic::writeToFile ( uint8_t *  ptr,
uint32_t  len 
)
inline

The documentation for this class was generated from the following file: