Adafruit SoundBoard Library
Adafruit_Soundboard.h
Go to the documentation of this file.
1 
5 #ifndef _ADAFRUIT_SOUNDBOARD_H_
6 #define _ADAFRUIT_SOUNDBOARD_H_
7 
8 #include "Arduino.h"
9 
10 #define LINE_BUFFER_SIZE 80
11 #define MAXFILES 25
12 
13 
16 class Adafruit_Soundboard : public Print {
17 public:
24  Adafruit_Soundboard(Stream *s, Stream *d, int8_t r);
25 
26  boolean reset(void);
27 
32  int readLine(void);
33  uint8_t listFiles(void);
34 
40  char *fileName(uint8_t n);
46  uint32_t fileSize(uint8_t n);
47 
52  uint8_t volUp(void);
57  uint8_t volDown(void);
58 
64  boolean playTrack(uint8_t n);
70  boolean playTrack(char *name);
75  boolean pause(void);
80  boolean unpause(void);
85  boolean stop(void);
86 
93  boolean trackTime(uint32_t *current, uint32_t *total);
100  boolean trackSize(uint32_t *current, uint32_t *total);
101 
102 private:
103  Stream *stream; // -> sound board, e.g. SoftwareSerial or Serial1
104  Stream *debug; // -> host, e.g. Serial
105 
106  int8_t reset_pin;
107  char line_buffer[LINE_BUFFER_SIZE];
108  boolean writing;
109 
110  // File name & size caching
111  uint8_t files;
112  char filenames[MAXFILES][12];
113  uint32_t filesizes[MAXFILES];
114 
115  virtual size_t write(uint8_t); // Because Print subclass
116 };
117 #endif
int readLine(void)
Reads a line from the stream.
Definition: Adafruit_Soundboard.cpp:45
Adafruit_Soundboard(Stream *s, Stream *d, int8_t r)
Adafruit_Soundboard constructor.
Definition: Adafruit_Soundboard.cpp:38
Class that stores the state and functions of the soundboard object.
Definition: Adafruit_Soundboard.h:16
#define LINE_BUFFER_SIZE
Size of the line buffer.
Definition: Adafruit_Soundboard.h:10
uint8_t listFiles(void)
Query the board for the # of files and names/sizes.
Definition: Adafruit_Soundboard.cpp:111
boolean unpause(void)
Unpauses track.
Definition: Adafruit_Soundboard.cpp:259
boolean playTrack(uint8_t n)
Play the specified track.
Definition: Adafruit_Soundboard.cpp:161
boolean reset(void)
Do a hard reset by bringing the RST pin low then read out the output lines.
Definition: Adafruit_Soundboard.cpp:76
boolean pause(void)
Pauses track.
Definition: Adafruit_Soundboard.cpp:246
char * fileName(uint8_t n)
Returns the filename.
Definition: Adafruit_Soundboard.cpp:147
uint8_t volUp(void)
Raises the volume.
Definition: Adafruit_Soundboard.cpp:220
boolean stop(void)
Stops track.
Definition: Adafruit_Soundboard.cpp:272
boolean trackSize(uint32_t *current, uint32_t *total)
Returns the track size.
Definition: Adafruit_Soundboard.cpp:301
uint32_t fileSize(uint8_t n)
Returns the size of the file.
Definition: Adafruit_Soundboard.cpp:154
uint8_t volDown(void)
Lowers the volume.
Definition: Adafruit_Soundboard.cpp:233
#define MAXFILES
Max number of files.
Definition: Adafruit_Soundboard.h:11
boolean trackTime(uint32_t *current, uint32_t *total)
Returns the track time.
Definition: Adafruit_Soundboard.cpp:285