Commit Graph

25852 Commits

Author SHA1 Message Date
Daniel Agar
5dc23def2a move pressure altitude from baros to sensors module 2018-04-11 23:26:58 -04:00
Daniel Agar
bdf4f19867 enable -fno-math-errno as we never check errno (#9281)
- disables setting of the errno variable as required by C89/C99 on calling math library routines
2018-04-11 22:17:39 -04:00
Mohammed Kabir
28f9b38919 mavlink : fix pointer for main_mode and sub_mode 2018-04-11 22:03:12 +02:00
Oleg Kalachev
1b1617b5a0 Add new mode AUTO_PRECLAND 2018-04-11 14:50:07 -04:00
Beat Küng
f02ef20a23 commander: set timestamp for vehicle_command publication 2018-04-11 15:19:47 +02:00
acfloria
0caa4dc171 Mavlink: Don't use a packed struct as input for the convert_limit_safe function
- Addional small cleanup of the iridium driver and the include guards of mavlink module header files
2018-04-11 15:15:28 +02:00
acfloria
477a4e7ec8 MavlinkReceiver: Don't start MissionManager in IRIDIUM mode 2018-04-11 15:15:28 +02:00
acfloria
41de588a73 Move HIGH_LATENCY2 stream to separate file and update some comments" 2018-04-11 15:15:28 +02:00
acfloria
fb1bb7a769 Move the SimpleAnalyzer to a separate file 2018-04-11 15:15:28 +02:00
acfloria
ae807fc189 Move VEHICLE_CMD_CONTROL_HIGH_LATENCY ack to commander 2018-04-11 15:15:28 +02:00
acfloria
975d7ddcb2 IridiumSBD: Clean up MavLink message parsing 2018-04-11 15:15:28 +02:00
acfloria
f1a6aecb4d IridiumSBD: Log tx buffer reset in the telemetry_status instead of a status text 2018-04-11 15:15:28 +02:00
acfloria
53fdbb6c04 Remove unnecessary newlines 2018-04-11 15:15:28 +02:00
acfloria
219980cec1 Commander: Combine telemetry variables into struct 2018-04-11 15:15:28 +02:00
acfloria
6f0d3ffe9b Mavlink: Add acknowledge for VEHICLE_CMD_CONTROL_HIGH_LATENCY 2018-04-11 15:15:28 +02:00
acfloria
2a5c7efd8d Mavlink: Use filtered update rate for HIGH_LATENCY2 stream instead of main loop delay 2018-04-11 15:15:28 +02:00
acfloria
e9dde721f7 Commander: Remove Mavlink from CMakeFile 2018-04-11 15:15:28 +02:00
acfloria
8c0450b483 revert v2 cmake changes 2018-04-11 15:15:28 +02:00
acfloria
b95d65df53 Commander: Fix bug when changing to high latency telemetry
Due to the old heartbeat of the high latency telemetry when activating it after flying sufficiently long in normal telemetry it is first detected as lost until the first message is sent.
By updating the heartbeat to the current time on switching this issue is avoided.

Also includes a small style fix for the HIGH_LATENCY2 stream
2018-04-11 15:15:28 +02:00
acfloria
1124a397f2 Commander: Move telemetry logic to separate functions 2018-04-11 15:15:28 +02:00
acfloria
443a4016af Commander: Improve handling and generating of VEHICLE_CMD_CONTROL_HIGH_LATENCY 2018-04-11 15:15:28 +02:00
acfloria
da57dbbce0 Increase the MavLink module stack size 2018-04-11 15:15:28 +02:00
acfloria
b66b997c66 IridiumSBD: Robustify state machine and fix format
- Check if changing to a non standby state if the current state is the standy state and no change is already scheduled.
- Add prefix _ to all class variables
2018-04-11 15:15:28 +02:00
acfloria
63cb895a1d MavlinkStream: Ensure that not multiple messages are sent after some time sending nothing 2018-04-11 15:15:28 +02:00
acfloria
0e89a6b8bd IridiumSBD: Do not allow stopping the driver when the device is used to prevent hardfault 2018-04-11 15:15:28 +02:00
acfloria
d4f703bde8 IridiumSBD: Improve TX buffer handling
- Allow using the full buffer size (340 bytes)
- Add tx mutex for sbd session to avoid dropping message which are written during an sbd session
2018-04-11 15:15:28 +02:00
acfloria
28da1492d3 IridiumSBD: Only write to modem if new data arrived 2018-04-11 15:15:28 +02:00
acfloria
44937c3a99 Iridiumsbd driver: Publish log message when TX buffer is deleted 2018-04-11 15:15:28 +02:00
acfloria
47567c5c24 Improve IridiumSBD TX buffer handling
- Every time data is written to the iridium module all previous untransmitted data is overwritten
- The buffer is reset only on the following conditions
    - A sbd session is successfully completed
    - An incoming mavlink message would result in less than SATCOM_MIN_TX_BUF_SPACE free bytes after it is written
    - Any other incomming data would result in less than SATCOM_MIN_TX_BUF_SPACE free bytes after it is written to the buffer.
2018-04-11 15:15:28 +02:00
acfloria
6c3857a147 Remove exception for command acknowledge in mavlink transmitting 2018-04-11 15:15:28 +02:00
acfloria
f5a66782e5 Reduce required stack for HIGH_LATENCY2 2018-04-11 15:15:28 +02:00
acfloria
ebb5ec7c46 Fix bug when ISBD parameters were too large 2018-04-11 15:15:28 +02:00
acfloria
edd337880d Improve message handling in mavlink IRIDIUM mode
- Do not send any mission updates as they are handled within HIGH_LATENCY2
- Always send a command acknowledge even if transmitting is not enabled
2018-04-11 15:15:28 +02:00
acfloria
32815dc1d3 Only generate the HIGH_LATENCY2 message if transmitting is allowed 2018-04-11 15:15:28 +02:00
acfloria
22e234724f Update timestamp for last sent message im mavlink stream only if the message was sent 2018-04-11 15:15:28 +02:00
acfloria
1fd8b681a0 Transmit one message over high latency telemetry on boot 2018-04-11 15:15:28 +02:00
acfloria
392af4fbb6 Small improvements for the IridiumSBD driver 2018-04-11 15:15:28 +02:00
acfloria
e061b1a3a5 Do not enable hil for high latency mavlink 2018-04-11 15:15:28 +02:00
acfloria
e01763a7c7 Set the HIGH_LATENCY2 stream to a constant rate 2018-04-11 15:15:28 +02:00
acfloria
17a157b9da Adopt high latency switching to new MAV_CMD design 2018-04-11 15:15:28 +02:00
acfloria
fa1586249a Fixes IridiumSBD driver bug when transmitting data 2018-04-11 15:15:28 +02:00
acfloria
ce1b908714 Adopt mavlink stream to new HIGH_LATENCY2 definition 2018-04-11 15:15:28 +02:00
acfloria
78950f2b39 Fix format and remove ets driver from fmu-v2 build 2018-04-11 15:15:28 +02:00
acfloria
cbe75188e9 Add the HighLatency2 mavlink stream 2018-04-11 15:15:28 +02:00
acfloria
75ed9b002b Add the SimpleAnalyzer to generate messages for MAVLink streams 2018-04-11 15:15:28 +02:00
acfloria
a026575e37 commander: Fix for qurt and improve high latency switch logic 2018-04-11 15:15:28 +02:00
acfloria
1cc84ad8c9 Remove magic numbers from commander.cpp and style fixes 2018-04-11 15:15:28 +02:00
acfloria
00f6ef1d2f Style fix and iridium signal check rate fix 2018-04-11 15:15:28 +02:00
acfloria
1223a9abd5 Commander: High latency telem fallback only in non-manual mode 2018-04-11 15:15:28 +02:00
acfloria
b613ca051a Refactor Iridiumsbd driver
- Reorder functions so that they have the same order in the .h and .cpp file
- Update documentation for functions
- Make variables and some functions private
2018-04-11 15:15:28 +02:00