Commit Graph
2371 Commits
Author SHA1 Message Date
Nicolas Martin b24e5fc0af clean remaining offboard_control_signal_found_once
offboard_control_signal_found_once is not used any more
2021-09-28 09:25:04 -04:00
Nicolas Martin 417a50b2cc fix typo in comment 2021-09-28 09:24:47 -04:00
Daniel Agar 333f539900 mavlink: add simple incoming message stats to status 2021-09-27 09:48:00 -04:00
Julian Oes e81214a22f mavlink: avoid double trigger using sequence
By adding the sequence number we can avoid double triggering due to
command retransmissions. This is according to the mavlink spec for
MAV_CMD_IMAGE_START_CAPTURE.
2021-09-25 20:18:07 -04:00
Daniel AgarandBeat Küng 089c962d92 px4io: moving mixing to FMU side
Using mixers on the IO side had a remote benefit of being able to
override all control surfaces with a radio remote on a fixed wing.
This ended up not being used that much and since the original design
10 years ago (2011) we have been able to convince ourselves that the
overall system stability is at a level where this marginal benefit,
which is not present on multicopters, is not worth the hazzle.

Co-authored-by: Beat Küng <beat-kueng@gmx.net>
Co-authored-by: Daniel Agar <daniel@agar.ca>
2021-09-25 19:15:05 -04:00
Igor Mišić 9ad0e5b357 mavlink_receiver: updated sens flow parameters to be dynamically handle 2021-09-23 09:23:22 +02:00
Beat Küng 6f902e54f9 mavlink: correctly lock radio status
- hrt_elapsed_time_atomic is not atomic on posix
- other fields like _radio_status_mult need protection as well
2021-09-23 09:23:08 +02:00
Claudio Micheli fa4fc5f347 esc_report: change esc_temperature field to allow negative values
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2021-09-11 15:14:49 -04:00
Beat Küng b31276a4f5 mavlink: switch to events 2021-09-11 14:08:41 -04:00
Daniel Agar 478cc576ee commander: warn on offboard mission init
- this could happen because the SD card was formatted
2021-09-01 15:16:00 -04:00
Daniel Agar 65b1a9648d Tools/HIL/run_nsh_cmd.py: fail if ERROR printed in output 2021-09-01 15:16:00 -04:00
Hylke Faas 34483aef0f Do not resend a mission request if it is not the expected sequence number, this can cause an excessive increase of used bandwith (#18082) 2021-08-30 13:39:51 +02:00
Daniel Agar a917793248 mavlink: only block parameter sync until boot complete 2021-08-30 13:27:51 +02:00
Beat Küng d8214f5e00 component_information: merge extra component_information_header target
With Makefile build, generate_component_general.py was called twice during
build, which did not happen with the ninja build.

This created a race condition with the following error in rare cases:
Traceback (most recent call last):
  File "/__w/PX4-Autopilot/PX4-Autopilot/src/lib/component_information/generate_component_general.py", line 79, in <module>
    save_compressed(filename)
  File "/__w/PX4-Autopilot/PX4-Autopilot/src/lib/component_information/generate_component_general.py", line 33, in save_compressed
    with open(filename, 'r') as content_file:
FileNotFoundError: [Errno 2] No such file or directory: '/__w/PX4-Autopilot/PX4-Autopilot/build/px4_sitl_default/component_general.json'
make[3]: *** [src/lib/component_information/CMakeFiles/component_information_header.dir/build.make:68: component_general.json] Error 1

Merging the targets avoids the duplicate execution.
2021-08-25 10:04:39 -04:00
Jukka Laitinen e49791cdf2 Increase mavlink stack for 64 bit targets
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-08-24 10:16:27 -04:00
Kjersti Brynestad 62aa9c9f34 Correct conversion from sec to usec 2021-08-23 20:17:26 +01:00
Daniel Agar a4527485a3 mavlink: update radio status timestamp atomically
- this is updated by the mavlink rx thread, but checked in the tx thread
2021-08-23 11:16:10 -04:00
Beat Küng e1ac6fe297 logger: send post-flight perf data when stopping mavlink log streaming
- send out VEHICLE_CMD_RESULT_IN_PROGRESS
- delete the ulog object when receiving the ACK from logger, instead of
  the stop command
2021-08-12 10:09:11 -04:00
TSC21 a324e5465a timesync: extend timesync_status message with protocol source field and enum 2021-08-12 08:44:53 +02:00
Claudio Micheli a6d88cad18 mavlink_main: add ESC_INFO & ESC_STATUS to onboard_lowbandwith configuration
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2021-08-11 17:20:08 +02:00
Oleg Evseev a93f8dade4 mavlink: receiver fix geo include 2021-08-10 08:18:28 -04:00
Daniel Agar fb3b7a4649 mavlink: receiver handle RC_CHANNELS if from MAV_COMP_ID_SYSTEM_CONTROL 2021-08-04 17:15:24 -04:00
Daniel Agar d997a8d308 mavlink: receiver fix HIL_STATE_QUATERNION map projection init
- fixes https://github.com/PX4/PX4-Autopilot/issues/17977
2021-08-02 09:59:09 -04:00
Igor Mišić af2247bd94 mavlink: use dynamic camera comp id instead of hardcoded value 2021-07-31 12:41:49 -04:00
Dima Ponomarev d08d0443bc Add internal combustion engine status uavcan bridge and mavlink EFI_STATUS stream 2021-07-30 22:31:43 -04:00
Daniel Agar e9f84ba708 keep minimal legacy battery parameters for older QGC usability
- BAT_V_EMPTY, BAT_V_CHARGED, BAT_V_LOAD_DROP, BAT_N_CELLS
2021-07-23 15:07:53 -04:00
Julian Oes 11480cdbc7 mavlink: fix offboard velocity input
This reverts the behavior for offboard velocity setpoint.

Back in v1.11, the velocity input in NED_BODY was assumed to be in the
world frame but rotated by yaw to the vehicle frame. With the current
state the frame is completely fixed to the body. While this might be
technically correct, it doesn't seem much intuitive for multicopters
and breaks the MAVSDK offboard velocity API.

So as an example, with a velocity setpoint of 5 m/s forward, the drone
would in
- v1.11: fly forward with 5 m/s
- v1.12: start to fly forward by pitching down but then descend rapidly
  as the forward velocity would translate to a setpoint in Z into the
  ground as it is pitched down.

This commit restores the behavior to what we had previously.
2021-07-22 09:40:29 +02:00
Oleg Evseev 440449b85f mavlink: use explicit routing for message forwarding
Forward message to other mavlink channels only if it is broadcast or the target component was seen on this link before (at least one message was received)
2021-07-21 10:39:14 +02:00
Daniel Agar 774ad80ba0 systemcmds/tests: split out microbenchmarks and remove obsolete tests
- reorganize Jenkins HIL tests
2021-07-18 18:02:33 -04:00
Igor Mišić 54c91002cd mavlink_ulog: update ulog_stream message lost errors to perf counter 2021-07-16 21:38:56 -04:00
Beat Küng cfef0c5d5a mavlink_ulog: check for lost ulog_stream ulog messages 2021-07-16 21:38:56 -04:00
Daniel Agar 883624d915 lib/geo: move from ecl 2021-07-15 10:38:24 -04:00
Daniel Agar dbaed99626 cmake remove git_ecl target 2021-07-13 10:03:06 -04:00
Oleg 76b34132a5 mavlink: fix incorrect rejection of forwarded alien commands 2021-07-12 10:34:43 +02:00
Oleg 76dedfec5d mavlink: optimize message forwarding 2021-07-10 12:04:17 -04:00
TSC21 e39e3b3418 events interface: chance uORB 'sequence' to 'event_sequence'
The reason is that sequence is an IDL reserved keyword, which results on failure when parsing with FastRTPSGen.
2021-07-09 13:24:13 +02:00
Beat Küng 38f3b8d356 mavlink & system: add events interface
- sending protocol
- uorb event message & template methods for argument packing
- libevents submodule to send common events and handle json files
- cmake maintains a list of all (PX4) source files for the current build
  (PX4 modules + libs), which is used to extract event metadata and
  generate a json file
2021-07-07 21:38:09 -04:00
Beat Küng 14ec7a0d93 mavlink: tcflush() uart before closing it
On NuttX with flow control, if no one was reading from the uart, the
close() call would block indefinitely waiting for data to be sent.
2021-06-17 09:40:57 -04:00
David Sidrane 65d026d45c mavlink:Use inttypes 2021-06-16 17:07:47 +02:00
Beat Küng 615e1f3e29 mavlink: fix module doc for broadcast 2021-06-11 09:01:41 +02:00
Julian Oes ca86416ce6 mavlink: don't read garbage target sysid/compid
This fixes a tricky bug that we discovered in MAVSDK:
https://github.com/mavlink/MAVSDK/pull/1464

It turns out the target_system and target_component fields can
potentially be:
1. at the end of a message payload,
2. and zero,

and therefore they get trimmed. When you then try to read it you
potentially read some garbage from the CRC fields.
2021-06-09 15:40:46 -04:00
Daniel Agar 328c5cb1cf mavlink: properly cleanup instance on exit 2021-06-09 10:58:34 -04:00
Matthias Grob ed62ae0e4f mavlink: add actuator_armed header to heartbeat 2021-06-07 08:55:49 -04:00
Daniel Agar 4f8f1a5f7e mavlink: streams HEARTBEAT fix code style 2021-06-04 20:43:25 -04:00
Matthias Grob faabe2d431 mavlink: make sure heartbeat reports flight termination 2021-06-04 12:48:22 -04:00
Daniel Agar 470c3cfa6e mavlink: streams HEARTBEAT fix vehicle_control_mode copy 2021-06-04 15:19:34 +02:00
CUAVmengxiao 98fb373590 mavlink: 14S battery support 2021-06-04 09:15:40 -04:00
Julian Oes 60235f8474 mavlink: properly initialize vehicle_command queue
This makes sure that the vehicle_command topic is properly
initialized from the beginning.

orb_exists returns -1 or 0 and not a bool as one would expect.
2021-06-03 08:53:39 -04:00
Daniel Agar 9969edfabc mavlink: STATUSTEXT stream use perf count for missed messages
- don't send stale messages
 - process all queued messages until tx buffer is full
2021-05-20 10:39:11 -04:00
Julian Oes 1f40a65210 mavlink: improve command param5/6, x/y handling
This adds support to handle INT32_MAX for COMMAND_INT.x/y by converting
it to NAN internally.

It also adds paranoid checks to prevent:
- NAN being used sent by a COMMAND_INT by mistake.
- INT32_MAX being used sent by a COMMAND_LONG by mistake.
2021-05-20 09:26:30 +02:00