Bladeren bron

Moved definitions to .cpp

Ayush Sharma 3 jaren geleden
bovenliggende
commit
11985187bf
4 gewijzigde bestanden met toevoegingen van 152 en 102 verwijderingen
  1. 1 1
      library.json
  2. 1 1
      library.properties
  3. 127 0
      src/WebSerial.cpp
  4. 23 100
      src/WebSerial.h

+ 1 - 1
library.json

@@ -15,7 +15,7 @@
       "maintainer": true
     }
   ],
-  "version": "1.1.0",
+  "version": "1.2.0",
   "frameworks": "arduino",
   "platforms": "espressif"
 }

+ 1 - 1
library.properties

@@ -1,5 +1,5 @@
 name=WebSerial
-version=1.1.0
+version=1.2.0
 author=Ayush Sharma
 category=Communication
 maintainer=Ayush Sharma <asrocks5@gmail.com>

+ 127 - 0
src/WebSerial.cpp

@@ -0,0 +1,127 @@
+#include "WebSerial.h"
+
+
+void WebSerialClass::begin(AsyncWebServer *server, const char* url = "/webserial"){
+    _server = server;
+    _ws = new AsyncWebSocket("/webserialws");
+
+    _server->on(url, HTTP_GET, [](AsyncWebServerRequest *request){
+        // Send Webpage
+        AsyncWebServerResponse *response = request->beginResponse_P(200, "text/html", WEBSERIAL_HTML, WEBSERIAL_HTML_SIZE);
+        response->addHeader("Content-Encoding","gzip");
+        request->send(response);        
+    });
+
+    _ws->onEvent([&](AsyncWebSocket * server, AsyncWebSocketClient * client, AwsEventType type, void * arg, uint8_t *data, size_t len) -> void {
+        if(type == WS_EVT_CONNECT){
+            #if defined(DEBUG)
+                DEBUG_WEB_SERIAL("Client connection received");
+            #endif
+        } else if(type == WS_EVT_DISCONNECT){
+            #if defined(DEBUG)
+                DEBUG_WEB_SERIAL("Client disconnected");
+            #endif
+        } else if(type == WS_EVT_DATA){
+            #if defined(DEBUG)
+                DEBUG_WEB_SERIAL("Received Websocket Data");
+            #endif
+            if(_RecvFunc != NULL){
+                _RecvFunc(data, len);
+            }
+        }
+    });
+
+    _server->addHandler(_ws);
+
+    #if defined(DEBUG)
+        DEBUG_WEB_SERIAL("Attached AsyncWebServer along with Websockets");
+    #endif
+}
+
+void WebSerialClass::msgCallback(RecvMsgHandler _recv){
+    _RecvFunc = _recv;
+}
+
+// Print
+void WebSerialClass::print(String m = ""){
+    _ws->textAll(m);
+}
+
+void WebSerialClass::print(const char *m){
+    _ws->textAll(m);
+}
+
+void WebSerialClass::print(char *m){
+    _ws->textAll(m);
+}
+
+void WebSerialClass::print(int m){
+    _ws->textAll(String(m));
+}
+
+void WebSerialClass::print(uint8_t m){
+    _ws->textAll(String(m));
+}
+
+void WebSerialClass::print(uint16_t m){
+    _ws->textAll(String(m));
+}
+
+void WebSerialClass::print(uint32_t m){
+    _ws->textAll(String(m));
+}
+
+void WebSerialClass::print(double m){
+    _ws->textAll(String(m));
+}
+
+void WebSerialClass::print(float m){
+    _ws->textAll(String(m));
+}
+
+
+// Print with New Line
+
+void WebSerialClass::println(String m = ""){
+    _ws->textAll(m+"\n");        
+}
+
+void WebSerialClass::println(const char *m){
+    _ws->textAll(String(m)+"\n");
+}
+
+void WebSerialClass::println(char *m){
+    _ws->textAll(String(m)+"\n");
+}
+
+void WebSerialClass::println(int m){
+    _ws->textAll(String(m)+"\n");
+}
+
+void WebSerialClass::println(uint8_t m){
+    _ws->textAll(String(m)+"\n");
+}
+
+void WebSerialClass::println(uint16_t m){
+    _ws->textAll(String(m)+"\n");
+}
+
+void WebSerialClass::println(uint32_t m){
+    _ws->textAll(String(m)+"\n");
+}
+
+void WebSerialClass::println(float m){
+    _ws->textAll(String(m)+"\n");
+}
+
+void WebSerialClass::println(double m){
+    _ws->textAll(String(m)+"\n");
+}
+
+#if defined(DEBUG)
+    void WebSerialClass::DEBUG_WEB_SERIAL(const char* message){
+        Serial.println("[WebSerial] "+message);
+    }
+#endif
+
+WebSerialClass WebSerial;

