Commit Graph

425 Commits

Author SHA1 Message Date
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
Beat Küng
1be3c0fe48 mavlink_main.cpp: fix race conditions in 'mavlink stop-all'
This had multiple issues:
- linked list was modified while other instances were still running and
  accessing it (the used linked list is NOT thread-safe).
- Mavlink instance was deleted, but it was still in the linked list, and
  thus could still be dereferenced by other threads
- the instance was deleted, but it was still accessed by the 'stop-all'
  calling thread

What we do now is:
- wait for all threads to exit
- then remove the instances from the linked list and delete them
2016-06-07 10:05:59 +02:00
Beat Küng
1f55e23827 fix resource leak in mavlink_main.cpp: close the socket 2016-06-07 10:05:59 +02:00
Lorenz Meier
66db577c7d Tone down mavlink message 2016-06-05 14:37:47 +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
c4da55e40f MAVLink app: Reduce excessive allocation 2016-05-22 15:03:22 +02:00
Daniel Agar
1ecdb0f6fb adjust stack sizes 2016-05-19 21:49:34 +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
Daniel Agar
008354f935 testing cleanup 2016-05-13 13:01:41 +02:00
Daniel Agar
eae726e345 FW add mavlink NAV_CONTROLLER_OUTPUT 2016-05-13 12:56:04 +02:00
Lorenz Meier
d89937502c MAVLink: Clean up stream init 2016-05-13 10:34:25 +02:00
Lorenz Meier
ae75ba26b7 MAVLink: Remove excessive stack 2016-05-05 19:36:39 +02:00
Lorenz Meier
c958bfeaa3 MAVLink app: Report OS and Firmware version 2016-05-03 11:39:54 +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
796af52df2 MAVLink app: Offer a little more RAM 2016-04-29 22:05:56 +02:00
Lorenz Meier
a663aa68af Send out ADS-B reports to GCS 2016-04-17 18:19:32 +02:00
Julian Oes
0438bf6a8b mavlink: get the ifdefs correct 2016-04-12 10:13:52 -07:00
Julian Oes
72be6de0cf mavlink: whitespace fix 2016-04-12 10:13:52 -07: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
Lorenz Meier
d2c98a98e9 Rename stop-all to stop for MAVLink, but still keep stop-all for existing scripts 2016-04-10 11:18:05 -07:00
Julian Oes
727783fe94 mavlink: keep trying to find to broadcast
This should help the Snapdragon to connect if the network is not yet up
by the time the mainapp starts. It will retry to find a network and
broadcast once it finds one.
2016-04-08 22:38:22 -07:00
Julian Oes
ae2c28677d mavlink: adapt network detection for Mac, use heap
It seems that Mac does not support the ioctl to check how big the ifconf
buffer needs to be. Therefore we just have to make a guess.
Alos, instead of allocating the variable size array on the stack, it's
probably safer to use the heap.
2016-04-08 09:41:10 +02:00
Julian Oes
20cd5f3e76 mavlink: make broadcast detection Mac compatible
This adresses that the ifconf interface is a bit different on Mac.
2016-04-07 15:21:24 +02: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
Lorenz Meier
76a9ee2618 MAVLink app: Limit to max updaate rate 2016-03-30 20:56:11 +02:00
Julian Oes
56585082ec mavlink: look up broadcast address, don't guess it 2016-03-30 17:36:04 +02:00
Julian Oes
a7e9bc8ba5 mavlink: copyright and author update 2016-03-30 17:36:04 +02:00
Julian Oes
df24852366 mavlink: fix broadcast on Snapdragon
Instead of using 255.255.255.255 as the broadcast address, go through
the network interfaces and and try to use a broadcast in the local
network such as 192.168.1.255.
2016-03-30 17:36:04 +02:00
Julian Oes
f776a3dc37 mavlink: better broadcast failed error description 2016-03-30 17:36:04 +02:00
Lorenz Meier
a66cf2a658 MAVLink app hotfix: Enable MAVLink daemon on default port 2016-03-28 17:30:43 +02:00
Lorenz Meier
e26c5bb590 Do not receive anything in OSD mode 2016-03-28 12:37:03 +02:00
Lorenz Meier
6d42595c79 Fix MAVLink app teardown with mavlink stop-all command 2016-03-25 15:20:32 +01:00
Julian Oes
de0e467150 mavlink: bring buffering for log messages back 2016-03-24 13:10:02 +01: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
a446a337e9 Revert "mavlink: send out parameters faster over UDP"
This reverts commit 213cdf1a91.

Raising the stream rate of param values had the nice effect that
receiving the params became really quick. However, on the downside it
set all other streams pretty slow. This needs to be fixed differently.
2016-03-23 11:46:25 +01:00
Lorenz Meier
f3f01ad960 Fix NuttX compilation 2016-03-19 19:28:42 +04:00
Kevin Mehall
afa06ba9d7 Disable UDP options on platforms where it's not supported 2016-03-19 19:19:29 +04:00
Kevin Mehall
0cc3b4becc Add mavlink start -t partner_ip option to pre-set partner IP.
This avoids the need to modify the source code to hard-code the IP when
broadcast doesn't work.

Initializing the sockaddr_in structs with memset is unnecessary because
they are value-initialized by the Mavlink constructor.
2016-03-19 19:19:29 +04:00
Julian Oes
213cdf1a91 mavlink: send out parameters faster over UDP 2016-03-18 11:26:29 +00:00
Lorenz Meier
a516450868 MAVLink: Send vibration status message 2016-02-25 15:57:53 +01:00
Lorenz Meier
c6a30d74c1 Bump VFR HUD rate for OSD 2016-02-25 11:14:15 +01:00
Lorenz Meier
3e02bb1070 MAVLink: Improve network handling 2016-02-09 12:51:05 +01:00