Skip to content

Nano 33 ble SPI fails after BMI270 Connected #56

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
mjs513 opened this issue Jan 27, 2025 · 5 comments
Closed

Nano 33 ble SPI fails after BMI270 Connected #56

mjs513 opened this issue Jan 27, 2025 · 5 comments

Comments

@mjs513
Copy link

mjs513 commented Jan 27, 2025

Describe the bug
Using a sparkfun BMI270 sensor connected via spi hangs after device connected message. Library used: Sparkfun BMI270.

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.1.0
Using core 'arduino' from platform in folder: C:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.1.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.1.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.1.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.1.0\cores\arduino -IC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.1.0\variants\arduino_nano_33_ble_sense -IC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.1.0\cores\arduino/api/deprecated -IC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.1.0\cores\arduino/api/deprecated-avr-comp -iprefixC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.1.0\variants\arduino_nano_33_ble_sense @C:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.1.0\variants\arduino_nano_33_ble_sense/includes.txt C:\Users\Merli\AppData\Local\arduino\sketches\A1124A403BACF5E53EF339AB8AE1E885\sketch\Example02_BasicReadingsSPI.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.1.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.1.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.1.0\cores\arduino -IC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.1.0\variants\arduino_nano_33_ble_sense -IC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.1.0\libraries\SPI -IC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.1.0\cores\arduino/api/deprecated -IC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.1.0\cores\arduino/api/deprecated-avr-comp -iprefixC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.1.0\variants\arduino_nano_33_ble_sense @C:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.1.0\variants\arduino_nano_33_ble_sense/includes.txt C:\Users\Merli\AppData\Local\arduino\sketches\A1124A403BACF5E53EF339AB8AE1E885\sketch\Example02_BasicReadingsSPI.ino.cpp -o nul
Alternatives for SparkFun_BMI270_Arduino_Library.h: [SparkFun BMI270 Arduino [email protected]]
ResolveLibrary(SparkFun_BMI270_Arduino_Library.h)
  -> candidates: [SparkFun BMI270 Arduino [email protected]]
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.1.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.1.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.1.0\cores\arduino -IC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.1.0\variants\arduino_nano_33_ble_sense -IC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.1.0\libraries\SPI -Id:\Users\Merli\Documents\Arduino\libraries\SparkFun_BMI270_Arduino_Library\src -IC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.1.0\cores\arduino/api/deprecated -IC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.1.0\cores\arduino/api/deprecated-avr-comp -iprefixC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.1.0\variants\arduino_nano_33_ble_sense @C:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.1.0\variants\arduino_nano_33_ble_sense/includes.txt C:\Users\Merli\AppData\Local\arduino\sketches\A1124A403BACF5E53EF339AB8AE1E885\sketch\Example02_BasicReadingsSPI.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.1.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.1.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.1.0\cores\arduino -IC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.1.0\variants\arduino_nano_33_ble_sense -IC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.1.0\libraries\SPI -Id:\Users\Merli\Documents\Arduino\libraries\SparkFun_BMI270_Arduino_Library\src -IC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.1.0\libraries\Wire -IC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.1.0\cores\arduino/api/deprecated -IC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.1.0\cores\arduino/api/deprecated-avr-comp -iprefixC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.1.0\variants\arduino_nano_33_ble_sense @C:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.1.0\variants\arduino_nano_33_ble_sense/includes.txt C:\Users\Merli\AppData\Local\arduino\sketches\A1124A403BACF5E53EF339AB8AE1E885\sketch\Example02_BasicReadingsSPI.ino.cpp -o nul
Using cached library dependencies for file: C:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.1.0\libraries\SPI\SPI.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.1.0\libraries\Wire\Wire.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.1.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.1.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.1.0\cores\arduino -IC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.1.0\variants\arduino_nano_33_ble_sense -IC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.1.0\libraries\SPI -Id:\Users\Merli\Documents\Arduino\libraries\SparkFun_BMI270_Arduino_Library\src -IC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.1.0\libraries\Wire -IC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.1.0\cores\arduino/api/deprecated -IC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.1.0\cores\arduino/api/deprecated-avr-comp -iprefixC:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.1.0\variants\arduino_nano_33_ble_sense @C:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.1.0\variants\arduino_nano_33_ble_sense/includes.txt C:\Users\Merli\AppData\Local\arduino\sketches\A1124A403BACF5E53EF339AB8AE1E885\sketch\Example02_BasicReadingsSPI.ino.cpp -o C:\Users\Merli\AppData\Local\Temp\3383050691\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\3383050691\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.1.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.1.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.1.0\\cores\\arduino" "-IC:\\Users\\Merli\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\zephyr\\0.1.0\\variants\\arduino_nano_33_ble_sense" "-IC:\\Users\\Merli\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\zephyr\\0.1.0\\libraries\\SPI" "-Id:\\Users\\Merli\\Documents\\Arduino\\libraries\\SparkFun_BMI270_Arduino_Library\\src" "-IC:\\Users\\Merli\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\zephyr\\0.1.0\\libraries\\Wire" "-IC:\\Users\\Merli\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\zephyr\\0.1.0\\cores\\arduino/api/deprecated" "-IC:\\Users\\Merli\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\zephyr\\0.1.0\\cores\\arduino/api/deprecated-avr-comp" "-iprefixC:\\Users\\Merli\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\zephyr\\0.1.0\\variants\\arduino_nano_33_ble_sense" "@C:\\Users\\Merli\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\zephyr\\0.1.0\\variants\\arduino_nano_33_ble_sense/includes.txt" "C:\\Users\\Merli\\AppData\\Local\\arduino\\sketches\\A1124A403BACF5E53EF339AB8AE1E885\\sketch\\Example02_BasicReadingsSPI.ino.cpp" -o "C:\\Users\\Merli\\AppData\\Local\\arduino\\sketches\\A1124A403BACF5E53EF339AB8AE1E885\\sketch\\Example02_BasicReadingsSPI.ino.cpp.o"
Compiling libraries...
Compiling library "SPI"
Using previously compiled file: C:\Users\Merli\AppData\Local\arduino\sketches\A1124A403BACF5E53EF339AB8AE1E885\libraries\SPI\SPI.cpp.o
Compiling library "SparkFun BMI270 Arduino Library"
Using previously compiled file: C:\Users\Merli\AppData\Local\arduino\sketches\A1124A403BACF5E53EF339AB8AE1E885\libraries\SparkFun_BMI270_Arduino_Library\bmi270_api\bmi2.c.o
Using previously compiled file: C:\Users\Merli\AppData\Local\arduino\sketches\A1124A403BACF5E53EF339AB8AE1E885\libraries\SparkFun_BMI270_Arduino_Library\bmi270_api\bmi270_legacy.c.o
Using previously compiled file: C:\Users\Merli\AppData\Local\arduino\sketches\A1124A403BACF5E53EF339AB8AE1E885\libraries\SparkFun_BMI270_Arduino_Library\bmi270_api\bmi270_context.c.o
Using previously compiled file: C:\Users\Merli\AppData\Local\arduino\sketches\A1124A403BACF5E53EF339AB8AE1E885\libraries\SparkFun_BMI270_Arduino_Library\bmi270_api\bmi2_ois.c.o
Using previously compiled file: C:\Users\Merli\AppData\Local\arduino\sketches\A1124A403BACF5E53EF339AB8AE1E885\libraries\SparkFun_BMI270_Arduino_Library\bmi270_api\bmi270.c.o
Using previously compiled file: C:\Users\Merli\AppData\Local\arduino\sketches\A1124A403BACF5E53EF339AB8AE1E885\libraries\SparkFun_BMI270_Arduino_Library\bmi270_api\bmi270_maximum_fifo.c.o
Using previously compiled file: C:\Users\Merli\AppData\Local\arduino\sketches\A1124A403BACF5E53EF339AB8AE1E885\libraries\SparkFun_BMI270_Arduino_Library\SparkFun_BMI270_Arduino_Library.cpp.o
Compiling library "Wire"
Using previously compiled file: C:\Users\Merli\AppData\Local\arduino\sketches\A1124A403BACF5E53EF339AB8AE1E885\libraries\Wire\Wire.cpp.o
Compiling core...
Using previously compiled file: C:\Users\Merli\AppData\Local\arduino\sketches\A1124A403BACF5E53EF339AB8AE1E885\core\variant.cpp.o
Using precompiled core: C:\Users\Merli\AppData\Local\arduino\cores\arduino_zephyr_nano33ble_debug_false_7f25305957607ee930a6b20eac5960bd\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\\A1124A403BACF5E53EF339AB8AE1E885" -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.1.0/variants/llext/linker_script.ld" "-Wl,-Map,C:\\Users\\Merli\\AppData\\Local\\arduino\\sketches\\A1124A403BACF5E53EF339AB8AE1E885/Example02_BasicReadingsSPI.ino.map" --specs=nosys.specs -o "C:\\Users\\Merli\\AppData\\Local\\arduino\\sketches\\A1124A403BACF5E53EF339AB8AE1E885/Example02_BasicReadingsSPI.ino.elf" "C:\\Users\\Merli\\AppData\\Local\\arduino\\sketches\\A1124A403BACF5E53EF339AB8AE1E885\\sketch\\Example02_BasicReadingsSPI.ino.cpp.o" "C:\\Users\\Merli\\AppData\\Local\\arduino\\sketches\\A1124A403BACF5E53EF339AB8AE1E885\\libraries\\SPI\\SPI.cpp.o" "C:\\Users\\Merli\\AppData\\Local\\arduino\\sketches\\A1124A403BACF5E53EF339AB8AE1E885\\libraries\\SparkFun_BMI270_Arduino_Library\\SparkFun_BMI270_Arduino_Library.cpp.o" "C:\\Users\\Merli\\AppData\\Local\\arduino\\sketches\\A1124A403BACF5E53EF339AB8AE1E885\\libraries\\SparkFun_BMI270_Arduino_Library\\bmi270_api\\bmi2.c.o" "C:\\Users\\Merli\\AppData\\Local\\arduino\\sketches\\A1124A403BACF5E53EF339AB8AE1E885\\libraries\\SparkFun_BMI270_Arduino_Library\\bmi270_api\\bmi270.c.o" "C:\\Users\\Merli\\AppData\\Local\\arduino\\sketches\\A1124A403BACF5E53EF339AB8AE1E885\\libraries\\SparkFun_BMI270_Arduino_Library\\bmi270_api\\bmi270_context.c.o" "C:\\Users\\Merli\\AppData\\Local\\arduino\\sketches\\A1124A403BACF5E53EF339AB8AE1E885\\libraries\\SparkFun_BMI270_Arduino_Library\\bmi270_api\\bmi270_legacy.c.o" "C:\\Users\\Merli\\AppData\\Local\\arduino\\sketches\\A1124A403BACF5E53EF339AB8AE1E885\\libraries\\SparkFun_BMI270_Arduino_Library\\bmi270_api\\bmi270_maximum_fifo.c.o" "C:\\Users\\Merli\\AppData\\Local\\arduino\\sketches\\A1124A403BACF5E53EF339AB8AE1E885\\libraries\\SparkFun_BMI270_Arduino_Library\\bmi270_api\\bmi2_ois.c.o" "C:\\Users\\Merli\\AppData\\Local\\arduino\\sketches\\A1124A403BACF5E53EF339AB8AE1E885\\libraries\\Wire\\Wire.cpp.o" "C:\\Users\\Merli\\AppData\\Local\\arduino\\sketches\\A1124A403BACF5E53EF339AB8AE1E885\\core\\variant.cpp.o" "C:\\Users\\Merli\\AppData\\Local\\arduino\\sketches\\A1124A403BACF5E53EF339AB8AE1E885/..\\..\\cores\\arduino_zephyr_nano33ble_debug_false_7f25305957607ee930a6b20eac5960bd\\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\\A1124A403BACF5E53EF339AB8AE1E885/Example02_BasicReadingsSPI.ino.elf" "C:\\Users\\Merli\\AppData\\Local\\arduino\\sketches\\A1124A403BACF5E53EF339AB8AE1E885/Example02_BasicReadingsSPI.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\\A1124A403BACF5E53EF339AB8AE1E885/Example02_BasicReadingsSPI.ino.elf" "C:\\Users\\Merli\\AppData\\Local\\arduino\\sketches\\A1124A403BACF5E53EF339AB8AE1E885/Example02_BasicReadingsSPI.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\\A1124A403BACF5E53EF339AB8AE1E885/Example02_BasicReadingsSPI.ino.elf" "-oC:\\Users\\Merli\\AppData\\Local\\arduino\\sketches\\A1124A403BACF5E53EF339AB8AE1E885/Example02_BasicReadingsSPI.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\\A1124A403BACF5E53EF339AB8AE1E885/Example02_BasicReadingsSPI.ino.llext"
Bootloader file specified but missing: C:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.1.0\bootloaders\zephyr-arduino_nano_33_ble_sense.bin
File copied and saved as C:\Users\Merli\AppData\Local\arduino\sketches\A1124A403BACF5E53EF339AB8AE1E885/Example02_BasicReadingsSPI.ino.llext.dfu

