Hi All,
I have a BNo085 that takes around 1200 microseconds to read a single report (in this case rotation vector over SPI).
I have experimented with different report intervals and SPI speed ranging from 1MHz up to the maximum recommended 3MHz.
I could get read time down to around 1100ms at 3MHz but that still isnt great.
Using Teensy4.0.
Wondering if anyone has found a way to get these things reading faster?
Here is the code for measuring the time taken for the read -
This bit sets the report up -
Any help appreciated.
I have a BNo085 that takes around 1200 microseconds to read a single report (in this case rotation vector over SPI).
I have experimented with different report intervals and SPI speed ranging from 1MHz up to the maximum recommended 3MHz.
I could get read time down to around 1100ms at 3MHz but that still isnt great.
Using Teensy4.0.
Wondering if anyone has found a way to get these things reading faster?
Here is the code for measuring the time taken for the read -
Code:
void IMU_read()
{
start_time = micros();
if (bno08x.getSensorEvent(&sensorValue)){
counter ++;
quaternionToEuler(sensorValue.un.rotationVector.real, sensorValue.un.rotationVector.i,sensorValue.un.rotationVector.j,sensorValue.un.rotationVector.k, &ypr, true);
}
else
Serial.println("cant read IMU");
finish_time = micros() - start_time ;
Serial.println(finish_time);
}
This bit sets the report up -
Code:
void setReports(void) {
long report_interval = 2500;
Serial.println("Setting desired reports");
if (! bno08x.enableReport(SH2_ROTATION_VECTOR,report_interval)) {//report interval in microseconds
Serial.println("Could not obtain rotation vector");
}
}
Any help appreciated.