Skip to content

Commit c175e82

Browse files
committed
Support New TinyFTP version
1 parent de7dc57 commit c175e82

File tree

3 files changed

+11
-13
lines changed

3 files changed

+11
-13
lines changed

examples/examples-communication/ftp/ftp-client/ftp-client.ino

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,12 @@
1111
*/
1212

1313
#include "WiFi.h"
14-
#include "ArduinoFTPClient.h" // install https://github.com/pschatzmann/TinyFTPClient
14+
#include "FTPClient.h" // install https://github.com/pschatzmann/TinyFTPClient
1515
#include "AudioTools.h" // https://github.com/pschatzmann/arduino-audio-tools
1616
#include "AudioTools/AudioCodecs/CodecMP3Helix.h" // https://github.com/pschatzmann/arduino-libhelix
1717
#include "AudioTools/AudioLibs/AudioBoardStream.h" // https://github.com/pschatzmann/arduino-audio-driver
1818

19-
WiFiClient cmd;
20-
WiFiClient data;
21-
FTPClient client(cmd, data);
19+
FTPClient<WiFiClient> client;
2220
FTPFile file;
2321
AudioBoardStream kit(AudioKitEs8388V1); // or replace with e.g. I2SStream
2422
MP3DecoderHelix mp3;

examples/examples-player/player-ftp-audiokit/player-ftp-audiokit.ino

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,15 @@
1111
#include "AudioTools/AudioLibs/AudioBoardStream.h"
1212
#include "AudioTools/Disk/AudioSourceFTP.h"
1313

14-
const char* path = "Music/Tracy Chapman";
14+
const char* path = "Music/Tracy Chapman/Matters of the Heart";
1515
const char* ext = "mp3";
1616
const char* ftp_user = "user";
1717
const char* ftp_pwd = "password";
1818
const char* ssid = "ssid";
1919
const char* ssid_pwd = "ssid-password";
20-
WiFiClient cmd;
21-
WiFiClient data;
22-
FTPClient ftp(cmd, data);
23-
AudioSourceFTP source(ftp, path, ext);
20+
21+
FTPClient<WiFiClient> ftp;
22+
AudioSourceFTP<WiFiClient> source(ftp, path, ext);
2423
AudioBoardStream i2s(AudioKitEs8388V1);
2524
MP3DecoderHelix decoder;
2625
AudioPlayer player(source, i2s, decoder);

src/AudioTools/Disk/AudioSourceFTP.h

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#include "ArduinoFTPClient.h"
1+
#include "FTPClient.h"
22
#include "AudioSource.h"
33
#include "vector"
44

@@ -17,10 +17,11 @@ namespace audio_tools {
1717
* @copyright GPLv3
1818
*/
1919

20-
20+
template <class ClientType>
2121
class AudioSourceFTP : public AudioSource {
2222
public:
23-
AudioSourceFTP(FTPClient& client, const char* path, const char* ext,
23+
/// Default constructor: Provide the client class as template argument e.g. AudioSourceFTP<WiFiClient> source(client, path, ext);.
24+
AudioSourceFTP(FTPClient<ClientType>& client, const char* path, const char* ext,
2425
int files = 0) {
2526
p_client = &client;
2627
timeout_auto_next_value = 5000;
@@ -98,7 +99,7 @@ class AudioSourceFTP : public AudioSource {
9899

99100
protected:
100101
std::vector<FTPFile> files;
101-
FTPClient* p_client = nullptr;
102+
FTPClient<ClientType>* p_client = nullptr;
102103
FTPFile file;
103104
int idx = 0;
104105
size_t max_files = 0;

0 commit comments

Comments
 (0)