326 Commits

Author SHA1 Message Date
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
5808bfc0c9 LimitedPoolAllocator (for TX queue) 2014-04-12 13:40:15 +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
d0b541e22d Added config macro UAVCAN_TOSTRING 2014-04-10 13:32:35 +04:00
Pavel Kirienko
f66f06e895 Removed sstream from time.hpp 2014-04-10 12:11:45 +04:00
Pavel Kirienko
266e95127b Removed sstream in OTR 2014-04-10 11:50:14 +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
311ae8dca1 Refactored TransferListener - all logic moved into non-generic subclass and implemented in *.cpp 2014-04-09 15:06:27 +04:00
Pavel Kirienko
990a531674 Protected constructor of MapBase<> 2014-04-09 12:51:10 +04:00
Pavel Kirienko
37f78c9261 Optimized Map<> 2014-04-09 12:24:27 +04:00
Pavel Kirienko
2c9572d845 TransferBuffer optimized RAM usage 2014-04-09 11:59:45 +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
9e5115948b Out of line Logger methods 2014-04-08 23:07:36 +04:00
Pavel Kirienko
dd38c38ff2 Out of line methods in transfer_listener.hpp 2014-04-08 21:27:35 +04:00
Pavel Kirienko
8102980583 Out of line methods for ScalarCodec 2014-04-08 21:16:38 +04:00
Pavel Kirienko
a573f48372 Space optimized transfer_buffer.hpp - STM32 test 180k -O1 2014-04-08 21:13:37 +04:00
Pavel Kirienko
6a68318d49 OTR out of line methods 2014-04-08 19:07:57 +04:00
Pavel Kirienko
e6559eff9f Out of line methods in linked_list.hpp 2014-04-08 18:59:15 +04:00
Pavel Kirienko
a32d0d335c Out of line methods in dynamic_memory.hpp 2014-04-08 18:54:05 +04:00
Pavel Kirienko
a13e4de58a Much space optimized Map<> container - saves 40kb of Flash for STM32 test (-O1) 2014-04-08 18:43:40 +04:00
Pavel Kirienko
20aa6e3056 Removed needless declarations from dynamic_memory.hpp 2014-04-08 18:22:52 +04:00
Pavel Kirienko
f702be8dc7 Slightly optiimzed for size ScalarCodec 2014-04-08 18:08:09 +04:00
Pavel Kirienko
e8fa4a2369 UAVCAN_EXPORT 2014-04-08 15:40:51 +04:00
Pavel Kirienko
159b14e129 Array::packSquareMatrix(), Array::unpackSquareMatrix() 2014-04-07 20:26:51 +04:00
Pavel Kirienko
e077bbf7a9 Defaults for dynamic memory: Default block size is 64 bytes; packing is disabled by default; alignment set to __BIGGEST_ALIGNMENT__ if available, otherwise 16 bytes. 2014-04-05 16:55:03 +04:00
Pavel Kirienko
db334f9fab Increased MemPoolAlignment (16 bytes) 2014-04-05 16:34:17 +04:00
Pavel Kirienko
e485541c2e Compilation error fixes, thanks GCC 4.8 2014-04-02 14:12:21 +04:00
Pavel Kirienko
9e91cd1e7c C++ library usage fix: snprintf() may or may not be in std:: 2014-04-02 13:53:39 +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
53c870a950 Fixed time synchronization master: publishing to all ifaces with the same Transfer ID 2014-04-01 23:01:34 +04:00
Pavel Kirienko
943b50bdf0 Publisher::broadcast() with explicit Transfer ID 2014-04-01 18:25:04 +04:00
Pavel Kirienko
e2fa613917 Added slave time sync suppression, which allows to use slave and master on the same node. Shall be documented later. 2014-04-01 17:35:32 +04:00
Pavel Kirienko
d8a976df00 Removed annoying debug trace in ServiceResponseTransferListener 2014-04-01 12:29:13 +04:00
Pavel Kirienko
0eb6704edf ILogSink logging level method made non-pure with default level DEBUG 2014-04-01 00:49:40 +04:00
Pavel Kirienko
0b2c00307d Some functions with unused return value explicitly casted to (void) 2014-04-01 00:13:43 +04:00
Pavel Kirienko
fd6f27b7d8 Callback type made visible 2014-03-31 18:45:46 +04:00
Pavel Kirienko
75f475fac2 CamIOManager allows the driver to set event masks even if corresponding events were not requested. This feature somewhat simplifies driver logic. 2014-03-31 14:22:52 +04:00
Pavel Kirienko
d2b3832860 Proper priority comparison for CAN frames of different types 2014-03-31 00:32:52 +04:00
Pavel Kirienko
fc4d54ed86 Runtime checks for maximum DLC 2014-03-30 20:04:19 +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