Commit Graph
184 Commits
Author SHA1 Message Date
Jonas Vautherin 38c949731f mavlink_main: fix broadcast computation
The way the broadcast IP is currently fetched is by sending an ioctl()
request. The limitation of this is that the broadcast address may not
be set on the network interface (more specifically, it is usually not
set in docker containers). In those cases, it results in the broadcast
address becoming 0.0.0.0, which is not valid [1].

This fix uses the network IP and the netmask to compute the directed
broadcast address. This should be more reliable, as both of those are
always set on the network interface.

[1]: https://tools.ietf.org/html/rfc1122, section 3.2.1.3 (a)
2018-01-21 14:58:04 +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
Lorenz Meier fba592b5fc MAVLink app: Send newest param hash for every param change to notify GCS about change
This should help keeping the GCS up to date about asynchronous changes on the autopilot.
2018-01-08 09:27:22 +01:00
Beat Küng c997698030 mavlink: fix type passed to param_get() 2017-10-27 10:43:15 +02:00
Beat Küng dd4be8aecf mavlink: only enable FTP if -x flag is provided 2017-08-24 19:03:58 +02:00
Daniel Agar 1e42d523da mavlink main return main loop delay proper size 2017-08-21 01:31:27 +02:00
Beat Küng cf3b068179 mavlink: add 'verbose [on|off]' command 2017-08-04 18:08:51 +02:00
Beat Küng 371586be2c MAVLink: Add verbose command 2017-08-04 18:08:51 +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
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 d80be2e4ff MAVLink: better output handling 2017-07-08 19:36:58 +02:00
Lorenz Meier 8c3b90007c MAVLink app: Enable protocol version handshaking
This allows the ground control station or any other communication partner to query the supported versions. The key aspect is to send the response in MAVLink 2 framing to test the link with a MAVLink 2 framed message.
2017-06-04 16:14:00 +08:00
Beat Küng a5485c97e0 mavlink: remove _log_enabled flag
It's obsolete since we removed the mavlink log file
2017-06-04 04:35:21 +08:00
Beat Küng 78c1f51f11 mavlink main: remove mission_manager, param manager, ftp & log handler
Will be moved to the receiver thread
2017-05-18 09:48:14 +02:00
Daniel Agar c9956e25b4 mavlink fix code style 2017-01-07 01:03:18 -05:00
Lorenz Meier 6444988392 MAVLink app: Send messages on average at a more correct rate and send on first call
This patch fixes two issues:
  * It sends the message on the first call, making sure that the first update gets sent out.
  * It improves the rate scheduling. In an experiment with 0.5, 50 and 250 Hz all rates were correct within 0.3% of the intended rate.
2016-12-25 21:30:31 +01:00
Daniel Agar bce7ecb0f6 Iridium driver and support
Mavlink module implement HIGH_LATENCY (Iridium)
2016-12-14 08:20:01 +01:00
lovettchris 8a2399eee1 Fix multithreading bug in mavlink over serial port. 2016-11-19 00:24:15 +01:00
Beat Küng 318c970477 mavlink ulog streaming: add rate limiting
This limits the maximum bandwidth of ulog streaming to 70% of the specified
mavlink datarate. If less is used, the leftover is assigned to the mavlink
streams, if more is used, it starts to drop.

