Commit Graph

4143 Commits

Author SHA1 Message Date
acfloria ab279d5fe9 IridiumSBD: Fixes for receiving data
- Catch the case where the case where the driver gets stuck because nothing is received by +SBDRB
- Add a mutex for the rx buffer
- Stop the standby loop if a mode change is already scheduled
2018-05-27 12:11:35 -04:00
acfloria 57162ff08d Improve high latency switching and acknowledge
- Move publishing the telemetry status from the IridiumSBD driver to the mavlink instance
- In the commander use the iridiumsbd_status message for heartbeat in case of a high latency link
- Move positive acknowledge to the mavlink instance
- Add a failed acknowledge in the commander if no high latency link exists
2018-05-27 12:11:35 -04:00
acfloria d8cf012641 IridiumSBD: Add iridiumsbd_status uorb message 2018-05-27 12:11:35 -04:00
Daniel Agar 222a91c6be mathlib delete Matrix, Quaternion, Vector 2018-05-23 17:27:09 -04:00
DanielePettenuzzo 094490190f crazyflie: pmw3901 driver publish gyro equal to NAN for optflow estimator interface 2018-05-23 18:32:36 +02:00
DanielePettenuzzo 9cad11d832 crazyflie: clean up 2018-05-22 12:21:45 +02:00
DanielePettenuzzo 22868dd5a4 crazyflie: add downsampling to pwm3901 optflow driver 2018-05-22 12:21:45 +02:00
DanielePettenuzzo 2770e1d2c7 mpu9250: remove define from integrator interval when using i2c 2018-05-22 12:21:45 +02:00
DanielePettenuzzo 8b54346d52 mpu9250: decrease sampling rate when using i2c 2018-05-22 12:21:45 +02:00
DanielePettenuzzo 9c8e97a1ba crazyflie: optical flow and distace sensor driver fixes 2018-05-22 12:21:45 +02:00
DanielePettenuzzo 533f42adb8 crazyflie: add probe() to vl53lxx driver and set imu sampling rate to 200 Hz for this board 2018-05-22 12:21:45 +02:00
DanielePettenuzzo ffbb53454e crazyflie: removed crazyflie specific #ifdefs from mpu9250 2018-05-22 12:21:45 +02:00
DanielePettenuzzo f49fd2acc7 crazyflie: increase imu reading rate 2018-05-22 12:21:45 +02:00
DanielePettenuzzo 2359b73d1f pmw3901 driver: lock bus during transfers (avoid conflicts with sd card on crazyflie) 2018-05-22 12:21:45 +02:00
DanielePettenuzzo b822966e8e crazyflie: support for sd card board via SPI 2018-05-22 12:21:45 +02:00
DanielePettenuzzo 9c1cbdfa11 vl53lxx driver: change I2C frequency to 400 kHz 2018-05-22 12:21:45 +02:00
DanielePettenuzzo 8a4e144e86 crazyflie: add spi expansion to board configurations (modify spi bus and device in pmw3901 driver) 2018-05-22 12:21:45 +02:00
DanielePettenuzzo 2d20f31a70 vl53lxx and pmw3901 drivers: style fix 2018-05-22 12:21:45 +02:00
DanielePettenuzzo 4098d50ff9 pmw3901 driver: remove integrator and publish data at sampling rate (about 10ms) 2018-05-22 12:21:45 +02:00
DanielePettenuzzo 3377ec181e vl53lxx driver: add saturation when distance goes beyond max_distance 2018-05-22 12:21:45 +02:00
DanielePettenuzzo ad49509b84 vl53lxx driver: added work queue between measure and collect 2018-05-22 12:21:45 +02:00
DanielePettenuzzo 3644dd2d8c pmw3901 driver: multiply output of integrator by a constant to match gyro data during simple rotation 2018-05-22 12:21:45 +02:00
DanielePettenuzzo 6ca341f84e pmw3901 driver: cleanup for pull request 2018-05-22 12:21:45 +02:00
DanielePettenuzzo ddf75db154 vl53lxx driver: cleanup for pull request 2018-05-22 12:21:45 +02:00
DanielePettenuzzo c73ca29f44 pmw3901 driver: added integrator 2018-05-22 12:21:45 +02:00
DanielePettenuzzo 2d3f6737d7 pmw3901 driver: fixed communication with sensor 2018-05-22 12:21:45 +02:00
Daniele Pettenuzzo 10fc3b8763 created driver for pmw3901 optical flow module 2018-05-22 12:21:45 +02:00
DanielePettenuzzo 4348852363 vl53lxx driver: change to I2C4 on fmu-v5 (I2C connector) 2018-05-22 12:21:45 +02:00
Daniele Pettenuzzo 5aa4759e2d created new distance sensor driver for vl53lxx 2018-05-22 12:21:45 +02:00
Daniel Agar c06e28b379 snapdragon_pwm_out add full mixer dependency 2018-05-21 01:32:16 -04:00
Daniel Agar 0334fadcde spektrum_rc add rc library dependency 2018-05-21 01:32:16 -04:00
nathan f754d092f8 Initial omnibusf4sd target support
Flight tested: ekf2 w/ mag and compass by @nathantsoi: https://logs.px4.io/plot_app?log=79b81031-cf1e-41f0-890b-d6cd7d559766

