Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

ERROR : Not compiling for Arduino Nano 33 BLE Sense

Abierto
#5 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
25/100
Tipo de issue
Error
Claridad
Necesita aclaración
Estado de actividad
Estancado
Stack tecnológico
arduino, cpp
Área
embedded-iot

Línea de trabajo

Reproduce el build de ble_sense_webdash.ino con Arduino IDE 1.8.13, la placa Arduino Nano 33 BLE y ArduinoBLE. Inspecciona toda la salida del compilador más allá de las advertencias mostradas, comenzando en las líneas 146 y 194 y en los archivos ArduinoBLE referenciados. La tarea está terminada cuando se haya identificado el error de compilación real y se haya confirmado que el sketch se compila correctamente, o cuando se hayan documentado los detalles de reproducción que faltan.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Hi! 👋
When I try to compile the sketch using the Arduino IDE available from the latest Microsoft Store , then I get this error -

Arduino: 1.8.13 (Windows Store 1.8.42.0) (Windows 10), Board: "Arduino Nano 33 BLE"





















C:\Users\ARIJIT DAS\Documents\Arduino\ble_sense_webdash\ble_sense_webdash.ino: In function 'void loop()':

C:\Users\ARIJIT DAS\Documents\Arduino\ble_sense_webdash\ble_sense_webdash.ino:146:44: warning: narrowing conversion of 'r' from 'int' to 'short unsigned int' inside { } [-Wnarrowing]

       unsigned short colors[3] = { r, g, b };

                                            ^

C:\Users\ARIJIT DAS\Documents\Arduino\ble_sense_webdash\ble_sense_webdash.ino:146:44: warning: narrowing conversion of 'g' from 'int' to 'short unsigned int' inside { } [-Wnarrowing]

C:\Users\ARIJIT DAS\Documents\Arduino\ble_sense_webdash\ble_sense_webdash.ino:146:44: warning: narrowing conversion of 'b' from 'int' to 'short unsigned int' inside { } [-Wnarrowing]

C:\Users\ARIJIT DAS\Documents\Arduino\ble_sense_webdash\ble_sense_webdash.ino:194:13: warning: unused variable 'micLevel' [-Wunused-variable]

       short micLevel;

             ^~~~~~~~

C:\Users\ARIJIT DAS\Documents\ArduinoData\packages\arduino\hardware\mbed\1.3.0\libraries\Wire\Wire.cpp: In member function 'void arduino::MbedI2C::receiveThd()':

C:\Users\ARIJIT DAS\Documents\ArduinoData\packages\arduino\hardware\mbed\1.3.0\libraries\Wire\Wire.cpp:142:12: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]

      if (c <= sizeof(buf)) {

          ~~^~~~~~~~~~

In file included from C:\Users\ARIJIT DAS\Documents\ArduinoData\packages\arduino\hardware\mbed\1.3.0\variants\ARDUINO_NANO33BLE/pins_arduino.h:3:0,

                 from C:\Users\ARIJIT DAS\Documents\ArduinoData\packages\arduino\hardware\mbed\1.3.0\cores\arduino/Arduino.h:90,

                 from C:\Users\ARIJIT DAS\Documents\ArduinoData\packages\arduino\hardware\mbed\1.3.0\libraries\PDM\src/PDM.h:22,

                 from C:\Users\ARIJIT DAS\Documents\ArduinoData\packages\arduino\hardware\mbed\1.3.0\libraries\PDM\src\nrf52\PDM.cpp:23:

C:\Users\ARIJIT DAS\Documents\ArduinoData\packages\arduino\hardware\mbed\1.3.0\libraries\PDM\src\nrf52\PDM.cpp: In member function 'int PDMClass::begin(int, long int)':

C:\Users\ARIJIT DAS\Documents\ArduinoData\packages\arduino\hardware\mbed\1.3.0\cores\arduino/macros.h:28:40: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]

 #define digitalPinToPinName(P)      (P >= PINS_COUNT ? NC : g_APinDescription[P].name)

