Commit Graph

15570 Commits

Author SHA1 Message Date
Julian Oes 787931f04f navigator: check distances between waypoints
Instead of just checking whether the first waypoint is too far away from
home it makes sense to also check between waypoints.
This can prevent
- flyaways due to user errors, or
- catch the corner case where a takeoff waypoint is added to a mission
  and therefore the first waypoint is not too far away, however, the
  subsequent waypoints are still too far away.
2017-10-18 08:42:20 +02:00
Beat Küng 8b797d9b05 logger: use int for loop counter 2017-10-18 08:40:32 +02:00
Beat Küng d930ad4e9e mavlink_orb_subscription: reduce orb_exists() check from 10Hz to 3Hz
Checking with 3Hz for new topics should be fast enough.
2017-10-18 08:40:32 +02:00
Beat Küng 7381ea8222 logger: remove unused topics commander_state & rc_channels
flight review now uses vehicle_status & manual_control_setpoint
2017-10-18 08:40:32 +02:00
Beat Küng d096ec0b61 vdev_posix: change filemap into a static list of objects instead of pointers
to avoid dynamic memory allocations & frees (specifically in orb_exists)
2017-10-18 08:40:32 +02:00
Beat Küng 2668055358 vdev: remove unused fileds from file_t 2017-10-18 08:40:32 +02:00
Beat Küng deaf125c81 logger: check for newly published topics while not logging
If logger is started very early, orb_exists() will fail for a lot of
topics, they will be advertised within the next few seconds.
Logger already dynamically adds subscriptions during logging, but if we
do that before as well, we'll avoid any delays and having to subscribe
to a lot of topics all at once.
2017-10-18 08:40:32 +02:00
Beat Küng 3be252289a logger: use orb_exists to check if we need to subscribe to the first instance
To keep track of the configured interval, we store it as negative file
descriptor, until we do the subscription.

