Commit Graph

2040 Commits

Author SHA1 Message Date
Nico van Duijn 240aad1aef mavlink_mission: beautify mission download error
This commit makes the IGN REQUEST LIST: Busy message more user-oriented
and actionable.
2020-03-20 12:54:00 +01:00
Nico van Duijn 849d3a1b54 mavlink_mission: robustify against dropped ack
This commit handles incoming MISSION_REQUEST_LIST messages such that
they are no longer ignored if the previously requested mission has
sent all mission items but the ack has never been received.

This was the cause for frequent "IGN REQUEST LIST: Busy" warnings
2020-03-20 12:54:00 +01:00
Daniel Agar e5d30c4413 Mavlink: split ESTIMATOR_STATUS and VIBRATION streams 2020-03-19 11:17:31 -04:00
Daniel Agar 5fcd7932e9 mavlink: replace MavlinkOrbSubscription with uORB::Subscription
* uORB orb_stat() and update(uint64_t *time, void *dst) are now obsolete and have been deleted
 * mavlink messages add more advertised checks in streams get_size() check to improve data rate calculation across different scenarios
2020-03-14 12:52:46 -04:00
Lorenz Meier ed8cb1c5a7 MAVLink: Add support for new gate command
This enables the vehicle to be able to wait with executing the next item until a position has been passed.
2020-03-14 17:50:40 +01:00
Daniel Agar a89b69b0ea vehicle_global_position: remove velocity fields (duplicates of local vx, vy, vz)
* attitude_estimator_q: get velocity from local position (if available)
2020-03-11 23:57:43 -04:00
Daniel Agar 5d33b9e999 delete Outback Challenge (OBC) AUTO_RTGS (datalink loss) and AUTO_RCRECOVER (rc loss) 2020-03-11 22:45:55 -04:00
TSC21 2568d9ae20 mavlink: timesync: readd timesync_status uORB to report Mavlink timesync 2020-03-10 12:15:18 +00:00
TSC21 170835f3f8 microRTPS: add timesync for the agent side 2020-03-10 12:15:18 +00:00
Julian Kent d2507e831e Add mavlink parsing for bezier message 2020-03-09 09:51:49 +01:00
Matej Frančeškin b8970673c6 Fixed Mavlink FTP tests 2020-03-08 21:43:54 +01:00
Matej Frančeškin ef865a091f Added FileNotFound error code according to new Mavlink FTP specification 2020-03-08 21:43:54 +01:00
David Jablonski ff4ec31d29 templated creation of stream list items
and constexpr for get_id_static and get_name_static in mavlink streams
2020-03-02 19:56:16 -05:00
David Jablonski f57c5ef4a7 Mavlink: implemented SCALED_PRESSURE streams 2020-03-02 19:56:16 -05:00
Martina Rivizzigno 48b7cd926e mavlink_messages: add frame field to obstacle distance and correct typo 2020-03-02 16:49:56 +01:00
Martina 9d06bd1383 mavlink_main: add osbstacle_distance stream to extvisionmin mode 2020-03-02 16:49:56 +01:00
Florian Achermann be35f5555c Add comment to explain iridium exception in the mavlink module 2020-02-28 07:54:25 +01:00
Florian Achermann eb215358fc Fix crashing for the mavlink in the iridium mode
Special handling in the mavlink_open_uart function if mavlink is in the iridium mode.
2020-02-28 07:54:25 +01:00
Matthias Grob f90d3671c0 vehicle_attitude_setpoint: get rid of unused q_d_valid flag 2020-02-27 09:17:52 +01:00
Julian Oes f3fefd7d93 mavlink: support mission transfer cancellation (#14139)
This adds support for MAV_MISSION_OPERATION_CANCELLED which can be used
to cancel an ongoing upload or download of mission/geofence/rally items.
2020-02-24 07:47:08 +01:00
Morten Fyhn Amundsen 0ac300f77a Rename generate virtual RC setter/getter
The old names were unclear to me, especially when
used in the mavlink_receiver.
2020-02-21 09:23:35 +01:00
Beat Küng ef1f677541 fix mavlink_log_handler: close file descriptor if still open in destructor 2020-02-20 10:31:41 +01:00
Nico van Duijn 55372d7cbe Parameterize timeout for radio status 2020-02-13 08:52:27 -05:00
Daniel Duecker 36f836be79 add support for unmanned underwater vehicles (#14079)
* add support for unmanned underwater vehicles:
* airframe uuv_generic + uuv_hippocammpus including mav_type = 12 for submarines
* mixer for UUVs with X-shaped thruster setup similar to quadcopter
* add module  uuv_att_control for underwater robot attitude control
* add rc.uuv_defaults/apps for autostarting e.g. ekf2 and uuv_att_control app
2020-02-04 23:24:37 -05:00
Nico van Duijn 7778cbd463 Mavlink: Add MAV_x_RADIO_CTL parameter to disable RADIO_STATUS flow control
* Add param for software flow ctl on 3DR radios
* Dont reset telemetry type on radio timeout
* Treat 3DR radio as generic link type
* Rename 3DR to SiK radio
2020-02-03 09:49:47 -05:00
Daniel Agar 10410fc868 msg: rename sensor_bias -> estimator_sensor_bias 2020-01-27 09:03:27 +01:00
Daniel Agar 4fef3dd7d5 simulated sensors minor cleanup
- mavlink receiver use PX4Accelerometer/PX4Gyroscope for hil_sensor and hil_state_quaternion
 - simulator module remove unnecessary fake scaling
 - sih module remove unnecessary fake scaling
2020-01-24 12:50:22 -05:00
Julian Oes 1280351feb mavlink: forward everything except what is for us
The previous forwarding rules exclude another onboard MAVLink node to
send messages to a specific target.

E.g. a message from a companion computer with sysid 1 (same as
autopilot) with target sysid 190 (for the ground station) was not
forwarded.

With the new rules, anything that is not specifically addressed to the
autopilot's sysid and compid is forwarded.
2020-01-24 11:14:44 +01:00
Martina Rivizzigno 8162b1095b send obstacle distance data in onboard mode such that they are
received by the gcs when using mavlink router
2020-01-22 16:22:32 +01:00
Daniel Agar bb465ca5b7 sensor accel/gyro message cleanup
- split out integrated data into new standalone messages (sensor_accel_integrated and sensor_gyro_integrated)
 - publish sensor_gyro at full rate and remove sensor_gyro_control
 - limit sensor status publications to 10 Hz
 - remove unused accel/gyro raw ADC fields
 - add device IDs to sensor_bias and sensor_correction
    - vehicle_angular_velocity/vehicle_acceleration: check device ids before using bias and corrections
2020-01-18 01:15:00 -05:00
Low Orbit Ion Cannon 7dd949edb1 ADSB traffic avoidance improvements using UTM_GLOBAL_POSITION (#13159)
* Treat UAVS diffrently from manned aviation 
 * Added fake_traffic testing functionality,
 * Added NAV_TRAFF_AVOID Hold and Landmode
 * Added Behavior: HOLD Position to collision avoidance mode and implemented Landmode to collision avoidance.

Boards where no Hardware GUID is defined will send 0 as GUID.

Right now collision avoidance for more than one FMU without Hardware GUID is not possible.
We should consider adding a randomly generated HW GUID as a placeholder for legacy Boards
2020-01-17 14:58:28 -05:00
Matthias Grob 98a3910b06 mavlink battery_status: report actual cell voltages 2020-01-13 21:29:40 +01:00
Daniel Agar de4f594937 DriverFramework purge
The bulk of this change was tightly coupled and needed to be deleted in one pass. Some of the smaller changes were things that broke as a result of the initial purge and subsequently fixed by further eradicating unnecessary platform differences. Finally, I deleted any dead code I came across in the related files I touched while going through everything.

 - DriverFramework (src/lib/DriverFramework submodule) completely removed
 - added dspal submodule in qurt platform (was brought in via DriverFramework)
 - all df wrapper drivers removed
 - all boards using df wrapper drivers updated to use in tree equivalents
 - unused empty arch/board.h on posix and qurt removed
 - unused IOCTLs removed (pub block, priv, etc)
 - Integrator delete methods only used from df wrapper drivers
 - commander: sensor calibration use "NuttX version" everywhere for now
 - sensors: update to px4_{open, read, close} instead of DevMgr wrapper (adc open for analog differential pressure)
 - battery_status: update to px4_{open, read, close} instead of DevMgr wrapper (adc open for analog differential pressure)
 - cdev cleanup conflicting typedefs and names with actual OS (pollevent_t, etc)
 - load_mon and top remove from linux boards (unused)
 - delete unused PX4_MAIN_FUNCTION
 - delete unused getreg32 macro
 - delete unused SIOCDEVPRIVATE define
 - named each platform tasks consistently
 - posix list_devices and list_topics removed (list_files now shows all virtual files)
2020-01-13 14:07:03 -05:00
kamilritz 593895293a Transform vision covariances 2020-01-09 10:36:10 +01:00
Daniel Agar f7cf1ffc41 drivers/uavcan: remove MAVLINK header dependency 2019-12-31 21:01:21 -05:00
Silvan Fuhrer 7bb952baed update airspeed usage to airspeed_validated (#13710)
* Mavlink: subscribe to airspeed_validated instead of airspeed topic

	This e.g. changes the way QGC displays the airspeed in case of an
	airspeed failure (0 instead of the last valid airspeed). It will
	always display the airspeed that's used currently in the control
	modules.

* FW land detector: move to subscribe to airspeed_validated instead of airspeed topic
	- the land detector checks further if the airspeed is NAN, in which case
	it sets the airspeed to 0 (min groundspeed, vz  and accel checks still
	have to pass.

* Fixed-wing land detector use airspeed_vaidated: addressed review comments
	- replaced ternary by conditional
	- set airspeed to 0 if airspeed_validated stops publishing

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2019-12-28 12:32:41 -05:00
Julian Kent e4a526e3b2 Don't sleep in middle of mavlink message reception 2019-12-19 11:43:03 -08:00
Timothy Scott 7abadabc19 Added support for MAV_CMD_REQUEST_MESSAGE for mavlink streams 2019-12-16 06:45:53 -08:00
Morten Fyhn Amundsen 1d3da86abb mavlink_receiver: Set distance_sensor id field equal to mavlink msg
The id field should be copied from the mavlink message, not
simply set to MAV_DISTANCE_SENSOR_LASER (which is 0).
2019-12-09 09:53:32 +01:00
Beat Küng fbcc6a96bc fix mavlink: fixes for mavlink on USB instance
Open the UART after adding the instance: mavlink_open_uart() might block,
and in that case the parent task waiting for mavlink to be started times
out.

And while waiting for the USB UART device to come up:
- check for _task_should_exit
- check for check_requested_subscriptions()

Side-effects when USB is not plugged in during boot:
- reduces boot duration by 100ms
- fixes duplicate instance name in 'top':
 201 mavlink_if0                     1  0.000  1328/ 2572 100 (100)  w:sig  3
 204 mavlink_if0                   572  4.221  1632/ 2540 100 (100)  w:sig  4
- 'mavlink stop-all' now stops the usb instance as well
2019-12-06 01:00:06 -05:00
Beat Küng e003b1ce79 mavlink: remove unused get_uart_fd(unsigned index) method 2019-12-06 01:00:06 -05:00
Timothy Scott 993fa5bd37 Refactored to work with new battery_status module 2019-12-05 16:38:04 +01:00
Daniel Agar 709961ec8c InvenSense ICM20602 and ICM20608-G: new standalone optimized drivers
- uses the FIFO and SPI DMA to transfer full raw data (8 kHz gyro, 4 kHz accel)
 - new sensor messages for better visibility
   - sensor_{accel, gyro}_fifo: full raw data for optional logging and analysis
   - sensor_{accel, gyro}_status: metadata, clipping, etc
 - currently not enabled by default
2019-12-03 23:21:32 -05:00
daniele ffd010b42d add yaw_absolute to mount_orientation 2019-11-30 19:06:30 +01:00
Julian Oes d27694728b mavlink: remove implicit cast from int to bool
It confused me that we used an int result and casted it into a boolean.

This doesn't change the logic but makes handling the return value explicit.
2019-11-27 10:10:07 -05:00
Julian Oes c5b9ccdc85 mavlink: don't interfere in ongoing transfers
As a convenience we send down the amount of do jumps left to do.
However, we should not send the mission item if happen to be in the
middle of another transfer.
2019-11-27 10:10:07 -05:00
Julian Oes 96fc68ebef mavlink: fix warning on do jump
This fixes the warning:
Mission storage: Unable to read from microSD
which appeared on do jump mission items. The reason was that the
_mission_type can be set to rally or geofence if that was the last
transfer which had happened earlier. Therefore, it would then try to
read a certain rally item from dataman when really a mission item was
supposed to be read.
2019-11-27 10:10:07 -05:00
Daniel Agar b1099379ae mavlink: delete SERVO_OUTPUT_RAW_{2, 3} 2019-11-27 09:30:22 -05:00
Daniel Agar 657138aeb0 mavlink: temporarily disable ACTUATOR_CONTROL_TARGET{1, 2, 3} 2019-11-27 09:30:22 -05:00
Daniel Agar a8ea55d9b6 remove all <cmath> usage
* the NuttX c++ library is incomplete, let's avoid including it until we have a real standard library in place
2019-11-25 10:04:04 -05:00