浏览代码

Merge pull request #99 from ayushsharma82/dev

v2.0.7
Ayush Sharma 6 月之前
父节点
当前提交
c3563a5368
共有 8 个文件被更改,包括 97 次插入64 次删除
  1. 49 45
      .github/workflows/ci.yml
  2. 二进制
      docs/Written Offer for Source Code.pdf
  3. 二进制
      docs/preview.png
  4. 4 0
      examples/HighPerf/HighPerf.ino
  5. 2 2
      library.json
  6. 1 1
      library.properties
  7. 39 16
      platformio.ini
  8. 2 0
      src/WebSerial.cpp

+ 49 - 45
.github/workflows/ci.yml

@@ -7,7 +7,6 @@ on:
       - "/keywords.txt"
       - "/library.json"
       - "/library.properties"
-      - "/vue-frontend"
       - "/docs"
   pull_request:
     paths-ignore:
@@ -15,9 +14,12 @@ on:
       - "/keywords.txt"
       - "/library.json"
       - "/library.properties"
-      - "/vue-frontend"
       - "/docs"
 
+concurrency:
+  group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
+  cancel-in-progress: true
+       
 jobs:
   arduino:
     name: arduino ${{ matrix.name }}
@@ -58,13 +60,13 @@ jobs:
         run: arduino-cli core install --additional-urls "${{ matrix.index_url }}" ${{ matrix.core }}
 
       - name: Install AsyncTCP
-        run: ARDUINO_LIBRARY_ENABLE_UNSAFE_INSTALL=true arduino-cli lib install --git-url https://github.com/mathieucarbou/AsyncTCP#v3.2.3
+        run: ARDUINO_LIBRARY_ENABLE_UNSAFE_INSTALL=true arduino-cli lib install --git-url https://github.com/mathieucarbou/AsyncTCP#v3.2.5
 
       - name: Install ESPAsyncTCP
         run: ARDUINO_LIBRARY_ENABLE_UNSAFE_INSTALL=true arduino-cli lib install --git-url https://github.com/mathieucarbou/esphome-ESPAsyncTCP#v2.0.0
 
       - name: Install ESPAsyncWebServer
-        run: ARDUINO_LIBRARY_ENABLE_UNSAFE_INSTALL=true arduino-cli lib install --git-url https://github.com/mathieucarbou/ESPAsyncWebServer#v3.1.1
+        run: ARDUINO_LIBRARY_ENABLE_UNSAFE_INSTALL=true arduino-cli lib install --git-url https://github.com/mathieucarbou/ESPAsyncWebServer#v3.2.4
 
       - name: Build Demo
         run: arduino-cli compile --library . --warnings none -b ${{ matrix.board }} "examples/Demo/Demo.ino"
@@ -79,61 +81,63 @@ jobs:
         run: arduino-cli compile --library . --warnings none -b ${{ matrix.board }} "examples/HighPerf/HighPerf.ino"
 
   platformio:
-    name: pio ${{ matrix.name }}
+    name: "pio:${{ matrix.env }}:${{ matrix.board }}"
     runs-on: ubuntu-latest
     strategy:
       fail-fast: false
       matrix:
         include:
-          - name: esp32dev|arduino
+          - env: ci-arduino-2
             board: esp32dev
-            platform: espressif32
-            opts: "--project-option 'lib_compat_mode = strict'"
-          - name: esp32dev|arduino-2
-            board: esp32dev
-            platform: espressif32@6.7.0
-            opts: "--project-option 'lib_compat_mode = strict'"
-          - name: esp32dev|arduino-3
-            board: esp32dev
-            platform: espressif32
-            opts: "--project-option 'lib_compat_mode = strict' --project-option 'platform_packages=platformio/framework-arduinoespressif32 @ https://github.com/espressif/arduino-esp32.git#3.0.3, platform_packages=platformio/framework-arduinoespressif32-libs @ https://github.com/espressif/arduino-esp32/releases/download/3.0.3/esp32-arduino-libs-3.0.3.zip'"
-          - name: esp32-s3-devkitc-1|arduino
+          - env: ci-arduino-2
             board: esp32-s3-devkitc-1
-            platform: espressif32
-            opts: "--project-option 'lib_compat_mode = strict'"
-          - name: esp32-s3-devkitc-1|arduino-2
+
+          - env: ci-arduino-3
+            board: esp32dev
+          - env: ci-arduino-3
             board: esp32-s3-devkitc-1
-            platform: espressif32@6.7.0
-            opts: "--project-option 'lib_compat_mode = strict'"
-          - name: esp32-s3-devkitc-1|arduino-3
+          - env: ci-arduino-3
+            board: esp32-c6-devkitc-1
+
+          - env: ci-arduino-310rc1
+            board: esp32dev
+          - env: ci-arduino-310rc1
             board: esp32-s3-devkitc-1
