Commit Graph

5480 Commits

Author SHA1 Message Date
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
Andrew Tridgell 3f0f34a4c7 ms5611: give cleaner SPI traces
this makes logic traces cleaner by zeroing extra bytes written
2013-12-10 11:01:20 +01:00
Thomas Gubler 5e273bf225 px4iofirmware: in manual mode: ignore control indices which are not controlled by the rmeote control 2013-12-08 21:35:16 +01:00
Thomas Gubler cbde8d27f8 fix small copy paste error in px4io driver 2013-12-08 20:15:47 +01:00
Lorenz Meier 0ba507b640 Added support for a total of four control groups to the IO driver and IO firmware. This allows to run auxiliary payload. Cleaned up defines for RC input channel counts, this needs another sweep to then finally allow up to 16 mapped channels and up to 20-24 RAW RC channels 2013-12-08 11:25:45 +01:00
Anton Babushkin 5397f13b50 Merge branch 'master' into hil_fixes 2013-12-07 22:29:45 +04:00
Lorenz Meier c72162cc5a Add also default descriptor for alternate sensors 2013-12-07 10:44:29 +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
Lorenz Meier 264ef47197 PPM loopback test 2013-12-05 05:02:00 +01:00
Lorenz Meier 1cb576ae4e Merge branch 'master' into tests 2013-12-05 02:52:57 +01:00
Lorenz Meier 012adc9e33 Minor fixes to bus reset 2013-12-04 09:25:07 +01:00
Lorenz Meier acc3cc087f Added sensor rail reset IOCTL and command (fmu sensor_reset 10 resets for 10 ms) 2013-12-04 08:17:35 +01:00
Lorenz Meier 881cf61553 Added IOCTL and command for sensor rail reset (does not yet re-initialize sensor drivers) 2013-12-04 07:57:23 +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 b2119839bd lsm303d: init filter to 773 Hz 2013-12-04 07:08:05 +01:00
Julian Oes dcfd5bdbe7 Python uploader: Ignore exceptions when sending reboot tries 2013-12-02 23:07:36 +01:00
Lorenz Meier 0d30fe31a7 Merge pull request #546 from julianoes/hotfix_hex_startup
Hotfix Hex Startup
2013-12-01 16:48:51 -08:00
Julian Oes 193692cc0d Hex Startup: Set rate of all 8 PWM outputs (6 are not possible because rate can only be changed for channel groups 2013-12-01 22:44:36 +01:00
Andrew Tridgell ba8399780a init.d: added 3dr_skywalker airframe config
params not tuned yet, but servos in the right direction
2013-12-01 07:57:22 +11:00
Andrew Tridgell bdb462379a FMUv2: don't config ADC pins that are now used for MPU6k CS and other uses 2013-11-30 20:21:51 +11:00
Andrew Tridgell 19853f87a2 FMUv2: change CS pins to 2MHz
this gives cleaner traces
2013-11-30 20:21:44 +11:00
Andrew Tridgell 6ba54e7035 lsm303d: cleanup logic traces by pre-zeroing all transfers 2013-11-30 20:21:28 +11:00
Andrew Tridgell 9214154831 lsm303d: added I2C disable based on method from ST engineering support 2013-11-30 20:21:08 +11:00