Please correct the getGravity()-function.
It currently returns the X value in all three axes.
//Gets the full gravity vector
//x,y,z output floats
void BNO080::getGravity(float &x, float &y, float &z, uint8_t &accuracy)
{
x = qToFloat(gravityX, gravity_Q1);
y = qToFloat(gravityX, gravity_Q1);
z = qToFloat(gravityX, gravity_Q1);
accuracy = gravityAccuracy;
}