arduino / ArduinoAI

Arduino AI content / demos
71 stars 48 forks source link

ERROR : Not compiling for Arduino Nano 33 BLE Sense #5

Open arijitdas123student opened 3 years ago

arijitdas123student commented 3 years ago

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 ?