Using library SPI in folder: C:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.1.0\libraries\SPI (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 Wire in folder: C:\Users\Merli\AppData\Local\Arduino15\packages\arduino\hardware\zephyr\0.1.0\libraries\Wire (legacy)
"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\\A1124A403BACF5E53EF339AB8AE1E885/Example02_BasicReadingsSPI.ino.elf"
Sketch uses 65812 bytes (8%) of program storage space. Maximum is 786432 bytes.
Global variables use 2900 bytes (0%) of dynamic memory, leaving 520724 bytes for local variables. Maximum is 523624 bytes.
Device       : nRF52840-QIAA
Version      : Arduino Bootloader (SAM-BA extended) 2.0 [Arduino:IKXYZ]
Address      : 0x0
Pages        : 256
Page Size    : 4096 bytes
Total Size   : 1024KB
Planes       : 1
Lock Regions : 0
Locked       : none
Security     : false
Erase flash

Done in 0.001 seconds
Write 95188 bytes to flash (24 pages)

[                              ] 0% (0/24 pages)
[=                             ] 4% (1/24 pages)

Output of Serial Monitor

  1. Serial Monitor Output
BMI270 Example 2 - Basic Readings SPI

BMI270 connected!
  1. Serial1 Output
�[m
�[1;32muart:~$ �[m�[8D�[J[00:00:00.041,809] �[0m<inf> usb_cdc_acm: Device suspended�[0m
�[1;32muart:~$ �[m�[8D�[J[00:00:00.141,723] �[0m<inf> usb_cdc_acm: Device resumed�[0m
�[1;32muart:~$ �[m�[8D�[J[00:00:00.150,024] �[0m<inf> usb_cdc_acm: from suspend�[0m
�[1;32muart:~$ �[m�[8D�[J[00:00:00.272,979] �[0m<inf> usb_cdc_acm: Device configured�[0m
�[1;32muart:~$ �[m�[8D�[J[00:00:08.114,471] �[1;31m<err> os: ***** USAGE FAULT *****�[0m
�[1;32muart:~$ �[m�[8D�[J[00:00:08.123,077] �[1;31m<err> os:   No coprocessor instructions�[0m
�[1;32muart:~$ �[m�[8D�[J[00:00:08.132,263] �[1;31m<err> os: r0/a1:  0x2001d120  r1/a2:  0x20027248  r2/a3:  0x2001d120�[0m
�[1;32muart:~$ �[m�[8D�[J[00:00:08.144,226] �[1;31m<err> os: r3/a4:  0x00000000 r12/ip:  0x00000001 r14/lr:  0x20019ff5�[0m
�[1;32muart:~$ �[m�[8D�[J[00:00:08.156,158] �[1;31m<err> os:  xpsr:  0x01000000�[0m
�[1;32muart:~$ �[m�[8D�[J[00:00:08.164,306] �[1;31m<err> os: Faulting instruction address (r15/pc): 0x20019f5c�[0m
�[1;32muart:~$ �[m�[8D�[J[00:00:08.175,384] �[1;31m<err> os: >>> ZEPHYR FATAL ERROR 33: Unknown error on CPU 0�[0m
�[1;32muart:~$ �[m�[8D�[J[00:00:08.186,492] �[1;31m<err> os: Current thread: 0x200018a0 (main)�[0m
�[1;32muart:~$ �[m�[8D�[J[00:00:08.196,044] �[1;31m<err> os: Halting system�[0m
�[1;32muart:~$ �[m

Output of readelf
You can find the loaction of the elf file by compiling in Verbose mode and looking near the end of the compilation output (after Linking everything together..)
Paste (or attach) the output of arm-none-eabi-readelf -a $your_sketch_elf_file

spi_elf.txt

Optional: attach the elf file
Example02_BasicReadingsSPI.ino.zip

Optional: attach the sketch

#include <SPI.h>
#include "SparkFun_BMI270_Arduino_Library.h"

// Create a new sensor object
BMI270 imu;

// SPI parameters
uint8_t chipSelectPin = 9;
uint32_t clockFrequency = 100000;

void setup()
{
    // Start serial
    Serial.begin(115200);
    Serial.println("BMI270 Example 2 - Basic Readings SPI");

    // Initialize the SPI library
    SPI.begin();

    // Check if sensor is connected and initialize
    // Clock frequency is optional (defaults to 100kHz)
    while(imu.beginSPI(chipSelectPin, clockFrequency) != BMI2_OK)
    {
        // Not connected, inform user
        Serial.println("Error: BMI270 not connected, check wiring and CS pin!");

        // Wait a bit to see if connection is established
        delay(1000);
    }

    Serial.println("BMI270 connected!");
}

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);

    // Print 50x per second
    delay(20);
}

Additional context
Could be stack size - will adjust with increased stack size to see if it works

Attached is a LA trace that shows up to board crashing:
Image

@mjs513
Copy link
Author

mjs513 commented Jan 27, 2025

if I try to adjust stack to the following:

##CONFIG_SHELL_STACK_SIZE=2048
##CONFIG_HEAP_MEM_POOL_SIZE=16384
##CONFIG_LLEXT_HEAP_SIZE=96
##CONFIG_MAIN_STACK_SIZE=16384

CONFIG_HEAP_MEM_POOL_SIZE=2048
CONFIG_SHELL_STACK_SIZE=16384
CONFIG_MAIN_STACK_SIZE=16384
CONFIG_LLEXT_HEAP_SIZE=128

just see gibberish after crash:

Image

@mjs513
Copy link
Author

mjs513 commented Jan 28, 2025

Related to question @KurtE raised
#52 (comment)

@KurtE
Copy link

KurtE commented Jan 28, 2025

On the External Wire pins, I tried a couple of devices on SPI object.
Simple Sparkfun QWIIC button, which works.

And a QWIIC display: https://www.smart-prototyping.com/Zio-Qwiic-OLED-Display-1_5inch-128x128
Using the Adafruit_SSD1327 library, Running their ssd1327_test sketch, changed I2C address to 0x3C

Also changed the start part of setup to paus before doing things:

#include <Adafruit_SSD1327.h>

// Used for software SPI
#define OLED_CLK 13
#define OLED_MOSI 11

// Used for software or hardware SPI
#define OLED_CS 10
#define OLED_DC 8

// Used for I2C or SPI
#define OLED_RESET -1

// software SPI
//Adafruit_SSD1327 display(128, 128, OLED_MOSI, OLED_CLK, OLED_DC, OLED_RESET, OLED_CS);
// hardware SPI
//Adafruit_SSD1327 display(128, 128, &SPI, OLED_DC, OLED_RESET, OLED_CS);

// I2C
Adafruit_SSD1327 display(128, 128, &Wire);

#define NUMFLAKES 10
#define XPOS 0
#define YPOS 1
#define DELTAY 2


#define LOGO16_GLCD_HEIGHT 16 
#define LOGO16_GLCD_WIDTH  16 
static const unsigned char PROGMEM logo16_glcd_bmp[] =
{ B00000000, B11000000,
  B00000001, B11000000,
  B00000001, B11000000,
  B00000011, B11100000,
  B11110011, B11100000,
  B11111110, B11111000,
  B01111110, B11111111,
  B00110011, B10011111,
  B00011111, B11111100,
  B00001101, B01110000,
  B00011011, B10100000,
  B00111111, B11100000,
  B00111111, B11110000,
  B01111100, B11110000,
  B01110000, B01110000,
  B00000000, B00110000 };

void next(const char *msg = nullptr) {

  if (msg)Serial.println(msg);
  Serial.println("Press any key to continue");
  while (Serial.read() == -1);
  while (Serial.read() != -1);
}

void setup()   { 
  printk("Before Serial.begin()");               
  Serial.begin(115200);
  printk("Before !Serial");               
  while (! Serial) delay(100);
  printk("Before first Serial output\n");               
  Serial.println("SSD1327 OLED test");
  next("Before Wire.begin");
  Wire.begin();
  Wire.setClock(400000);

  next("Before display.begin");
  if ( ! display.begin(0x3C) ) {
     Serial.println("Unable to initialize OLED");
     while (1) yield();
  }
  next("Before clear");
  
  display.clearDisplay();
  display.display();

  // draw many lines
  testdrawline();
  display.display();
  delay(1000);
  display.clearDisplay();

  // draw rectangles
  testdrawrect();
  display.display();
  delay(1000);
  display.clearDisplay();

  // draw multiple rectangles
  testfillrect();
  display.display();
  delay(1000);
  display.clearDisplay();

  // draw mulitple circles
  testdrawcircle();
  display.display();
  delay(1000);
  display.clearDisplay();

  // draw a SSD1327_WHITE circle, 10 pixel radius
  display.fillCircle(display.width()/2, display.height()/2, 10, SSD1327_WHITE);
  display.display();
  delay(1000);
  display.clearDisplay();

  testdrawroundrect();
  delay(1000);
  display.clearDisplay();

  testfillroundrect();
  delay(1000);
  display.clearDisplay();

  testdrawtriangle();
  delay(1000);
  display.clearDisplay();
   
  testfilltriangle();
  delay(1000);
  display.clearDisplay();

  // draw the first ~12 characters in the font
  testdrawchar();
  display.display();
  delay(1000);
  display.clearDisplay();

  for (uint8_t rot=0; rot < 4; rot++) {
    display.setRotation(rot);
    display.clearDisplay();
    // text display tests
    display.setTextSize(1);
    display.setTextColor(SSD1327_WHITE);
    display.setCursor(0,0);
    display.println("Hello, world!");
    display.setTextColor(SSD1327_BLACK, SSD1327_WHITE); // 'inverted' text
    display.println(3.141592);
    display.setTextSize(2);
    display.setTextColor(SSD1327_WHITE);
    display.print("0x"); display.println(0xDEADBEEF, HEX);
    display.display();
    delay(1000);
  }

  display.setRotation(0);
  
  // miniature bitmap display
  display.clearDisplay();
  display.drawBitmap(30, 16,  logo16_glcd_bmp, 16, 16, 1);
  display.display();

  // invert the display
  display.invertDisplay(true);
  delay(1000); 
  display.invertDisplay(false);
  delay(1000); 

  // draw a bitmap icon and 'animate' movement
  testdrawbitmap(logo16_glcd_bmp, LOGO16_GLCD_HEIGHT, LOGO16_GLCD_WIDTH);
}


void loop() {
}


void testdrawbitmap(const uint8_t *bitmap, uint8_t w, uint8_t h) {
  uint8_t icons[NUMFLAKES][3];
  randomSeed(666);     // whatever seed
 
  // initialize
  for (uint8_t f=0; f< NUMFLAKES; f++) {
    icons[f][XPOS] = random(display.width());
    icons[f][YPOS] = 0;
    icons[f][DELTAY] = random(5) + 1;
    
    Serial.print("x: ");
    Serial.print(icons[f][XPOS], DEC);
    Serial.print(" y: ");
    Serial.print(icons[f][YPOS], DEC);
    Serial.print(" dy: ");
    Serial.println(icons[f][DELTAY], DEC);
  }

  while (1) {
    // draw each icon
    for (uint8_t f=0; f< NUMFLAKES; f++) {
      display.drawBitmap(icons[f][XPOS], icons[f][YPOS], bitmap, w, h, f+1);
    }
    display.display();
    delay(200);
    
    // then erase it + move it
    for (uint8_t f=0; f< NUMFLAKES; f++) {
      display.drawBitmap(icons[f][XPOS], icons[f][YPOS],  bitmap, w, h, SSD1327_BLACK);
      // move it
      icons[f][YPOS] += icons[f][DELTAY];
      // if its gone, reinit
      if (icons[f][YPOS] > display.height()) {
      	icons[f][XPOS] = random(display.width());
      	icons[f][YPOS] = 0;
      	icons[f][DELTAY] = random(5) + 1;
      }
    }
   }
}


void testdrawchar(void) {
  display.setTextSize(1);
  display.setTextWrap(false);
  display.setTextColor(SSD1327_WHITE);
  display.setCursor(0,0);

  for (uint8_t i=0; i < 168; i++) {
    if (i == '\n') continue;
    display.write(i);
    if ((i > 0) && (i % 21 == 0))
      display.println();
  }    
  display.display();
}

void testdrawcircle(void) {
  for (uint8_t i=0; i<display.height(); i+=2) {
    display.drawCircle(display.width()/2, display.height()/2, i, i % 15 + 1);
    display.display();
  }
}

void testfillrect(void) {
  uint8_t color = 1;
  for (uint8_t i=0; i<display.height()/2; i+=3) {
    // alternate colors
    display.fillRect(i, i, display.width()-i*2, display.height()-i*2,  i % 15 + 1);
    display.display();
    color++;
  }
}

void testdrawtriangle(void) {
  for (uint16_t i=0; i<min(display.width(),display.height())/2; i+=5) {
    display.drawTriangle(display.width()/2, display.height()/2-i,
                     display.width()/2-i, display.height()/2+i,
                     display.width()/2+i, display.height()/2+i,  i % 15 + 1);
    display.display();
  }
}

void testfilltriangle(void) {
  // uint8_t color = SSD1327_WHITE;
  for (int16_t i=min(display.width(),display.height())/2; i>0; i-=5) {
    display.fillTriangle(display.width()/2, display.height()/2-i,
                     display.width()/2-i, display.height()/2+i,
                     display.width()/2+i, display.height()/2+i,  i % 15 + 1);
    display.display();
  }
}

void testdrawroundrect(void) {
  for (uint8_t i=0; i<display.height()/3-2; i+=2) {
    display.drawRoundRect(i, i, display.width()-2*i, display.height()-2*i, display.height()/4,  i % 15 + 1);
    display.display();
  }
}

void testfillroundrect(void) {
  // uint8_t color = SSD1327_WHITE;
  for (uint8_t i=0; i<display.height()/3-2; i+=2) {
    display.fillRoundRect(i, i, display.width()-2*i, display.height()-2*i, display.height()/4,  i % 15 + 1);
    display.display();
  }
}
   
void testdrawrect(void) {
  for (uint8_t i=0; i<display.height()/2; i+=2) {
    display.drawRect(i, i, display.width()-2*i, display.height()-2*i, i % 15 + 1);
    display.display();
  }
}

void testdrawline() {  
  for (uint8_t i=0; i<display.width(); i+=4) {
    display.drawLine(0, 0, i, display.height()-1, SSD1327_WHITE);
    display.display();
  }
  for (uint8_t i=0; i<display.height(); i+=4) {
    display.drawLine(0, 0, display.width()-1, i, SSD1327_WHITE);
    display.display();
  }
  delay(250);
  
  display.clearDisplay();
  for (uint8_t i=0; i<display.width(); i+=4) {
    display.drawLine(0, display.height()-1, i, 0, SSD1327_WHITE);
    display.display();
  }
  for (int8_t i=display.height()-1; i>=0; i-=4) {
    display.drawLine(0, display.height()-1, display.width()-1, i, SSD1327_WHITE);
    display.display();
  }
  delay(250);
  
  display.clearDisplay();
  for (int8_t i=display.width()-1; i>=0; i-=4) {
    display.drawLine(display.width()-1, display.height()-1, i, 0, SSD1327_WHITE);
    display.display();
  }
  for (int8_t i=display.height()-1; i>=0; i-=4) {
    display.drawLine(display.width()-1, display.height()-1, 0, i, SSD1327_WHITE);
    display.display();
  }
  delay(250);

  display.clearDisplay();
  for (uint8_t i=0; i<display.height(); i+=4) {
    display.drawLine(display.width()-1, 0, 0, i, SSD1327_WHITE);
    display.display();
  }
  for (uint8_t i=0; i<display.width(); i+=4) {
    display.drawLine(display.width()-1, 0, i, display.height()-1, SSD1327_WHITE); 
    display.display();
  }
  delay(250);
}

Runs fine on MBED. Fails on zephyr, no output to Serial or Serial1 and I lose Serial...
Investigating.

Edit: Note: I added some printk calls into the constructors for the display and they are showing up in the USB Serial port,after I type sketch. Shows first USB type message and then nothing else.
Edit2:
Added printk at start of setup
void setup() {

  printk("Before Serial.begin()");               
  Serial.begin(115200);

And that message does not show up.
Wonder if maybe constructor call order or ???
Edit3:
updated to show full sketch after edit2

@mjs513
Copy link
Author

mjs513 commented Jan 28, 2025

@KurtE - @facchinm

Verified adding CONFIG_FPU=y to the ble sense config file resolves the issues with using the BMI270 on SPI. Also verified with the MPU9250 which would not initialize/run in previous test.

@mjs513
Copy link
Author

mjs513 commented Jan 29, 2025

@KurtE - @facchinm

double checked after this morning merges and this is working now. Going to close.

@mjs513 mjs513 closed this as completed Jan 29, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants