Commit Graph
125 Commits
Author SHA1 Message Date
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
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
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
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
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 c9f10107c0 Nuttx Upgrade:Adds sem_setprotocol 2016-12-21 08:34:21 +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
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
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 2fad9a6397 ESC status: printing temperature in Celsius 2016-08-18 17:14:53 +02:00
Pavel Kirienko e27d3f4e13 Added new configuration parameter UAVCAN_ESC_IDLT.
This parameter, when enabled, enforces that the UAVCAN ESC driver never outputs zero throttle
while the system is armed. This feature is disabled by default, so the change will not break
the experience of current users.
2016-08-18 17:14:53 +02:00
Pavel Kirienko ef343dc452 STM32 CAN driver moved from .data to heap; partially resolves #4677 (#4681) 2016-05-29 13:54:45 +02:00
Lorenz Meier 7398164fcc Updated PX4 use / API of low level GPIO and other hardware-centric system facilities 2016-05-28 14:56:17 +02:00
Pavel Kirienko a268845f1d Cleaned up UAVCAN ioctl codes 2016-05-17 08:56:02 +02:00
Holger Steinhaus 59ee9ea1ae uavcan: add IOCTL interface for queryiung node discovery progress 2016-04-17 16:06:09 +02:00
Holger Steinhaus 0ddf720759 uavcan: fix shadowed variable 2016-04-08 22:36:59 -07:00
Pavel Kirienko 8fd05e81b7 Fixed string literals after autoformatting (astyle is stupid) 2016-03-14 09:07:46 +01:00
Pavel Kirienko 6c3af77937 Fixed hardpoint controller initialization 2016-03-14 09:07:46 +01:00
Pavel Kirienko 1b75da8103 UAVCAN better usage help 2016-03-14 09:07:46 +01:00
Pavel Kirienko 1ac88ec034 Improved hardpoint command handling 2016-03-14 09:07:46 +01:00
Pavel Kirienko 7b83e828b8 UAVCAN hardpoint driver: fixed mutex lock/unlock 2016-03-14 09:07:46 +01:00
blah 5e596df859 fixed mutex in hardpoint_controler_set() 2016-03-14 09:07:46 +01:00
blah ef7e11e56c more format fixing... 2016-03-14 09:07:46 +01:00
blah 1188aa138c Fixed formating and cleanup 2016-03-14 09:07:46 +01:00
blah 147606a399 moved function defenition 2016-03-14 09:07:46 +01:00
blah 7d079d1dd7 added/fixed more checking on hardpoint set command for CLI 2016-03-14 09:07:46 +01:00
blah c98e236744 fixed CLI hardpoint_controller set 2016-03-14 09:07:46 +01:00
blah 8a1a9b43e0 CLI for hardpoint, set_commmand call not working 2016-03-14 09:07:46 +01:00
blah 26b7fff239 buch of error fixes for the uavcan hardpoint stuff 2016-03-14 09:07:46 +01:00
blah 9228e420d0 IOCTL for Hardpoint controller and instantiation for UavcanHardpointController as a field of UavcanNode 2016-03-14 09:07:46 +01:00
Holger Steinhaus 5acad450f8 uavcan module: extracted public module header for inclusion from other components
The module has some interfaces, that need to be known by external components (e.g. the IOCTL bases and device paths). These were defined in uavcan_main.hpp, which contains to much internal knowledge to be includable from other components.
2016-03-13 17:56:06 +01:00
Holger Steinhaus 76da9ab82b Set default node id to 1, default bitrate to 1M 2016-01-29 09:19:57 +01:00
David Sidrane 32ae638974 Support GPIO_CAN2_RX not defined 2015-11-28 09:13:15 +01:00
Pavel Kirienko 96a12a6027 UAVCAN extended status reporting 2015-10-26 10:19:56 +01:00
Pavel Kirienko e06c46da03 uavcan status output extended with CAN error reporting 2015-10-26 10:19:56 +01:00
Pavel Kirienko 9d86dbb6a1 Fixed memory leaks in the primary UAVCAN thread 2015-10-26 10:19:56 +01:00
Pavel Kirienko 109bee855b Node on leaked memory in UAVCAN driver 2015-10-26 10:19:56 +01:00
Pavel Kirienko ca4e55fec3 UAVCAN allocator as a dedicated type; reporting a warning if memory leak is deetcted upon destruction 2015-10-26 10:19:56 +01:00
Pavel Kirienko a570d1de7d UAVCAN memory usage status and shrink 2015-10-26 10:19:56 +01:00
Pavel Kirienko 407191d4ab UAVCAN driver transformed to use global memory pool 2015-10-26 10:19:56 +01:00
Lorenz Meier e96f4e1944 FMUv1: Fix CAN compilation 2015-10-11 14:06:43 +02:00
Lorenz Meier 0da9b4d715 Merge branch 'master' of github.com:PX4/Firmware into cmake-2 2015-09-23 21:17:15 +02:00