C:\Users\ARIJIT DAS\Documents\ArduinoData\packages\arduino\hardware\mbed\1.3.0\cores\arduino/macros.h:28:40: note: in definition of macro 'digitalPinToPinName'

 #define digitalPinToPinName(P)      (P >= PINS_COUNT ? NC : g_APinDescription[P].name)

                                        ^~

C:\Users\ARIJIT DAS\Documents\ArduinoData\packages\arduino\hardware\mbed\1.3.0\cores\arduino/macros.h:28:40: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]

 #define digitalPinToPinName(P)      (P >= PINS_COUNT ? NC : g_APinDescription[P].name)

C:\Users\ARIJIT DAS\Documents\ArduinoData\packages\arduino\hardware\mbed\1.3.0\cores\arduino/macros.h:28:40: note: in definition of macro 'digitalPinToPinName'

 #define digitalPinToPinName(P)      (P >= PINS_COUNT ? NC : g_APinDescription[P].name)

                                        ^~

C:\Users\ARIJIT DAS\Documents\Arduino\libraries\ArduinoBLE\src\utility\HCI.cpp: In member function 'int HCIClass::sendAclPkt(uint16_t, uint8_t, uint8_t, void*)':

C:\Users\ARIJIT DAS\Documents\Arduino\libraries\ArduinoBLE\src\utility\HCI.cpp:430:41: warning: variable length array 'txBuffer' is used [-Wvla]

   uint8_t txBuffer[sizeof(aclHdr) + plen];

                                         ^

C:\Users\ARIJIT DAS\Documents\Arduino\libraries\ArduinoBLE\src\utility\ATT.cpp: In member function 'bool ATTClass::handleNotify(uint16_t, const uint8_t*, int)':

C:\Users\ARIJIT DAS\Documents\Arduino\libraries\ArduinoBLE\src\utility\ATT.cpp:522:39: warning: variable length array 'notification' is used [-Wvla]

     uint8_t notification[_peers[i].mtu];

                                       ^

C:\Users\ARIJIT DAS\Documents\Arduino\libraries\ArduinoBLE\src\utility\ATT.cpp: In member function 'bool ATTClass::handleInd(uint16_t, const uint8_t*, int)':

C:\Users\ARIJIT DAS\Documents\Arduino\libraries\ArduinoBLE\src\utility\ATT.cpp:552:37: warning: variable length array 'indication' is used [-Wvla]

     uint8_t indication[_peers[i].mtu];

                                     ^

C:\Users\ARIJIT DAS\Documents\Arduino\libraries\ArduinoBLE\src\utility\HCI.cpp: In member function 'int HCIClass::sendCommand(uint16_t, uint8_t, void*)':

C:\Users\ARIJIT DAS\Documents\Arduino\libraries\ArduinoBLE\src\utility\HCI.cpp:472:41: warning: variable length array 'txBuffer' is used [-Wvla]

   uint8_t txBuffer[sizeof(pktHdr) + plen];

                                         ^

C:\Users\ARIJIT DAS\Documents\Arduino\libraries\ArduinoBLE\src\utility\ATT.cpp: In member function 'void ATTClass::findInfoReq(uint16_t, uint16_t, uint8_t, uint8_t*)':

C:\Users\ARIJIT DAS\Documents\Arduino\libraries\ArduinoBLE\src\utility\ATT.cpp:675:23: warning: variable length array 'response' is used [-Wvla]

   uint8_t response[mtu];

                       ^

C:\Users\ARIJIT DAS\Documents\Arduino\libraries\ArduinoBLE\src\utility\ATT.cpp: In member function 'void ATTClass::findByTypeReq(uint16_t, uint16_t, uint8_t, uint8_t*)':

C:\Users\ARIJIT DAS\Documents\Arduino\libraries\ArduinoBLE\src\utility\ATT.cpp:766:23: warning: variable length array 'response' is used [-Wvla]

   uint8_t response[mtu];

                       ^

C:\Users\ARIJIT DAS\Documents\Arduino\libraries\ArduinoBLE\src\utility\ATT.cpp: In member function 'void ATTClass::readByGroupReq(uint16_t, uint16_t, uint8_t, uint8_t*)':

C:\Users\ARIJIT DAS\Documents\Arduino\libraries\ArduinoBLE\src\utility\ATT.cpp:816:23: warning: variable length array 'response' is used [-Wvla]

   uint8_t response[mtu];

                       ^

C:\Users\ARIJIT DAS\Documents\Arduino\libraries\ArduinoBLE\src\utility\ATT.cpp: In member function 'void ATTClass::readOrReadBlobReq(uint16_t, uint16_t, uint8_t, uint8_t, uint8_t*)':

C:\Users\ARIJIT DAS\Documents\Arduino\libraries\ArduinoBLE\src\utility\ATT.cpp:918:23: warning: variable length array 'response' is used [-Wvla]

   uint8_t response[mtu];

                       ^

C:\Users\ARIJIT DAS\Documents\Arduino\libraries\ArduinoBLE\src\utility\ATT.cpp: In member function 'void ATTClass::readByTypeReq(uint16_t, uint16_t, uint8_t, uint8_t*)':

C:\Users\ARIJIT DAS\Documents\Arduino\libraries\ArduinoBLE\src\utility\ATT.cpp:1023:23: warning: variable length array 'response' is used [-Wvla]

   uint8_t response[mtu];

                       ^

C:\Users\ARIJIT DAS\Documents\Arduino\libraries\ArduinoBLE\src\utility\ATT.cpp: In member function 'void ATTClass::writeReqOrCmd(uint16_t, uint16_t, uint8_t, uint8_t, uint8_t*)':

C:\Users\ARIJIT DAS\Documents\Arduino\libraries\ArduinoBLE\src\utility\ATT.cpp:1223:25: warning: variable length array 'response' is used [-Wvla]

     uint8_t response[mtu];

                         ^

C:\Users\ARIJIT DAS\Documents\Arduino\libraries\ArduinoBLE\src\utility\ATT.cpp: In member function 'void ATTClass::prepWriteReq(uint16_t, uint16_t, uint8_t, uint8_t*)':

C:\Users\ARIJIT DAS\Documents\Arduino\libraries\ArduinoBLE\src\utility\ATT.cpp:1309:23: warning: variable length array 'response' is used [-Wvla]

   uint8_t response[mtu];

                       ^

C:\Users\ARIJIT DAS\Documents\Arduino\libraries\ArduinoBLE\src\utility\ATT.cpp: In member function 'void ATTClass::execWriteReq(uint16_t, uint16_t, uint8_t, uint8_t*)':

C:\Users\ARIJIT DAS\Documents\Arduino\libraries\ArduinoBLE\src\utility\ATT.cpp:1342:23: warning: variable length array 'response' is used [-Wvla]

   uint8_t response[mtu];

                       ^

C:\Users\ARIJIT DAS\Documents\Arduino\libraries\ArduinoBLE\src\utility\ATT.cpp: In member function 'bool ATTClass::exchangeMtu(uint16_t)':

C:\Users\ARIJIT DAS\Documents\Arduino\libraries\ArduinoBLE\src\utility\ATT.cpp:1424:33: warning: variable length array 'responseBuffer' is used [-Wvla]

   uint8_t responseBuffer[_maxMtu];

                                 ^

C:\Users\ARIJIT DAS\Documents\Arduino\libraries\ArduinoBLE\src\utility\ATT.cpp: In member function 'bool ATTClass::discoverServices(uint16_t, BLERemoteDevice*, const char*)':

C:\Users\ARIJIT DAS\Documents\Arduino\libraries\ArduinoBLE\src\utility\ATT.cpp:1438:33: warning: variable length array 'responseBuffer' is used [-Wvla]

   uint8_t responseBuffer[_maxMtu];

                                 ^

C:\Users\ARIJIT DAS\Documents\Arduino\libraries\ArduinoBLE\src\utility\ATT.cpp: In member function 'bool ATTClass::discoverCharacteristics(uint16_t, BLERemoteDevice*)':

