diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5d4afabb..abf1e2aa 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -10,11 +10,14 @@ jobs: example: - "examples/NimBLE_Client" - "examples/NimBLE_Server" + bt5_example: + - "examples/Bluetooth_5/NimBLE_extended_client" + - "examples/Bluetooth_5/NimBLE_extended_server" runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Set up Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: "3.x" - name: Install platformio @@ -42,6 +45,23 @@ jobs: EOF cp ${{ matrix.example }}/* example/src/ platformio run -d example + rm example/platformio.ini + rm example/src/* + cat > example/platformio.ini << EOF + [env] + platform = espressif32 + framework = arduino + + [env:esp32c3] + board = esp32-c3-devkitm-1 + build_flags = '-DCONFIG_BT_NIMBLE_EXT_ADV=1' + + [env:esp32s3] + board = esp32-s3-devkitc-1 + build_flags = '-DCONFIG_BT_NIMBLE_EXT_ADV=1' + EOF + cp ${{ matrix.bt5_example }}/* example/src/ + platformio run -d example build_arduino-esp32: strategy: @@ -54,9 +74,15 @@ jobs: - esp32 - esp32c3 - esp32s3 + bt5_example: + - "examples/Bluetooth_5/NimBLE_extended_client" + - "examples/Bluetooth_5/NimBLE_extended_server" + bt5_variant: + - esp32c3 + - esp32s3 runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Build arduino-esp32 uses: arduino/compile-sketches@v1.1.0 with: @@ -67,6 +93,19 @@ jobs: version: latest fqbn: "esp32:esp32:${{ matrix.variant }}" sketch-paths: ${{ matrix.example }} + - name: Set config for BT5 + run: | + echo "#define CONFIG_BT_NIMBLE_EXT_ADV 1" >> ./src/nimconfig.h + - name: Build arduino-esp32 BT5 + uses: arduino/compile-sketches@v1.1.0 + with: + cli-version: latest + platforms: | + - name: "esp32:esp32" + source-url: "https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json" + version: latest + fqbn: "esp32:esp32:${{ matrix.bt5_variant }}" + sketch-paths: ${{ matrix.bt5_example }} build_n-able-Arduino: strategy: @@ -80,9 +119,14 @@ jobs: - Generic_nRF52832 - Generic_nRF52833 - Generic_nRF52840 + bt5_example: + - "examples/Bluetooth_5/NimBLE_extended_client" + - "examples/Bluetooth_5/NimBLE_extended_server" + bt5_variant: + - Generic_nRF52840 runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Build n-able Arduino uses: arduino/compile-sketches@v1.1.0 with: @@ -93,6 +137,19 @@ jobs: version: latest fqbn: "h2zero:arm-ble:${{ matrix.variant }}" sketch-paths: ${{ matrix.example }} + - name: Set config for BT5 + run: | + echo "#define CONFIG_BT_NIMBLE_EXT_ADV 1" >> ./src/nimconfig.h + - name: Build n-able Arduino BT5 + uses: arduino/compile-sketches@v1.1.0 + with: + cli-version: latest + platforms: | + - name: "h2zero:arm-ble" + source-url: "https://h2zero.github.io/n-able-Arduino/package_n-able_boards_index.json" + version: latest + fqbn: "h2zero:arm-ble:${{ matrix.bt5_variant }}" + sketch-paths: ${{ matrix.bt5_example }} build_n-able-pio: strategy: @@ -101,11 +158,15 @@ jobs: example: - "examples/NimBLE_Client" - "examples/NimBLE_Server" + bt5_example: + - "examples/Bluetooth_5/NimBLE_extended_client" + - "examples/Bluetooth_5/NimBLE_extended_server" + runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Set up Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: "3.x" - name: Install platformio @@ -136,10 +197,23 @@ jobs: EOF cp ${{ matrix.example }}/* example/src/ platformio run -d example + rm example/platformio.ini + rm example/src/* + cat > example/platformio.ini << EOF + [env] + platform = https://github.com/h2zero/platform-n-able.git#1.0.0 + framework = arduino + + [env:generic_nrf52840] + board = generic_nrf52840 + build_flags = '-DCONFIG_BT_NIMBLE_EXT_ADV=1' + EOF + cp ${{ matrix.bt5_example }}/* example/src/ + platformio run -d example build_docs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Doxygen Action uses: mattnotmitt/doxygen-action@v1.9.5 with: