Davidelvig
Well-known member
Here's something interesting - and delightful for me!
My new board has arrived, with the schematic as in post #20 above.
It works!
The code in the app is this at IMU start-up... very similar the test code I used on the STM test board.
I'm going to puzzle around with what else might be different in hardware or software.
But for now, this is a happy surprise!
Thanks Paul and @sicco for your help so far!
My new board has arrived, with the schematic as in post #20 above.
It works!
The code in the app is this at IMU start-up... very similar the test code I used on the STM test board.
Code:
bool dbIMU_STMicro::setup(void) {
pinMode(AccelCS_Pin, OUTPUT);
digitalWrite(AccelCS_Pin, HIGH);
SPI.begin();
// Check for corerect WHOAMI
int attemptCount = 1;
while (whoamI != EXPECTED_WHOAMI && attemptCount < 5) {
Serial.printf("Get whoamI attempt: %d\tSending command: %d to pin: %d\n", attemptCount++, WHOAMI_COMMAND, AccelCS_Pin);
receiveSPI(AccelCS_Pin, WHOAMI_COMMAND , &whoamI, 1);
if (whoamI == EXPECTED_WHOAMI) {
Serial.printf("\tGOOD whoamI: %02X\t at %lu ms\n\n", whoamI, millis());
_IMU_isInitialized = true;
} else {
Serial.printf("\tbad whoamI: 0x%02X\t and should be 0x%02X\n\n", whoamI, EXPECTED_WHOAMI);
// Serial.printf("AccelCS_Pin = %d\n", AccelCS_Pin);
}
while (attemptCount == 5 ) ;
}
I'm going to puzzle around with what else might be different in hardware or software.
But for now, this is a happy surprise!
Thanks Paul and @sicco for your help so far!