Julian Oes 7c90b06628 mavlink_ftp: fix tests after implementation fix
In commit 462b572172 the reading operation
on the PX4 side was changed to only read as many bytes as requested
rather than however many fit in the payload data.

This caused the unit tests to fail which this commit here aims to fix.

What is confusing about MAVLink FTP is that there is a size field which
generally signals how many bytes of the payload data are used/set.

However, in the case of a read requst, the size field is used to
indicate how many bytes should be read. The payload data is empty in
that case though.

This case was, from how I understand it, not implemented/tested in the
unit tests and now failed. In order to implement it I had to change a
few things:
- Change _setup_ftp_msg and _send_receive_msg so that the params contain
  a data length rather than the size field. The size field itself needs
  to be set outside of these methods using payload->size.
- Since we test files smaller, equal, and bigger than one payload data
  length, I implemented that we send multiple read requests until we
  have the whole file and not just the first part.
- Additionally, I saw a lot of uninitialized warnings in valgrind, and
  got rid of them by adding a few zero initializations.
2021-11-26 15:50:28 -05:00
2021-11-25 13:11:45 -05:00
2020-01-13 14:07:03 -05:00
2021-09-08 18:19:53 +02:00
2021-11-25 13:11:45 -05:00
2021-11-16 12:20:57 -05:00
2017-07-30 19:18:49 +02:00
2020-04-29 22:49:30 +01:00
2017-01-02 10:14:41 +01:00
2021-10-07 10:09:01 -04:00
2021-11-15 18:47:38 -05:00
2021-02-02 23:05:48 +01:00
2021-11-15 18:47:38 -05:00
2019-10-07 12:04:50 +02:00

PX4 Drone Autopilot

Releases DOI

Nuttx Targets SITL Tests

Slack

This repository holds the PX4 flight control solution for drones, with the main applications located in the src/modules directory. It also contains the PX4 Drone Middleware Platform, which provides drivers and middleware to run drones.

PX4 is highly portable, OS-independent and supports Linux, NuttX and MacOS out of the box.

Building a PX4 based drone, rover, boat or robot

The PX4 User Guide explains how to assemble supported vehicles and fly drones with PX4. See the forum and chat if you need help!

Changing code and contributing

This Developer Guide is for software developers who want to modify the flight stack and middleware (e.g. to add new flight modes), hardware integrators who want to support new flight controller boards and peripherals, and anyone who wants to get PX4 working on a new (unsupported) airframe/vehicle.

Developers should read the Guide for Contributions. See the forum and chat if you need help!

Weekly Dev Call

The PX4 Dev Team syncs up on a weekly dev call.

Note

The dev call is open to all interested developers (not just the core dev team). This is a great opportunity to meet the team and contribute to the ongoing development of the platform. It includes a QA session for newcomers. All regular calls are listed in the Dronecode calendar.

Maintenance Team

See also maintainers list (px4.io) and the contributors list (Github).

Supported Hardware

This repository contains code supporting Pixhawk standard boards (best supported, best tested, recommended choice) and proprietary boards.

Pixhawk Standard Boards

Manufacturer and Community supported

Additional information about supported hardware can be found in PX4 user Guide > Autopilot Hardware.

Project Roadmap

A high level project roadmap is available here.

S
Description
a mirror of official PX4-Autopilot
Readme BSD-3-Clause
587 MiB
Languages
C++ 51.2%
C 38.5%
CMake 4.7%
Python 3.9%
Shell 1.3%
Other 0.1%