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
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
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
Pavel Kirienko
24e90e3c90
UAVCAN servers: fixed member initialization; removed dead stuff
2016-08-18 17:14:53 +02:00
Pavel Kirienko
d12be196a2
Fixed #5153
2016-08-18 17:14:53 +02:00
Pavel Kirienko
2784c3c5f0
Improved uavcan activity indication
2016-08-18 17:14:53 +02:00
Pavel Kirienko
64d7946cdc
Fixed beep duration
2016-08-18 17:14:53 +02:00
Pavel Kirienko
36efc8c83e
Fixed beeping
2016-08-18 17:14:53 +02:00
Pavel Kirienko
61ffc6c432
Fixed implementation of the ESC auto-enumeration feature
2016-08-18 17:14:53 +02:00
Pavel Kirienko
2fad9a6397
ESC status: printing temperature in Celsius
2016-08-18 17:14:53 +02:00
Pavel Kirienko
42031ab572
Better beeping during ESC enumeration
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
Pavel Kirienko
c08eec0a23
Fixed stack overflow in UAVCAN process ( #4643 )
...
* Increased uavcan stack size; the old value of 1800 was insufficient
* Removed a misleading warning message from uavcan servers initialization
2016-05-26 20:00:10 +02:00
Pavel Kirienko
a268845f1d
Cleaned up UAVCAN ioctl codes
2016-05-17 08:56:02 +02:00
Pavel Kirienko
11a31d5ecb
ESC command transfer priority assigned a high value. This change is not directly related to the current PR, but this change seems minor enough to be pulled in with it.
2016-03-14 09:07:46 +01:00
Pavel Kirienko
1a64b5fa01
Assigned a low transfer priority value for hardpoint commands
2016-03-14 09:07:46 +01: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
Pavel Kirienko
1454e2acba
Libuavcan update: Reduces STM32 CAN IRQ overhead with new error handling logic
2016-02-01 08:16:11 +01:00
Pavel Kirienko
82b3ea2501
Removed an excessive template disambiguator in the virtual CAN driver class (fixes 3190)
2015-11-17 02:00:42 +03:00
Pavel Kirienko
b95609834c
Merge branch 'master' into uavcan_footprint_reduction
2015-11-12 14:49:02 +03: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
635bfb6a7b
CAN driver RX queue reduced to 21 frames per interface; poll() timeout set to 3 ms
2015-10-26 10:19:56 +01:00
Pavel Kirienko
72e651beda
UAVCAN virtual iface: removed a useless class field
2015-10-26 10:19:56 +01:00
Pavel Kirienko
53ed0425da
Libuavcan set to master
2015-10-26 10:19:56 +01:00
Pavel Kirienko
5b9fc2d9fa
Proper termination of UAVACN server thread
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
6c4f09c0e4
Fixed memory leak in UAVCAN baro driver
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
edfb19d9af
Libuavcan update
2015-10-26 10:19:56 +01:00
Pavel Kirienko
1ace017cb8
Deallocating memory used by UAVCAN virtual iface on 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
e6182b8d2b
Libuavcan update
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
Pavel Kirienko
7373d99d72
UAVCAN CMakeLists - removed useless definitions
2015-10-26 10:19:56 +01:00
Pavel Kirienko
e227f139a5
Libuavcan switched to footprint_reduction
2015-10-26 10:19:56 +01:00
Pavel Kirienko
c62b9491ca
Reverted 0e10638c7e
2015-10-03 13:50:07 +03:00
Pavel Kirienko
e2b801a323
Fixes 2911
2015-09-27 12:25:15 +02:00
Pavel Kirienko
8d67483d18
UAVCAN: using only primary interface for servers
2015-08-23 21:28:47 +03:00
Pavel Kirienko
f371ece43b
UAVCAN_ENABLE defaults to 0
2015-08-22 13:54:57 +02:00
Pavel Kirienko
08fde4f505
UAVCAN startup delay fix
2015-08-22 13:54:57 +02:00
Pavel Kirienko
59fd94da3e
Libuavcan synced with the version that has DSDL v1.0.0rc1 - no logical changes
2015-08-22 13:54:57 +02:00
Pavel Kirienko
281cf49586
Libuavcan update - fixed file IO loops
2015-08-22 13:54:57 +02:00
Pavel Kirienko
0e10638c7e
Temporary fix to UAVCAN sensor prioritization issue, see #2081 , #2715
2015-08-22 13:54:57 +02:00
Pavel Kirienko
e1f33871ef
UAVCAN enabled by default
2015-08-22 13:54:57 +02:00
Pavel Kirienko
6864779fa6
Multiple stages for UAVCAN_ENABLE
2015-08-22 13:54:56 +02:00
Pavel Kirienko
4296dac884
Libuavcan update
2015-08-22 13:54:56 +02:00
Pavel Kirienko
9b32a55b40
Libuavcan update
2015-08-22 13:54:56 +02:00
Pavel Kirienko
3860dbdc8c
UAVCAN Barometer driver fix - reporting temperature in Celsius degrees, not in Kelvin
2015-08-22 13:54:56 +02:00
Pavel Kirienko
473d321af8
UAVCAN Magnetometer driver update - no logical changes
2015-08-22 13:54:56 +02:00
Pavel Kirienko
4ec16efe68
Libuavcan update
2015-08-22 13:54:56 +02:00
Pavel Kirienko
36f91d30eb
Fixes pure virtual call exception in VirtualCanDriver<>::handleRxFrame()
...
Stack trace:
Thread [1] (Suspended: Breakpoint hit.)
12 __cxa_pure_virtual() libxx_cxapurevirtual.cxx:66 0x0808ca42
11 notifyRxFrameListener() uc_dispatcher.cpp:216 0x080787ce
10 uavcan::Dispatcher::spinOnce() uc_dispatcher.cpp:276 0x080787ce
9 uavcan::Scheduler::spinOnce() uc_scheduler.cpp:196 0x0807b4e0
8 spinOnce() abstract_node.hpp:88 0x080659fc
7 spinOnce() node.hpp:132 0x080659fc
6 UavcanNode::node_spin_once() uavcan_main.cpp:428 0x080659fc
5 UavcanNode::run() uavcan_main.cpp:542 0x08065e74
4 operator() uavcan_main.cpp:343 0x0806626a
3 UavcanNode::__lambda0::_FUN() uavcan_main.cpp:343 0x0806626a
2 task_start() task_start.c:138 0x08087720
1 <symbol is not available> 0x00000000
2015-08-15 09:53:13 +03:00
Pavel Kirienko
aa412aaced
UAVCAN servers: proper handling of startup failure, more verbose error reporting
2015-08-15 09:42:16 +03:00
Pavel Kirienko
e278419e84
Libuavcan update
2015-08-14 05:12:46 +03:00
Pavel Kirienko
9fa87d1444
LIbuavcan update
2015-08-14 04:45:32 +03:00
Pavel Kirienko
05b6a48d1b
Merge branch 'beta' into beta_uavacan
2015-08-13 22:06:26 +03:00
Pavel Kirienko
e94bc7960c
libuavcan submodule updated
2015-06-11 17:04:22 +02:00
Pavel Kirienko
67c1b230ca
libuavcan submodule updated
2015-06-10 21:20:57 +03:00
Pavel Kirienko
2c61ec6819
UAVCAN update, fixes compilation warning on GCC 4.7 (see #2294 )
2015-06-07 00:10:53 +03:00
Pavel Kirienko
3f961bf3c6
UAVCAN driver silently ignores repeated start commands without error. This allows to avoid error messages when UAVCAN driver is started from extras script before default initialization sequence is executed.
2015-04-23 22:02:34 +03:00
Pavel Kirienko
2f7a9eaf65
Fix for a compilation failure
2015-01-29 16:33:53 +01:00
Pavel Kirienko
ae0e2d7209
Removing extra UAVCAN perfcounters
2015-01-21 14:54:24 +01:00
Pavel Kirienko
f6dc2af398
UAVCAN update
2015-01-21 14:54:24 +01:00
Pavel Kirienko
4baf4a032f
Fixed: Passing this->_armed_sub to close, which cannot accept a negative number.
2015-01-21 14:54:24 +01:00
Pavel Kirienko
91362223ea
Fixed uninitialized fields of UavcanNode
2015-01-21 14:54:24 +01:00
Pavel Kirienko
f6786d0be9
Removing -ffixed-r10 when stack checks aren't enabled
2015-01-21 14:54:24 +01:00
Pavel Kirienko
2ebd7099de
Globally configurable stack checks, R10 is always fixed
2015-01-21 14:54:24 +01:00
Pavel Kirienko
c9eae96cf6
Frame size fix fix per Lorenz's suggestion
2015-01-21 14:54:24 +01:00
Pavel Kirienko
ed27e583e0
UAVCAN update
2015-01-21 14:54:24 +01:00
Pavel Kirienko
4b1782174c
INSTRUMENTATIONDEFINES assignment made non-optional
2015-01-21 14:54:24 +01:00
Pavel Kirienko
1d13edcf92
Stack checks made optional: ENABLE_STACK_CHECKS
2015-01-21 14:54:24 +01:00
Pavel Kirienko
f49f183f74
UAVCAN module: -O3 instead of -Os; fixed instrumentation defines
2015-01-21 14:54:24 +01:00
Pavel Kirienko
c2bc298409
Disable instrumentation for the uavcan module
2015-01-21 14:54:24 +01:00
Pavel Kirienko
885077a1c3
Profiler: folder fix - more special cases for operator<< and operator>>
2015-01-21 14:54:24 +01:00
Pavel Kirienko
569c3b7d37
Using -g3 flag instead of -g
2015-01-21 14:54:23 +01:00
Pavel Kirienko
d87bb4dfcb
Revert "Intrusive changes made for UAVCAN profiling. Will be reverted in the next commit (this one is needed to keep the changes in history)"
...
This reverts commit 4c301d9dcf180e39186fa6753c7a3d3215b3cfa7.
2015-01-21 14:54:23 +01:00
Pavel Kirienko
6bbacc4271
Intrusive changes made for UAVCAN profiling. Will be reverted in the next commit (this one is needed to keep the changes in history)
2015-01-21 14:54:23 +01:00
Pavel Kirienko
543cb23128
Profiler: computing stack top distribution
2015-01-21 14:54:23 +01:00
Pavel Kirienko
647163d6fa
Profiler - header comment fix
2015-01-21 14:54:23 +01:00
Pavel Kirienko
f158c8270b
Rich man's profiler - handling quotes
2015-01-21 14:54:23 +01:00
Pavel Kirienko
d1abf9c133
Poor man's profiler - proper stack folder that handles generic C++ types
2015-01-21 14:54:23 +01:00
Pavel Kirienko
1898b51c74
Profiler: reporting function position in flame graphs
2015-01-21 14:54:23 +01:00
Pavel Kirienko
ff7c33a4b0
Profiler: xdg-open work-around
2015-01-21 14:54:23 +01:00
Pavel Kirienko
c0d71529bc
Profiler fixes
2015-01-21 14:54:23 +01:00
Pavel Kirienko
c0937ec8ca
Profiler fixes
2015-01-21 14:54:23 +01:00