22 #ifdef ARDUINO_ARCH_ESP32
26 #if ENABLED(ESP3D_WIFISUPPORT)
29 #include <WebSocketsServer.h>
64 _web_socket = web_socket;
76 Serial_2_Socket::operator bool()
const
87 if(!_web_socket)
return 0;
94 if((buffer == NULL) ||(!_web_socket)) {
95 if(buffer == NULL)log_i(
"[SOCKET]No buffer");
96 if(!_web_socket)log_i(
"[SOCKET]No socket");
99 #if defined(ENABLE_SERIAL2SOCKET_OUT)
100 if (_TXbufferSize==0)_lastflush = millis();
104 for (
int i = 0; i < size;i++){
105 _TXbuffer[_TXbufferSize] = buffer[i];
108 log_i(
"[SOCKET]buffer size %d",_TXbufferSize);
115 if (_RXbufferSize > 0)
return _RXbuffer[_RXbufferpos];
120 #if defined(ENABLE_SERIAL2SOCKET_IN)
121 int data_size = strlen(data);
123 int current = _RXbufferpos + _RXbufferSize;
125 for (
int i = 0; i < data_size; i++){
127 _RXbuffer[current] = data[i];
130 _RXbufferSize+=strlen(data);
140 if (_RXbufferSize > 0) {
141 int v = _RXbuffer[_RXbufferpos];
150 if (_TXbufferSize > 0) {
152 log_i(
"[SOCKET]need flush, buffer size %d",_TXbufferSize);
158 if (_TXbufferSize > 0){
159 log_i(
"[SOCKET]flush data, buffer size %d",_TXbufferSize);
160 ((WebSocketsServer *)_web_socket)->broadcastBIN(_TXbuffer,_TXbufferSize);
162 _lastflush = millis();
168 #endif // ENABLE_WIFI
170 #endif // ARDUINO_ARCH_ESP32