Commit Graph

1374 Commits

Author SHA1 Message Date
Andrew Tridgell c5097a6561 hmc5883: use register_class_devname() 2013-12-10 12:05:42 +01:00
Andrew Tridgell 6145e69fc6 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 12:05:36 +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 0456ee2364 ms5611: give cleaner SPI traces
this makes logic traces cleaner by zeroing extra bytes written
2013-12-10 12:05:07 +01:00
Andrew Tridgell bc6ddb971f ms5611: removed unused variable 2013-12-10 12:05:00 +01:00
Andrew Tridgell 7e30941475 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 12:04:52 +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 0e97c288bb px4fmu2: enable SPI sensor DRDY pins 2013-12-10 12:04:39 +01:00
Andrew Tridgell 4956feffdf 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 12:04:26 +01:00
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
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
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
Andrew Tridgell cb76f07d31 l3gd20: added I2C disable based on method from ST engineering support 2013-11-30 20:20:23 +11:00
Andrew Tridgell 720f6ab313 FMUv2: set MPU6000 CS as initially de-selected 2013-11-30 20:20:03 +11:00
Andrew Tridgell 3a597d1a1f FMUv2: added define for MPU DRDY pin 2013-11-30 20:19:58 +11:00
Andrew Tridgell 3decf408c2 FMUv2: added support for MPU6000 on v2.4 board 2013-11-30 20:19:52 +11:00
Andrew Tridgell b666581983 lsm303d: fixed TEMP_H register define 2013-11-30 20:19:26 +11:00
Andrew Tridgell d0507296c0 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-11-30 20:18:27 +11:00
Andrew Tridgell af47a3d795 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-11-30 20:17:55 +11:00
Andrew Tridgell 244c3602f2 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-11-30 20:17:09 +11:00
Andrew Tridgell 7d415b0c42 lsm303d: print more registers in "lsm303d regdump" 2013-11-30 20:16:51 +11:00
Andrew Tridgell 72c53b6537 lsm303d: define some more register addresses 2013-11-30 20:16:45 +11:00
Andrew Tridgell a46042754f lsm303d: added 'lsm303d regdump' command
useful for diagnosing issues
2013-11-30 20:16:32 +11:00
Lorenz Meier 3701a02a37 Tests for all PWM pins 2013-11-30 10:00:33 +01:00
Hyon Lim b3f1adc54b SO3 estimator code has been cleaned 2013-11-29 02:35:49 +09:00
Hyon Lim bcd745fb0d SO(3) estimator and quaternion receive by mavlink implemented 2013-11-29 02:05:15 +09:00
Anton Babushkin 3c027a8e4d Various HIL-related fixes 2013-11-27 23:04:49 +04:00
marco 4e713a7083 motortest mode enhanced 2013-11-26 19:01:43 +01:00
Thomas Gubler ea9fcaa27f update the commander to only use local pos for landing detection when on rotary wing
Conflicts:
	src/modules/commander/commander.cpp
2013-11-26 18:56:06 +01:00
Anton Babushkin 69ed7cf91f missionlib: waypoint yaw fixed 2013-11-23 18:48:05 +04:00
marco d2e32f2fc5 mkblctrl - hotfix for i2c scan 2013-11-22 21:05:40 +01:00
marco cc8e85ce7e mkblctrl scans now i2c3 and i2c1 bir connected esc's 2013-11-21 22:24:16 +01:00
Hyon Lim 9a4b57c352 Update fw_att_control_params.c 2013-11-20 03:04:53 +09:00