Commit Graph
33 Commits
Author SHA1 Message Date
Daniel Agar 80c1f4e5e6 mavlink: send MISSION_CURRENT respect signed sequence number
- current_seq -1 indicates nothing currently active
2020-06-21 11:26:02 -04:00
Silvan Fuhrer 99dd229d71 Rally Point: fix typo of save to safe in mission_safe_point_s
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2019-10-28 09:54:59 +01:00
Daniel Agar f280977ed0 mavlink: update orb_publish to uORB::Publication<> 2019-09-02 23:51:54 -05:00
Daniel Agar 579cbbb42c mavlink move to new lightweight uORB::Subscription 2019-06-03 17:06:21 -04:00
Julian Oes 4c56994d7a mavlink_system: set update_counter for safe points
This variable was not set and lead to uninitialized memory being written
to dataman.
2019-04-24 11:15:43 -04:00
Julian Oes 9c86cdab2e Robustify mission upload/download (take 2) (#8794)
* Revert "mavlink_mission: don't retransmit automatically"

This reverts commit 4e008fe89120e24e321e93fb551753242797f022.

* mavlink_mission: don't retry to send mission item

The mission items need to be requested one by one by a ground station.
This is a "pull" protocol and we should not retry to "push" the mission
items down.

If we do this we can trigger the situation where the autopilot keeps
retrying and the ground station does not time out because it keeps
receiving items (even though the items are the wrong ones).

* mavlink_mission: reduce retry timeout

When actively re-requesting lost mission items, we can be more agressive
and therefore lose less time when a mission item is lost on the way.
2018-02-01 16:59:22 -05:00
Julian Oes ffc7f37f12 mavlink_mission: don't retransmit automatically
This is an attempt to fix mission upload and download with QGC on a
lossy link. The way it should work according to the protocol on
https://mavlink.io/en/protocol/mission.html is that in general
the ground station should be concerned about timeouts and
retransmission. This means the autopilot does not need to retransmit by
itself but just answer requests.

This seems like it would make the transfer less robust, however, it
actually resolves an edge case where QGC fails to make requests because
it gets spammed by the autopilot and keeps resetting the timeout.
2018-01-25 15:31:40 +01:00
Daniel Agar 916d6a15fd Mission merge offboard + onboard and simplify 2018-01-14 12:53:53 +01:00
Lorenz Meier 6227139df1 MAVLink app: Make debug messages a compile time check
The debug messages are too verbose to be run in a production vehicle and inherently were something that should only be run in SITL / debug sessions on hardware. Switching the flag to the PX4_DEBUG() macro does not only make this more explicit, but also saves a lot of flash space that otherwise was consumed by the strings.
2018-01-13 22:02:57 -05:00
lamping7 63718bf27b fix MISSION_ITEM REACHED message broadcast (#8332) 2017-12-10 02:30:58 -05:00
Beat Küng 6d85a3c4e4 geofence: lock geofence items during a write transfers
- avoids race conditions when geofence data is updated in flight. During
  a transfer, the geofence module will not check for violations, which
  is done with the new dm_trylock method.
- there is an update counter stored in dataman, and for each write
  transaction this is increased, so that the geofence module can reload
  the data upon data change (after it's unlocked).
- single dm item updates are atomic already, so resetting the polygons
  to 0 does not need locking.
2017-08-04 18:08:51 +02:00
Beat Küng 3d3e6428c2 msg/geofence_update.msg: remove this topic
We'll use dataman to check for geofence data updates.
2017-08-04 18:08:51 +02:00
Beat Küng 32491626b6 mavlink mission: set mission_type in mavlink_mission_count_t message 2017-08-04 18:08:51 +02:00
Beat Küng 82716012bd geofence_update.msg: notify navigator on geofence update 2017-08-04 18:08:51 +02:00
Beat Küng b8fb8c610e mavlink_mission: implement geofence & rally point protocol
- retrieve & store the geofence & rally point data from/to dataman
- interleaved transmissions (of different types) are not possible. trying
  to do so will NACK the new transmission
- only one storage backend for polygons & rally points (not alternating
  between 2 as the mission does)
2017-08-04 18:08:51 +02:00
Beat Küng a761c4189e MavlinkMissionManager: remove MavlinkStream inheritance 2017-05-18 09:48:14 +02:00
Lorenz Meier 737e18dccb MAVLink app: Fix VTOL reporting and prevent mission reached spam
The VTOL status reporting and the mission status reporting were both suboptimal. VTOL was too slow, mission reporting too fast
2016-12-25 18:15:51 +01:00
Julian Oes 8ddda0a8fa mavlink: move the msg id from uint8_t to uint16_t
With mavlink2 new messages are added with msg IDs greated than 255.
Therefore the msg ID types needed to be raised everywhere.
2016-11-09 10:23:34 +01:00
Julian Oes 047c0e44bd mavlink_mission: support missions with int params
This brings support for the messages MISSION_REQUEST_INT and
MISSION_ITEM_INT which raises the lat/lon accuracy for waypoints.
2016-09-26 22:55:21 +02:00
Julian Oes 4453e4201b navigator/mavlink: fixes for mission item reached message (#5486)
* navigator/mavlink: always send last reached item

Since we can't rely on mavlink that every message arrives, it makes
sense to continuously send the last reached waypoint.

* navigator: don't report reached for takeoff

If a takeoff waypoint has been inserted, we should not report that we
reached a mavlink mission item because we actually have not.
2016-09-13 21:52:28 +02:00
Lorenz Meier 720c445f21 MAVLink: Code style 2016-08-26 23:43:33 +02:00
Arnaud Degroote 2c947735ae Mark FILESYSTEM_ERRCOUNT_NOTIFY_LIMIT as an unsigned int
Fix the compilationof mavlink_mission.cpp failing with

error: comparison between signed and unsigned integer expressions
[-Werror=sign-compare]
2015-09-14 09:57:22 +02:00
Lorenz Meier 1977dc1a3f MAVLink app: Stop spamming the user with file system errors after two failures. 2015-09-07 10:23:15 +02:00
fpvaspassion 60be6a577f git status 2015-08-18 23:17:07 +02:00
fpvaspassion e6ffa16125 Implementation of 183 mission intem 2015-08-18 23:17:07 +02:00
oberion a985b37c80 mavlink/mavlink_mission: Dirty fix for setting waypoints over multiple mavlink link 2015-08-05 16:14:17 +02:00
Anton Babushkin 3cbfe989c7 mavlink: missions manager compID cleanup, use the common compID, stict compID checks for incoming messages 2014-08-20 21:54:38 +02:00
Anton Babushkin b31ddc193c mavlink: tix mission manager to use MavlinkStream API 2014-07-24 19:31:25 +02:00
Anton Babushkin eb4015ced1 mavlink: strange FIXME comment removed 2014-07-24 12:10:56 +02:00
Lorenz Meier 1ac2b307e4 Enable stricter compile mode and ensure the most relevant bits are initialized. Needs more work to avoid the remaining warnings 2014-07-15 18:23:17 +02:00
Lorenz Meier 0144a7dacf mavlink: Optimize to native types where possible, move things to optimize alignment 2014-07-12 18:43:09 +02:00
Lorenz Meier 7b768d11c3 Improve mission feedback, fix compile errors 2014-07-12 14:31:09 +02:00
Anton Babushkin 5be741607c mavlink: mission manager moved to separate class and reworked 2014-06-14 23:57:29 +02:00