C:\Users\ARIJIT DAS\Documents\Arduino\libraries\ArduinoBLE\src\utility\ATT.cpp:1494:33: warning: variable length array 'responseBuffer' is used [-Wvla]

   uint8_t responseBuffer[_maxMtu];

                                 ^

C:\Users\ARIJIT DAS\Documents\Arduino\libraries\ArduinoBLE\src\utility\ATT.cpp: In member function 'bool ATTClass::discoverDescriptors(uint16_t, BLERemoteDevice*)':

C:\Users\ARIJIT DAS\Documents\Arduino\libraries\ArduinoBLE\src\utility\ATT.cpp:1551:33: warning: variable length array 'responseBuffer' is used [-Wvla]

   uint8_t responseBuffer[_maxMtu];

                                 ^

C:\Users\ARIJIT DAS\Documents\Arduino\libraries\ArduinoBLE\src\utility\HCICordioTransport.cpp: In function 'void bleLoop()':

C:\Users\ARIJIT DAS\Documents\Arduino\libraries\ArduinoBLE\src\utility\HCICordioTransport.cpp:116:68: warning: 'us_timestamp_t mbed::TimerBase::read_high_resolution_us() const' is deprecated: Use the Chrono-based elapsed_time method.  If integer microseconds are needed, you can use `elapsed_time().count()` [since mbed-os-6.0.0] [-Wdeprecated-declarations]

         last_update_us += (uint64_t) timer.read_high_resolution_us();

                                                                    ^

In file included from C:\Users\ARIJIT DAS\Documents\ArduinoData\packages\arduino\hardware\mbed\1.3.0\cores\arduino/mbed/mbed.h:81:0,

                 from C:\Users\ARIJIT DAS\Documents\ArduinoData\packages\arduino\hardware\mbed\1.3.0\cores\arduino/mbed.h:14,

                 from C:\Users\ARIJIT DAS\Documents\ArduinoData\packages\arduino\hardware\mbed\1.3.0\cores\arduino/mbed/features/FEATURE_BLE/targets/TARGET_CORDIO/driver/CordioHCIDriver.h:26,

                 from C:\Users\ARIJIT DAS\Documents\Arduino\libraries\ArduinoBLE\src\utility\HCICordioTransport.cpp:23:

C:\Users\ARIJIT DAS\Documents\ArduinoData\packages\arduino\hardware\mbed\1.3.0\cores\arduino/mbed/drivers/Timer.h:104:20: note: declared here

     us_timestamp_t read_high_resolution_us() const;

                    ^~~~~~~~~~~~~~~~~~~~~~~

C:\Users\ARIJIT DAS\Documents\Arduino\libraries\ArduinoBLE\src\utility\HCICordioTransport.cpp:138:72: warning: 'us_timestamp_t mbed::TimerBase::read_high_resolution_us() const' is deprecated: Use the Chrono-based elapsed_time method.  If integer microseconds are needed, you can use `elapsed_time().count()` [since mbed-os-6.0.0] [-Wdeprecated-declarations]

         uint64_t time_spent = (uint64_t) timer.read_high_resolution_us();

                                                                        ^

In file included from C:\Users\ARIJIT DAS\Documents\ArduinoData\packages\arduino\hardware\mbed\1.3.0\cores\arduino/mbed/mbed.h:81:0,

                 from C:\Users\ARIJIT DAS\Documents\ArduinoData\packages\arduino\hardware\mbed\1.3.0\cores\arduino/mbed.h:14,

                 from C:\Users\ARIJIT DAS\Documents\ArduinoData\packages\arduino\hardware\mbed\1.3.0\cores\arduino/mbed/features/FEATURE_BLE/targets/TARGET_CORDIO/driver/CordioHCIDriver.h:26,

                 from C:\Users\ARIJIT DAS\Documents\Arduino\libraries\ArduinoBLE\src\utility\HCICordioTransport.cpp:23:

