Commit Graph

14569 Commits

Author SHA1 Message Date
David Sidrane fc30f2906f mpu9250:Use a cpu speed independant _reset_wait generations.
This change first pushes out the _reset_wait by 100 Ms.
   which is about 3 time longer then the code take to execute.

   Then it does the reset of the accel, gyro and mag and
   the ends the wait by setting _reset_wait to now+10 us.
2017-07-11 09:51:31 +02:00
David Sidrane 3f0d26c949 mpu6000:Support different clock freq per IC type 2017-07-11 09:51:31 +02:00
David Sidrane 3c42c8f7fa mpu9520:Use maximum clock rate
The MPU9250 and MPU6500 buth support 1 Mhz and 20 Mhz. Buy upping the clocc we will get the maximum clock rate the driver
   supports that is <= 20 Mhz. This will boost the FMUv4Pro SPI speed to 11.25 Mhz (it was half that)
2017-07-11 09:51:31 +02:00
David Sidrane 22d0ea15de px4fmu-v3:Add ICM20608 aliased to the PX4_SPIDEV_ACCEL_MAG to the v3 build
The Pixkhawk mini was not chip selecting the ICM20608 as it did
   not define PX4_SPIDEV_ICM_20608. This allow the fmu V2 rc code
   to init the ICM20608.
2017-07-11 09:49:22 +02:00
David Sidrane 195468bf06 px4fmuv4pro:Init GPIO_VDD_3V3_SENSORS_EN off at reset
Insure a 0.0 voltage initial condition on VDD_3V3_SENSORS
  By starting the GPIO_VDD_3V3_SENSORS_EN, low and deferring
  the GPIO init of the slave selects and drdy signals until
  board_app_initialize. We get ~ 180 ms of power off time
  with 0.00 voltage applied to the sensors.
2017-07-11 08:34:26 +02:00
Lorenz Meier 6a3e27fe18 PWM command: Be less verbose 2017-07-11 08:15:44 +02:00
Sander Smeets 48be61160d Float value correction 2017-07-10 21:15:08 +02:00
Sander Smeets 70178266f0 VTOL pusher assist: return vehicle to level position 2017-07-10 21:15:08 +02:00
bresch 81c46b6f92 VTOL Standard - Disable pusher-for-pitch strategy in manual control 2017-07-10 21:13:28 +02:00
Lorenz Meier 57a2ea0cd1 Navigator: Do not change target position if user is only changing altitude
This is important for multicopters for drift-free altitude changes and important for fixed wing to keep the current loiter center.
2017-07-10 18:36:03 +02:00
Lorenz Meier c89bd5c8fd HMC5883: Fix range setup 2017-07-10 08:32:19 +02:00
Lorenz Meier f2b8291587 Logger: Run at lower priority than core control pipeline
This should ensure that controllers run first and log data copying happens after.
;
2017-07-09 21:59:01 +02:00
Lorenz Meier df173d4d8a Sensors: Do not update calibration when armed. Run at lower priority than attitude control and estimator
This ensures that the massive (several hundred params if temperature compensation is enabled) param load is not done in flight. We also lower the priority to ensure that attitude controllers and estimators which might consume sensor data directly execute immediately, which should reduce their latency.
2017-07-09 21:58:48 +02:00
Lorenz Meier 3bdd0e95dd EKF2: Show time slip on console 2017-07-09 21:58:41 +02:00
Daniel Agar 585984fa0c fmuservo increase stack 2017-07-09 18:02:55 +02:00
Lorenz Meier 75faf5c7bd Preflight checks: Increase accel warn limit range 2017-07-09 16:38:56 +02:00
Lorenz Meier 80461fad6b Camera trigger: Support triggering one image immediately.
This allows to re-enable the distance trigger and immediately take a picture. This is helpful to ensure survey areas are covered on entry and exit.
2017-07-09 14:49:21 +02:00
Lorenz Meier 1a12326d7d Reserve value in ENUM for simple mode 2017-07-09 14:43:24 +02:00
Lorenz Meier 099a6dfd3e Mission feasibility checker: Improve output messages for humans
Text to speech will work better with these messages and some of them exceeded the 50 character limit.
2017-07-09 14:43:24 +02:00
Lorenz Meier eb5b153d10 MAVLink app: send status text only if connected to something that can actually handle it.
This increases the chance that the operator gets to see the messages that the vehicle emitted before telemetry was connected.
2017-07-09 14:43:24 +02:00
Lorenz Meier 5a8062e646 MAVLink app: Provide function for connected state
If we have not received an inbound heartbeat we are probably not connected and so user-facing output (which is even buffered) should go only out once we are connected.
2017-07-09 14:43:24 +02:00
Lorenz Meier 4ca7187e42 Commander: Do not allow to set mission mode if the mission is failing feasibility checks. Provide clear feedback if telemetry is online and home is set about an invalid mission state. 2017-07-09 14:43:24 +02:00
Michael Schaeuble d53598ed58 UAVCAN: Publish actuator outputs 2017-07-09 14:41:48 +02:00
Daniel Agar 61fd6f4c8a uorb failure print topic name 2017-07-09 14:40:11 +02:00
Daniel Agar f45b9048aa GPS driver increase stack (244 bytes left) 2017-07-09 13:09:22 +02:00
garfieldG a9750f7ccb Fixed formatting 2017-07-09 13:08:49 +02:00
garfieldG be41cf8ba1 Fixed parameters naming and type and added comments 2017-07-09 13:08:49 +02:00
garfieldG 44e148151b Fixed the version naming 2017-07-09 13:08:49 +02:00
Daniel Agar e0aa2e2391 RTL reduce verbosity 2017-07-08 21:54:04 +02:00
Daniel Agar fbebec5d0f navigator log RTL messages and don't print global timeout 2017-07-08 21:54:04 +02:00
Daniel Agar f396224d41 mag calibration add notifications to rotate 2017-07-08 21:54:04 +02:00
Daniel Agar 1a6a871689 commander properly set boot timestamp 2017-07-08 21:54:04 +02:00
Daniel Agar b804616ad0 preflight check airspeed use differential_pressure 2017-07-08 21:54:04 +02:00
Daniel Agar e303c2ad89 eagle tree airspeed allow negative differential pressure 2017-07-08 21:54:04 +02:00
Daniel Agar f11bb401f4 CMD_MISSION_START allow first_item=-1 to leave index unchanged 2017-07-08 19:49:52 +02:00
Lorenz Meier 49bbd0e58d Navigator: Be less verbose 2017-07-08 19:36:58 +02:00
Lorenz Meier d80be2e4ff MAVLink: better output handling 2017-07-08 19:36:58 +02:00
Lorenz Meier 24ffada340 MPU9250: Hold off from reboot a little longer. Fixes #7555 2017-07-08 16:38:18 +02:00
Lorenz Meier 9cd93dcf03 MPU9250: Fix boot on Pixhawk Mini
This requires further investigation. Hotfix.
2017-07-08 16:31:12 +02:00
David Sidrane f722614ec0 mpu9250:Stop per counter on failed read 2017-07-08 15:37:46 +02:00
David Sidrane fbf6532c25 mpu9250:reset the mag on the reset operation
This commit fixed a bug were the mag was orphened on a reset.
   That resulted in MAG timeouts on reset or test operations and
   left the mag in a broken state.
