BLEKeyboard.h kaputt?

Apr 28, 2025 Last reply: 1 year ago 4 Replies

Hallo zusammen,



ich wollte heute ein spezielleres BLE-Tastatur-Projekt um eine Funktion erweitern. Allerdings lässt sich das Projekt nicht mehr kompilieren.



Egal, was ich versuche, immer fehlen Komponenten, die erst indirekt von BLEKeyboard aufgerufen werden.



Ich hab nun versucht, das Nachzuverfolgen und z. B.

formatting link
die 36 Zeilen zu kompilieren. Zunächst habe ich die adc-Zeile entfernt, brauch ich nicht. Ich verwende den ESP32C3 (Super Mini), also die Pins auf 0 und 4 ändern. Beim Kompilieren mit der Arduino 2.3.6 unter linuxMint 21.3 kommt zuerst eine Warnung, dass ""legacy adc driver is deprecated". Danach kommt gleich die Fehlermeldung, dass



/home/marte/Arduino/libraries/ESP32_BLE_Keyboard/BleKeyboard.cpp: In member function 'void BleKeyboard::begin()': /home/marte/Arduino/libraries/ESP32_BLE_Keyboard/BleKeyboard.cpp:106:19: error: cannot convert 'std::string' {aka 'std::__cxx11::basic_string<char>'} to 'String' 106 | BLEDevice::init(deviceName); | ^~~~~~~~~~ | | | std::string {aka std::__cxx11::basic_string<char>}



Was danach kommt scheinen mir einfach Folgefehler davon zu sein.



Bis vor wenigen Wochen ging das noch. Hab ich was verpasst? Oder hab ich versehentlicherweise was verstellt? Was ich zu schnell weggeklickt hatte, war eine Meldung, dass was aktualisiert werden sollte. Ich hab versucht, die ESP32 im Boardverwealter auf ältere Stände zurückzusetzen, allerdings ohne Erfolg.



So kompliziert sieht das doch gar nicht aus. :-(



Ist da was beim ESP32-Arduino-Paket kaputt gegangen oder bei meinem Rechner irgendwas? Ich bin gerade ratlos.



Kann das bitte jemand nachstellen?



Gruß Marte


Am 28.04.25 um 18:34 schrieb Marte Schwarz:

Das hört sich eher nach einem Breaking Change in der API an. Vermutlich wurde irgendwann von einer proprietären Stringklasse auf std::string umgestellt (oder gar vice versa).

Ich tippe eher auf ein Update. Da passen die Versionen von beteiligten Komponenten nicht zusammen.

Marcel

Hi Marcel,

So lese ich das auch.

Und wie kuriert man das?

Marte

Am 28.04.2025 um 22:42 schrieb Marte Schwarz:

die verwendeten Libraries up- oder downgraden. Mit der Neopixel-Library für den ESP32 gab es ein ähnliches Problem, seit einer bestimmten Version funktionierte die nur noch für eine geringe Anzahl von Pixeln pro Strang. Die Versionsauswahl der Bibliotheken ist zum Glück relativ einfach in der Arduino-IDE.

Gruß Stefan.

Hi Stefan,>> Und wie kuriert man das?

Hat nicht gereicht. Arduino deinstalliert, die beiden Restordner entfernt und neu installiert hat geholfen.

Marte

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required