benzino77/tasmocompiler

Including BLE support causes an error: NimBLEDevice.h

gdudek opened this issue · 4 comments

gdudek commented

Can't compile in BLE support.

"bluetooth": true,
"USE_BLE_ESP32": true,

on board esp32webcam

leads to the error:

compile /tmp/Tasmota/tasmota/tasmota_xdrv_driver/xdrv_79_esp32_ble.ino:148:10: fatal error: NimBLEDevice.h: No such file or directory

Hi,

Which version of TasmoCompiler are you using? The stable one v10.4.x or development?

gdudek commented

This is true with v10.4.0 and also with v11.0.0 (just released - thanks). The problem seems remain:

2023-07-01T14:05:09.227Z compile /tmp/Tasmota/tasmota/tasmota_xdrv_driver/xdrv_79_esp32_ble.ino:148:10: fatal error: NimBLEDevice.h: No such file or directory

2023-07-01T14:05:09.228Z compile 
**********************************************************************
* Looking for NimBLEDevice.h dependency? Check our library registry!
*
* CLI  > platformio lib search "header:NimBLEDevice.h"
* Web  > https://registry.platformio.org/search?q=header:NimBLEDevice.h
*
**********************************************************************

 #include <NimBLEDevice.h>
          ^~~~~~~~~~~~~~~~
compilation terminated.

If I enable only Webcam and Blueooth the problem occurs, also with my preferred set:
of options:
Screen Shot 2023-07-01 at 10 09 26 AM

Webcam, Berry Scripting, Bluetooth, Home Assistant, SD Card, Timers, Web interface, Rules.

You have to ask Tasmota Dev Team. Have a look here: https://github.com/arendst/Tasmota/blob/d72f3b99782fb926e0fa57c62b914cafea9c2478/tasmota/include/tasmota_configurations_ESP32.h#L197

This is a standard set of defines and undefines for Webcam board. For some reason BLE support for this board is disabled (undefined) by default. You can also read other threads here (#345) and on Tasmota GitHub page related to Webcam board (arendst/Tasmota#18078)

gdudek commented

Thanks for this. It's apparently a performance choice that arises due to the heavy requirements when using the webcam. In theory, both might be enabled if used judiciously (and might fit in memory), but it would invite subsequent problems.