From 631a56121a79d264bf235ffd30011146c1eb9c09 Mon Sep 17 00:00:00 2001 From: Ayush Sharma Date: Sun, 26 May 2024 03:50:46 +0530 Subject: [PATCH] fix: demos and core library --- examples/Demo/Demo.ino | 21 ++++++++++++++++----- examples/Demo_AP/Demo_AP.ino | 21 ++++++++++++++++----- src/WebSerial.cpp | 6 +++--- src/WebSerial.h | 6 +++--- 4 files changed, 38 insertions(+), 16 deletions(-) diff --git a/examples/Demo/Demo.ino b/examples/Demo/Demo.ino index 7b894f5..05e86fb 100644 --- a/examples/Demo/Demo.ino +++ b/examples/Demo/Demo.ino @@ -1,10 +1,21 @@ /* + -------------- WebSerial Demo - ------ - This example code works for both ESP8266 & ESP32 Microcontrollers - WebSerial is accessible at your ESP's /webserial URL. + -------------- + + Skill Level: Beginner + + This example provides with a bare minimal app with WebSerial functionality. + + Github: https://github.com/ayushsharma82/WebSerial + Wiki: https://docs.webserial.pro + + Works with following hardware: + - ESP8266 + - ESP32 + + WebSerial terminal will be accessible at your microcontroller's /webserial URL. - Author: Ayush Sharma Checkout WebSerial Pro: https://webserial.pro */ @@ -49,7 +60,7 @@ void setup() { /* Attach Message Callback */ WebSerial.onMessage([&](uint8_t *data, size_t len) { - Serial.printf("Received %lu bytes from WebSerial: ", len); + Serial.printf("Received %u bytes from WebSerial: ", len); Serial.write(data, len); Serial.println(); WebSerial.println("Received Data..."); diff --git a/examples/Demo_AP/Demo_AP.ino b/examples/Demo_AP/Demo_AP.ino index 700369d..c305019 100644 --- a/examples/Demo_AP/Demo_AP.ino +++ b/examples/Demo_AP/Demo_AP.ino @@ -1,10 +1,21 @@ /* + -------------- WebSerial Demo - ------ - This example code works for both ESP8266 & ESP32 Microcontrollers - WebSerial is accessible at your ESP's /webserial URL. + -------------- + + Skill Level: Beginner + + This example provides with a bare minimal app with WebSerial functionality using softAP mode. + + Github: https://github.com/ayushsharma82/WebSerial + Wiki: https://docs.webserial.pro + + Works with following hardware: + - ESP8266 + - ESP32 + + WebSerial terminal will be accessible at your microcontroller's /webserial URL. - Author: Ayush Sharma Checkout WebSerial Pro: https://webserial.pro */ @@ -42,7 +53,7 @@ void setup() { /* Attach Message Callback */ WebSerial.onMessage([&](uint8_t *data, size_t len) { - Serial.printf("Received %lu bytes from WebSerial: ", len); + Serial.printf("Received %u bytes from WebSerial: ", len); Serial.write(data, len); Serial.println(); WebSerial.println("Received Data..."); diff --git a/src/WebSerial.cpp b/src/WebSerial.cpp index d9b8b8d..2f679a5 100644 --- a/src/WebSerial.cpp +++ b/src/WebSerial.cpp @@ -19,7 +19,7 @@ void WebSerialClass::begin(AsyncWebServer *server, const char* url) { } // Webpage Handler - _server->on(url, HTTP_GET, [](AsyncWebServerRequest *request){ + _server->on(url, HTTP_GET, [&](AsyncWebServerRequest *request){ if(_authenticate == true){ if(!request->authenticate(_username, _password)) return request->requestAuthentication(); @@ -110,7 +110,7 @@ bool WebSerialClass::_has_enough_space(size_t size) { return (_buffer_offset + WSL_CALC_LOG_PACKET_SIZE(size) > WSL_BUFFER_SIZE); } -size_t WebSerialClass::_write_row_packet(uint8_t *buffer, uint64_t reserved1, uint8_t reserved2, const uint8_t *payload, const size_t payload_size) { +size_t WebSerialClass::_write_row_packet(uint64_t reserved1, uint8_t reserved2, const uint8_t *payload, const size_t payload_size) { size_t header_size = 0; // Write Magic Bytes @@ -166,7 +166,7 @@ size_t WebSerialClass::_write_row(uint8_t *data, size_t len) { Serial.printf("Packet Size: %d\n", packet_size); Serial.printf("Remaining Size: %d\n", remaining_size); // Write Packet to Buffer - _buffer_offset += _write_row_packet(_buffer + _buffer_offset, 0, 0, current_ptr, packet_size); + _buffer_offset += _write_row_packet(0, 0, current_ptr, packet_size); // Unlock Mutex _buffer_mutex = false; diff --git a/src/WebSerial.h b/src/WebSerial.h index 91c945f..71f19dc 100644 --- a/src/WebSerial.h +++ b/src/WebSerial.h @@ -70,12 +70,12 @@ License: AGPL-3.0 (https://www.gnu.org/licenses/agpl-3.0.html) #error "WSL_GLOBAL_FLUSH_TIME_MS must be greater than 50ms" #endif -typedef enum WSLPacketType { +typedef enum { WSL_WRITE_ROW = 0x01, WSL_MESSAGE = 0x02, WSL_PING = 0x03, WSL_PONG = 0x04, -}; +} WSLPacketType; typedef std::function WSLMessageHandler; @@ -116,7 +116,7 @@ class WebSerialClass : public Print { bool _has_enough_space(size_t size); size_t _start_row(); size_t _write_row(uint8_t *data, size_t len); - size_t _write_row_packet(uint8_t *buffer, uint64_t reserved1, uint8_t reserved2, const uint8_t *payload, const size_t payload_size); + size_t _write_row_packet(uint64_t reserved1, uint8_t reserved2, const uint8_t *payload, const size_t payload_size); size_t _end_row(); void _flush_print_buffer(); void _flush_global_buffer();