mirror of
https://github.com/h2zero/esp-nimble-cpp.git
synced 2024-11-24 06:00:55 +01:00
2151386057
* General code cleanup * `NimBLEScan::start` will no longer clear cache or results if scanning is already in progress. * `NimBLEScan::clearResults` will now reset the vector capacity to 0. * `NimBLEScan::stop` will no longer call the `onScanEnd` callback as the caller should know its been stopped when this is called. * `NimBLEScan::clearDuplicateCache` has been removed as it was problematic and only for the esp32. Stop and start the scanner for the same effect. * `NimBLEScan::start` takes a new bool parameter `restart`, default `true`, that will restart an already in progress scan and clear the duplicate filter so all devices will be discovered again. * Scan response data that is received without advertisement first will now create the device and send a callback. * Added new method: `NimBLEAdvertisedDevice::isScannable()` that returns true if the device is scannable. * Added default callbacks for `NimBLEScanCallbacks` * `NimBLEScanCallbacks` function signatures updated: * - `onDiscovered` now takes a `const NimBLEAdvertisedDevice*` * - `onResult` now takes a `const NimBLEAdvertisedDevice*` * - `onScanEnd` now takes a `const NimBLEScanResults&` and `int reason` * Added new erase overload: `NimBLEScan::erase(const NimBLEAdvertisedDevice* device)` * `NimBLEScanResults::getDevice` methods now return `const NimBLEAdvertisedDevice*` * `NimBLEScanResults` iterators are now `const_iterator`
66 lines
2.1 KiB
YAML
66 lines
2.1 KiB
YAML
name: Build
|
|
|
|
on:
|
|
workflow_dispatch: # Start a workflow
|
|
pull_request:
|
|
push:
|
|
branches:
|
|
- master
|
|
|
|
jobs:
|
|
build-esp-idf-component:
|
|
name: Build with ESP-IDF ${{ matrix.idf_ver }} for ${{ matrix.idf_target }}
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
# The version names here correspond to the versions of espressif/idf Docker image.
|
|
# See https://hub.docker.com/r/espressif/idf/tags and
|
|
# https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/tools/idf-docker-image.html
|
|
# for details.
|
|
idf_ver: ["release-v4.4", "release-v5.1"]
|
|
idf_target: ["esp32", "esp32s3", "esp32c2", "esp32c3", "esp32c6", "esp32h2"]
|
|
example:
|
|
- Advanced/NimBLE_Client
|
|
- Advanced/NimBLE_Server
|
|
- Continuous_scan
|
|
- Bluetooth_5/NimBLE_extended_client
|
|
- Bluetooth_5/NimBLE_extended_server
|
|
- Bluetooth_5/NimBLE_multi_advertiser
|
|
- NimBLE_server_get_client_name
|
|
exclude:
|
|
- idf_target: "esp32"
|
|
example: Bluetooth_5/NimBLE_extended_client
|
|
- idf_target: "esp32"
|
|
example: Bluetooth_5/NimBLE_extended_server
|
|
- idf_target: "esp32"
|
|
example: Bluetooth_5/NimBLE_multi_advertiser
|
|
- idf_ver: release-v4.4
|
|
idf_target: "esp32c2"
|
|
- idf_ver: release-v4.4
|
|
idf_target: "esp32c6"
|
|
- idf_ver: release-v4.4
|
|
idf_target: "esp32h2"
|
|
|
|
container: espressif/idf:${{ matrix.idf_ver }}
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
with:
|
|
path: components/esp-nimble-cpp
|
|
- name: Build examples
|
|
env:
|
|
IDF_TARGET: ${{ matrix.idf_target }}
|
|
shell: bash
|
|
run: |
|
|
. ${IDF_PATH}/export.sh
|
|
cp -r components/esp-nimble-cpp/examples/* .
|
|
idf.py -C ${{ matrix.example }} -DEXTRA_COMPONENT_DIRS=$PWD/components build
|
|
|
|
build_docs:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Doxygen Action
|
|
uses: mattnotmitt/doxygen-action@v1.9.5
|
|
with:
|
|
working-directory: 'docs/'
|