Pavel Kirienko
|
f155702008
|
Data type registrator went the same way - using plain statics instead of in-place allocation at first call. For code size critical applications, GCC flag -fno-threadsafe-statics should be used
|
2014-04-20 23:40:32 +04:00 |
|
Pavel Kirienko
|
7a02960401
|
Good old GDTR singleton re-implemented via static local again, because previous implementation could cause undefined behavior as GDTR could be initialized after static type registrators that use it
|
2014-04-20 23:14:02 +04:00 |
|
Pavel Kirienko
|
0fd24fd6b0
|
Braces in complex boolean condition to suppress false positive from the static analyzer
|
2014-04-19 22:55:57 +04:00 |
|
Pavel Kirienko
|
c1be9f1fef
|
Explicit virtual keyword
|
2014-04-19 18:51:36 +04:00 |
|
Pavel Kirienko
|
acff3d274c
|
Null pointer checks
|
2014-04-19 16:47:14 +04:00 |
|
Pavel Kirienko
|
799846de02
|
Scope hiding fixes
|
2014-04-19 16:32:42 +04:00 |
|
Pavel Kirienko
|
c4c77ea321
|
Fixed typedef reuse
|
2014-04-19 15:52:17 +04:00 |
|
Pavel Kirienko
|
1853f5c73c
|
Explicit constructors
|
2014-04-18 19:37:08 +04:00 |
|
Pavel Kirienko
|
87e89fc042
|
Heavy optimizations for ROM/RAM usage in UAVCAN_TINY mode
|
2014-04-16 21:11:42 +04:00 |
|
Pavel Kirienko
|
f8b10ab003
|
Shorter error strings - saves ~200 bytes
|
2014-04-16 16:59:58 +04:00 |
|
Pavel Kirienko
|
627dc5f2d9
|
UAVCAN_TINY preprocessor option - STM32 test compiles into 41kB in release mode (-Os, LTO)
|
2014-04-12 23:28:32 +04:00 |
|
Pavel Kirienko
|
e476a957a8
|
NetworkCompatibilityChecker will not be executed at each Node<>::start(), there's special method for that - Node<>::checkNetworkCompatibility()
|
2014-04-12 22:10:26 +04:00 |
|
Pavel Kirienko
|
dd5908dad8
|
Renaming: NodeInitializer --> NetworkCompatibilityChecker
|
2014-04-12 21:40:30 +04:00 |
|
Pavel Kirienko
|
4e7287358a
|
Dynamic memory refactoring: Entire library now uses IPoolAllocator instead of IAllocator, which was removed completely. This change was needed to enable TX queue constraints, see the next commits.
|
2014-04-12 17:17:06 +04:00 |
|
Pavel Kirienko
|
bba89bdd3d
|
Node<>::getAllocator() preserves full allocator type
|
2014-04-11 19:23:05 +04:00 |
|
Pavel Kirienko
|
d2eb0a03ee
|
Properly implemented registerInternalFailure(); some logging in STM32 test app
|
2014-04-11 14:18:36 +04:00 |
|
Pavel Kirienko
|
e567c16fd0
|
Compact Entry constructor for GlobalDataTypeRegistry::regist<>()
|
2014-04-10 22:51:37 +04:00 |
|
Pavel Kirienko
|
c26c320dd9
|
Fixed GDTR singleton (http://stackoverflow.com/questions/22985570)
|
2014-04-10 15:05:55 +04:00 |
|
Pavel Kirienko
|
f768378e2b
|
Size optimized ServiceClient<>
|
2014-04-09 18:04:16 +04:00 |
|
Pavel Kirienko
|
3391803d86
|
GenericSubscriber: one method moved to the base class
|
2014-04-09 18:03:31 +04:00 |
|
Pavel Kirienko
|
33bb1be4a1
|
Space optimized GenericSubscriber
|
2014-04-09 17:19:31 +04:00 |
|
Pavel Kirienko
|
44153e16db
|
GenericPublisher made noncopyable
|
2014-04-09 17:02:14 +04:00 |
|
Pavel Kirienko
|
72425b712a
|
Space optimized GenericPublisher
|
2014-04-09 16:38:49 +04:00 |
|
Pavel Kirienko
|
5bd2f0ea74
|
Out of line methods - Node<>
|
2014-04-09 15:58:29 +04:00 |
|
Pavel Kirienko
|
6177e27f8d
|
GDTR - Out of line methods
|
2014-04-09 15:42:23 +04:00 |
|
Pavel Kirienko
|
a8d12d2004
|
TransferBufferManager rewritten to move all the code into a non-generic subclass. STM32 test code size reduced to 176k (-O1)
|
2014-04-09 11:52:05 +04:00 |
|
Pavel Kirienko
|
e8fa4a2369
|
UAVCAN_EXPORT
|
2014-04-08 15:40:51 +04:00 |
|
Pavel Kirienko
|
e485541c2e
|
Compilation error fixes, thanks GCC 4.8
|
2014-04-02 14:12:21 +04:00 |
|
Pavel Kirienko
|
3bbcc9b0db
|
Removed excessive void casts
|
2014-04-01 23:35:05 +04:00 |
|
Pavel Kirienko
|
5d737cf171
|
Logging shortcuts return void, since logging functions are not expected to fail in most cases
|
2014-04-01 23:15:35 +04:00 |
|
Pavel Kirienko
|
943b50bdf0
|
Publisher::broadcast() with explicit Transfer ID
|
2014-04-01 18:25:04 +04:00 |
|
Pavel Kirienko
|
fd6f27b7d8
|
Callback type made visible
|
2014-03-31 18:45:46 +04:00 |
|
Pavel Kirienko
|
74ecfe0cc8
|
Fixed type signedness through the entire codebase; driver interfaces do not use starndard types now
|
2014-03-29 22:40:15 +04:00 |
|
Pavel Kirienko
|
c6df3833d3
|
Subscriber and Server register their internal errors in the global transport perf counter object
|
2014-03-28 19:31:02 +04:00 |
|
Pavel Kirienko
|
0d9be57d92
|
handleFatalError() moved to error.hpp
|
2014-03-28 19:26:25 +04:00 |
|
Pavel Kirienko
|
ae63ad5db5
|
Meaningful error codes instead of plain -1
|
2014-03-28 19:21:08 +04:00 |
|
Pavel Kirienko
|
6b733dde49
|
Main Node class
|
2014-03-28 13:21:56 +04:00 |
|
Pavel Kirienko
|
062170c995
|
Using std::function<> for callbacks with C++11
|
2014-03-28 02:17:00 +04:00 |
|
Pavel Kirienko
|
c7cc8c8758
|
Removed duplicated code of Timer
|
2014-03-28 00:27:14 +04:00 |
|
Pavel Kirienko
|
49eb6fa463
|
Forgotten #pragma once
|
2014-03-27 22:50:30 +04:00 |
|
Pavel Kirienko
|
701f2a07e1
|
ServiceClient incapsulation fix
|
2014-03-27 22:24:13 +04:00 |
|
Pavel Kirienko
|
f30b071fcf
|
Preventing recursive calls of Scheduler::spin()
|
2014-03-27 14:03:05 +04:00 |
|
Pavel Kirienko
|
5157f9182e
|
C++11 Timer API
|
2014-03-27 13:52:41 +04:00 |
|
Pavel Kirienko
|
9476dfbdad
|
Renaming: Timer --> TimerBase, see the next commit
|
2014-03-27 11:59:02 +04:00 |
|
Pavel Kirienko
|
851e984e35
|
Renaming TransportPerfCounter --> TransferPerfCounter
|
2014-03-27 02:51:06 +04:00 |
|
Pavel Kirienko
|
da357f5992
|
TransportPerfCounter - counting transfers and transport errors
|
2014-03-27 02:19:27 +04:00 |
|
Pavel Kirienko
|
0cc627016a
|
Automated style fixes in order to bring the code a little bit closer to compliance with MISRA C++ rules. No changes in logic.
|
2014-03-25 03:04:36 +04:00 |
|
Pavel Kirienko
|
cce657e1fe
|
Manual style fixes, logic was not affected
|
2014-03-25 01:36:25 +04:00 |
|
Pavel Kirienko
|
5f434fe072
|
getIfaceIndex() for received transfers
|
2014-03-21 18:32:20 +04:00 |
|
Pavel Kirienko
|
c15ceb64ec
|
Optional pre-initialization for GenericPublisher<>, TransferSender accessor
|
2014-03-21 18:24:34 +04:00 |
|