@@ -791,30 +791,42 @@ void p2pRecieverMode() {
791
791
p2p_server.begin ();
792
792
Serial.print (" cp2" );
793
793
Serial.print (' \r ' );
794
+ Serial.flush ();
794
795
WiFiClient client = p2p_server.available (); // Проверка подключения клиента
795
796
while (!client) {
796
797
delay (100 );
798
+ client = p2p_server.available ();
797
799
}
800
+ Serial.print (" cp22" );
801
+ Serial.print (' \r ' );
802
+ Serial.flush ();
798
803
while (!client.available ()) { // Ожидание запроса клиента
799
- delay (1 );
804
+ delay (10 );
800
805
}
801
806
Serial.print (" cp3" );
802
807
Serial.print (' \r ' );
808
+ Serial.flush ();
809
+
803
810
client.setTimeout (100000 );
804
811
String filename = client.readStringUntil (' \r ' ); // filename
805
812
filename.trim ();
806
813
if (!filename.startsWith (" /" ))
807
814
filename = " /" + filename;
808
815
Serial.print (" cp4" );
809
816
Serial.print (' \r ' );
817
+ Serial.flush ();
810
818
811
819
Serial.print (filename);
812
820
Serial.print (' \r ' );
821
+ Serial.flush ();
822
+
813
823
String request2 = client.readStringUntil (' \r ' ); // size
814
824
request2.trim ();
815
825
auto size = request2.toInt ();
816
826
Serial.print (size);
817
827
Serial.print (' \r ' );
828
+ Serial.flush ();
829
+
818
830
// client.flush();
819
831
// Initialize the SD.
820
832
my_DEV_Module_Init ();
@@ -825,16 +837,22 @@ void p2pRecieverMode() {
825
837
}
826
838
Serial.print (" cp5" );
827
839
Serial.print (' \r ' );
840
+ Serial.flush ();
828
841
829
842
file = sd.open (filename, MFILE_WRITE);
830
843
Serial.print (" cp6" );
831
844
Serial.print (' \r ' );
845
+ Serial.flush ();
846
+
832
847
for (long ii = 0 ; ii < size; ii++) {
848
+ while (!client.available ())
849
+ delay (1 );
833
850
file.write (client.read ());
834
- if (ii % 1000 == 0 ) {
835
- float vv = ii / size;
851
+ if (ii % 10000 == 0 ) {
852
+ float vv = ii / ( float ) size;
836
853
Serial.print ((int )(100 * vv));
837
854
Serial.print (' \r ' );
855
+ Serial.flush ();
838
856
}
839
857
}
840
858
@@ -925,7 +943,7 @@ void p2pSenderMode() {
925
943
Serial.flush ();
926
944
delay (500 );
927
945
928
-
946
+
929
947
if (!dPath.startsWith (" /" ))
930
948
dPath = " /" + dPath;
931
949
@@ -940,11 +958,12 @@ void p2pSenderMode() {
940
958
file = sd.open (dPath, MFILE_READ);
941
959
// Serial.println("max");
942
960
943
- auto sz = file.size ();
961
+ auto sz = file.size ();
944
962
client.print (sz);
945
963
client.print (' \r ' );
946
964
client.flush ();
947
965
for (long i = 0 ; i < sz; i++) {
966
+
948
967
client.write (file.read ());
949
968
if (i % 10000 == 0 ) {
950
969
float vv = i / (float )sz;
@@ -953,12 +972,12 @@ void p2pSenderMode() {
953
972
Serial.flush ();
954
973
}
955
974
}
956
- file.close ();
957
-
975
+ file.close ();
976
+
958
977
959
978
WiFi.mode (WIFI_OFF); // TURN OFF WIFI
960
979
Serial.print (" end" );
961
- Serial.print (' \r ' );
980
+ Serial.print (' \r ' );
962
981
Serial.flush ();
963
982
WiFi.forceSleepBegin ();
964
983
ESP.deepSleep (0 );
0 commit comments