Commit Graph
71 Commits
Author SHA1 Message Date
Andrew Tridgell db8dd000e3 l3gd20: follow same pattern as lsm303d for duplicate rejection 2015-05-07 15:16:34 +10:00
Lorenz Meier f36f43db6f L3GD20(H): driver: Rotate before applying offsets. 2015-03-15 17:25:35 +01:00
Lorenz Meier 56bc843011 L3GD20: Return argument in correct format 2015-02-15 10:17:01 +01:00
Andrew Tridgell 0801dbda38 l3gd20: checking status only makes sense if we have DRDY
it makes no sense on the external SPI bus
2015-02-11 12:48:59 +01:00
Andrew Tridgell e0ac0c4a4b l3gd20: fixed "l3gd20 test"
don't reset after test, and leave us in correct polling mode
2015-02-11 12:48:52 +01:00
Lorenz Meier 8b6ce797b4 L3GD20: Move to 0 based index 2015-02-09 22:56:22 +01:00
Thomas Gubler a7126cc61d l3gd20: fix if style 2015-02-03 18:20:21 +01:00
Thomas Gubler 90b29efebf l3gd20: check for default sample rate 2015-02-03 18:13:01 +01:00
hauptmech 0b784c20c8 Save and check device id for acc and gyro calibration parameters.
Fix config utility to work with all devices of each type.
Accel, gyro and mag devices correctly set their device_id devtype.
Combo devices (mpu6000 lsm303d) now correctly return their devtype.
config util shows device id for all sensor types.
Add, save during calibration and check during preflight ID parameters for accelerometer and gyro
2015-01-31 15:53:34 +01:00
Lorenz Meier d851a630d8 Move all drivers to multi pub/sub API 2015-01-29 16:33:53 +01:00
Andrew Tridgell 7864958f1c l3gd20: fixed build warning 2015-01-01 10:04:07 +11:00
Andrew Tridgell 5c1da70d0c l3gd20: fixed reporting of error count 2015-01-01 08:51:42 +11:00
Andrew Tridgell 1bb3974c84 l3gd20: check DRDY after check_registers() is called
this allows us to recover from an error that disables data ready
2015-01-01 08:51:40 +11:00
Andrew Tridgell 8db2066151 l3gd20: removed printf in interrupt context
this is not safe
2015-01-01 08:51:37 +11:00
Andrew Tridgell 353ea9beac l3gd20: added testerror command
useful for testing error handling
2015-01-01 08:51:34 +11:00
Andrew Tridgell a8cea3a4da l3gd20: use the I2C disable bit on l3gd20H
this seems to prevent a mpu6000 reset from causing an issue on the
l3gd20H
2014-12-30 20:55:57 +01:00
Andrew Tridgell b455d647b2 l3gd20: added "l3gd20 regdump" command 2014-12-30 20:55:57 +01:00
Andrew Tridgell ca47952281 l3gd20: added register checking
this checks at runtime that key registers have correct values
2014-12-30 20:55:57 +01:00
Lorenz Meier c600a7fbd2 L3GD20: Fix typo 2014-11-03 15:37:24 +01:00
Lorenz Meier 06df0f23a3 L3GD20: Output gyro temperature in report 2014-11-03 12:56:35 +01:00
Lorenz Meier c5e4f33bb3 Merge sensor_startup_cleanup 2014-07-16 15:26:22 +02:00
Lorenz Meier 5baa3690e0 L3GD20: Ensure init and constructors 2014-07-16 08:48:10 +02:00
Lorenz Meier c2f97e628c L3GD20 driver: stack size adjustments of start handler and start return review / comments 2014-07-16 07:51:47 +02:00
Lorenz Meier 65367f7a99 L3GD20: Support for up to three gyros 2014-07-15 23:16:04 +02:00
Lorenz Meier e696ed5509 Merged master 2014-07-15 22:07:03 +02:00
Lorenz Meier 812d326912 L3GD20: Fix usage function call to fit existing structure. 2014-07-08 13:52:42 +02:00
Andrew Tridgell 4271634585 l3gd20: fixed a build warning 2014-07-08 12:03:09 +02:00
Andrew Tridgell a049f0841d Merged L3GD20 orientation flag while keeping original bus speed 2014-07-08 11:56:45 +02:00
Andrew Tridgell e7360f4016 l3gd20: added -X switch for external bus 2014-07-08 11:44:06 +02:00
Lorenz Meier c35a25e70a L3GD20: Add support for multi uORB topics 2014-06-10 15:08:21 +02:00
Ash Charles cbc559b6d6 [l3gd20] Make gyro orientation board-overridable
As discussed [1], provide a default SENSOR_BOARD_ROTATION
(270 degrees as this seems most common) and let boards override it
as necessary.

