This commit is contained in:
Dmitry Borisenko
2022-01-25 01:41:14 +01:00
parent 1b4380dd2f
commit 719929445a
2 changed files with 15 additions and 15 deletions

View File

@@ -24,4 +24,4 @@ extern void hexdump(const void* mem, uint32_t len, uint8_t cols);
void sendFileToWs3(const String& filename, uint8_t num); void sendFileToWs3(const String& filename, uint8_t num);
void sendFileToWs4(const String& filename, uint8_t num); void sendFileToWs4(const String& filename, uint8_t num);
void sendFileToWs5(const char* filename, uint8_t num); void sendFileToWs5(const char* filename, uint8_t num);
char* getFileMark(const char* filename, const char* mark); void sendMark(const char* filename, const char* mark, uint8_t num);

View File

@@ -327,13 +327,8 @@ void sendFileToWs4(const String& filename, uint8_t num) {
//посылка данных из файла в бинарном виде //посылка данных из файла в бинарном виде
void sendFileToWs5(const char* filename, uint8_t num) { void sendFileToWs5(const char* filename, uint8_t num) {
size_t size = strlen(filename); sendMark(filename, "/st", num);
uint8_t filenameUint[size]; size_t ws_buffer = 1024;
for (size_t i = 0; i < size; i++) {
filenameUint[i] = uint8_t(filename[i]);
}
standWebSocket.sendBIN(num, filenameUint, sizeof(filenameUint));
size_t ws_buffer = 512;
String path = filepath(filename); String path = filepath(filename);
auto file = FileFS.open(path, "r"); auto file = FileFS.open(path, "r");
if (!file) { if (!file) {
@@ -348,12 +343,17 @@ void sendFileToWs5(const char* filename, uint8_t num) {
standWebSocket.sendBIN(num, payload, countRead); standWebSocket.sendBIN(num, payload, countRead);
countRead = file.read(payload, sizeof(payload) - 1); countRead = file.read(payload, sizeof(payload) - 1);
} }
standWebSocket.sendBIN(num, filenameUint, sizeof(filenameUint)); sendMark(filename, "/end", num);
} }
char* getFileMark(const char* filename, const char* mark) { void sendMark(const char* filename, const char* mark, uint8_t num) {
char summ[strlen(filename) + strlen(mark)]; char outChar[strlen(filename) + strlen(mark) + 1];
strcpy(summ, filename); strcpy(outChar, mark);
strcpy(summ, mark); strcat(outChar, filename);
return summ; size_t size = strlen(outChar);
} uint8_t outUint[size];
for (size_t i = 0; i < size; i++) {
outUint[i] = uint8_t(outChar[i]);
}
standWebSocket.sendBIN(num, outUint, sizeof(outUint));
}