C:\Users\ARIJIT DAS\Documents\ArduinoData\packages\arduino\hardware\mbed\1.3.0\cores\arduino/mbed/drivers/Timer.h:104:20: note: declared here

     us_timestamp_t read_high_resolution_us() const;

                    ^~~~~~~~~~~~~~~~~~~~~~~

C:\Users\ARIJIT DAS\Documents\Arduino\libraries\ArduinoBLE\src\utility\HCICordioTransport.cpp:149:55: warning: 'void rtos::ThisThread::sleep_for(uint32_t)' is deprecated: Pass a chrono duration, not an integer millisecond count. For example use `5s` rather than `5000`. [since mbed-os-6.0.0] [-Wdeprecated-declarations]

               rtos::ThisThread::sleep_for(wait_time_ms);

                                                       ^

In file included from C:\Users\ARIJIT DAS\Documents\ArduinoData\packages\arduino\hardware\mbed\1.3.0\cores\arduino/mbed/rtos/rtos.h:30:0,

                 from C:\Users\ARIJIT DAS\Documents\ArduinoData\packages\arduino\hardware\mbed\1.3.0\cores\arduino/USB/PluggableUSBSerial.h:24,

                 from C:\Users\ARIJIT DAS\Documents\ArduinoData\packages\arduino\hardware\mbed\1.3.0\cores\arduino/Arduino.h:131,

                 from C:\Users\ARIJIT DAS\Documents\ArduinoData\packages\arduino\hardware\mbed\1.3.0\cores\arduino/mbed.h:4,

                 from C:\Users\ARIJIT DAS\Documents\ArduinoData\packages\arduino\hardware\mbed\1.3.0\cores\arduino/mbed/features/FEATURE_BLE/targets/TARGET_CORDIO/driver/CordioHCIDriver.h:26,

                 from C:\Users\ARIJIT DAS\Documents\Arduino\libraries\ArduinoBLE\src\utility\HCICordioTransport.cpp:23:

C:\Users\ARIJIT DAS\Documents\ArduinoData\packages\arduino\hardware\mbed\1.3.0\cores\arduino/mbed/rtos/ThisThread.h:216:6: note: declared here

 void sleep_for(uint32_t millisec);

      ^~~~~~~~~

C:\Users\ARIJIT DAS\Documents\ArduinoData\packages\arduino\hardware\mbed\1.3.0\cores\arduino\USB\USBCDC.cpp: In member function 'virtual const uint8_t* arduino::USBCDC::configuration_desc(uint8_t)':

C:\Users\ARIJIT DAS\Documents\ArduinoData\packages\arduino\hardware\mbed\1.3.0\cores\arduino\USB\USBCDC.cpp:544:35: warning: narrowing conversion of '((((arduino::USBCDC*)this)->arduino::USBCDC::extraDescriptor != 0) ? 5 : 0)' from 'int' to 'uint8_t {aka unsigned char}' inside { } [-Wnarrowing]

         (extraDescriptor != NULL) ? 0x5 : 0x0, // iInterface

         ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~

sketch\ble_sense_webdash.ino.cpp.o: In function `loop':

C:\Users\ARIJIT DAS\Documents\Arduino\ble_sense_webdash/ble_sense_webdash.ino:200: undefined reference to `arm_rfft_init_q15'

C:\Users\ARIJIT DAS\Documents\Arduino\ble_sense_webdash/ble_sense_webdash.ino:201: undefined reference to `arm_rfft_q15'

C:\Users\ARIJIT DAS\Documents\Arduino\ble_sense_webdash/ble_sense_webdash.ino:202: undefined reference to `arm_abs_q15'

collect2.exe: error: ld returned 1 exit status

exit status 1

Error compiling for board Arduino Nano 33 BLE.



This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

Can anyone help ?

Lenguaje dominante
JavaScript
Estrellas
80
Forks
47
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de arduino/ArduinoAI

Todos los issues de arduino/ArduinoAI

Issues similares

Más issues de JavaScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.