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.
Hi! 👋 When I try to compile the sketch using the Arduino IDE available from the latest Microsoft Store , then I get this error -
Can anyone help ?