Commit Graph

143 Commits

Author SHA1 Message Date
David Sidrane 3f0d26c949 mpu6000:Support different clock freq per IC type 2017-07-11 09:51:31 +02:00
Lorenz Meier f7ba70a032 MPU6K driver: Ensure that default range is always 16g by default 2017-07-06 22:15:53 +02:00
David Sidrane 15460ade77 Fixed 'test' function causes register checking to find a false faults
Added hold off of testing for register faults from the duration
  of the test.
2017-04-14 09:58:14 +02:00
Daniel Agar 827725fbe0 cmake remove -Weffc++ (#7044)
- closes #7040
2017-04-13 13:30:22 -04:00
Beat Küng 58f42c19ad mpu6000: use MPU6000_ACCEL_DEFAULT_RANGE_G define for accel range 2017-04-06 11:50:35 +02:00
Nate Weibley 3ba3aff505 Correct MPU6/9k external detection 2017-03-31 11:04:14 +02:00
Matthias Grob 5a00cb4770 MPU6000 driver: change default accelerometer range to +-16g
This range amkes much more sense for MAV applications.
It reduces vibration vulnerability caused by measurement range clipping.
2017-03-30 19:07:59 +02:00
Paul Riseborough 253683af5f drivers: Don't require driver level gyro offsets to be non-zero 2017-02-01 08:40:23 +01:00
Paul Riseborough c00c638b77 Remove IMU calibration parameter checks 2017-02-01 08:40:23 +01:00
Beat Küng f746141afe mpu6000: add & check for the device_type on driver startup
Fixes the following case: a board that has several bus_options enabled,
and wants to start a specific device (eg mpu6000 -T 20608 start). In that
case the given device_type is never actually checked, and since the start
routine iterates over all bus_options, several can match, and thus start
multiple instances of the driver (note that the whoami check is performed
against the value provided with -T and thus the check will pass).

This happens on Pixracer (PX4_SPIDEV_MPU and PX4_SPIDEV_ICM_20608 are both
set).
2017-01-31 23:38:50 +01:00
Beat Küng 7c47991504 px4fmu-v4 board config: use PX4_SPIDEV_ICM_20608 instead of PX4_SPIDEV_ICM_20602
This is what's used according to https://pixhawk.org/modules/pixracer.
2017-01-31 23:38:50 +01:00
Lorenz Meier a9a31bc745 MPU6K: Device ID should come from the main instance, not interface 2017-01-29 16:24:47 +01:00
Lorenz Meier af4e9b668b MPU6K: Add missing bus identifier 2017-01-29 16:24:47 +01:00
Lorenz Meier e88bb4cc09 MPU6K: Correctly register sub-type, remove magic numbers.
Before this change the MPU6K driver would register only the MPU6K family, but not the sub-type, which prevented telling individual sensors apart. This is a breaking change because users will have to perform their accel and gyro calibration again. However, it is unavoidable since right now the different sensors can end up with the same ID and the wrong offsets can be applied to the wrong sensor.
2017-01-29 16:24:47 +01:00
Lorenz Meier 7326fea142 Driver compile fixes 2017-01-19 19:24:52 +01:00
Lorenz Meier 9860a17e25 MPU6K: Fix device ID 2017-01-19 19:24:52 +01:00
Paul Riseborough e84a189380 drivers: use driver class instance as surrogate sensor ID for gyro and accelerometer 2017-01-19 19:24:52 +01:00
Paul Riseborough ddda5eccd6 drivers/mpu6000: Populate device ID in sensor topics 2017-01-19 19:24:52 +01:00
David Sidrane df5b29abce Bugfix:MPU6000 Driver accept unknown ICM20xxx product IDs
This allows a ICM20xxxx with an unkown product ID to be used
   with the mpu6000 driver.

   This change will issues a warning for any part with an unknown product ID.
   For mpu6000 parts (-T 6000 or not specified) it will then exit.
   For any ICM20xxxx part with an unknown product ID it will accept the ID
   and run with it.

   N.B. This fix expecte the value in the product ID register to be
   a per chip constant. (Not changing during operations)
2016-12-23 17:08:30 +01:00
David Sidrane f67e44215f Fixes TAP-V1 CI Failure:
Reverted MPU6000_BUS_I2C_INTERNAL1 back to MPU6000_BUS_I2C_INTERNAL
  Ony SPI has multiple device
2016-12-21 08:34:22 +01:00
David Sidrane b250ec2730 Adding more Prudut IDs for ICM20689 2016-12-21 08:34:22 +01:00
Lorenz Meier c220956961 MPU6K driver: More device names 2016-12-21 08:34:22 +01:00
Lorenz Meier 27201ba2a1 MPU6K: Support different device names 2016-12-21 08:34:22 +01:00
Lorenz Meier fcc85f79d5 MPU6K: Make stop routine safe to call from any location in the startup code 2016-12-21 08:34:22 +01:00
David Sidrane 749fd2f155 Added ICM 20689 2016-12-21 08:34:22 +01:00
David Sidrane 6ebd24a678 Added ICM20602 2016-12-21 08:34:22 +01:00
Julian Oes 8ff237c69f Remove size optimization for individual modules
It makes more sense to set the optimization flags on a platform basis
instead of individually for each module. This allows for different
optimization options for SITL, NuttX, Snapdragon, etc.
2016-09-30 08:11:51 +02:00
Lorenz Meier 48a94e3570 Fixed i2c not running (#5408) 2016-09-01 09:19:30 +02:00
Lorenz Meier 79678c5f25 MPU6K fix code style 2016-08-19 22:24:41 +02:00
Lorenz Meier 306a911dc9 Fix MPU6K driver ICM extensions 2016-08-19 22:09:05 +02:00
Lorenz Meier fe62c259e8 Fix MPU6K initialization 2016-08-19 11:10:11 +02:00
Lorenz Meier a97c5ec4e1 MPU6K compile and code style fixes 2016-08-18 13:50:29 +02:00
Lorenz Meier 3d1f1522d9 MPU6K driver improvements 2016-08-18 12:55:54 +02:00
JochiPochi 31e634b082 mpu6000 driver: set icm registers only on icm devices 2016-08-17 20:50:44 +02:00
JochiPochi e3557e0d3e mpu6000 driver: Add DLPF set function for IMC20608 2016-08-17 20:50:44 +02:00
JochiPochi ce27cc8326 mpu6000: Separate DLPF params for MPU and ICM family of sensors 2016-08-17 20:50:44 +02:00
Lorenz Meier 1c0a494b4d Code style 2016-08-12 13:55:16 +02:00
David Sidrane c5e11cd16f TAP:Added i2c speed setting to init 2016-08-07 11:15:48 +02:00
David Sidrane e8ae0fe13c Made the MPU6000 driver a highbread using both hrt for SPI or workqueue for I2C 2016-08-07 11:15:48 +02:00
David Sidrane 5f342c3b5f Added I2C to MPU6000 driver 2016-08-07 11:15:48 +02:00
David Sidrane a420d47797 Minor fix usage (#5094) 2016-07-18 15:01:55 -10:00
Lorenz Meier 7398164fcc Updated PX4 use / API of low level GPIO and other hardware-centric system facilities 2016-05-28 14:56:17 +02:00
Daniel Agar 1ecdb0f6fb adjust stack sizes 2016-05-19 21:49:34 +02:00
Daniel Agar 69c1ce1714 WIP logger serialization 2016-05-14 11:27:07 +02:00
Daniel Agar eb29b33620 use gcc attributes to align and pack 2016-05-14 11:27:07 +02:00
James Goppert 967e4dd127 Modified cmake to use STACK_MAX and STACK_MAIN 2016-04-14 13:36:36 -04:00
Lorenz Meier b8c5f6be6a MPU6K: Use shorter perf names 2016-03-28 13:03:41 +02:00
Julian Oes b9cc0b74e2 drivers: re-use calibration topic
E.g. instead of defining a gyro_scale struct in drv_gyro.h, use the
gyro_calibration message.
2016-03-24 13:08:30 +01:00
Lorenz Meier 9172bf7271 MPU6K: Report start scan not as failure, but as not found if sensor is not around 2016-02-23 13:09:06 +01:00
Lorenz Meier b240b3fc3c MPU6K: Fix formatting 2015-12-01 13:36:52 +01:00