[1] https://github.com/gumstix/m4-firmware/commit/7d0850a710b3ac9e9e165beb36389577d0e5adcb#commitcomment-6315550

Signed-off-by: Ash Charles <ashcharles@gmail.com>
2014-05-14 09:19:30 -07:00
Ash Charles 7d0850a710 [l3gd20] Style fixes for l3g4200d integration
As requested here [1], this fixes some of the style errors
introduced with the addition of l3g4200d support to the l3gd20
driver.  Gyro orientation is set conditionally for the aerocore
board.

[1] https://github.com/PX4/Firmware/pull/937

Signed-off-by: Ash Charles <ashcharles@gmail.com>
2014-05-13 14:00:44 -07:00
Ash Charles 3b72e31e83 [l3gd20] Add support for L3G4200D chip
The L3G4200D chip is very similar to the L3GD20[H] parts and can use
the same driver with minor adjustments.  There are four differences:
 * WHO_AM_I register is 0xD3 (not 0xD4 or 0xD7):
   - added an extra case to the driver probe
 * Sampling rates are marginally different:
   - setting sampling rate now depends on the detected chip
 * I2C address range is different:
   - no changes as the driver doesn't support i2c access
 * the L3G4200D has a self-test function:
   - no changes---chose not to implement feature in driver

Signed-off-by: Ash Charles <ashcharles@gmail.com>
2014-05-13 10:01:17 -07:00
Lorenz Meier d199710651 Fixed up init sequence of all sensors - we can publish in interrupt context, but not advertise! All advertisements now contain valid data 2014-01-14 15:40:46 +01:00
Lorenz Meier 3c7766db6c Support for publication blocking: L3GD20(H) 2014-01-12 11:54:10 +01:00
Lorenz Meier f4ac204f46 Cranking up bus speeds for all sensors to achievable 10.4 MHz, will cut the bus lock time to half 2013-12-15 18:32:46 +01:00
Andrew Tridgell 8f90efa312 l3gd20: print more perf counters and make DRDY usage clearer 2013-12-13 11:19:18 +01:00
Andrew Tridgell 17502cbde4 l3gd20: fixed a warning 2013-12-13 11:18:59 +01:00
Andrew Tridgell 893d66d961 l3gd20: added rescheduling and error checking 2013-12-10 11:40:06 +01:00
Andrew Tridgell 1bac7e7f8b l3gd20: close fds before exit 2013-12-10 11:39:07 +01:00
Andrew Tridgell 5a88dc02a7 l3gd20: use register_class_devname() 2013-12-10 11:38:10 +01:00
Lorenz Meier eed5b99a4a Merge branch 'redundant_sensors' of github.com:PX4/Firmware 2013-12-10 11:37:25 +01:00
Andrew Tridgell 86ec1c37fa l3gd20: added retries to disable_i2c() 2013-12-10 11:03:12 +01:00
Andrew Tridgell 476070510e lsm303d/l3gd20: change filters to 50Hz analog on-chip filters
after discussion with Leonard these analog on-chip filters should be
at 50Hz
2013-12-10 11:02:49 +01:00
Lorenz Meier 7becbcdbd5 Made all usual suspects default to their custom names and only register the default name if its not already taken by someone else 2013-12-07 10:34:32 +01:00
Andrew Tridgell edc5b68499 l3gd20: use highest possible on-chip filter bandwidth
this allows the software filter to do its job properly
2013-12-04 07:08:23 +01:00
Andrew Tridgell cb76f07d31 l3gd20: added I2C disable based on method from ST engineering support 2013-11-30 20:20:23 +11:00
Lorenz Meier 90c4664dce Merged status changes 2013-10-06 14:17:37 +02:00
px4dev 19fdaf2009 Use the generic device::SPI locking strategy. 2013-09-12 23:56:53 -07:00
Andrew Tridgell 4893509344 drivers: report error_count in drivers where possible 2013-09-12 09:26:49 +02:00