+ 23 - 100
src/WebSerial.h

@@ -17,8 +17,6 @@
     #include "ESPAsyncWebServer.h"
 #endif
 
-#define BUFFER_SIZE 500
-
 #include "webserial_webpage.h"
 
 typedef std::function<void(uint8_t *data, size_t len)> RecvMsgHandler;
@@ -27,123 +25,50 @@ typedef std::function<void(uint8_t *data, size_t len)> RecvMsgHandler;
 class WebSerialClass{
 
 public:
-    void begin(AsyncWebServer *server, const char* url = "/webserial"){
-        _server = server;
-        _ws = new AsyncWebSocket("/webserialws");
-
-        _server->on(url, HTTP_GET, [](AsyncWebServerRequest *request){
-            // Send Webpage
-            AsyncWebServerResponse *response = request->beginResponse_P(200, "text/html", WEBSERIAL_HTML, WEBSERIAL_HTML_SIZE);
-            response->addHeader("Content-Encoding","gzip");
-            request->send(response);        
-        });
-
-        _ws->onEvent([&](AsyncWebSocket * server, AsyncWebSocketClient * client, AwsEventType type, void * arg, uint8_t *data, size_t len) -> void {
-            if(type == WS_EVT_CONNECT){
-                #if defined(DEBUG)
-                    DEBUG_WEB_SERIAL("Client connection received");
-                #endif
-            } else if(type == WS_EVT_DISCONNECT){
-                #if defined(DEBUG)
-                    DEBUG_WEB_SERIAL("Client disconnected");
-                #endif
-            } else if(type == WS_EVT_DATA){
-                #if defined(DEBUG)
-                    DEBUG_WEB_SERIAL("Received Websocket Data");
-                #endif
-                if(_RecvFunc != NULL){
-                    _RecvFunc(data, len);
-                }
-            }
-        });
-
-        _server->addHandler(_ws);
-
-        #if defined(DEBUG)
-            DEBUG_WEB_SERIAL("Attached AsyncWebServer along with Websockets");
-        #endif
-    }
-
-    void msgCallback(RecvMsgHandler _recv){
-        _RecvFunc = _recv;
-    }
+    void begin(AsyncWebServer *server, const char* url = "/webserial");
+
+    void msgCallback(RecvMsgHandler _recv);
 
     // Print
 
-    void print(String m = ""){
-        _ws->textAll(m);
-    }
+    void print(String m = "");
 
-    void print(const char *m){
-        _ws->textAll(m);
-    }
+    void print(const char *m);
 
-    void print(char *m){
-        _ws->textAll(m);
-    }
+    void print(char *m);
 
-    void print(int m){
-        _ws->textAll(String(m));
-    }
+    void print(int m);
 
-    void print(uint8_t m){
-        _ws->textAll(String(m));
-    }
+    void print(uint8_t m);
 
-    void print(uint16_t m){
-        _ws->textAll(String(m));
-    }
+    void print(uint16_t m);
 
-    void print(uint32_t m){
-        _ws->textAll(String(m));
-    }
+    void print(uint32_t m);
 
-    void print(double m){
-        _ws->textAll(String(m));
-    }
+    void print(double m);
 
-    void print(float m){
-        _ws->textAll(String(m));
-    }
+    void print(float m);
 
 
     // Print with New Line
 
-    void println(String m = ""){
-        _ws->textAll(m+"\n");        
-    }
+    void println(String m = "");
 
-    void println(const char *m){
-        _ws->textAll(String(m)+"\n");
-    }
+    void println(const char *m);
 
-    void println(char *m){
-        _ws->textAll(String(m)+"\n");
-    }
+    void println(char *m);
 
-    void println(int m){
-        _ws->textAll(String(m)+"\n");
-    }
+    void println(int m);
 
-    void println(uint8_t m){
-        _ws->textAll(String(m)+"\n");
-    }
+    void println(uint8_t m);
 
-    void println(uint16_t m){
-        _ws->textAll(String(m)+"\n");
-    }
+    void println(uint16_t m);
 
-    void println(uint32_t m){
-        _ws->textAll(String(m)+"\n");
-    }
+    void println(uint32_t m);
 
-    void println(float m){
-        _ws->textAll(String(m)+"\n");
-    }
+    void println(float m);
 
-    void println(double m){
-        _ws->textAll(String(m)+"\n");
-    }
+    void println(double m);
 
 
 private:
@@ -152,11 +77,9 @@ private:
     RecvMsgHandler _RecvFunc = NULL;
     
     #if defined(DEBUG)
-        void DEBUG_WEB_SERIAL(const char* message){
-            Serial.println("[WebSerial] "+message);
-        }
+        void DEBUG_WEB_SERIAL(const char* message);
     #endif
 };
 
-WebSerialClass WebSerial;
+extern WebSerialClass WebSerial;
 #endif