Commit Graph

319 Commits

Author SHA1 Message Date
José Roberto de Souza 925efe990d Initialize all outgoing vehicle_command_ack_s and vehicle_command_s
This will initialize those structs with zero in all fields not set
and all fields set will only be change once to the final value not
wasting CPU time zeroing it.

This will guarantee that no non-unitialized structs will have
a trash value on from_external causing it to be sent to the
MAVLink channel without need it.
2017-08-08 21:46:30 +02:00
Lorenz Meier 22d4178ebc UAVCAN: Use new task header 2017-08-02 21:18:35 +02:00
Julien Lecoeur 940f2c3cca Update libuavcan submodule, fix arm-none-eabi-gcc 7.1.0 warnings 2017-07-18 08:24:37 +02:00
Julien Lecoeur abcb920df4 Fix -Werror=implicit-fallthrough on arm-none-eabi-gcc 7.1.0
BMP280: fix -Werror=implicit-fallthrough on arm-none-eabi-gcc 7

gnss: fix -Werror=implicit-fallthrough on arm-none-eabi-gcc 7

fmu: fix -Werror=implicit-fallthrough on arm-none-eabi-gcc 7

timer.c: fix -Werror=implicit-fallthrough on arm-none-eabi-gcc 7

px4cannode_led: fix -Werror=implicit-fallthrough on arm-none-eabi-gcc 7

Fix -Werror=implicit-fallthrough on gcc7
2017-07-18 08:24:37 +02:00
Michael Schaeuble d53598ed58 UAVCAN: Publish actuator outputs 2017-07-09 14:41:48 +02:00
Daniel Agar 6a443765a5 cmake only include mavlink where used 2017-06-19 20:24:09 +02:00
Todd Stellanova fd47e0cbb3 Set system real time clock once from GNSS data.
Fixes #7421

