Commit Graph

129 Commits

Author SHA1 Message Date
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
ksschwabe 88caa9bc93 MPU6000: Correct temperature scaling for use with ICM20608 2015-12-01 13:32:26 +01:00
Lorenz Meier f0a4979da6 Merged master into driver_framework 2015-12-01 12:34:02 +01:00
Lorenz Meier 44d32a31d1 MPU6K: Remove unused perf counter 2015-11-29 13:41:02 +01:00
Andrew Tridgell 46631b5c8a mpu6000: work around apparent ICM20608 bug
undocumented register 0x11 sometimes starts with value 0, which gives
an offset on the Y accel axis of 2.7m/s/s. It sometimes boots with
0xc9, which gives a zero offset. Force it to 0xc9 to get consistently
correct behaviour
2015-11-28 09:13:15 +01:00
David Sidrane 46c63da8be Added support for ICM-20608-G to MPU6000 driver 2015-11-28 09:13:15 +01:00
Lorenz Meier 236a423edd Fixed MPU6K code style 2015-10-19 13:12:32 +02:00
Lorenz Meier fa5071b3c5 Remove module.mk files to prevent confusion of adopters upgrading 2015-10-06 11:23:20 +02:00
Lorenz Meier 6ef94e0dfb Merged master into cmake-2 2015-09-20 10:33:39 +02:00
James Goppert 1d6b31d196 Switch to cmake build system. 2015-09-07 20:37:45 -04:00
Lorenz Meier e5834460e2 MPU6K: Add commandline option to set range, fix test command by resetting guard logic properly 2015-08-19 10:28:02 +02:00
Lorenz Meier c34a505576 MPU6K driver: Add delta angles / velocities including coning correction 2015-08-19 10:16:35 +02:00
Andrew Tridgell f77620c3f4 mpu6000: check WHOAMI register
this prevents a mpu9250 being seen as a mpu6000
2015-08-17 09:17:07 +02:00
Mark Charlebois a589d15c52 Refactored debug() and log() in CDev
These functions used vprintf which is not available on all platforms.
They also do not enable line and file debug output.

Changed to macros that preserve the output format.  Uses new macro that
can be used to implement per object, runtime selectable logging

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-08-11 12:07:06 -07:00
Lorenz Meier 7277d390c4 Merge branch 'beta' 2015-07-12 15:52:02 +02:00