Nano 33 and Giga: BMI270/BMM150 Compiles but Looses Com Port after Upload
Closed this issue · 4 comments
Describe the bug
After uploading a test sketch to access the BMI270 and BMM150 the NANO 33 BLE Sense v2 looses Com port. Nothing further can be done.
Target board + cli verbose compilation output
Full verbose compilation output, ideally with arduino-cli invocation or from IDE 2.3.3+
Issues without the full verbose output will be discarded as invalid.
loading library from d:\Users\Merli\Documents\Arduino\libraries\Arduino-EasyTransfer-master: invalid library: no header files foundloading library from d:\Users\Merli\Documents\Arduino\libraries\ArduinoCore-API-master: invalid library: no header files foundloading library from d:\Users\Merli\Documents\Arduino\libraries\FastAhrs: invalid library: no header files foundloading library from d:\Users\Merli\Documents\Arduino\libraries\Lidar-Lite-v3-3d-Scanner: invalid library: no header files foundloading library from d:\Users\Merli\Documents\Arduino\libraries\M5Stack: invalid library: no header files foundloading library from d:\Users\Merli\Documents\Arduino\libraries\esp32-camera-master: invalid library: no header files found
FQBN: arduino:zephyr:nano33ble
Using board 'nano33ble' from platform in folder: C:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.2.0
Using core 'arduino' from platform in folder: C:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.2.0
Detecting libraries used...
C:\Users\Merli\AppData\Local\Arduino15\packages\zephyr\tools\arm-zephyr-eabi\0.16.8/bin/arm-zephyr-eabi-g++ -g -Os -std=c++17 -c -w -DLL_EXTENSION_BUILD -DCONFIG_ARDUINO_API_SERIAL_BUFFER_SIZE=256 -DNRF52840_XXAA -DKERNEL -DK_HEAP_MEM_POOL_SIZE=32768 -DPICOLIBC_LONG_LONG_PRINTF_SCANF -D__LINUX_ERRNO_EXTENSIONS__ -D__PROGRAM_START -D__ZEPHYR__=1 -imacrosC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.2.0\variants\arduino_nano_33_ble_sense/llext-edk/include/zephyr/include/generated/zephyr/autoconf.h -imacrosC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.2.0\variants\arduino_nano_33_ble_sense/llext-edk/include/zephyr/include/zephyr/toolchain/zephyr_stdint.h -fno-exceptions -fno-rtti -fno-threadsafe-statics -fno-unwind-tables -fno-use-cxa-atexit -fdata-sections -ffunction-sections -fno-unwind-tables -fno-strict-aliasing -fno-printf-return-value -fno-common -mcpu=cortex-m4 -mthumb -mabi=aapcs -mfp16-format=ieee -mtp=soft -Wall -Wformat -Wformat-security -Wno-format-zero-length -Wdouble-promotion -Wpointer-arith -Wexpansion-to-defined -Wno-unused-but-set-variable -fno-asynchronous-unwind-tables -ftls-model=local-exec -fno-reorder-functions --param=min-pagesize=0 -fno-defer-pop --specs=picolibc.specs -D_POSIX_THREADS -mlong-calls -nodefaultlibs -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -w -x c++ -E -CC -DARDUINO=10607 -DARDUINO_ARDUINO_NANO33BLE -DARDUINO_ARCH_ZEPHYR -DARDUINO_ARCH_ZEPHYR -DARDUINO_LIBRARY_DISCOVERY_PHASE=1 -IC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.2.0\cores\arduino -IC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.2.0\variants\arduino_nano_33_ble_sense -IC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.2.0\cores\arduino/api/deprecated -IC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.2.0\cores\arduino/api/deprecated-avr-comp -iprefixC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.2.0\variants\arduino_nano_33_ble_sense @C:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.2.0\variants\arduino_nano_33_ble_sense/includes.txt C:\Users\Merli\AppData\Local\arduino\sketches\9A15C86C32FF357825D53C042830113E\sketch\Dual_sensor_150-270.ino.cpp -o nul
Alternatives for Wire.h: [Wire]
ResolveLibrary(Wire.h)
-> candidates: [Wire]
C:\Users\Merli\AppData\Local\Arduino15\packages\zephyr\tools\arm-zephyr-eabi\0.16.8/bin/arm-zephyr-eabi-g++ -g -Os -std=c++17 -c -w -DLL_EXTENSION_BUILD -DCONFIG_ARDUINO_API_SERIAL_BUFFER_SIZE=256 -DNRF52840_XXAA -DKERNEL -DK_HEAP_MEM_POOL_SIZE=32768 -DPICOLIBC_LONG_LONG_PRINTF_SCANF -D__LINUX_ERRNO_EXTENSIONS__ -D__PROGRAM_START -D__ZEPHYR__=1 -imacrosC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.2.0\variants\arduino_nano_33_ble_sense/llext-edk/include/zephyr/include/generated/zephyr/autoconf.h -imacrosC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.2.0\variants\arduino_nano_33_ble_sense/llext-edk/include/zephyr/include/zephyr/toolchain/zephyr_stdint.h -fno-exceptions -fno-rtti -fno-threadsafe-statics -fno-unwind-tables -fno-use-cxa-atexit -fdata-sections -ffunction-sections -fno-unwind-tables -fno-strict-aliasing -fno-printf-return-value -fno-common -mcpu=cortex-m4 -mthumb -mabi=aapcs -mfp16-format=ieee -mtp=soft -Wall -Wformat -Wformat-security -Wno-format-zero-length -Wdouble-promotion -Wpointer-arith -Wexpansion-to-defined -Wno-unused-but-set-variable -fno-asynchronous-unwind-tables -ftls-model=local-exec -fno-reorder-functions --param=min-pagesize=0 -fno-defer-pop --specs=picolibc.specs -D_POSIX_THREADS -mlong-calls -nodefaultlibs -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -w -x c++ -E -CC -DARDUINO=10607 -DARDUINO_ARDUINO_NANO33BLE -DARDUINO_ARCH_ZEPHYR -DARDUINO_ARCH_ZEPHYR -DARDUINO_LIBRARY_DISCOVERY_PHASE=1 -IC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.2.0\cores\arduino -IC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.2.0\variants\arduino_nano_33_ble_sense -IC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.2.0\libraries\Wire -IC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.2.0\cores\arduino/api/deprecated -IC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.2.0\cores\arduino/api/deprecated-avr-comp -iprefixC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.2.0\variants\arduino_nano_33_ble_sense @C:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.2.0\variants\arduino_nano_33_ble_sense/includes.txt C:\Users\Merli\AppData\Local\arduino\sketches\9A15C86C32FF357825D53C042830113E\sketch\Dual_sensor_150-270.ino.cpp -o nul
Alternatives for SparkFun_BMI270_Arduino_Library.h: [SparkFun BMI270 Arduino Library@1.0.3]
ResolveLibrary(SparkFun_BMI270_Arduino_Library.h)
-> candidates: [SparkFun BMI270 Arduino Library@1.0.3]
C:\Users\Merli\AppData\Local\Arduino15\packages\zephyr\tools\arm-zephyr-eabi\0.16.8/bin/arm-zephyr-eabi-g++ -g -Os -std=c++17 -c -w -DLL_EXTENSION_BUILD -DCONFIG_ARDUINO_API_SERIAL_BUFFER_SIZE=256 -DNRF52840_XXAA -DKERNEL -DK_HEAP_MEM_POOL_SIZE=32768 -DPICOLIBC_LONG_LONG_PRINTF_SCANF -D__LINUX_ERRNO_EXTENSIONS__ -D__PROGRAM_START -D__ZEPHYR__=1 -imacrosC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.2.0\variants\arduino_nano_33_ble_sense/llext-edk/include/zephyr/include/generated/zephyr/autoconf.h -imacrosC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.2.0\variants\arduino_nano_33_ble_sense/llext-edk/include/zephyr/include/zephyr/toolchain/zephyr_stdint.h -fno-exceptions -fno-rtti -fno-threadsafe-statics -fno-unwind-tables -fno-use-cxa-atexit -fdata-sections -ffunction-sections -fno-unwind-tables -fno-strict-aliasing -fno-printf-return-value -fno-common -mcpu=cortex-m4 -mthumb -mabi=aapcs -mfp16-format=ieee -mtp=soft -Wall -Wformat -Wformat-security -Wno-format-zero-length -Wdouble-promotion -Wpointer-arith -Wexpansion-to-defined -Wno-unused-but-set-variable -fno-asynchronous-unwind-tables -ftls-model=local-exec -fno-reorder-functions --param=min-pagesize=0 -fno-defer-pop --specs=picolibc.specs -D_POSIX_THREADS -mlong-calls -nodefaultlibs -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -w -x c++ -E -CC -DARDUINO=10607 -DARDUINO_ARDUINO_NANO33BLE -DARDUINO_ARCH_ZEPHYR -DARDUINO_ARCH_ZEPHYR -DARDUINO_LIBRARY_DISCOVERY_PHASE=1 -IC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.2.0\cores\arduino -IC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.2.0\variants\arduino_nano_33_ble_sense -IC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.2.0\libraries\Wire -Id:\Users\Merli\Documents\Arduino\libraries\SparkFun_BMI270_Arduino_Library\src -IC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.2.0\cores\arduino/api/deprecated -IC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.2.0\cores\arduino/api/deprecated-avr-comp -iprefixC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.2.0\variants\arduino_nano_33_ble_sense @C:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.2.0\variants\arduino_nano_33_ble_sense/includes.txt C:\Users\Merli\AppData\Local\arduino\sketches\9A15C86C32FF357825D53C042830113E\sketch\Dual_sensor_150-270.ino.cpp -o nul
Alternatives for SPI.h: [SPI]
ResolveLibrary(SPI.h)
-> candidates: [SPI]
C:\Users\Merli\AppData\Local\Arduino15\packages\zephyr\tools\arm-zephyr-eabi\0.16.8/bin/arm-zephyr-eabi-g++ -g -Os -std=c++17 -c -w -DLL_EXTENSION_BUILD -DCONFIG_ARDUINO_API_SERIAL_BUFFER_SIZE=256 -DNRF52840_XXAA -DKERNEL -DK_HEAP_MEM_POOL_SIZE=32768 -DPICOLIBC_LONG_LONG_PRINTF_SCANF -D__LINUX_ERRNO_EXTENSIONS__ -D__PROGRAM_START -D__ZEPHYR__=1 -imacrosC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.2.0\variants\arduino_nano_33_ble_sense/llext-edk/include/zephyr/include/generated/zephyr/autoconf.h -imacrosC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.2.0\variants\arduino_nano_33_ble_sense/llext-edk/include/zephyr/include/zephyr/toolchain/zephyr_stdint.h -fno-exceptions -fno-rtti -fno-threadsafe-statics -fno-unwind-tables -fno-use-cxa-atexit -fdata-sections -ffunction-sections -fno-unwind-tables -fno-strict-aliasing -fno-printf-return-value -fno-common -mcpu=cortex-m4 -mthumb -mabi=aapcs -mfp16-format=ieee -mtp=soft -Wall -Wformat -Wformat-security -Wno-format-zero-length -Wdouble-promotion -Wpointer-arith -Wexpansion-to-defined -Wno-unused-but-set-variable -fno-asynchronous-unwind-tables -ftls-model=local-exec -fno-reorder-functions --param=min-pagesize=0 -fno-defer-pop --specs=picolibc.specs -D_POSIX_THREADS -mlong-calls -nodefaultlibs -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -w -x c++ -E -CC -DARDUINO=10607 -DARDUINO_ARDUINO_NANO33BLE -DARDUINO_ARCH_ZEPHYR -DARDUINO_ARCH_ZEPHYR -DARDUINO_LIBRARY_DISCOVERY_PHASE=1 -IC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.2.0\cores\arduino -IC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.2.0\variants\arduino_nano_33_ble_sense -IC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.2.0\libraries\Wire -Id:\Users\Merli\Documents\Arduino\libraries\SparkFun_BMI270_Arduino_Library\src -IC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.2.0\libraries\SPI -IC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.2.0\cores\arduino/api/deprecated -IC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.2.0\cores\arduino/api/deprecated-avr-comp -iprefixC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.2.0\variants\arduino_nano_33_ble_sense @C:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.2.0\variants\arduino_nano_33_ble_sense/includes.txt C:\Users\Merli\AppData\Local\arduino\sketches\9A15C86C32FF357825D53C042830113E\sketch\Dual_sensor_150-270.ino.cpp -o nul
Alternatives for DFRobot_BMM150.h: [DFRobot_BMM150@1.0.0]
ResolveLibrary(DFRobot_BMM150.h)
-> candidates: [DFRobot_BMM150@1.0.0]
C:\Users\Merli\AppData\Local\Arduino15\packages\zephyr\tools\arm-zephyr-eabi\0.16.8/bin/arm-zephyr-eabi-g++ -g -Os -std=c++17 -c -w -DLL_EXTENSION_BUILD -DCONFIG_ARDUINO_API_SERIAL_BUFFER_SIZE=256 -DNRF52840_XXAA -DKERNEL -DK_HEAP_MEM_POOL_SIZE=32768 -DPICOLIBC_LONG_LONG_PRINTF_SCANF -D__LINUX_ERRNO_EXTENSIONS__ -D__PROGRAM_START -D__ZEPHYR__=1 -imacrosC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.2.0\variants\arduino_nano_33_ble_sense/llext-edk/include/zephyr/include/generated/zephyr/autoconf.h -imacrosC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.2.0\variants\arduino_nano_33_ble_sense/llext-edk/include/zephyr/include/zephyr/toolchain/zephyr_stdint.h -fno-exceptions -fno-rtti -fno-threadsafe-statics -fno-unwind-tables -fno-use-cxa-atexit -fdata-sections -ffunction-sections -fno-unwind-tables -fno-strict-aliasing -fno-printf-return-value -fno-common -mcpu=cortex-m4 -mthumb -mabi=aapcs -mfp16-format=ieee -mtp=soft -Wall -Wformat -Wformat-security -Wno-format-zero-length -Wdouble-promotion -Wpointer-arith -Wexpansion-to-defined -Wno-unused-but-set-variable -fno-asynchronous-unwind-tables -ftls-model=local-exec -fno-reorder-functions --param=min-pagesize=0 -fno-defer-pop --specs=picolibc.specs -D_POSIX_THREADS -mlong-calls -nodefaultlibs -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -w -x c++ -E -CC -DARDUINO=10607 -DARDUINO_ARDUINO_NANO33BLE -DARDUINO_ARCH_ZEPHYR -DARDUINO_ARCH_ZEPHYR -DARDUINO_LIBRARY_DISCOVERY_PHASE=1 -IC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.2.0\cores\arduino -IC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.2.0\variants\arduino_nano_33_ble_sense -IC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.2.0\libraries\Wire -Id:\Users\Merli\Documents\Arduino\libraries\SparkFun_BMI270_Arduino_Library\src -IC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.2.0\libraries\SPI -Id:\Users\Merli\Documents\Arduino\libraries\DFRobot_BMM150 -IC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.2.0\cores\arduino/api/deprecated -IC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.2.0\cores\arduino/api/deprecated-avr-comp -iprefixC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.2.0\variants\arduino_nano_33_ble_sense @C:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.2.0\variants\arduino_nano_33_ble_sense/includes.txt C:\Users\Merli\AppData\Local\arduino\sketches\9A15C86C32FF357825D53C042830113E\sketch\Dual_sensor_150-270.ino.cpp -o nul
Using cached library dependencies for file: C:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.2.0\libraries\Wire\Wire.cpp
Using cached library dependencies for file: d:\Users\Merli\Documents\Arduino\libraries\SparkFun_BMI270_Arduino_Library\src\SparkFun_BMI270_Arduino_Library.cpp
Using cached library dependencies for file: d:\Users\Merli\Documents\Arduino\libraries\SparkFun_BMI270_Arduino_Library\src\bmi270_api\bmi2.c
Using cached library dependencies for file: d:\Users\Merli\Documents\Arduino\libraries\SparkFun_BMI270_Arduino_Library\src\bmi270_api\bmi270.c
Using cached library dependencies for file: d:\Users\Merli\Documents\Arduino\libraries\SparkFun_BMI270_Arduino_Library\src\bmi270_api\bmi270_context.c
Using cached library dependencies for file: d:\Users\Merli\Documents\Arduino\libraries\SparkFun_BMI270_Arduino_Library\src\bmi270_api\bmi270_legacy.c
Using cached library dependencies for file: d:\Users\Merli\Documents\Arduino\libraries\SparkFun_BMI270_Arduino_Library\src\bmi270_api\bmi270_maximum_fifo.c
Using cached library dependencies for file: d:\Users\Merli\Documents\Arduino\libraries\SparkFun_BMI270_Arduino_Library\src\bmi270_api\bmi2_ois.c
Using cached library dependencies for file: C:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.2.0\libraries\SPI\SPI.cpp
Using cached library dependencies for file: d:\Users\Merli\Documents\Arduino\libraries\DFRobot_BMM150\DFRobot_BMM150.cpp
Generating function prototypes...
C:\Users\Merli\AppData\Local\Arduino15\packages\zephyr\tools\arm-zephyr-eabi\0.16.8/bin/arm-zephyr-eabi-g++ -g -Os -std=c++17 -c -w -DLL_EXTENSION_BUILD -DCONFIG_ARDUINO_API_SERIAL_BUFFER_SIZE=256 -DNRF52840_XXAA -DKERNEL -DK_HEAP_MEM_POOL_SIZE=32768 -DPICOLIBC_LONG_LONG_PRINTF_SCANF -D__LINUX_ERRNO_EXTENSIONS__ -D__PROGRAM_START -D__ZEPHYR__=1 -imacrosC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.2.0\variants\arduino_nano_33_ble_sense/llext-edk/include/zephyr/include/generated/zephyr/autoconf.h -imacrosC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.2.0\variants\arduino_nano_33_ble_sense/llext-edk/include/zephyr/include/zephyr/toolchain/zephyr_stdint.h -fno-exceptions -fno-rtti -fno-threadsafe-statics -fno-unwind-tables -fno-use-cxa-atexit -fdata-sections -ffunction-sections -fno-unwind-tables -fno-strict-aliasing -fno-printf-return-value -fno-common -mcpu=cortex-m4 -mthumb -mabi=aapcs -mfp16-format=ieee -mtp=soft -Wall -Wformat -Wformat-security -Wno-format-zero-length -Wdouble-promotion -Wpointer-arith -Wexpansion-to-defined -Wno-unused-but-set-variable -fno-asynchronous-unwind-tables -ftls-model=local-exec -fno-reorder-functions --param=min-pagesize=0 -fno-defer-pop --specs=picolibc.specs -D_POSIX_THREADS -mlong-calls -nodefaultlibs -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -w -x c++ -E -CC -DARDUINO=10607 -DARDUINO_ARDUINO_NANO33BLE -DARDUINO_ARCH_ZEPHYR -DARDUINO_ARCH_ZEPHYR -DARDUINO_LIBRARY_DISCOVERY_PHASE=1 -IC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.2.0\cores\arduino -IC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.2.0\variants\arduino_nano_33_ble_sense -IC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.2.0\libraries\Wire -Id:\Users\Merli\Documents\Arduino\libraries\SparkFun_BMI270_Arduino_Library\src -IC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.2.0\libraries\SPI -Id:\Users\Merli\Documents\Arduino\libraries\DFRobot_BMM150 -IC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.2.0\cores\arduino/api/deprecated -IC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.2.0\cores\arduino/api/deprecated-avr-comp -iprefixC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.2.0\variants\arduino_nano_33_ble_sense @C:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.2.0\variants\arduino_nano_33_ble_sense/includes.txt C:\Users\Merli\AppData\Local\arduino\sketches\9A15C86C32FF357825D53C042830113E\sketch\Dual_sensor_150-270.ino.cpp -o C:\Users\Merli\AppData\Local\Temp\3775966650\sketch_merged.cpp
C:\Users\Merli\AppData\Local\Arduino15\packages\builtin\tools\ctags\5.8-arduino11/ctags -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives C:\Users\Merli\AppData\Local\Temp\3775966650\sketch_merged.cpp
Compiling sketch...
"C:\\Users\\Merli\\AppData\\Local\\Arduino15\\packages\\zephyr\\tools\\arm-zephyr-eabi\\0.16.8/bin/arm-zephyr-eabi-g++" -g -Os -std=c++17 -c -DLL_EXTENSION_BUILD -DCONFIG_ARDUINO_API_SERIAL_BUFFER_SIZE=256 -DNRF52840_XXAA -DKERNEL -DK_HEAP_MEM_POOL_SIZE=32768 -DPICOLIBC_LONG_LONG_PRINTF_SCANF -D__LINUX_ERRNO_EXTENSIONS__ -D__PROGRAM_START -D__ZEPHYR__=1 "-imacrosC:\\Users\\Merli\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\zephyr\\0.2.0\\variants\\arduino_nano_33_ble_sense/llext-edk/include/zephyr/include/generated/zephyr/autoconf.h" "-imacrosC:\\Users\\Merli\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\zephyr\\0.2.0\\variants\\arduino_nano_33_ble_sense/llext-edk/include/zephyr/include/zephyr/toolchain/zephyr_stdint.h" -fno-exceptions -fno-rtti -fno-threadsafe-statics -fno-unwind-tables -fno-use-cxa-atexit -fdata-sections -ffunction-sections -fno-unwind-tables -fno-strict-aliasing -fno-printf-return-value -fno-common -mcpu=cortex-m4 -mthumb -mabi=aapcs -mfp16-format=ieee -mtp=soft -Wall -Wformat -Wformat-security -Wno-format-zero-length -Wdouble-promotion -Wpointer-arith -Wexpansion-to-defined -Wno-unused-but-set-variable -fno-asynchronous-unwind-tables -ftls-model=local-exec -fno-reorder-functions --param=min-pagesize=0 -fno-defer-pop --specs=picolibc.specs -D_POSIX_THREADS -mlong-calls -nodefaultlibs -MMD -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -DARDUINO=10607 -DARDUINO_ARDUINO_NANO33BLE -DARDUINO_ARCH_ZEPHYR -DARDUINO_ARCH_ZEPHYR -DARDUINO_LIBRARY_DISCOVERY_PHASE=0 "-IC:\\Users\\Merli\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\zephyr\\0.2.0\\cores\\arduino" "-IC:\\Users\\Merli\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\zephyr\\0.2.0\\variants\\arduino_nano_33_ble_sense" "-IC:\\Users\\Merli\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\zephyr\\0.2.0\\libraries\\Wire" "-Id:\\Users\\Merli\\Documents\\Arduino\\libraries\\SparkFun_BMI270_Arduino_Library\\src" "-IC:\\Users\\Merli\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\zephyr\\0.2.0\\libraries\\SPI" "-Id:\\Users\\Merli\\Documents\\Arduino\\libraries\\DFRobot_BMM150" "-IC:\\Users\\Merli\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\zephyr\\0.2.0\\cores\\arduino/api/deprecated" "-IC:\\Users\\Merli\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\zephyr\\0.2.0\\cores\\arduino/api/deprecated-avr-comp" "-iprefixC:\\Users\\Merli\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\zephyr\\0.2.0\\variants\\arduino_nano_33_ble_sense" "@C:\\Users\\Merli\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\zephyr\\0.2.0\\variants\\arduino_nano_33_ble_sense/includes.txt" "C:\\Users\\Merli\\AppData\\Local\\arduino\\sketches\\9A15C86C32FF357825D53C042830113E\\sketch\\Dual_sensor_150-270.ino.cpp" -o "C:\\Users\\Merli\\AppData\\Local\\arduino\\sketches\\9A15C86C32FF357825D53C042830113E\\sketch\\Dual_sensor_150-270.ino.cpp.o"
Compiling libraries...
Compiling library "Wire"
Using previously compiled file: C:\Users\Merli\AppData\Local\arduino\sketches\9A15C86C32FF357825D53C042830113E\libraries\Wire\Wire.cpp.o
Compiling library "SparkFun BMI270 Arduino Library"
Using previously compiled file: C:\Users\Merli\AppData\Local\arduino\sketches\9A15C86C32FF357825D53C042830113E\libraries\SparkFun_BMI270_Arduino_Library\bmi270_api\bmi270.c.o
Using previously compiled file: C:\Users\Merli\AppData\Local\arduino\sketches\9A15C86C32FF357825D53C042830113E\libraries\SparkFun_BMI270_Arduino_Library\bmi270_api\bmi270_maximum_fifo.c.o
Using previously compiled file: C:\Users\Merli\AppData\Local\arduino\sketches\9A15C86C32FF357825D53C042830113E\libraries\SparkFun_BMI270_Arduino_Library\bmi270_api\bmi2.c.o
Using previously compiled file: C:\Users\Merli\AppData\Local\arduino\sketches\9A15C86C32FF357825D53C042830113E\libraries\SparkFun_BMI270_Arduino_Library\bmi270_api\bmi270_legacy.c.o
Using previously compiled file: C:\Users\Merli\AppData\Local\arduino\sketches\9A15C86C32FF357825D53C042830113E\libraries\SparkFun_BMI270_Arduino_Library\bmi270_api\bmi270_context.c.o
Using previously compiled file: C:\Users\Merli\AppData\Local\arduino\sketches\9A15C86C32FF357825D53C042830113E\libraries\SparkFun_BMI270_Arduino_Library\bmi270_api\bmi2_ois.c.o
Using previously compiled file: C:\Users\Merli\AppData\Local\arduino\sketches\9A15C86C32FF357825D53C042830113E\libraries\SparkFun_BMI270_Arduino_Library\SparkFun_BMI270_Arduino_Library.cpp.o
Compiling library "SPI"
Using previously compiled file: C:\Users\Merli\AppData\Local\arduino\sketches\9A15C86C32FF357825D53C042830113E\libraries\SPI\SPI.cpp.o
Compiling library "DFRobot_BMM150"
Using previously compiled file: C:\Users\Merli\AppData\Local\arduino\sketches\9A15C86C32FF357825D53C042830113E\libraries\DFRobot_BMM150\DFRobot_BMM150.cpp.o
Compiling core...
Using previously compiled file: C:\Users\Merli\AppData\Local\arduino\sketches\9A15C86C32FF357825D53C042830113E\core\variant.cpp.o
Using precompiled core: C:\Users\Merli\AppData\Local\arduino\cores\arduino_zephyr_nano33ble_debug_false_671b914232eb0cc6189bfcc195037414\core.a
Linking everything together...
"C:\\Users\\Merli\\AppData\\Local\\Arduino15\\packages\\zephyr\\tools\\arm-zephyr-eabi\\0.16.8/bin/arm-zephyr-eabi-g++" "-LC:\\Users\\Merli\\AppData\\Local\\arduino\\sketches\\9A15C86C32FF357825D53C042830113E" -r -Wl,--gc-sections -e main -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -std=c++17 -fno-exceptions -fno-rtti -fno-threadsafe-statics -fno-unwind-tables -fno-use-cxa-atexit "-TC:\\Users\\Merli\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\zephyr\\0.2.0/variants/llext/linker_script.ld" "-Wl,-Map,C:\\Users\\Merli\\AppData\\Local\\arduino\\sketches\\9A15C86C32FF357825D53C042830113E/Dual_sensor_150-270.ino.map" --specs=nosys.specs -o "C:\\Users\\Merli\\AppData\\Local\\arduino\\sketches\\9A15C86C32FF357825D53C042830113E/Dual_sensor_150-270.ino.elf" "C:\\Users\\Merli\\AppData\\Local\\arduino\\sketches\\9A15C86C32FF357825D53C042830113E\\sketch\\Dual_sensor_150-270.ino.cpp.o" "C:\\Users\\Merli\\AppData\\Local\\arduino\\sketches\\9A15C86C32FF357825D53C042830113E\\libraries\\Wire\\Wire.cpp.o" "C:\\Users\\Merli\\AppData\\Local\\arduino\\sketches\\9A15C86C32FF357825D53C042830113E\\libraries\\SparkFun_BMI270_Arduino_Library\\SparkFun_BMI270_Arduino_Library.cpp.o" "C:\\Users\\Merli\\AppData\\Local\\arduino\\sketches\\9A15C86C32FF357825D53C042830113E\\libraries\\SparkFun_BMI270_Arduino_Library\\bmi270_api\\bmi2.c.o" "C:\\Users\\Merli\\AppData\\Local\\arduino\\sketches\\9A15C86C32FF357825D53C042830113E\\libraries\\SparkFun_BMI270_Arduino_Library\\bmi270_api\\bmi270.c.o" "C:\\Users\\Merli\\AppData\\Local\\arduino\\sketches\\9A15C86C32FF357825D53C042830113E\\libraries\\SparkFun_BMI270_Arduino_Library\\bmi270_api\\bmi270_context.c.o" "C:\\Users\\Merli\\AppData\\Local\\arduino\\sketches\\9A15C86C32FF357825D53C042830113E\\libraries\\SparkFun_BMI270_Arduino_Library\\bmi270_api\\bmi270_legacy.c.o" "C:\\Users\\Merli\\AppData\\Local\\arduino\\sketches\\9A15C86C32FF357825D53C042830113E\\libraries\\SparkFun_BMI270_Arduino_Library\\bmi270_api\\bmi270_maximum_fifo.c.o" "C:\\Users\\Merli\\AppData\\Local\\arduino\\sketches\\9A15C86C32FF357825D53C042830113E\\libraries\\SparkFun_BMI270_Arduino_Library\\bmi270_api\\bmi2_ois.c.o" "C:\\Users\\Merli\\AppData\\Local\\arduino\\sketches\\9A15C86C32FF357825D53C042830113E\\libraries\\SPI\\SPI.cpp.o" "C:\\Users\\Merli\\AppData\\Local\\arduino\\sketches\\9A15C86C32FF357825D53C042830113E\\libraries\\DFRobot_BMM150\\DFRobot_BMM150.cpp.o" "C:\\Users\\Merli\\AppData\\Local\\arduino\\sketches\\9A15C86C32FF357825D53C042830113E\\core\\variant.cpp.o" "C:\\Users\\Merli\\AppData\\Local\\arduino\\sketches\\9A15C86C32FF357825D53C042830113E/..\\..\\cores\\arduino_zephyr_nano33ble_debug_false_671b914232eb0cc6189bfcc195037414\\core.a" -lstdc++ -lsupc++ -lnosys -nostdlib
"C:\\Users\\Merli\\AppData\\Local\\Arduino15\\packages\\zephyr\\tools\\arm-zephyr-eabi\\0.16.8/bin/arm-zephyr-eabi-objcopy" -O binary "C:\\Users\\Merli\\AppData\\Local\\arduino\\sketches\\9A15C86C32FF357825D53C042830113E/Dual_sensor_150-270.ino.elf" "C:\\Users\\Merli\\AppData\\Local\\arduino\\sketches\\9A15C86C32FF357825D53C042830113E/Dual_sensor_150-270.ino.bin"
"C:\\Users\\Merli\\AppData\\Local\\Arduino15\\packages\\zephyr\\tools\\arm-zephyr-eabi\\0.16.8/bin/arm-zephyr-eabi-objcopy" -O ihex -R .eeprom "C:\\Users\\Merli\\AppData\\Local\\arduino\\sketches\\9A15C86C32FF357825D53C042830113E/Dual_sensor_150-270.ino.elf" "C:\\Users\\Merli\\AppData\\Local\\arduino\\sketches\\9A15C86C32FF357825D53C042830113E/Dual_sensor_150-270.ino.hex"
"C:\\Users\\Merli\\AppData\\Local\\Arduino15\\packages\\zephyr\\tools\\arm-zephyr-eabi\\0.16.8/bin/arm-zephyr-eabi-strip" --strip-debug "C:\\Users\\Merli\\AppData\\Local\\arduino\\sketches\\9A15C86C32FF357825D53C042830113E/Dual_sensor_150-270.ino.elf" "-oC:\\Users\\Merli\\AppData\\Local\\arduino\\sketches\\9A15C86C32FF357825D53C042830113E/Dual_sensor_150-270.ino.llext"
"C:\\Users\\Merli\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\zephyr-post-build-tool\\0.0.2/post_build" "C:\\Users\\Merli\\AppData\\Local\\arduino\\sketches\\9A15C86C32FF357825D53C042830113E/Dual_sensor_150-270.ino.llext"
File copied and saved as C:\Users\Merli\AppData\Local\arduino\sketches\9A15C86C32FF357825D53C042830113E/Dual_sensor_150-270.ino.llext.dfu
Bootloader file specified but missing: C:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.2.0\bootloaders\zephyr-arduino_nano_33_ble_sense.bin
Using library Wire in folder: C:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.2.0\libraries\Wire (legacy)
Using library SparkFun BMI270 Arduino Library at version 1.0.3 in folder: D:\Users\Merli\Documents\Arduino\libraries\SparkFun_BMI270_Arduino_Library
Using library SPI in folder: C:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.2.0\libraries\SPI (legacy)
Using library DFRobot_BMM150 at version 1.0.0 in folder: D:\Users\Merli\Documents\Arduino\libraries\DFRobot_BMM150
"C:\\Users\\Merli\\AppData\\Local\\Arduino15\\packages\\zephyr\\tools\\arm-zephyr-eabi\\0.16.8/bin/arm-zephyr-eabi-size" -A "C:\\Users\\Merli\\AppData\\Local\\arduino\\sketches\\9A15C86C32FF357825D53C042830113E/Dual_sensor_150-270.ino.elf"
Sketch uses 68380 bytes (8%) of program storage space. Maximum is 786432 bytes.
Global variables use 2924 bytes (0%) of dynamic memory, leaving 520700 bytes for local variables. Maximum is 523624 bytes.
Output of Serial Monitor
- If you have an USB-to-Serial adapter, paste the complete output of the console crash, starting from
NA - BLANK Lost com por - When run in debug mode after typing sketch nothing appears in Serial1.
Output of readelf
NA as no error is produced
Optional: attach the elf file
Optional: attach the sketch
#include <Wire.h>
#include "SparkFun_BMI270_Arduino_Library.h"
// Create a new sensor object
BMI270 imu;
#include "DFRobot_BMM150.h"
DFRobot_BMM150_I2C bmm150(&Wire1, 0x10);
// I2C address selection
uint8_t i2cAddress = BMI2_I2C_PRIM_ADDR; // 0x68
//uint8_t i2cAddress = BMI2_I2C_SEC_ADDR; // 0x69
void setup()
{
// Start serial
Serial.begin(115200);
Serial.println("BMI270 Example 1 - Basic Readings I2C");
// Initialize the I2C library
Wire1.begin();
//Wire1.setClock(400000);
// Check if sensor is connected and initialize
// Address is optional (defaults to 0x68)
while(imu.beginI2C(BMI2_I2C_PRIM_ADDR, Wire1) != BMI2_OK)
{
// Not connected, inform user
Serial.println("Error: BMI270 not connected, check wiring and I2C address!");
// Wait a bit to see if connection is established
delay(1000);
}
Serial.println("BMI270 connected!");
while(bmm150.begin()){
Serial.println("bmm150 init failed, Please try again!");
delay(1000);
} Serial.println("bmm150 init success!");
bmm150.setOperationMode(BMM150_POWERMODE_NORMAL);
bmm150.setPresetMode(BMM150_PRESETMODE_HIGHACCURACY);
bmm150.setRate(BMM150_DATA_RATE_25HZ);
bmm150.setMeasurementXYZ();
}
void loop()
{
// Get measurements from the sensor. This must be called before accessing
// the sensor data, otherwise it will never update
imu.getSensorData();
// Print acceleration data
Serial.print("Acceleration in g's");
Serial.print("\t");
Serial.print("X: ");
Serial.print(imu.data.accelX, 3);
Serial.print("\t");
Serial.print("Y: ");
Serial.print(imu.data.accelY, 3);
Serial.print("\t");
Serial.print("Z: ");
Serial.print(imu.data.accelZ, 3);
Serial.print("\t");
// Print rotation data
Serial.print("Rotation in deg/sec");
Serial.print("\t");
Serial.print("X: ");
Serial.print(imu.data.gyroX, 3);
Serial.print("\t");
Serial.print("Y: ");
Serial.print(imu.data.gyroY, 3);
Serial.print("\t");
Serial.print("Z: ");
Serial.println(imu.data.gyroZ, 3);
sBmm150MagData_t magData = bmm150.getGeomagneticData();
Serial.print("mag x = "); Serial.print(magData.x); Serial.println(" uT");
Serial.print("mag y = "); Serial.print(magData.y); Serial.println(" uT");
Serial.print("mag z = "); Serial.print(magData.z); Serial.println(" uT");
float compassDegree = bmm150.getCompassDegree();
Serial.print("the angle between the pointing direction and north (counterclockwise) is:");
Serial.println(compassDegree);
Serial.println("--------------------------------");
delay(100);
}
Additional context
Also tested with standalone sensors on Wire and same thing happens.
Also tested on mbed and teensy
- T4.1 no issues on Wire
- Nano Wire Zephyr - hangs!!!!!!
- Nano Wire Mbed - No Issues no hangs
- Nano Wire1 Mbed - No Issues no hangs
- Giga Wire - hangs - com port lost with zephyr
Sparkfun library can be downloaded from lib manager. Moded df robot bmi150 lib:
on the nano I can get it to run by using only raw data. Heres that sketch, but I had to comment out the function print_rslt which is a debug function and write a new function to return just raw values (non compensated).
#include <Wire.h>
#include <stdint.h>
#include "SparkFun_BMI270_Arduino_Library.h"
#include <Arduino_LPS22HB.h>
#include "DFRobot_BMM150.h"
// Create a new sensor object
DFRobot_BMM150_I2C bmm150(&Wire1, 0x10);
BMI270 imu;
// I2C address selection
uint8_t i2cAddress = BMI2_I2C_PRIM_ADDR; // 0x68
//uint8_t i2cAddress = BMI2_I2C_SEC_ADDR; // 0x69
void setup()
{
// Start serial
Serial.begin(115200);
Serial.println("BMI270 Example 1 - Basic Readings I2C");
// Initialize the I2C library
Wire1.begin();
//Wire1.setClock(400000);
// Check if sensor is connected and initialize
// Address is optional (defaults to 0x68)
while(imu.beginI2C(i2cAddress, Wire1) != BMI2_OK)
{
// Not connected, inform user
Serial.println("Error: BMI270 not connected, check wiring and I2C address!");
// Wait a bit to see if connection is established
k_msleep(1000);
}
Serial.println("BMI270 connected!");
if (!BARO.begin()) {
Serial.println("Failed to initialize pressure sensor!");
while (1);
} else {
Serial.println("LPS22 connected");
}
while(bmm150.begin()){
Serial.println("bmm150 init failed, Please try again!");
delay(1000);
} Serial.println("bmm150 init success!");
bmm150.setOperationMode(BMM150_POWERMODE_NORMAL);
bmm150.setPresetMode(BMM150_PRESETMODE_HIGHACCURACY);
bmm150.setRate(BMM150_DATA_RATE_25HZ);
bmm150.setMeasurementXYZ();
}
void loop()
{
// Get measurements from the sensor. This must be called before accessing
// the sensor data, otherwise it will never update
imu.getSensorData();
// Print acceleration data
Serial.print("Acceleration in g's");
Serial.print("\t");
Serial.print("X: ");
Serial.print(imu.data.accelX, 3);
Serial.print("\t");
Serial.print("Y: ");
Serial.print(imu.data.accelY, 3);
Serial.print("\t");
Serial.print("Z: ");
Serial.print(imu.data.accelZ, 3);
Serial.print("\t");
// Print rotation data
Serial.print("Rotation in deg/sec");
Serial.print("\t");
Serial.print("X: ");
Serial.print(imu.data.gyroX, 3);
Serial.print("\t");
Serial.print("Y: ");
Serial.print(imu.data.gyroY, 3);
Serial.print("\t");
Serial.print("Z: ");
Serial.println(imu.data.gyroZ, 3);
// read the sensor value
float pressure = BARO.readPressure();
// print the sensor value
Serial.print("Pressure = ");
Serial.print(pressure);
Serial.println(" kPa");
float temperature = BARO.readTemperature();
// print the sensor value
Serial.print("Temperature = ");
Serial.print(temperature);
Serial.println(" C");
float mag[3];
if(bmm150.getDataReadyState()) {
bmm150.getMagData(mag);
Serial.print("mag x/y/z = "); Serial.print(mag[0],2);
Serial.print(", "); Serial.print(mag[1],2);
Serial.print(", "); Serial.print(mag[2],2); Serial.println(" uT");
}
// print an empty line
Serial.println();
// Print 50x per second
delay(250);
}
Just as a update from yesterday.
If I run each sensor individually there is no issue. Appears some sort of conflict with Zephyr?
As another test ran a case on Wire where I had the BMM150 attached directly to the BMI270 through its aux I2C port and used a library designed for that I see the same hang. Note that this config/lib works on a Teensy and a Giga under mbed but not zephyr.
Out of curiosity wanted to see if I could use the Zephyr BMI270 driver directly.
So in the config file I added
CONFIG_SENSOR=y
CONFIG_BIM270=y
and in the overlay to the @i2c1 node:
&i2c1 {
status = "okay";
pinctrl-0 = <&i2c1_default>;
pinctrl-1 = <&i2c1_sleep>;
pinctrl-names = "default", "sleep";
clock-frequency = <I2C_BITRATE_FAST>;
bmi270@68 {
compatible = "bosch,bmi270";
reg = <0x68>;
};
};
and received the following build error:
warning: HAS_STMEMSC (defined at modules/hal_st/Kconfig:10) has direct dependencies 0 with value n, but is currently being y-selected by the following symbols:
- LSM9DS1 (defined at drivers/sensor/st/lsm9ds1/Kconfig:4), with value y, direct dependencies DT_HAS_ST_LSM9DS1_ENABLED && SENSOR (value: y), and select condition DT_HAS_ST_LSM9DS1_ENABLED && SENSOR (value: y)
warning: USE_STDC_LSM9DS1 (defined at modules/hal_st/Kconfig:192) has direct dependencies HAS_STMEMSC && 0 with value n, but is currently being y-selected by the following symbols:
- LSM9DS1 (defined at drivers/sensor/st/lsm9ds1/Kconfig:4), with value y, direct dependencies DT_HAS_ST_LSM9DS1_ENABLED && SENSOR (value: y), and select condition DT_HAS_ST_LSM9DS1_ENABLED && SENSOR (value: y)
Parsing /home/my_new_zephyr_folder/zephyr/Kconfig
Loaded configuration '/home/my_new_zephyr_folder/zephyr/boards/arduino/nano_33_ble/arduino_nano_33_ble_nrf52840_sense_defconfig'
Merged configuration '/home/my_new_zephyr_folder/ArduinoCore-zephyr/loader/prj.conf'
Merged configuration '/home/my_new_zephyr_folder/ArduinoCore-zephyr/loader/boards/arduino_nano_33_ble_sense.conf'
so any ideas - just an experimeng
got around the error by adding CONFIG_LSM9DS1=n. And then remember to start wire1 in the sketch I am seeing:
Enable pin Port: 0x5BD0C pin: 22 DT Flags: 0x0 Flags: 0xA0300
### Sensor pin enabled ###
Test of bmi270 driver
Device apds9960@39
Accel x/y/z: 0 0 0
Accel x/y/z: 0 0 0
Accel x/y/z: 0 0 0
Accel x/y/z: 0 0 0
the sketch does a test if the dev is available and if not goes into a while(1) loop
if (!device_is_ready(dev)) {
Serial.print("Device "); Serial.print(dev->name); Serial.println(" is not ready");
while(1);
}
if its ready it prints the dev name:
Serial.print("Device "); Serial.println(dev->name);
from the output it seems that the device is ready but then on the print of the name it printing out a different device:
Device apds9960@39
From the zephyr board for the sense:
&i2c1 {
hts221: hts221@5f {
compatible = "st,hts221";
status = "okay";
reg = <0x5f>;
};
lps22hb: lps22hb-press@5c {
compatible = "st,lps22hb-press";
status = "okay";
reg = <0x5c>;
};
apds9960: apds9960@39 {
compatible = "avago,apds9960";
status = "okay";
reg = <0x39>;
int-gpios = <&gpio0 19 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
};
};
And the sketch I am using:
#include <zephyr/kernel.h>
#include <zephyr/device.h>
#include <zephyr/drivers/sensor.h>
#include "Wire.h"
const struct device *const dev = DEVICE_DT_GET_ONE(bosch_bmi270);
struct sensor_value acc[3], gyr[3];
struct sensor_value full_scale, sampling_freq, oversampling;
void setup() {
Serial.begin(115200);
Serial.println("Test of bmi270 driver");
delay(5000);
Wire1.begin();
Wire1.setClock(100000);
if (!device_is_ready(dev)) {
Serial.print("Device "); Serial.print(dev->name); Serial.println(" is not ready");
while(1);
}
Serial.print("Device "); Serial.println(dev->name);
/* Setting scale in G, due to loss of precision if the SI unit m/s^2
* is used
*/
full_scale.val1 = 2; /* G */
full_scale.val2 = 0;
sampling_freq.val1 = 100; /* Hz. Performance mode */
sampling_freq.val2 = 0;
oversampling.val1 = 1; /* Normal mode */
oversampling.val2 = 0;
sensor_attr_set(dev, SENSOR_CHAN_ACCEL_XYZ, SENSOR_ATTR_FULL_SCALE,
&full_scale);
sensor_attr_set(dev, SENSOR_CHAN_ACCEL_XYZ, SENSOR_ATTR_OVERSAMPLING,
&oversampling);
/* Set sampling frequency last as this also sets the appropriate
* power mode. If already sampling, change to 0.0Hz before changing
* other attributes
*/
sensor_attr_set(dev, SENSOR_CHAN_ACCEL_XYZ,
SENSOR_ATTR_SAMPLING_FREQUENCY,
&sampling_freq);
/* Setting scale in degrees/s to match the sensor scale */
full_scale.val1 = 500; /* dps */
full_scale.val2 = 0;
sampling_freq.val1 = 100; /* Hz. Performance mode */
sampling_freq.val2 = 0;
oversampling.val1 = 1; /* Normal mode */
oversampling.val2 = 0;
sensor_attr_set(dev, SENSOR_CHAN_GYRO_XYZ, SENSOR_ATTR_FULL_SCALE,
&full_scale);
sensor_attr_set(dev, SENSOR_CHAN_GYRO_XYZ, SENSOR_ATTR_OVERSAMPLING,
&oversampling);
/* Set sampling frequency last as this also sets the appropriate
* power mode. If already sampling, change sampling frequency to
* 0.0Hz before changing other attributes
*/
sensor_attr_set(dev, SENSOR_CHAN_GYRO_XYZ,
SENSOR_ATTR_SAMPLING_FREQUENCY,
&sampling_freq);
}
void loop() {
/* 10ms period, 100Hz Sampling frequency */
k_sleep(K_MSEC(10));
sensor_sample_fetch(dev);
sensor_channel_get(dev, SENSOR_CHAN_ACCEL_XYZ, acc);
sensor_channel_get(dev, SENSOR_CHAN_GYRO_XYZ, gyr);
//printf("AX: %d.%06d; AY: %d.%06d; AZ: %d.%06d; "
// "GX: %d.%06d; GY: %d.%06d; GZ: %d.%06d;\n",
// acc[0].val1, acc[0].val2,
// acc[1].val1, acc[1].val2,
// acc[2].val1, acc[2].val2,
// gyr[0].val1, gyr[0].val2,
// gyr[1].val1, gyr[1].val2,
// gyr[2].val1, gyr[2].val2);
Serial.print("Accel x/y/z: ");
Serial.print(acc[0].val1); Serial.print("\t");
Serial.print(acc[1].val1); Serial.print("\t");
Serial.println(acc[2].val1);
}
more to follow if I get it working
Going to close this since atan2 is now incorported I opened another pr for additional issue.