2017-07-08 15:37:46 +02:00
David Sidrane 8bd044e80e mpu9250:mag rework the setup to veify HW first
If the setup is unsucessful fo not register the devices or
   allocate resources.
2017-07-08 15:37:46 +02:00
David Sidrane aec109ac2c mpu9250:mag restructure to have proper retires for setup
We want to setup the mag interface with retries and report
  failurs.

  Move retry logic to contol point, instead of hiding re-reading
  the ID in ak8963_check_id.

  Allow it to fail once to overcome a read of 0 on firt read.
  after 2 failure report error to console and reset the
  mpu9250's I2C master (SPI to I2C bridge)

  The same retry logic is used on the ak8963_read_adjustments
  with a reset of the I2C master module after 5 fails. If it
  fails fter 10 retires. Disabel the mad and report the failure
  on the console, stating it is disabled.
2017-07-08 15:37:46 +02:00
David Sidrane 270dd5282a mpu9250:Add modify checked register api
Provide an API for the mag to use read-modify-write
2017-07-08 15:37:46 +02:00
David Sidrane ef67b75057 mpu9250:Added comment on BYPASSING the internal i2c master bridge 2017-07-08 15:37:46 +02:00
David Sidrane c3addd931c mpu9250:Issue error on console when a device fails to take initialization
On initialization, if after 3 retries to re-init the mpu9250 from
   the checked registers values, it fails. Ensure thath the fact the
   driver is exitting is logged to console.
2017-07-08 15:37:46 +02:00
David Sidrane 3272cc62d4 mpu9250: Do a reasonable post chip init validations, reporting errors
Check that the mpu9250's configured registers match the settings
   written to them. Attempt to fix any that do not up to 3 times.
   printing erros to the console on mismatches and returning
   faliure if after 3 attempts the any of the values are
   still wrong.
2017-07-08 15:37:46 +02:00
David Sidrane 7e293ab1d3 mpu9250:Fix errant comment 2017-07-08 15:37:46 +02:00
David Sidrane 5a53d92f22 mpu9250:Remove foklore delays
Remove delays on each register write in the
   reset function. Leaving only the delay
   following chip reset prior to configurations.
2017-07-08 15:37:46 +02:00
David Sidrane b4d23a3f2c mpu9250:Rmove magic number, add ACCEL_RANGE_G 2017-07-08 15:37:46 +02:00