This frees up a considerable amount of file descriptors in most use-cases.
2017-10-18 08:40:32 +02:00
Beat Küng 4c4b528842 uORBManager: fix code style 2017-10-18 08:40:32 +02:00
Beat Küng 2f2c0440c4 orb_exists: change semantics from (is published or subscribed) to (is published)
Existing users of orb_exists:
- logger (dynamic subscribe to multi-instances)
- mavlink (orb subscription)
- sdlog2
- preflightcheck (check for home_position)
- wait_for_topic shell command (it's not used)
- orb_group_count() (sensors: dynamic sensor addition)

All use-cases benefit from the changed semantics: they are really only
interested if there is a publisher, not another subscriber.
2017-10-18 08:40:32 +02:00
Daniel Agar d83073f016 move RTPS to dedicated px4fmu-v{3,4,4pro,5}, posix, sdflight builds (#8113) 2017-10-17 16:29:55 -04:00
Matthias Grob e12bfa30d4 mc_att_control: defualt parameters set maximal acro rates to 2/1.5 turns per second for roll,pitch/yaw 2017-10-17 16:54:16 +02:00
Matthias Grob 8b09eaf124 mc_att_control: use SuperExpo input curve for acro mode to further enhance the stick feel 2017-10-17 16:54:16 +02:00
Matthias Grob 455ba0e1b5 mathlib Functions: added SuperExpo function for stick feel enhancement 2017-10-17 16:54:16 +02:00
Matthias Grob 3ce5525b7c mc_att_control: use expo input for acro mode to allow for high input rates without loosing input sensitivity 2017-10-17 16:54:16 +02:00
Beat Küng 291872a28d mavlink: fix flight_information: use COM_FLIGHT_UUID instead of the board id
The board id was used as flight id which does not make sense.
2017-10-17 09:56:01 +02:00
Beat Küng 85e82dca0d commander: add COM_FLIGHT_UUID param, increased upon disarm 2017-10-17 09:56:01 +02:00
Beat Küng fa8453443f fix commander: remove arming_state_changed, check for was_armed != armed.armed instead
arming_state_changed was not set in all places where an arming transition
occurred, for example when calling arm_disarm() from auto-disarm.

We did not notice because the state is published with at least 5 Hz already.
2017-10-17 09:56:01 +02:00
José Roberto de Souza 239de7191f dataman: Prevent database corruption
The size in g_per_item_size[item] is the real struct size
+ DM_SECTOR_HDR_SIZE bytes of header and the backend functions were
not taking in care it. So a call to dm_write() with more bytes than
the real struct is allowed, causing corruption in the header of the
next item.

Kudos to jeonghwan-lee for finding it. https://github.com/PX4/Firmware/issues/7927
2017-10-16 23:38:03 +02:00
rde-mato 78a9658163 define SDP3X_SCALE_PRESSURE_SDP3X corrected 2017-10-15 15:54:08 +02:00
sanderux fd6f2192ac Code style 2017-10-15 15:34:59 +02:00
sanderux b01d887700 When switching to land in VTOL, update land target during back transition 2017-10-15 15:34:59 +02:00
Khoi Tran ff6ffa73b5 Fix typos in MPU6000 driver comments 2017-10-15 15:33:25 +02:00
Beat Küng 98e6ba858d logger: change SDLOG_PROFILE into a bitset
This is more flexible, allowing a combination of sets.

The default enables the same set & rates as before
2017-10-14 14:21:11 +02:00
Beat Küng be6079bc52 logger: add high rate & debug profiles 2017-10-14 14:21:11 +02:00
Beat Küng 30bc248138 rc_check: cleanup mavlink log messages 2017-10-13 15:50:37 +02:00
Daniel Agar c47cd972a8 attitude_estimator_q remove unused (#8106) 2017-10-13 00:54:52 -04:00
Beat Küng 4da4093839 logger status output: print 'Not logging' if not actually logging 2017-10-12 16:40:47 +02:00
Beat Küng e65547b6af mpu6000: add support for revision 1 2017-10-12 14:27:04 +02:00
acfloria 3929afd617 Fix format in test_mixer.cpp 2017-10-12 12:03:22 +02:00
acfloria 9d2da611f6 Fix mixer issue with undefined return in callback and non value initialized variables. 2017-10-12 12:03:22 +02:00
Beat Küng 0247d7bdd7 fmu: minor refactoring & fixes
- initialize rc lost with true
- refactor for simpler downstream code-plugin
- allow for the addition of different binding commands
- fix st24 RC lost logic
2017-10-12 08:55:24 +02:00
Daniel Agar bb78931e69 cmake fix ctest output on failure for coverage (#8112) 2017-10-11 14:08:40 -04:00
Daniel Agar 651df03f76 RTPS and micro-CDR build system cleanup (#8084) 2017-10-11 13:05:44 -04:00
Dennis Mannhart bb9f8c3b44 navigator set cruising speed/throttle for reposition (#8096) 2017-10-11 10:30:03 -04:00
Dave Royer d1500dca6f df_hmc5883_wrapper: set mag device path from input argument (#8079) 2017-10-11 10:27:25 -04:00
Sugnan Prabhu 81809be7cd Add include guard in headers files (#8108)
Signed-off-by: Sugnan Prabhu S <sugnan.prabhu.s@intel.com>
2017-10-11 09:47:52 -04:00
Dennis Mannhart 8a0a8e20e1 mc_pos_control: use correct altitude as limit
fadfdasf
2017-10-10 10:28:07 +02:00
Dennis Mannhart 115e7246b0 battery: only propagate warning state in upwards 2017-10-10 10:28:07 +02:00
Dennis Mannhart f9b8afc006 Navigator: Use maximum flight altitude to limit missions
This change limits all mission items to the maximum flight altitude. The mission will still be executed and flown,
but the vehicle will never exceed the mission altitude. This ensures the vehicle can always reach the mission
items. Wether or not the entire mission should be rejected if it falls outside of the fenced area is enforced
in the mission feasibility checker function.
2017-10-10 10:28:07 +02:00
Dennis Mannhart 29cdb655c3 landdetector: remove outdated comment 2017-10-10 10:21:09 +02:00
Martina ef07c3be20 st24: move decode state to header file 2017-10-10 09:06:09 +02:00
Martina a7956c401b st24: move decode state to header file 2017-10-10 09:06:09 +02:00
Lorenz Meier 5278791f3d IST8310 driver: Fix startup / calibration order
The IST driver did not optimally check the calibration result and could trigger false positives if the mag data aligned with wrong signs
2017-10-09 19:05:46 +02:00
Dennis Mannhart 44a71d90f5 mc_pos_control: takeoff threshold to 0.65 2017-10-09 19:05:15 +02:00
Julian Oes 7229ec2a37 Move throttle check from land detector to posctrl
This commit is an attempt to fix a race condition happening on takeoff
between the land detector and the multicopter position controller.

Previously, an auto-takeoff leads to the following events:

1. A takeoff setpoint is given.
2. The thrust setpoint spikes because we don't enter smooth takeoff yet.
3. The land detector detects a takeoff because of the high thrust.
4. The position controller sees the landed state transition and
   initiates the smooth takeoff. Thrust goes back down.
5. Depending on control gains the takeoff is successful or fails
   if the smoothing takes too long which causes thrust to be too low, so
   the land detector detects land again.

The two obvious problems with this are:
- The intermittent spike.
- The failed takeoff because of the smoothing leads to a delay..

With this change, the logic for a takeoff detection is moved from the
land detector to the position controller.

The events are now:

1. A takeoff setpoint is given.
2. The position controller detects the takeoff setpoint and initiates
   the smooth takeoff.
3. As thrust ramps up, the land detector detects the take off.

In the same way, we now detect the intent to takeoff in manual,
altitude, control, position control in the position controller instead
of in the land detector.
2017-10-09 19:05:15 +02:00
Dario Röthlisberger 3edc5942e4 versioning: fix style 2017-10-09 14:41:58 +02:00
Dario Röthlisberger e3b8c0512e versioning: refactor unit tests
Use one function which tests flight and vendor version tag parsing.
2017-10-09 14:41:58 +02:00
Dario Röthlisberger 6abe198226 versioning: tag must contain patch, minor & major 2017-10-09 14:41:58 +02:00
Dario Röthlisberger 3dd4454a87 version: include FIRMWARE_TYPE in vendor version 2017-10-09 14:41:58 +02:00