Peter Barker
ed5da4ead2
GCS_MAVLink: allow more libraries to compile with no HAL_GCS_ENABLED
2023-09-05 22:23:51 +10:00
Peter Barker
67bb7417ec
GCS_MAVLink: routing: do not process our own packets locally
...
returning true from this method means we will process the packets locally.
If that message changes the vehicle state that could be bad.
2023-03-22 09:26:19 +11:00
Peter Barker
b55664034f
GCS_MAVLink: use GCS_MAVLINK& when routing
2023-03-08 19:30:22 +11:00
Peter Barker
33a319aaf3
GCS_MAVLink: do not run all commands received on private channel
...
Co-authored-by: dawid.kopec.spectalight@gmail.com
returning true from this function means that we should run the command locally. We really don't want to do that unless the command (or other targetted message) was actually sent at us!
2022-11-29 10:32:02 +11:00
olliw42
c034f8a099
GCS_MAVLink: add find_by_mavtype_and_compid
2022-09-12 08:44:38 +09:00
Randy Mackay
8c19af72e0
GCS_MAVLink: learn routes even on private channels
...
Co-authored-by: Peter Barker <pbarker@barker.dropbear.id.au>
2022-06-06 15:50:13 +10:00
Peter Barker
7c8df47ac9
GCS_MAVLink: process messages sent to broadcast system
...
.... even if we've forwarded them to someone else.
2020-10-21 18:22:48 +11:00
Peter Barker
d3ba7a8409
GCS_MAVLink: don't learn a route to the broadcast component
...
Using a component ID of 0 for your source is invalid according to
common.xml
However, some clients do use it.
This stops us learning a route to that client for the broadcast client
for our own system ID.
2020-10-21 18:22:48 +11:00
Peter Barker
0c88af99da
GCS_MAVLink: revert removal of private channel check when forwarding
...
This reverts 6dc77c97ce
The commit caused a regression on Solo as the gimbal is "nodding",
indicating traffic from the autopilot is getting through to the gimbal.
2020-09-25 09:42:27 +10:00
Michael du Breuil
6dc77c97ce
GCS_MAVLink: Remove redundant check for private channels
...
We can't learn the route for sending to a private channel, so we
shouldn't need to actually check it when iterating the routes.
2020-08-11 09:49:42 +10:00
Michael du Breuil
6773821b3b
GCS_MAVLink: Don't forward MAVLink data on channels marked private, make private channels more private
2020-07-22 07:17:49 +10:00
Peter Barker
f158533fe9
GCS_MAVLink: allow private channels to also be active
...
This will allow for logging of private channels.
2020-06-09 10:37:32 +10:00
Peter Barker
d1bbe4f03b
GCS_MAVLink: correct output when ROUTING_DEBUG is set
...
This is a define in the code itself, so rarely a problem
2019-12-20 10:00:07 +11:00
Peter Barker
a96a4c0510
GCS_MAVLink: correct encoding used for send_to_components
...
These have to be packed onto the channel - otherwise they may ge
tencoded as mavlink1 instead of mavlink2 (or vice-versa)
2019-11-26 12:10:12 +11:00
Pierre Kancir
b1506ca652
GCS_MAVLink: pass mavlink_message_t by const reference
2019-07-16 20:51:42 +10:00
Matt
adf78ab8d3
MAVLINK: Forward to private channels if sysid and compid match
...
If the target system ID and target component ID match a private channel,
it is ok to forward that mavlink traffic. Any traffic without a
matching sysid or compid will not be forwarded on the channel
2018-11-28 11:33:23 +11:00
Andrew Tridgell
1e354d53c9
GCS_MAVLink: added private channel mask
...
this allows a channel to be marked "private". A private channel gets
heartbeats, but doesn't get forwarded packets or broadcast messages
This is used by solo gimbal driver
2018-11-24 11:00:37 +11:00
Mathieu OTHACEHE
152edf7189
Global: remove mode line from headers
...
Using a global .dir-locals.el file is a better alternative than
reincluding the same emacs header in every file of the project.
2016-10-24 09:42:01 -02:00
Tom Pittenger
3a38e29b39
GCS_MAVLink: do not auto-forward ADSB_VEHICLE packets
2016-06-19 11:24:29 -07:00
Andrew Tridgell
b855c70139
GCS_MAVLink: don't route RADIO and RADIO_STATUS packets
...
they don't mean anything off the local link
2016-05-31 22:13:05 +10:00
Andrew Tridgell
cd1f43a6ce
GCS_MAVLink: use generated target_system and target_component offsets
2016-05-21 15:25:17 +10:00
Andrew Tridgell
12c1d58511
GCS_MAVLink: cope with different packet overheads with signing
...
use common macros for determining if there is sufficient space to send
a packet
2016-05-21 15:25:14 +10:00
Ricardo de Almeida Gonzaga
3f92a64b99
GCS_MAVLink: Fix typos
2016-05-13 19:20:05 -03:00
proficnc
c8b3c527f9
GCS_MAVLink: add route mask for blocking MAVlink forwading
2016-05-12 17:44:06 +10:00
Jonathan Challinger
ac3b5a4400
GCS_MAVLink: add messages to routing switch statement
2016-01-23 10:35:44 +09:00
Andrew Tridgell
cefb32566f
GCS_MAVLink: fixed corner case in MAVLink routing
...
when a GCS sends a command to a system ID that isn't our system ID,
the GCS may use a non-advertised component ID such as
MAV_COMP_ID_SYSTEM_CONTROL. Those packets should be fowarded to the
target system even though the target system has not specifically
advertised that target sysid/compid tuple.
2015-11-13 13:38:53 +11:00
Gustavo Jose de Sousa
d7a2ef3e35
GCS_MAVLink: standardize inclusion of libaries headers
...
This commit changes the way libraries headers are included in source files:
- If the header is in the same directory the source belongs to, so the
notation '#include ""' is used with the path relative to the directory
containing the source.
- If the header is outside the directory containing the source, then we use
the notation '#include <>' with the path relative to libraries folder.
Some of the advantages of such approach:
- Only one search path for libraries headers.
- OSs like Windows may have a better lookup time.
2015-08-11 16:38:25 +10:00
Randy Mackay
e092902613
GCS_MAVLink: add find_by_mavtype
2015-07-25 10:52:59 +09:00
Arthur Benemann
e3398648d7
GCS_MAVLink: fix debug formatting
2015-07-21 21:41:34 +09:00
Randy Mackay
521f3dc4b9
GCS_MAVLink: only forward msg once per channel
...
Issue found and alternative fix provided by Arthur Benemann
2015-07-21 21:41:32 +09:00
Randy Mackay
1f705eb6a3
GCS_MAVLink: add send_to_components method
2015-04-20 13:50:04 +09:00
Andrew Tridgell
2aae594371
GCS_MAVLink: handle serial loopback in routing
2015-03-04 20:24:11 +11:00
Andrew Tridgell
a1536d575b
GCS_MAVLink: added GIMBAL msgs to routing
2015-02-03 09:49:14 +11:00
Andrew Tridgell
b5a5b71512
GCS_MAVLink: reverse sense of check_and_forward()
...
also increase number of routes on larger systems and improved route
learning logic
2014-12-17 10:32:28 +11:00
Andrew Tridgell
7f817502c4
GCS_MAVLINK: implement new routing rules
...
see description in coments
2014-12-17 10:32:28 +11:00
Randy Mackay
b54b7b7448
GCS_MAVLink: fix compiler error
2014-12-11 16:26:26 +09:00
Andrew Tridgell
ade7f9e1a9
GCS_MAVLink: fixed forwarding of non-targetted messages
2014-12-11 12:32:50 +09:00
Andrew Tridgell
fcf17829cc
GCS_MAVLink: fixed addition to routing table
2014-12-11 12:32:48 +09:00
Andrew Tridgell
34be7f808e
GCS_MAVLink: only try to fwd packets to active channels
2014-12-11 12:32:30 +09:00
Andrew Tridgell
b91529622b
GCS_MAVLink: initial implementation of MAVLink routing object
...
will be used to auto-route packets over all available links
2014-12-11 12:30:50 +09:00