Commit Graph

5289 Commits

Author SHA1 Message Date
Andrew Tridgell 513d014f03 l3gd20: added retries to disable_i2c() 2013-12-10 12:04:20 +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 0a83772c0d l3gd20: use highest possible on-chip filter bandwidth
this allows the software filter to do its job properly
2013-12-10 12:04:05 +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 51a1ad48c5 FMUv2: don't config ADC pins that are now used for MPU6k CS and other uses 2013-12-10 12:00:36 +01:00
Andrew Tridgell aeba9e5c1e FMUv2: change CS pins to 2MHz
this gives cleaner traces
2013-12-10 12:00:27 +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 9a169d8ef4 l3gd20: added I2C disable based on method from ST engineering support 2013-12-10 11:59:54 +01:00
Andrew Tridgell 44b2543d2d FMUv2: set MPU6000 CS as initially de-selected 2013-12-10 11:59:48 +01:00
Andrew Tridgell 3ce14497a1 FMUv2: added define for MPU DRDY pin 2013-12-10 11:59:29 +01:00
Andrew Tridgell b927974a97 FMUv2: added support for MPU6000 on v2.4 board 2013-12-10 11:59:23 +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
Andrew Tridgell 5ef91d694b lsm303d: log mag regs too 2013-12-10 11:58:53 +01:00
Andrew Tridgell 671447ce2c lsm303d: fixed TEMP_H register define 2013-12-10 11:58:45 +01:00
Andrew Tridgell cdaafff6e4 lsm303d: added detailed logging of accels on extremes
this will log accel values and registers to /fs/microsd/lsm303d.log if
any extreme values are seen
2013-12-10 11:58:39 +01:00
Andrew Tridgell 50d5241985 px4io: moved blue heartbeat LED to main loop
this allows us to tell if the main loop is running by looking for a
blinking blue LED
2013-12-10 11:58:29 +01:00
Andrew Tridgell 97af3d2204 mpu6000: change bus speed based on registers being accessed
this ensures we follow the datasheet requirement of 1MHz for general
registers and up to 20MHz for sensor and int status registers
2013-12-10 11:58:21 +01:00
Andrew Tridgell 8df4d636ab SPI: added set_frequency() API
this allows the bus speed to be changed on the fly by device
drivers. This is needed for the MPU6000
2013-12-10 11:58:15 +01:00
Andrew Tridgell 415417196b lsm303d: print more registers in "lsm303d regdump" 2013-12-10 11:58:08 +01:00
Andrew Tridgell af049f7cf8 lsm303d: define some more register addresses 2013-12-10 11:58:01 +01:00
Andrew Tridgell 93f3398dfe lsm303d: added 'lsm303d regdump' command
useful for diagnosing issues
2013-12-10 11:57:54 +01:00
Andrew Tridgell 1b1aa0edea lsm303d: use DRDY pins to automatically reschedule measurements
this prevents double reads of sensor data, and missing samples from
the accel
2013-12-10 11:48:44 +01:00
Andrew Tridgell b3f4b0a240 drv_hrt: added note on why an uninitialised hrt_call is safe 2013-12-10 11:40:51 +01:00
Andrew Tridgell 893d66d961 l3gd20: added rescheduling and error checking 2013-12-10 11:40:06 +01:00
Andrew Tridgell 2b491a7954 mpu6000: treat all zero data from mpu6k as bad 2013-12-10 11:39:50 +01:00
Andrew Tridgell 8744aa7536 ms5611: check for all zero in the prom
when SPI CLK fails we get all zero data
2013-12-10 11:39:28 +01:00
Andrew Tridgell 39b40e41c2 mpu6000: close fds before exit 2013-12-10 11:39:20 +01:00
Andrew Tridgell 038ec194ae lsm303d: close fds before exit 2013-12-10 11:39:14 +01:00
Andrew Tridgell 1bac7e7f8b l3gd20: close fds before exit 2013-12-10 11:39:07 +01:00
Andrew Tridgell b55403c551 mpu6000: use register_class_devname() 2013-12-10 11:38:30 +01:00
Andrew Tridgell e334377e6c lsm303d: use register_class_devname() 2013-12-10 11:38:23 +01:00
Andrew Tridgell 5a88dc02a7 l3gd20: use register_class_devname() 2013-12-10 11:38:10 +01:00
Andrew Tridgell 5ee41bc083 hmc5883: use register_class_devname() 2013-12-10 11:37:59 +01:00
Lorenz Meier eed5b99a4a Merge branch 'redundant_sensors' of github.com:PX4/Firmware 2013-12-10 11:37:25 +01:00
Andrew Tridgell b2b9665e44 device: added register_class_devname() API
this allows drivers to register generic device names for a device
class, with automatic class instance handling
2013-12-10 11:31:04 +01:00
Andrew Tridgell 895dc3a2bb lsm303d: dump I2C control registers in regdump 2013-12-10 11:30:53 +01:00
Andrew Tridgell 0349937a82 lsm303d: added detailed logging of accels on extremes
this will log accel values and registers to /fs/microsd/lsm303d.log if
any extreme values are seen
2013-12-10 11:30:01 +01:00
Lorenz Meier bc8cfc8d9d Fix indendation in airspeed driver (no functional change) 2013-12-10 11:21:45 +01:00
Andrew Tridgell 70e56a3d54 px4fmu2: enable SPI sensor DRDY pins 2013-12-10 11:03:43 +01:00
Andrew Tridgell 53f2dc8296 drv_hrt: added hrt_call_init() and hrt_call_delay() APIs
hrt_call_init() can be used to initialise (zero) a hrt_call structure
to ensure safe usage. The hrt_call_every() interface calls this
automatically.

hrt_call_delay() can be used to delay a current callout by the given
number of microseconds
2013-12-10 11:03:31 +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
Andrew Tridgell b0bb5a3450 ms5611: change bus speed to 5MHz
this gives 5MHz SPI bus speed (by asking for 6MHz due to timer
granularity).

Tests with a logic analyser show that the ms5611 is actually more
reliable at 5MHz than lower speeds
2013-12-10 11:01:53 +01:00
Andrew Tridgell a52e70ca93 ms5611: removed unused variable 2013-12-10 11:01:33 +01:00