|
6 | 6 | | --- | ---: | --- | |
7 | 7 | | `appleAdvertisementKeyBase64` | `""` | 28-byte Apple public advertisement key encoded as 40 Base64 characters; empty disables Apple | |
8 | 8 | | `googleAdvertisementEidHex` | `""` | 20-byte Google advertisement EID encoded as 40 hexadecimal characters; empty disables Google | |
9 | | -| `advertisingIntervalMs` | `2000` | BLE interval while stationary, clamped to the controller range 20–10240 ms | |
| 9 | +| `advertisingIntervalMs` | `2000` | Stationary BLE interval: valid range 20–10240 ms; out-of-range values reset to 2000 ms, not the nearest bound | |
10 | 10 | | `txPowerDbm` | `0` | Requested advertising power, mapped to the nearest ESP controller level | |
11 | 11 | | `providerWindowMs` | `6000` | Requested provider window; clamped to at least three stationary advertisement intervals (and at least 1 second) | |
12 | 12 | | `accelerometerEnabled` | `false` | Enables LIS3DH/LIS2DH/LIS2DH12 motion detection | |
13 | | -| `accelerometerWire` | `&Wire` | I2C bus instance; point it to `Wire1` or another initialized bus when required | |
| 13 | +| `accelerometerWire` | `nullptr` | Null selects `Wire` when the built-in driver is enabled; pass `&Wire1` or another bus when required | |
14 | 14 | | `initializeAccelerometerBus` | `true` | Calls `begin(SDA, SCL)` on the selected bus; set false if the host firmware already initialized it | |
15 | 15 | | `accelerometerSda` | `8` | I2C SDA pin | |
16 | 16 | | `accelerometerScl` | `9` | I2C SCL pin | |
17 | 17 | | `accelerometerAddress` | `0` | `0` probes `0x18`/`0x19`; otherwise forces the supplied address | |
18 | 18 | | `motionThreshold` | `320` | Motion delta threshold; raise it to reject small vibrations | |
19 | | -| `motionIntervalMs` | `200` | BLE interval while movement is active | |
| 19 | +| `motionIntervalMs` | `200` | Motion BLE interval: valid range 20–10240 ms; out-of-range values reset to 200 ms | |
20 | 20 | | `motionHoldMs` | `30000` | Time to keep the motion interval after the last detected movement | |
21 | 21 | | `motionDetectedCallback` | `nullptr` | Optional no-argument callback returning true on motion; supports any external sensor or application state | |
22 | 22 | | `backgroundTask` | `true` | Runs the scheduler in an internal FreeRTOS task | |
@@ -88,7 +88,7 @@ when another module needs scanning, client, or GATT-server roles. |
88 | 88 |
|
89 | 89 | ## Threading and ownership |
90 | 90 |
|
91 | | -Configuration updates are serialized by `reconfigure()`. Do not call |
| 91 | +Configuration updates stop and restart the private scheduler. Do not call |
92 | 92 | `reconfigure()`, `setKeys()`, and `end()` concurrently from multiple tasks; |
93 | 93 | serialize them in the host application when several configuration sources are |
94 | 94 | present. The library owns legacy advertising while it is running but does not |
|
0 commit comments