Skip to content

Commit

Permalink
fix: demos and core library
Browse files Browse the repository at this point in the history
  • Loading branch information
ayushsharma82 committed May 25, 2024
1 parent 9a3639b commit 631a561
Show file tree
Hide file tree
Showing 4 changed files with 38 additions and 16 deletions.
21 changes: 16 additions & 5 deletions examples/Demo/Demo.ino
Original file line number Diff line number Diff line change
@@ -1,10 +1,21 @@
/*
--------------
WebSerial Demo
------
This example code works for both ESP8266 & ESP32 Microcontrollers
WebSerial is accessible at your ESP's <IPAddress>/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 <IPAddress>/webserial URL.
Author: Ayush Sharma
Checkout WebSerial Pro: https://webserial.pro
*/

Expand Down Expand Up @@ -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...");
Expand Down
21 changes: 16 additions & 5 deletions examples/Demo_AP/Demo_AP.ino
Original file line number Diff line number Diff line change
@@ -1,10 +1,21 @@
/*
--------------
WebSerial Demo
------
This example code works for both ESP8266 & ESP32 Microcontrollers
WebSerial is accessible at your ESP's <IPAddress>/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 <IPAddress>/webserial URL.
Author: Ayush Sharma
Checkout WebSerial Pro: https://webserial.pro
*/

Expand Down Expand Up @@ -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...");
Expand Down
6 changes: 3 additions & 3 deletions src/WebSerial.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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();
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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;
Expand Down
6 changes: 3 additions & 3 deletions src/WebSerial.h
Original file line number Diff line number Diff line change
Expand Up @@ -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<void(uint8_t *data, size_t len)> WSLMessageHandler;

Expand Down Expand Up @@ -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();
Expand Down

0 comments on commit 631a561

Please sign in to comment.