forked from arduino/ArduinoCore-renesas
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathWiFiFileSystem.cpp
41 lines (38 loc) · 1.51 KB
/
WiFiFileSystem.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include "WiFiFileSystem.h"
using namespace std;
/* -------------------------------------------------------------------------- */
WiFiFileSystem::WiFiFileSystem() {
/* -------------------------------------------------------------------------- */
}
void WiFiFileSystem::mount(bool format_on_fault) {
modem.begin();
string res = "";
modem.write(string(PROMPT(_MOUNTFS)), res, "%s%d\r\n" , CMD_WRITE(_MOUNTFS), format_on_fault);
if (format_on_fault) {
modem.write(string(PROMPT(_MOUNTFS)), res, "%s%d\r\n" , CMD_WRITE(_MOUNTFS), format_on_fault);
}
}
size_t WiFiFileSystem::writefile(const char* name, const char* data, size_t size, int operation) {
string res = "";
modem.write_nowait(string(PROMPT(_FILESYSTEM)), res, "%s%d,%d,%s,%d\r\n" , CMD_WRITE(_FILESYSTEM), 0, operation, name, size);
if(modem.passthrough((uint8_t *)data, size)) {
return size;
}
return 0;
}
/* -------------------------------------------------------------------------- */
void WiFiFileSystem::readfile(const char* name) {
/* -------------------------------------------------------------------------- */
string res = "";
int i = 0;
while(1) {
modem.avoid_trim_results();
modem.read_using_size();
if(modem.write(DO_NOT_CHECK_CMD, res, "%s%d,%d,%s,%d,%d\r\n" , CMD_WRITE(_FILESYSTEM), 0, WIFI_FILE_READ, name, i, 1023)) {
Serial.print(res.c_str()); //WIP i'll fix this in next commit for now just print the filecontent
i += res.size();
} else {
break;
}
}
}