-            platform: espressif32
-            opts: "--project-option 'lib_compat_mode = strict' --project-option 'platform_packages=platformio/framework-arduinoespressif32 @ https://github.com/espressif/arduino-esp32.git#3.0.3, platform_packages=platformio/framework-arduinoespressif32-libs @ https://github.com/espressif/arduino-esp32/releases/download/3.0.3/esp32-arduino-libs-3.0.3.zip'"
-          - name: huzzah|espressif8266
+          - env: ci-arduino-310rc1
+            board: esp32-c6-devkitc-1
+
+          - env: ci-esp8266
             board: huzzah
-            platform: espressif8266
-            opts: "--project-option 'lib_compat_mode = strict'"
+          - env: ci-esp8266
+            board: d1_mini
     steps:
-      - uses: actions/checkout@v4
-      - name: Set up cache
+      - name: Checkout
+        uses: actions/checkout@v4
+
+      - name: Cache PlatformIO
         uses: actions/cache@v4
         with:
+          key: ${{ runner.os }}-pio
           path: |
-            ~/.platformio
             ~/.cache/pip
-          key: ${{ matrix.name }}
-      - uses: actions/setup-python@v5
+            ~/.platformio
+
+      - name: Python
+        uses: actions/setup-python@v5
         with:
           python-version: "3.x"
-      - run: pip install platformio
-      - run: platformio platform install ${{ matrix.platform }}
-
-      - run: platformio ci "examples/Demo/Demo.ino" -l '.' -b ${{ matrix.board }} ${{ matrix.opts }}
-      - run: platformio ci "examples/Demo_AP/Demo_AP.ino" -l '.' -b ${{ matrix.board }} ${{ matrix.opts }}
-      - run: platformio ci "examples/Logging/Logging.ino" -l '.' -b ${{ matrix.board }} ${{ matrix.opts }}
-      - run: platformio ci "examples/HighPerf/HighPerf.ino" -l '.' -b ${{ matrix.board }} ${{ matrix.opts }}
-
-      - run: PLATFORMIO_BUILD_FLAGS="-DWSL_HIGH_PERF" platformio ci "examples/Demo/Demo.ino" -l '.' -b ${{ matrix.board }} ${{ matrix.opts }}
-      - run: PLATFORMIO_BUILD_FLAGS="-DWSL_HIGH_PERF" platformio ci "examples/Demo_AP/Demo_AP.ino" -l '.' -b ${{ matrix.board }} ${{ matrix.opts }}
-      - run: PLATFORMIO_BUILD_FLAGS="-DWSL_HIGH_PERF" platformio ci "examples/Logging/Logging.ino" -l '.' -b ${{ matrix.board }} ${{ matrix.opts }}
-      - run: PLATFORMIO_BUILD_FLAGS="-DWSL_HIGH_PERF" platformio ci "examples/HighPerf/HighPerf.ino" -l '.' -b ${{ matrix.board }} ${{ matrix.opts }}
+
+      - name: Build
+        run: |
+          python -m pip install --upgrade pip
+          pip install --upgrade platformio
+
+      - run: PLATFORMIO_SRC_DIR="examples/Demo" PIO_BOARD=${{ matrix.board }} pio run -e ${{ matrix.env }}
+      - run: PLATFORMIO_SRC_DIR="examples/Demo_AP" PIO_BOARD=${{ matrix.board }} pio run -e ${{ matrix.env }}
+      - run: PLATFORMIO_SRC_DIR="examples/Logging" PIO_BOARD=${{ matrix.board }} pio run -e ${{ matrix.env }}
+      - run: PLATFORMIO_SRC_DIR="examples/HighPerf" PIO_BOARD=${{ matrix.board }} pio run -e ${{ matrix.env }}
+
+      - run: PLATFORMIO_BUILD_FLAGS="-DWSL_HIGH_PERF" PLATFORMIO_SRC_DIR="examples/Demo" PIO_BOARD=${{ matrix.board }} pio run -e ${{ matrix.env }}
+      - run: PLATFORMIO_BUILD_FLAGS="-DWSL_HIGH_PERF" PLATFORMIO_SRC_DIR="examples/Demo_AP" PIO_BOARD=${{ matrix.board }} pio run -e ${{ matrix.env }}
+      - run: PLATFORMIO_BUILD_FLAGS="-DWSL_HIGH_PERF" PLATFORMIO_SRC_DIR="examples/Logging" PIO_BOARD=${{ matrix.board }} pio run -e ${{ matrix.env }}
+      - run: PLATFORMIO_BUILD_FLAGS="-DWSL_HIGH_PERF" PLATFORMIO_SRC_DIR="examples/HighPerf" PIO_BOARD=${{ matrix.board }} pio run -e ${{ matrix.env }}

