Commit Graph
16622 Commits
Author SHA1 Message Date
Lorenz Meier 37657cf99b MAVLink FTP: Use modern output printing to capture errors in system log 2017-07-29 16:12:41 +02:00
Lorenz Meier 68d70cc8c0 MAVLink: Use modern PX4 output format to enable system logging for errors. 2017-07-29 16:12:41 +02:00
Lorenz Meier 09f1373a08 MAVLink: Adjust stream rates to match real usage 2017-07-29 16:12:41 +02:00
Lorenz Meier 07ced9895c MAVLink: Improve message handling / tracking
The message handling was not obeying action focused messages and high-rate messages properly before. With this change update rates track the desired rates closely. Critical high-rate messages such as ADS-B are queued additionally to guarantee that all received packets are being correctly forwarded.
2017-07-29 16:12:41 +02:00
Daniel Agar 1867573b02 VTOL don't poll parameter_update 2017-07-29 09:15:52 +02:00
Daniel Agar 66f0912b9d FW attitude don't poll parameter_update 2017-07-29 09:15:52 +02:00
Daniel Agar efafc17b0c FW position don't poll parameter_update 2017-07-29 09:15:52 +02:00
Daniel Agar cf87096b05 EKF2 don't poll parameter_update 2017-07-29 09:15:52 +02:00
Daniel Agar ddc4500753 FW landing optionally disable heading hold (#7617) 2017-07-28 20:28:54 -04:00
Paul Riseborough 5324f30cb6 ekf2: Let the EKF know if the vehicle is operating as a fixed wing type. (#7667)
Setting this enables the EKF to use the GPS velocity to recover from bad compass yaw at launch.
2017-07-29 07:18:58 +10:00
ChristophTobler 44cd65798b update sitl_gazebo to use the vision position estimate 2017-07-28 09:09:56 +02:00
Lorenz Meier dc8caeaedf MAVLink: Default to standard stream config 2017-07-27 10:15:53 +02:00
sanderux 1eda66c9ba Code format 2017-07-27 10:15:53 +02:00
sanderux 7612b94c72 Allow relaying from same system ID or with target component 0 2017-07-27 10:15:53 +02:00
Lorenz Meier c44322ca15 MAVLink app: Use more advanced forwarding logic 2017-07-27 10:15:53 +02:00
José Roberto de Souza 0b9e32ca3e aerofc: Reboot board when force bootloader pin is set
This can help "unbrick" AeroFC when a bad firmware is loaded
and it keeps rebooting or it spinning in some loop.

No need to request to stay in booloader as it will stay
in bootloader because the pin is set.
2017-07-26 07:14:13 +02:00
Beat Küng 0109154c43 logger: avoid logging the UUID if the system does not provide it
The linux targets don't have it and setting a fixed constant causes
wrong vehicle associationss in Flight Review.
2017-07-24 09:01:02 +02:00
Lorenz Meier 286c3d41d3 MAVLink app: Send GPS uncertainty via MAVLink 2
This is needed by some consumers like transponders.
2017-07-23 00:16:00 +02:00
Daniel Agar 2939bd9c96 Partial Revert "MAVLink: Add capture command to command queue"
This reverts commit dde5781142.
2017-07-22 11:36:35 +02:00
davidaroyer d5cbbba341 ocpoc_adc: handle return from fscanf 2017-07-22 10:51:49 +02:00
ChristophTobler bc951f6f15 add constraint to ground distance to avoid values below rng_gnd_clearance (#7662) 2017-07-22 07:49:00 +10:00
Beat Küng a6c682ce50 mavlink_ftp: fix stack overflow & add root dir prefix
- change memory allocation from stack to a malloc'd buffer. This avoids
  increasing the stack size. And since FTP is rarely used, the buffers
  are only allocated upon use and freed after a time of 2s inactivity.
- adds PX4_ROOTFSDIR as root directory prefix. This does not change
  anything on NuttX, but in SITL it will avoid enumerating the whole
  disk tree when using QGC (which enumerates all files recursively).
2017-07-21 19:59:45 +02:00
Beat Küng 29f23a390f mavlink_ftp: avoid using seekdir()
The provided argument payload->offset is in range [0, num_file_entries-1],
but seekdir might use a completely different range. It is not defined
by the API spec. It is only useful in conjunction with telldir().
2017-07-21 19:59:45 +02:00
Beat Küng 5a2723ab9c test_mixer.cpp: remove bogus comments 2017-07-21 19:59:45 +02:00
Beat Küng 42f7e6bca3 px4_defines: make sure that PX4_ROOTFSDIR is a string 2017-07-21 19:59:45 +02:00
Beat Küng 7fc20049e0 param_shmem import: don't fail on type mismatch 2017-07-20 18:49:38 +02:00
Beat Küng 88b515390a flashparams import: don't fail on type mismatch 2017-07-20 18:49:38 +02:00
Beat Küng 2340e7073d param import: don't fail on type mismatch
This can happen for example when a param type is changed from int32 to
float. The type check will then fail if the param is stored and the param
import will be aborted.
Now we just skip the entry and continue loading the rest.
2017-07-20 18:49:38 +02:00
Dennis Shtatnov ca82d36c3f Support platforms like CF2 without capture ioctl 2017-07-20 03:37:58 -10:00
Paul Riseborough f93be992ce ekf2: Update documentation for compatibility with Doxygen (#7657) 2017-07-20 22:05:29 +10:00
Lorenz Meier c1f5feac83 MAVLink: Queue transponder reports and send them at full data rate
This will ensure that no transponder reports are dropped and that all received reports are passed on to the GCS and other devices.
2017-07-20 09:13:53 +02:00
Dennis Shtatnov 6081435801 Fixes #7282 2017-07-19 19:51:55 -10:00
Dennis Shtatnov 2e85a4363e MPU9250: Separate mpu and mag resets 2017-07-19 19:51:55 -10:00
ChristophTobler 03e11c4d18 update ecl and add param for innovation consistency checks for range aid fusion (#7585) 2017-07-19 18:25:12 +10:00
Paul Riseborough 1dbac79c1b ecl: Compatibility update for PR #7602 2017-07-18 23:06:14 +02:00
Lorenz Meier dde5781142 MAVLink: Add capture command to command queue 2017-07-18 23:05:43 +02:00
Lorenz Meier cb3222d131 Navigator: Be less verbose 2017-07-18 23:05:43 +02:00
Lorenz Meier 6e97aec8ce MAVLink app: Do not warn about required reboot but rely on param meta. Fixes #7642 2017-07-18 22:51:42 +02:00
Beat Küng 0668d61665 SYS_FMU_TASK: add param to start fmu as task (default=work queue) 2017-07-18 20:06:10 +02:00
Beat Küng 07b7a153f3 fmu: add ifdef for dsm_deinit() 2017-07-18 20:06:10 +02:00
Beat Küng 2193afd0a0 fix fmu: lower polling timeout to 5ms when running as task
With the previous value of 20ms, we dropped RC input when not armed. The
result was that some RC channels jumped randomly between min & max.
2017-07-18 20:06:10 +02:00
Beat Küng e6adfa6b6b fix fmu: call dsm_deinit() in destructor
This closes the fd and cleans up a static variable used in the dsm parser.
2017-07-18 20:06:10 +02:00
Beat Küng 1130bc129c fix fmu: make sure init() is called on the new task
This was only a problem when running as a task not on the work queue.
The problem was that init() opened the RC serial device, which was then
read in the main loop, which is a different context when run as a task.
2017-07-18 20:06:10 +02:00
Beat Küng 56cc5e11cc simulator: initialize sensor data buffers 2017-07-18 12:54:28 +02:00
Beat Küng bb3b11e87a battery.cpp: initialize _current_filtered_a 2017-07-18 12:54:28 +02:00
Beat Küng bcca17204b mc_pos_control_main: initialize _in_takeoff 2017-07-18 12:54:28 +02:00
Beat Küng d419537a72 ekf2_main: initialize _mag_time_sum_ms & _balt_time_sum_ms 2017-07-18 12:54:28 +02:00
David Sidrane 5ebe5010ac Bugfix:Sensors battery_status Intance 0 voltage was 0V for Brick 2
Both PX4Test and Beat noted if only Brick to was connected
  battery_status Intance 0 voltage was 0V for Brick2

  The priority selection logic is run prior to the subscription
  creation and only updated the priority on a change. Before the
  subscriotions were created.

  _battery_pub_intance0ndx is suposed track the location in
  the _battery_pub array that is instance 0. It is then used
  to associate (move) instance 0 with (to)  the lowest brick
  (highest priority in HW) brick that is selected in HW.

  The Bug was that before the subscriptions are created,
  _battery_pub_intance0ndx set to 1. And then and never updated.

  The fix was to only run the priority selection logic once
  the subscriptions are created.
2017-07-17 21:02:50 -10:00
David Sidrane fc38bc4144 px4fmu-v5:Added Muti Brick support definitions
BOARD_HAS_LTC44XX_VALIDS - 0 -> No LTC44xx IC, N is the number of
                              Power Bricks connected to the LTC44xx
                              For a LTC4417 this would be 2 as the
                              third prioriy is used for USB

   BOARD_HAS_USB_VALID     - If defied as 1 imples that infact
                             the USB has a priority connection
                             on the LTC44XX

   BOARD_HAS_NBAT_V       - the number of battery voltage sensing chennels
                            on the ADC

   BOARD_HAS_NBAT_I      - the number of battery current  sensing chennels
                            on the ADC

   A super simple (non FMUv5 compliant) board with no LTC44xx and just one battery
   that have no current sense:

    BOARD_HAS_LTC44XX_VALIDS = 0
    BOARD_HAS_USB_VALID      = 0
    BOARD_HAS_NBAT_V         = 1
    BOARD_HAS_NBAT_0         = 0

   A fully FMUv5 compliant design would use:

    BOARD_HAS_LTC44XX_VALIDS = 2
    BOARD_HAS_USB_VALID      = 1
    BOARD_HAS_NBAT_V         = 2
    BOARD_HAS_NBAT_0         = 2

   These setting properly condition the ADC channles and all the Power
   module valid sensing logic in the ADC module.
2017-07-17 21:02:50 -10:00
David Sidrane 53a04f3ba7 px4fmu-v5:board_config clean up
Removed unused headers and placed the __BEGIN_DECLS where it belonged
2017-07-17 21:02:50 -10:00