|
@@ -25,10 +25,28 @@ void SerialBLEInterface::begin(const char* device_name, uint32_t pin_code) {
|
|
|
char charpin[20];
|
|
char charpin[20];
|
|
|
sprintf(charpin, "%d", pin_code);
|
|
sprintf(charpin, "%d", pin_code);
|
|
|
|
|
|
|
|
- Bluefruit.configPrphBandwidth(BANDWIDTH_MAX);
|
|
|
|
|
- Bluefruit.configPrphConn(250, BLE_GAP_EVENT_LENGTH_MIN, 16, 16); // increase MTU
|
|
|
|
|
|
|
+ Bluefruit.configPrphBandwidth(
|
|
|
|
|
+#ifdef BLE_LOW_POWER
|
|
|
|
|
+ BANDWIDTH_NORMAL
|
|
|
|
|
+#else
|
|
|
|
|
+ BANDWIDTH_MAX
|
|
|
|
|
+#endif
|
|
|
|
|
+ );
|
|
|
|
|
+ Bluefruit.configPrphConn(
|
|
|
|
|
+#ifdef BLE_LOW_POWER
|
|
|
|
|
+ 400, BLE_GAP_EVENT_LENGTH_MIN, 8, 8
|
|
|
|
|
+#else
|
|
|
|
|
+ 250, BLE_GAP_EVENT_LENGTH_MIN, 16, 16 // increase MTU
|
|
|
|
|
+#endif
|
|
|
|
|
+ );
|
|
|
Bluefruit.begin();
|
|
Bluefruit.begin();
|
|
|
- Bluefruit.setTxPower(4); // Check bluefruit.h for supported values
|
|
|
|
|
|
|
+ Bluefruit.setTxPower(
|
|
|
|
|
+#ifdef BLE_LOW_POWER
|
|
|
|
|
+ 0
|
|
|
|
|
+#else
|
|
|
|
|
+ 4
|
|
|
|
|
+#endif
|
|
|
|
|
+ ); // Check bluefruit.h for supported values
|
|
|
Bluefruit.setName(device_name);
|
|
Bluefruit.setName(device_name);
|
|
|
|
|
|
|
|
Bluefruit.Security.setMITM(true);
|
|
Bluefruit.Security.setMITM(true);
|
|
@@ -80,7 +98,13 @@ void SerialBLEInterface::startAdv() {
|
|
|
* https://developer.apple.com/library/content/qa/qa1931/_index.html
|
|
* https://developer.apple.com/library/content/qa/qa1931/_index.html
|
|
|
*/
|
|
*/
|
|
|
Bluefruit.Advertising.restartOnDisconnect(false); // don't restart automatically as we handle it in onDisconnect
|
|
Bluefruit.Advertising.restartOnDisconnect(false); // don't restart automatically as we handle it in onDisconnect
|
|
|
- Bluefruit.Advertising.setInterval(32, 244); // in unit of 0.625 ms
|
|
|
|
|
|
|
+ Bluefruit.Advertising.setInterval(
|
|
|
|
|
+#ifdef BLE_LOW_POWER
|
|
|
|
|
+ 160, 1600
|
|
|
|
|
+#else
|
|
|
|
|
+ 32, 244
|
|
|
|
|
+#endif
|
|
|
|
|
+ ); // in unit of 0.625 ms
|
|
|
Bluefruit.Advertising.setFastTimeout(30); // number of seconds in fast mode
|
|
Bluefruit.Advertising.setFastTimeout(30); // number of seconds in fast mode
|
|
|
Bluefruit.Advertising.start(0); // 0 = Don't stop advertising after n seconds
|
|
Bluefruit.Advertising.start(0); // 0 = Don't stop advertising after n seconds
|
|
|
|
|
|