mavlink status outputs the currently used rate, to check if a link is
saturated.
2016-10-19 13:13:47 +02:00
Beat Küng 8f5656f033 mavlink ulog: add target sys & component ids (update to changed mavlink message) 2016-10-19 13:13:47 +02:00
Beat Küng 7d72f31a29 mavlink: integrate MavlinkULog into the main Mavlink task & receiver 2016-10-19 13:13:47 +02:00
Lorenz Meier 6f19531ce4 MAVLink: Cleanup of port handling, switch to MAVLink 2 if receiving MAVLink 2. Announce MAVLink 2 capability in autopilot_version message
commit
2016-08-28 10:08:15 +02:00
Lorenz Meier 720c445f21 MAVLink: Code style 2016-08-26 23:43:33 +02:00
Lorenz Meier e67a6bdfc2 MAVLink: No need to restore previous port config on exit 2016-08-26 23:38:46 +02:00
Beat Küng 2241ab9cac mavlink: add a shell using SERIAL_CONTROL MAVLink message 2016-07-29 13:07:17 +02:00
Julian Oes 3ed8b735c2 mavlink: only warn once if broadcast fails
This fixes the issue where the console was spammed if a broadcast failed
after a connection had previously been established.
2016-07-13 19:40:59 +02:00
Henry Zhang ae6600e48f MAVLink app: fix mavlink forwarding issue. (#4907) 2016-06-25 11:02:01 +02:00
Lorenz Meier 2f113a4ce3 MAVLink: Allow data rate updates 2016-06-21 16:38:53 +02:00
Julian Oes ec5b2adfc0 mavlink: don't try broadcast 0, and less printfs
This removes a bunch of unneeded printfs and prevents broadcasting
packets of size 0 which just trigger a warning.
2016-06-07 22:10:56 +02:00
Lorenz Meier ff4f27b05e MAVLink app: Add option to configure broadcast, default to off 2016-06-05 12:39:33 +02:00
Beat Küng 8c9b272545 mavlink udp: avoid spamming the console when disconnecting the Network or bcast addr not found (#4611) 2016-05-30 21:53:37 +02:00
Lorenz Meier 1b2043b929 MAVLink app: Allocate buffers only as they are needed 2016-05-29 16:14:33 +02:00
Lorenz Meier 7a0d43586f MAVLink app: Only start transmitting when boot is complete (#4666) 2016-05-28 09:57:07 +02:00
Lorenz Meier 56e887c6c7 MAVLink app: Return result of network operation 2016-05-19 20:13:32 +02:00
Lorenz Meier 84800dfd87 MAVLink: Update complete app to support MAVLink 1 & MAVLink 2. Add MAV_PROTO_VER param to switch between them 2016-05-19 20:13:32 +02:00
Lorenz Meier 0a597d0d62 MAVLink: Update to version 2 compaat API 2016-05-19 20:13:32 +02:00
Lorenz Meier 6eccfe3d14 MAVLink 2.0: Take a first stab at integration, enable heartbeat packets 2016-05-19 20:13:32 +02:00
Lorenz Meier 06938064c1 MAVLink: Always accept commands to avoid corner case with USB power 2016-05-10 12:41:48 +02:00
Lorenz Meier ae123d9e20 MAVLink app: Do not accept config commands on wireless links when USB is connected 2016-04-30 09:15:06 +02:00
Lorenz Meier ff800a4c97 MAVLink app: Save stack for file name handliling, log only when armed 2016-04-22 10:28:13 +02:00
Julian Oes 361c057412 mavlink: get mavlink reconnection working 2016-04-12 10:13:52 -07:00
Lorenz Meier d97f32cca1 Fix MAVLink not responding regression on TELEM2 2016-04-10 12:11:26 -07:00
Julian Oes 66567baf89 mavlink: only try broadcast if valid address found 2016-04-07 13:20:48 +02:00
Lorenz Meier e832f7dbf5 Fix reporting on broadcast address 2016-04-02 00:04:26 +02:00
Julian Oes 2d4179a35b mavlink: refactor mavlink_log
This moves the mavlink_log interface from ioctl to uORB and enables the
mavlink statusmessage output for Snapdragon. The API changes will lead
to changes in all modules that are using it.
2016-03-24 13:09:16 +01:00
Julian Oes b44f20d705 mavlink: option to specify the UDP remote port
This enables using several mavlink instances for SITL.
2016-02-01 11:15:21 +01:00
Lorenz Meier 8167f729ad MAVLink app: Fix NuttX compilation error 2016-01-31 22:04:39 +01:00
Lorenz Meier 56cd54ab71 MAVLink app: Fix network code to always prefer localhost, work still with remote targets 2016-01-31 20:16:26 +01:00
Lorenz Meier 619548b10a MAVLink: Send for the first 4 seconds to localhost on UDP to not interfere with the network 2016-01-20 11:53:58 +01:00
Lorenz Meier b8f11dee99 MAVLink: Code style 2016-01-20 10:59:39 +01:00