Hi@giulcioffi, Yes, I've applied all patches to the BLE library however I've noticed I'm getting multiple errors while compiling. I'm using the provided script with latest ArduinoCore-mbed version as follows: ./mbed-os-to-arduino -c -a ARDUINO_NANO33BLE:ARDUINO_NANO33BLE Here is a portion of the output. Maybe you can find what may be wrong here. [mbed] ERROR: "/usr/bin/python3" returned error. Code: 1 Path: "/tmp/mbed-os-program" Command: "/usr/bin/python3 -u /tmp/mbed-os-program/mbed-os/tools/make.py -t GCC_ARM -m ARDUINO_NANO33BLE --source . --build ./BUILD/ARDUINO_NANO33BLE/GCC_ARM -v"---
Building project mbed (ARDUINO_NANO33BLE, GCC_ARM)Scan: mbedMacros: -DDEVICE_USBDEVICE=1 -DTARGET_SDK_15_0 -DARM_MATH_CM4 -DDEVICE_PORTINOUT=1 -DTARGET_SOFTDEVICE_NONE -DDEVICE_I2CSLAVE=1 -D__CORTEX_M4 -DDEVICE_I2C=1 -DTARGET_CORTEX -DTARGET_RELEASE -DTARGET_NRF52840 -DNRF52_PA>Compile [ 0.8%]: PluggableUSBDevice.cppCompile: arm-none-eabi-g++ -c -std=gnu++14 -fno-rtti -Wvla -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -fmessage-length=0 -fno-exceptions -ffunction-sections -fdata-sections -funsigned-char -MMD>[Error] lwipopts.h@34,2: #error "Either IPv4 or IPv6 must be enabled."[Error] lwipopts.h@71,2: #error "Either IPv4 or IPv6 must be preferred."[Error] string_conversions.h@63,27: 'errno' was not declared in this scope[Error] string_conversions.h@64,23: 'errno' was not declared in this scope[Error] string_conversions.h@84,16: 'errno' was not declared in this scope[Error] error_constants.h@122,27: 'ENOTSUP' was not declared in this scope[Error] CThunkBase.h@59,43: 'MBED_CONF_PLATFORM_CTHUNK_COUNT_MAX' was not declared in this scope[Error] CThunkBase.h@64,39: 'MBED_CONF_PLATFORM_CTHUNK_COUNT_MAX' was not declared in this scope[Error] CThunkBase.h@82,9: '_thunk_storage' was not declared in this scope[Error] UnbufferedSerial.h@66,20: 'MBED_CONF_PLATFORM_DEFAULT_SERIAL_BAUD_RATE' was not declared in this scope[Error] UnbufferedSerial.h@77,20: 'MBED_CONF_PLATFORM_DEFAULT_SERIAL_BAUD_RATE' was not declared in this scope[Error] BufferedSerial.h@69,20: 'MBED_CONF_PLATFORM_DEFAULT_SERIAL_BAUD_RATE' was not declared in this scope[Error] BufferedSerial.h@80,20: 'MBED_CONF_PLATFORM_DEFAULT_SERIAL_BAUD_RATE' was not declared in this scope[Error] ctime@64,11: '::clock' has not been declared[Error] ctime@65,11: '::difftime' has not been declared[Error] ctime@66,11: '::mktime' has not been declared[Error] ctime@67,11: '::time' has not been declared[Error] ctime@68,11: '::asctime' has not been declared[Error] ctime@69,11: '::ctime' has not been declared[Error] ctime@70,11: '::gmtime' has not been declared[Error] ctime@71,11: '::localtime' has not been declared[Error] ctime@72,11: '::strftime' has not been declared[Error] pins_arduino.h@69,22: 'const uint8_t A0' redeclared as different kind of entity[Error] pins_arduino.h@70,22: 'const uint8_t A1' redeclared as different kind of entity[Error] pins_arduino.h@71,22: 'const uint8_t A2' redeclared as different kind of entity[Error] pins_arduino.h@72,22: 'const uint8_t A3' redeclared as different kind of entity[Error] pins_arduino.h@73,22: 'const uint8_t A4' redeclared as different kind of entity[Error] pins_arduino.h@74,22: 'const uint8_t A5' redeclared as different kind of entity[Error] pins_arduino.h@75,22: 'const uint8_t A6' redeclared as different kind of entity[Error] pins_arduino.h@76,22: 'const uint8_t A7' redeclared as different kind of entity[Error] mbed_rtos_types.h@51,32: 'osOK' conflicts with a previous declaration[Error] mbed_rtos_types.h@52,32: 'osError' conflicts with a previous declaration[Error] mbed_rtos_types.h@53,32: 'osErrorTimeout' conflicts with a previous declaration[Error] mbed_rtos_types.h@54,32: 'osErrorResource' conflicts with a previous declaration[Error] mbed_rtos_types.h@55,32: 'osErrorParameter' conflicts with a previous declaration[Error] mbed_rtos_types.h@56,32: 'osErrorNoMemory' conflicts with a previous declaration[Error] mbed_rtos_types.h@57,32: 'osErrorISR' conflicts with a previous declaration[Error] mbed_rtos_types.h@58,31: 'osStatusReserved' conflicts with a previous declaration[Error] mbed_rtos_types.h@59,3: conflicting declaration 'typedef enum osStatus_t osStatus_t'[Error] PluggableUSBSerial.h@261,11: 'Thread' in namespace 'rtos' does not name a type; did you mean 'ThisThread'?...
My system is: ubuntu 20 | python v3.8.5 | mbed-cli v1.10.4 | arm-none-eabi-gcc v9.2.1 Thank you |
This patch will allow to connect up to 5 BLE peripherals to a BLE central device. It will take effect at the next core compilation, where DM_CONN_MAX will be set to 5 (now it is 3).
This willfixArduinoBLE#116 andArduinoCore-nRF528#40.