NOTE: external I2C devices need a pullup. I have tested with a 3.3v 2.2k pullup.

Working:
 - mpu6000, bench tested and verified via nsh
 - fmu
 - all 6 ch output bench tested w/ pwm and oneshot via nsh
 - ppm input bench tested
 - dsm input bench tested
 - bmp280, bench tested and verified via nsh
 - hmc5883, bench tested and verified via nsh, but requires an external i2c pullup
 - gps on uart6
 - startuplog, nsh, mavlink on uart4, but params are not sent for some reason. RSSI pin is TX, MOTOR 5 is RX (normal mode, 57600 baud)
 - rgbled over i2c, bench tested and workingp
 - sbus via the shared sbus/ppm pin (which includes an inverter to the mcu SBUS in pin), remove the solder bridge or jumper to the ppm pin before use

Not yet implemented:
  - ADC
  - OSD: passthrough video is untested, use at your own risk until a basic driver is implemented.
2018-05-20 11:54:17 +02:00
Daniel Agar 4e32cb17df clang-tidy modernize-use-equals-default 2018-05-18 22:48:55 +02:00
Daniel Agar dc1e91137a cmake add bloaty helpers for nuttx and use in Jenkins 2018-05-17 18:27:00 -04:00
Jake Dahl ad4b3a738a set the range to the correct value 2018-05-16 08:35:55 +02:00
Jake Dahl 306d1e7e24 a few corrections 2018-05-16 08:35:55 +02:00
Jake Dahl 6324a8851d Complete refactor of the lis3mdl driver. This has been bench tested, flight tested, and verified functional. 2018-05-16 08:35:55 +02:00
Beat Küng 13ab5ed0d0 px4_main_t: fix method declaration throughout the code base
px4_main_t is defined as:
typedef int (*px4_main_t)(int argc, char *argv[]);
which matches with the definition in NuttX, given to task_create
2018-05-09 07:59:46 +02:00
Daniel Agar ffbd75d1b9 adis16477 driver 2018-05-07 00:07:29 +02:00
Daniel Agar 6b94ef1a03 mpu9250 allow a 2nd internal spi instance and remove px4fmu-v4 fake external (#9386) 2018-05-04 12:38:43 -04:00
Daniel Agar 2e92484325 ecl update to latest master with separate libraries (#9406) 2018-05-03 23:48:09 -04:00
Martina Rivizzigno 41b0db2860 vmount: input_mavlink point gimbal towards current triplet instead of next (#9405) 2018-05-03 12:26:04 -04:00
Daniel Agar 6b2daef5ec lps22hb barometer driver 2018-05-02 09:05:28 -04:00
Daniel Agar 598743bbdc delete srf02_i2c which is nearly identical to srf02 (#9396) 2018-05-02 08:50:12 -04:00
Daniel Agar 977ab4e7b8 improve end to end control latency measurement (#9388) 2018-05-02 03:03:32 -04:00
Daniel Agar 1b3803fbe5 px4io driver remove unnecessary class fields 2018-05-01 17:55:47 +02:00
Daniel Agar 8404889098 delete unused ADCSIM
- set BOARD_NUMBER_BRICKS to 0 for boards without analog power bricks
2018-04-29 21:48:54 -04:00
Daniel Agar ea3acb7121 cmake remove circular linking and reorganize
- px4_add_module now requires MAIN
 - px4_add_library doesn't automatically link
2018-04-29 21:48:54 -04:00
aklimaj 25528a5ae0 Adds support for another MPU9250 or MPU6500 on px4fmu-v4 internal SPI bus. Adds PX4_SPI_BUS_EXT, PX4_SPIDEV_EXT_MPU to board config and spi.c. Call 'mpu9250 -S start' to enable. 2018-04-28 15:16:41 +02:00
Beat Küng 4ef3d258eb imu drivers: do not set on-chip filter based on driver filter setting
The description of IMU_GYRO_CUTOFF was incorrectly saying that it only
affects the driver filtering, but in fact it also set the on-chip filter
to the next higher supported value. This patch fixes that.

And because the IMU_GYRO_CUTOFF and not the IMU_ACCEL_CUTOFF was used for
the on-chip filter, after #9070 which sets the default gyro filter to 80,
we were effectively using a dlpf of 98 Hz.
For this reason this patch changes the on-chip cutoff frequency to 98 as
well, so that the overall default behavior is unchanged.
2018-04-25 16:32:06 +02:00