-
-
Notifications
You must be signed in to change notification settings - Fork 308
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
Support LSM6DSV IMU #308
Support LSM6DSV IMU #308
Conversation
Started implementing it on a bno080 copy
… sensor impl postfixed with sensor. Fix compilation errors
… to 16g gyro to 1000dps
@@ -35,6 +35,7 @@ | |||
#define IMU_BMI160 8 | |||
#define IMU_ICM20948 9 | |||
#define IMU_ICM42688 10 | |||
#define IMU_LSM6DSV 12 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should be noted when merging, depending on the order of merging PRs this might be awkward to skip a number.
@@ -34,8 +34,15 @@ The following IMUs and their corresponding `IMU` values are supported by the fir | |||
* ICM-20948 (IMU_ICM20948) | |||
* Using fusion in internal DMP for 6Dof or 9DoF, 9DoF mode requires good magnetic environment. | |||
* Comment out `USE_6DOF` in `debug.h` for 9DoF mode. | |||
* Experimental support!\ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Something broke here, what's that \
?
@@ -0,0 +1,4080 @@ | |||
/** |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please include a link to the original repository.
{ | ||
uint8_t intPin = extraParam; | ||
sensor = new LSM6DSVSensor(sensorID, imuType, address, rotation, sclPin, sdaPin, intPin); | ||
} | ||
break; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
{ | |
uint8_t intPin = extraParam; | |
sensor = new LSM6DSVSensor(sensorID, imuType, address, rotation, sclPin, sdaPin, intPin); | |
} | |
break; | |
sensor = new LSM6DSVSensor(sensorID, imuType, address, rotation, sclPin, sdaPin, extraParam); | |
break; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@@ -72,7 +72,7 @@ class Quat { | |||
Vector3 get_euler_yxz() const; | |||
|
|||
void set_euler(const Vector3& p_euler) { set_euler_yxz(p_euler); }; | |||
Vector3 get_euler() const { return get_euler_yxz(); }; | |||
Vector3 get_euler() const { return get_euler_xyz(); }; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Instead of modifying get_euler()
you should rather use the get_euler_xyz()
in your code.
@@ -34,8 +34,15 @@ The following IMUs and their corresponding `IMU` values are supported by the fir | |||
* ICM-20948 (IMU_ICM20948) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
GitHub doesn't allow me to request changes without a comment...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please address @TheDevMinerTV's comments
Is this still needed if we go for #322 ? |
This probably shouldn't be preferred over sfusion, at least not without a cleanup. |
I convert that to draft, as sfusion seems to be the better solution. |
This adds support for the lsm6dsv family of IMUs. They are better than bmi160 and seems comparable to the bno but need more users testing them.
This merge should probably be squashed into 1 commit.