Commit Graph
90 Commits
Author SHA1 Message Date
Johan Jansen c7d0cb6bd7 lsm303d: Fix memory initialization and error_count not set 2015-02-10 17:46:56 +01:00
Lorenz Meier 1c2e39bc75 LSM303D: move to 0 based index 2015-02-09 22:56:23 +01:00
Thomas Gubler 8ac05dc8b0 lsm303d: fix if style 2015-02-03 18:20:43 +01:00
Thomas Gubler dedba4307d lsm303d: 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
Lorenz Meier 114465aba4 Move LSM303D mag to new multi-pub interface 2015-01-29 16:33:52 +01:00
Andrew Tridgell 500ac1443b lsm303d: detect large fixed values and report an error
we have logs where the lsm303d gets large fixed values for long
periods. This will detect that error case and raise error_count so the
higher level sensor integration code can choose another sensor
2015-01-02 16:47:48 +11:00
Andrew Tridgell 8470105f9e lsm303d: fixed build warning 2015-01-01 10:04:09 +11:00
Andrew Tridgell b5f6fedfa8 lsm303d: show all perf counters in "info" 2015-01-01 08:51:54 +11:00
Andrew Tridgell 083d9e3e69 lsm303d: check DRDY after check_registers()
this allows recovery from a state where DRDY is not set
2015-01-01 08:51:52 +11:00
Andrew Tridgell 1de7fab974 lsm303d: removed unsafe printf in interrupt context 2015-01-01 08:51:49 +11:00
Andrew Tridgell e4318345f3 lsm303d: added two more checked registers
these are key for DRDY behaviour
2015-01-01 08:51:47 +11:00
Andrew Tridgell 2ac3a6fcf4 l3m303d: added testerror command
useful for testing error handling
2015-01-01 08:51:44 +11:00
Andrew Tridgell 03c40d5d91 lsm303d: replace old register checking with new check_registers() method
this uses the same method as is now used in the MPU6000 to check that
the sensor retains its correct values

Conflicts:
	src/drivers/lsm303d/lsm303d.cpp
2014-12-30 20:55:57 +01:00
Lorenz Meier 54f296ce9d Sensor drivers: Optimize for size 2014-11-15 13:54:01 +01:00
Andrew Tridgell 94574f1a58 lsm303d: don't use DRDY when not on internal SPI bus
external SPI bus does not have accel DRDY connected

Conflicts:
	mavlink/include/mavlink/v1.0
2014-10-08 10:38:27 +02:00
Lorenz Meier c5e4f33bb3 Merge sensor_startup_cleanup 2014-07-16 15:26:22 +02:00
Lorenz Meier f162a3e8d4 LSM303D: Ensure init and constructors 2014-07-16 08:47:49 +02:00
Lorenz Meier fa6f69581e LSM303D: start handler fix and start routine review 2014-07-16 07:52:18 +02:00
Lorenz Meier 43bc2c3ef2 LSM303D: Support for tertiary sensors 2014-07-15 23:32:03 +02:00
Lorenz Meier e696ed5509 Merged master 2014-07-15 22:07:03 +02:00
Andrew Tridgell c6b0dc1ee8 lsm303d: setup device type 2014-07-12 16:26:12 +02:00
Lorenz Meier 7d15e999f1 LSM303: Fix usage function call to fit existing structure. 2014-07-08 13:52:10 +02:00
Lorenz Meier 92426c5cfc LSM303D: deal with missing external bus 2014-07-08 13:51:33 +02:00
Andrew Tridgell 1dfc7bad7b Merged lsm303d update, keeping default frequency 2014-07-08 11:51:46 +02:00
Andrew Tridgell e0dbc82d84 lsm303d: added -X option for external bus 2014-07-08 11:44:13 +02:00
Andrew Tridgell db304480d9 lsm303d: disable check_extremes code
this could trigger with a bungee launch, and could cause higher
latency due to SD card writes
2014-07-08 11:43:01 +02:00
Lorenz Meier 795f3693f2 LSM303D: Add support for multi-uORB devices 2014-06-10 15:07:42 +02:00
Liio Chen bb6b442ca6 Magnetometer data is not update
Magnetometer is not updated during a read operation, because the function "lsm303d_mag::measure" is not called.

”!!!JUST A GUESS!!!“
2014-05-29 17:42:05 +08:00
Ash Charles e5508a1aa0 Add Gumstix AeroCore device
Based on the work of Andrew Smith [1], add board configuration and device
drivers to support the Gumstix AeroCore (previously Aerodroid) board [2]. The
AeroCore is an autopilot board based on a STM32F427 similar to the FMUv2.

[1] https://github.com/smithandrewc/Firmware
[2] https://store.gumstix.com/index.php/products/585/

Signed-off-by: Ash Charles <ashcharles@gmail.com>
2014-05-13 09:41:41 -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 a34a14ce86 Support for publication blocking: LSM303D, cleaned up device start 2014-01-12 11:54:25 +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 acd0a70dca lsm303d: close fds before exit 2013-12-10 12:06:25 +01:00
Andrew Tridgell 02e7f7fa85 lsm303d: use register_class_devname() 2013-12-10 12:06:02 +01:00
Andrew Tridgell f24479c27a lsm303d: dump I2C control registers in regdump 2013-12-10 12:05:29 +01:00
Lorenz Meier 1fb406ba09 Add also default descriptor for alternate sensors 2013-12-10 12:05:21 +01:00
Lorenz Meier 3d27dd7246 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-10 12:05:14 +01:00
Andrew Tridgell 30ff61fa90 lsm303d: use DRDY pins to automatically reschedule measurements
this prevents double reads of sensor data, and missing samples from
the accel
2013-12-10 12:04:46 +01:00
Andrew Tridgell 24a243843e 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 12:04:13 +01:00
Andrew Tridgell f0e50fc87a lsm303d: init filter to 773 Hz 2013-12-10 12:03:58 +01:00
Andrew Tridgell 2de588e861 lsm303d: changed tones for accel fail to 3 tones
distinct tones for init fail, post-boot fail and recovery
2013-12-10 12:00:55 +01:00
Andrew Tridgell c46ab017e1 lsm303d: make log distinctive with i2c disable included 2013-12-10 12:00:46 +01:00
Andrew Tridgell 032c450d15 lsm303d: cleanup logic traces by pre-zeroing all transfers 2013-12-10 12:00:17 +01:00
Andrew Tridgell a2b31118cb lsm303d: get cleaner logic traces by gathering all regs more regularly 2013-12-10 12:00:08 +01:00
Andrew Tridgell 7c9d92a5d6 lsm303d: added I2C disable based on method from ST engineering support 2013-12-10 12:00:02 +01:00
Andrew Tridgell fe4b95f9d5 lsm303d: zero-fill register reads 2013-12-10 11:59:13 +01:00
Andrew Tridgell ea33a19c8f lsm303d: show regs at both high and low bus speed on error 2013-12-10 11:59:06 +01:00
Andrew Tridgell 4ce4b8a174 lsm303d: always log first ARB and REG values 2013-12-10 11:59:00 +01:00