From 743ea61156bc60152e9f6b1274abb63603438859 Mon Sep 17 00:00:00 2001 From: Pete Lewis <601236+lewispg228@users.noreply.github.com> Date: Mon, 29 Jul 2024 14:12:35 -0600 Subject: [PATCH] SPI pin-choice for micromod machine learning When using micromod machine learning, different SPI pins must be used/defined. --- .../Example_01_SPI_RotationVector.ino | 7 +++++++ .../Example_02_SPI_ResetCheck.ino | 7 +++++++ examples/SPI/Example_03_SPI_Sleep/Example_03_SPI_Sleep.ino | 7 +++++++ 3 files changed, 21 insertions(+) diff --git a/examples/SPI/Example_01_SPI_RotationVector/Example_01_SPI_RotationVector.ino b/examples/SPI/Example_01_SPI_RotationVector/Example_01_SPI_RotationVector.ino index 3ebfdd9..6c4ed2d 100644 --- a/examples/SPI/Example_01_SPI_RotationVector/Example_01_SPI_RotationVector.ino +++ b/examples/SPI/Example_01_SPI_RotationVector/Example_01_SPI_RotationVector.ino @@ -63,6 +63,13 @@ BNO08x myIMU; #define BNO08X_INT A4 #define BNO08X_RST A5 +// If using the MicroMod Machine Learning Carrier Board, use these pins: +// for more info see https://github.com/sparkfun/SparkFun_BNO08x_Arduino_Library/issues/19 +//#define BNO08X_CS PWM0 +//#define BNO08X_INT D0 // Note, D0 is also the CS pin for the camera, so you'll need to change that if you're using both. +// a good alternative for D0 is PWM1, (A0 and A1 are only inputs on the carrier board). +//#define BNO08X_RST D1 + void setup() { Serial.begin(115200); diff --git a/examples/SPI/Example_02_SPI_ResetCheck/Example_02_SPI_ResetCheck.ino b/examples/SPI/Example_02_SPI_ResetCheck/Example_02_SPI_ResetCheck.ino index bcef9ca..029f7a3 100644 --- a/examples/SPI/Example_02_SPI_ResetCheck/Example_02_SPI_ResetCheck.ino +++ b/examples/SPI/Example_02_SPI_ResetCheck/Example_02_SPI_ResetCheck.ino @@ -61,6 +61,13 @@ BNO08x myIMU; #define BNO08X_INT A4 #define BNO08X_RST A5 +// If using the MicroMod Machine Learning Carrier Board, use these pins: +// for more info see https://github.com/sparkfun/SparkFun_BNO08x_Arduino_Library/issues/19 +//#define BNO08X_CS PWM0 +//#define BNO08X_INT D0 // Note, D0 is also the CS pin for the camera, so you'll need to change that if you're using both. +// a good alternative for D0 is PWM1, (A0 and A1 are only inputs on the carrier board). +//#define BNO08X_RST D1 + int cyclecount = 0; #define BNO08X_ADDR 0x4B // SparkFun BNO08x Breakout (Qwiic) defaults to 0x4B diff --git a/examples/SPI/Example_03_SPI_Sleep/Example_03_SPI_Sleep.ino b/examples/SPI/Example_03_SPI_Sleep/Example_03_SPI_Sleep.ino index 1596ef2..17d3f0f 100644 --- a/examples/SPI/Example_03_SPI_Sleep/Example_03_SPI_Sleep.ino +++ b/examples/SPI/Example_03_SPI_Sleep/Example_03_SPI_Sleep.ino @@ -58,6 +58,13 @@ BNO08x myIMU; #define BNO08X_INT A4 #define BNO08X_RST A5 +// If using the MicroMod Machine Learning Carrier Board, use these pins: +// for more info see https://github.com/sparkfun/SparkFun_BNO08x_Arduino_Library/issues/19 +//#define BNO08X_CS PWM0 +//#define BNO08X_INT D0 // Note, D0 is also the CS pin for the camera, so you'll need to change that if you're using both. +// a good alternative for D0 is PWM1, (A0 and A1 are only inputs on the carrier board). +//#define BNO08X_RST D1 + unsigned long lastMillis = 0; // Keep track of time bool lastPowerState = true; // Toggle between "On" and "Sleep"