Tested with Pixracer and Zubax GNSS2.0
2017-06-16 07:46:39 +05:30
Beat Küng ce7d8d2270 sensor_mag.msg: add is_external flag & set it in the mag drivers
With this we don't have to use the ioctl MAGIOCGEXTERNAL, which does not
work on POSIX (eg. RPi).
2017-06-14 19:53:07 +02:00
Lorenz Meier d9dd1b231d UAVCAN server: Use correct MAVLink header version 2017-06-04 10:16:33 +02:00
Lorenz Meier 40eb5df8de UAVCANCAN: Better param documentation and reboot requirements where appropriate 2017-05-02 07:42:14 +02:00
Andreas Antener 00efbffea9 UAVCAN: disable ESCs when in VTOL fixed-wing 2017-04-23 14:59:24 +02:00
Michael Schaeuble 21de5bbc39 Acknowledge vehicle commands in UAVCAN server 2017-04-23 14:49:24 +02:00
Pavel Kirienko 5788701cc7 Replaced warn() with PX4_WARN() 2017-04-06 12:05:57 +02:00
Pavel Kirienko 02a9ccc4f2 Removed dependency on <algorithm> 2017-04-06 12:05:57 +02:00
Pavel Kirienko 098b57534d UAVCAN GNSS bridge: proper handling of various time bases 2017-04-06 12:05:57 +02:00
Pavel Kirienko 8e61ed9b77 Republishing GNSS Fix2 if no GNSS publishers are available on the bus 2017-04-06 12:05:57 +02:00
Pavel Kirienko 14249d3318 UAVCAN GNSS bridge status output shows whether support for the old Fix message is active 2017-04-06 12:05:57 +02:00
Pavel Kirienko 75c45b62d7 UAVCAN GNSS Fix2 handling 2017-04-06 12:05:57 +02:00
Pavel Kirienko 32ac1288ba Libuavcan update 2017-04-06 12:05:57 +02:00
Pavel Kirienko 2b2c307eac Performance audit (intentionally duplicates #6829) (#6847)
* UAVCAN ESC output: removing ESC output channels from published message that are always zero. This allows the UAVCAN stack to always transfer only the minimum number of output values, avoiding redundant zeroes and the associated increase in bus load and CPU time

* Added a separate mixer file for CAN quadrotor

* Sampling profiler improvements

* PMSP: Output more endpoints

* Matrix update

* libc usage workaround

* Removed UAVCAN perfcounters

* Matrix submodule update
2017-03-18 04:16:20 -10:00
David Sidrane c20b85e6ad Revert "UAVCAN performance audit (#6829)" (#6846)
This reverts commit 21e04c9f7a.
2017-03-18 04:04:43 -10:00
Pavel Kirienko 21e04c9f7a UAVCAN performance audit (#6829)
* UAVCAN ESC output: removing ESC output channels from published message that are always zero. This allows the UAVCAN stack to always transfer only the minimum number of output values, avoiding redundant zeroes and the associated increase in bus load and CPU time

* Added a separate mixer file for CAN quadrotor

* Sampling profiler improvements

* PMSP: Output more endpoints

* Matrix update

* libc usage workaround

* Removed UAVCAN perfcounters
2017-03-18 03:47:09 -10:00
Mathieu Bresciani d67b6efda3 PixHawk Pro: Update mag IDs to have external higher priority 2017-03-07 23:43:28 +08:00
Michael Schaeuble 3961c46d68 UAVCAN: Incorporate manual loackdown
This flag is triggered when the manual kill switch is activated. The motors
did not stop when the kill switch was engaged before adding this check.
2017-02-27 12:48:30 +01:00
David Sidrane 9672898a33 uavcan uses mfgid for hwver.unique_id 2017-02-04 22:27:04 +01:00
David Sidrane 4dc8e61612 uavcan uses common board api to interface with systemlib/board_serial 2017-01-25 07:43:11 +01:00
Paul Riseborough 0ba31b521c uavcan: Populate baro device ID
TODO - use unique HW ID
2017-01-19 19:24:52 +01:00
David Sidrane 79d682e740 Master uavcan mainline (#6313)
* Update libuavcan to upstream master with PX4 contrib for NuttX 7.16+

* Release any 64B blocks not needed by usavcan after FW server is stopped.

  We simply call the srrink methode after the server stop.
  See https://github.com/PX4/Firmware/pull/3005#issue-111885687
  for backgound
2017-01-12 13:28:38 -10:00
David Sidrane ba2efff70f Updated libuavcan submodule with upstream ci fix.
This commit does not effect PX4 it just points to a commit
   that fixes a CI failure introduced in the changes upstrem to
   support the nuttx upgrade to 7.16+
2017-01-12 10:53:48 -08:00
Beat Küng 2880bb185f uavcan_main: replace std::array with a C array
Sadly, we cannot use std::array on NuttX
2017-01-03 13:25:33 +01:00
Anton Matosov 3a17c07b1e Implement RC and DL failsafe action handling for multirotors
Move RC and DL failsafe actions handling from navigator to commander (credits to @AndreasAntener)
Separate manual kill switch handling via manual_lockdown to prevent override and release of software lockdown by RC switch

Other changes:
Add failsafe tune
Fix LED blinking for Pixracer
Return back support for rc inputs in simulator but now it is configurable via cmake
2016-12-27 00:38:13 +01:00
Lorenz Meier 66b9ee2d24 UAVCAN: Make GPS module use the multi-topic facility so that a normal GPS and an UAVCAN GPS can co-exist and do not write on top of each other. 2016-12-26 12:12:44 +01:00
Lorenz Meier e6cea82b21 Better default values for UAVCAN params 2016-12-22 15:33:21 +01:00
Beat Küng 7d8553ecd8 uavcan: remove assert() for git name check 2016-12-21 11:35:10 +01:00
Beat Küng 5e9bdff205 version: remove FW_GIT & FW_BUILD_URI, use the correct methods instead
This is cleanup after rebasing
2016-12-21 11:35:10 +01:00
Beat Küng 41dc34204c version cleanup: move all version information into version.c and use a common API
The provided versioning information is the same, except for some additions,
like OS version (which still need to be implemented on NuttX).
2016-12-21 11:35:10 +01:00
Beat Küng c662113527 board_name.c: remove the file and HW_ARCH macro, use px4_board_name() instead
boards define BOARD_NAME, so board_name() is not necessary. HW_ARCH was
just a wrapper around board_name().

This patch simplifies to having only one common method px4_board_name().
2016-12-21 11:35:10 +01:00
David Sidrane f5a0c04ae8 Upstream NuttX irq{save|restor} -> {enter/leave}_critical_section 2016-12-21 08:34:22 +01:00
David Sidrane c9f10107c0 Nuttx Upgrade:Adds sem_setprotocol 2016-12-21 08:34:21 +01:00
David Sidrane cb9517486d Upgrade to uavcan to support Nuttx 7.18+ {enter/leave}_critical_section 2016-12-21 08:34:20 +01:00
Lorenz Meier 313ff2a6f2 UAVCAN: Correct use of unsubscribe 2016-12-19 20:39:03 +01:00
Lorenz Meier 4cb9903561 UAVCAN: Be less verbose on boot 2016-12-12 16:11:21 +01:00
Lorenz Meier b83363a518 UAVCAN: Always enable dynamic node ID allocation 2016-11-16 10:56:08 +01:00
Carlo Wood 04aa2bb3a4 Add missing header files.
These headers files were missing from the header files that
I added them to; the fact that they were missing didn't
lead to compile errors because by coincidence the missing
headers are included in the source files before including
these headers. But, after the reordering of header inclusions
by Tools/fix_headers.sh, these cases will give rise to compiler
errors.
2016-11-13 19:36:27 +01:00
Beat Küng 4bcf2cdb52 uavcan: fix initialization of std::array
in C++11, double braces are needed for std::array aggregate initialization,
or assignment with =.
see: http://en.cppreference.com/w/cpp/container/array
2016-11-04 16:41:13 +01:00
Beat Küng d0dace7c23 uavcan: use math::min instead of std::min
Avoid including <memory> which can cause problems on NuttX
2016-10-24 10:22:48 +02:00
Pavel Kirienko 3a332bb11a Printing all online nodes within UAVCAN status output. This feature increased memory footprint by about 150 bytes. 2016-10-23 15:26:10 +02:00
Pavel Kirienko 9b0ab83f9b Fixed misuse of the preprocessor 2016-10-23 15:26:10 +02:00
Pavel Kirienko eff6a7b5d0 get_next_active_node_id() - starting from 0 2016-10-23 15:26:10 +02:00
Julian Oes 8ff237c69f Remove size optimization for individual modules
It makes more sense to set the optimization flags on a platform basis
instead of individually for each module. This allows for different
optimization options for SITL, NuttX, Snapdragon, etc.
2016-09-30 08:11:51 +02:00