Skip to content

Commit 8affbea

Browse files
committed
VS1053 Read Support - DRAFT
1 parent 987de48 commit 8affbea

File tree

2 files changed

+26
-5
lines changed

2 files changed

+26
-5
lines changed

src/AudioConfig.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -439,10 +439,10 @@ typedef uint32_t eps32_i2s_sample_rate_type;
439439

440440
// use 0 for https://github.com/baldram/ESP_VS1053_Library
441441
// use 1 for https://github.com/pschatzmann/arduino-vs1053
442-
#define VS1053_EXT 0
442+
#define VS1053_EXT 1
443443
//----------------
444444

445-
#ifdef IS_DESKTO
445+
#ifdef IS_DESKTOP
446446
#define USE_URL_ARDUINO
447447
#define FLUSH_OVERRIDE override
448448
#endif

src/AudioLibs/VS1053Stream.h

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,7 @@ class VS1053Config : public AudioBaseInfo {
180180
uint8_t dreq_pin = VS1053_DREQ;
181181
int16_t reset_pin = VS1053_RESET; // -1 is undefined
182182
uint8_t cs_sd_pin = VS1053_CS_SD;
183+
RxTxMode mode;
183184
};
184185

185186
/**
@@ -193,9 +194,10 @@ class VS1053Stream : public AudioStreamX {
193194
VS1053Stream(){
194195
}
195196

196-
VS1053Config defaultConfig() {
197+
VS1053Config defaultConfig(RxTxMode mode=TX_MODE) {
197198
LOGD(LOG_METHOD);
198199
VS1053Config c;
200+
c.mode = mode;
199201
return c;
200202
}
201203

@@ -224,8 +226,21 @@ class VS1053Stream : public AudioStreamX {
224226
AudioEncoder *p_enc = cfg.is_encoded_data ? p_encoder :©
225227
p_out = new EncodedAudioStream(p_driver, p_enc);
226228
}
227-
p_out->begin(cfg);
228-
p_driver->begin();
229+
230+
switch(cfg.mode){
231+
case TX_MODE:
232+
p_out->begin(cfg);
233+
p_driver->begin();
234+
return true;
235+
#if VS1053_EXT
236+
case RX_MODE:
237+
getVS1053().beginInput(cfg.is_encoded_data);
238+
return true;
239+
#endif
240+
default:
241+
LOGE("Mode not supported");
242+
return false;
243+
}
229244
}
230245

231246
/// Stops the processing and releases the memory
@@ -307,6 +322,12 @@ class VS1053Stream : public AudioStreamX {
307322
}
308323

309324
#if VS1053_EXT
325+
int available() override {
326+
return getVS1053().available();
327+
}
328+
size_t readBytes(uint8_t* data, size_t len) override {
329+
return getVS1053().readBytes(data, len);
330+
}
310331

311332
/// Provides the treble amplitude value
312333
float treble() {

0 commit comments

Comments
 (0)