二进制
docs/Written Offer for Source Code.pdf


二进制
docs/preview.png


+ 4 - 0
examples/HighPerf/HighPerf.ino

@@ -50,7 +50,11 @@ void setup() {
 }
 
 void loop() {
+#ifdef ESP8266
+  if (millis() - last > 500) {
+#else
   if (millis() - last > 50) {
+#endif
     count++;
     long r = random(10, 250) + 15;
     String buffer;

+ 2 - 2
library.json

@@ -15,14 +15,14 @@
       "maintainer": true
     }
   ],
-  "version": "2.0.6",
+  "version": "2.0.7",
   "frameworks": "arduino",
   "platforms": ["espressif8266", "espressif32"],
   "dependencies": [
     {
       "owner": "mathieucarbou",
       "name": "ESPAsyncWebServer",
-      "version": "^3.1.1",
+      "version": "^3.2.4",
       "platforms": ["espressif8266", "espressif32"]
     }
   ]

+ 1 - 1
library.properties

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

+ 39 - 16
platformio.ini

@@ -9,38 +9,61 @@ build_flags =
   -D WS_MAX_QUEUED_MESSAGES=128
   -D WSL_HIGH_PERF
 lib_deps = 
-  mathieucarbou/AsyncTCP@^3.2.3
-  mathieucarbou/ESPAsyncWebServer@^3.1.1
+  mathieucarbou/AsyncTCP@^3.2.5
+  mathieucarbou/ESPAsyncWebServer@^3.2.4
+lib_compat_mode = strict
+lib_ldf_mode = chain
 upload_protocol = esptool
 monitor_speed = 115200
 monitor_filters = esp32_exception_decoder, log2file
 
 [platformio]
+default_envs = arduino-2, arduino-3, arduino-310rc1, esp8266
 lib_dir = .
 ; src_dir = examples/Demo
 ; src_dir = examples/Demo_AP
-; src_dir = examples/HighPerf
-src_dir = examples/Logging
-
-[env:arduino]
-platform = espressif32
-board = esp32-s3-devkitc-1
+src_dir = examples/HighPerf
+; src_dir = examples/Logging
 
 [env:arduino-2]
-platform = espressif32@6.7.0
+platform = espressif32@6.8.1
 board = esp32-s3-devkitc-1
 
 [env:arduino-3]
-platform = espressif32
-platform_packages=
-  platformio/framework-arduinoespressif32 @ https://github.com/espressif/arduino-esp32.git#3.0.3
-  platformio/framework-arduinoespressif32-libs @ https://github.com/espressif/arduino-esp32/releases/download/3.0.3/esp32-arduino-libs-3.0.3.zip
+platform = https://github.com/pioarduino/platform-espressif32/releases/download/51.03.04/platform-espressif32.zip
+board = esp32-s3-devkitc-1
+; board = esp32-c6-devkitc-1
+
+[env:arduino-310rc1]
+platform = https://github.com/pioarduino/platform-espressif32/releases/download/53.03.10%%2Brc1/platform-espressif32.zip
 board = esp32-s3-devkitc-1
-; board = esp32dev
+; board = esp32-c6-devkitc-1
 
 [env:esp8266]
 platform = espressif8266
 board = huzzah
+; board = d1_mini
+lib_deps = 
+  mathieucarbou/ESPAsyncWebServer@^3.2.4
+  esphome/ESPAsyncTCP-esphome@^2.0.0
+
+; CI
+
+[env:ci-arduino-2]
+platform = espressif32@6.8.1
+board = ${sysenv.PIO_BOARD}
+
+[env:ci-arduino-3]
+platform = https://github.com/pioarduino/platform-espressif32/releases/download/51.03.04/platform-espressif32.zip
+board = ${sysenv.PIO_BOARD}
+
+[env:ci-arduino-310rc1]
+platform = https://github.com/pioarduino/platform-espressif32/releases/download/53.03.10%%2Brc1/platform-espressif32.zip
+board = ${sysenv.PIO_BOARD}
+
+[env:ci-esp8266]
+platform = espressif8266
+board = ${sysenv.PIO_BOARD}
 lib_deps = 
-  mathieucarbou/ESP Async WebServer@^3.1.1
-  esphome/ESPAsyncTCP-esphome@^2.0.0
+  mathieucarbou/ESPAsyncWebServer@^3.2.4
+  esphome/ESPAsyncTCP-esphome@^2.0.0

+ 2 - 0
src/WebSerial.cpp

@@ -2,6 +2,8 @@
 
 #include "wslp.h"
 
+#include <assert.h>
+
 // DO NOT change magic bytes
 #define WSL_MAGIC_BYTE_1              0xAB
 #define WSL_MAGIC_BYTE_2              0xCD