Commit Graph

211 Commits

Author SHA1 Message Date
Pavel Kirienko f5fd0ffe26 NodeStatus TX timeout set to a large value 2014-03-18 16:00:59 +04:00
Pavel Kirienko aeee4b9e37 Added Dispatcher type usage methods: hasPublisher(), hasSubscriber(), hasServer() 2014-03-18 15:33:31 +04:00
Pavel Kirienko c9b284a2d7 IOutgoingTransferRegistry::exists() 2014-03-18 15:15:53 +04:00
Pavel Kirienko b5e201647f Map<> got the new method findFirstKey<>(), which is needed for the upcoming Dispatcher logic 2014-03-18 14:58:05 +04:00
Pavel Kirienko 3a86edad62 Faster CharArrayFormatter 2014-03-18 11:06:47 +04:00
Pavel Kirienko 11267860f3 Logger implementation 2014-03-18 02:30:57 +04:00
Pavel Kirienko 1e2352bb30 CharArrayFormatter<> implementation and tests 2014-03-18 00:45:11 +04:00
Pavel Kirienko eb0139bd66 array.hpp - fixed #include 2014-03-18 00:44:39 +04:00
Pavel Kirienko 7603007d90 Array<>::appendFormatted() + test 2014-03-17 23:25:45 +04:00
Pavel Kirienko 41eeae8200 Automatic selection between <stdint.h> and <cstdint> depending on the C++ standard. This improvement made the library completely independent from the standard C headers in C++11 mode. In C++03 mode, though, some C headers are still needed: <stdint.h>, <math.h> 2014-03-17 21:15:20 +04:00
Pavel Kirienko 81a03b4d5e impl_constants.hpp: macro definitions were moved out of ::uavcan namespace 2014-03-17 20:51:18 +04:00
Pavel Kirienko 3f99cdd607 Proper #define for UAVCAN_EXCEPTIONS 2014-03-17 20:48:03 +04:00
Pavel Kirienko 093328e386 Proper C++ version detection 2014-03-17 20:38:02 +04:00
Pavel Kirienko 4025bf033b Fixed C++11 support 2014-03-17 19:06:11 +04:00
Pavel Kirienko 730a571c8d The work on the highest-level concepts have just started; here goes NodeStatusProvider with tests 2014-03-15 14:49:23 +04:00
Pavel Kirienko cf3f2080a5 INode got void registerInternalFailure(const char* msg) 2014-03-15 11:55:22 +04:00
Pavel Kirienko 9b0aa5353b Array<> - more runtime checks 2014-03-15 11:54:20 +04:00
Pavel Kirienko f60e4a537f UAVCAN_VERSION_* defines 2014-03-15 11:49:24 +04:00
Pavel Kirienko 964e666f86 Timer constructor takes INode instead of Scheduler - for compatibility reasons 2014-03-14 23:04:45 +04:00
Pavel Kirienko 6e49c2aeaf Error handling fix 2014-03-14 22:17:00 +04:00
Pavel Kirienko 613efa49b9 INode class. Publisher, Subscriber, ServiceServer, ServiceClient now accept INode in constructor instead of the bunch of independent params. Self NodeID now being configured via setNodeID() method instead of constructor param 2014-03-14 19:54:27 +04:00
Pavel Kirienko 15cbf96378 Reorganized directory structure - directory 'internal' pulled up one level. No logical changes. 2014-03-14 15:01:20 +04:00
Pavel Kirienko 8889a52e63 Added runtime checks for server and client 2014-03-14 11:33:37 +04:00
Pavel Kirienko 0f1b124086 Array<>::operator+=(Array<>) implementation and test 2014-03-14 02:19:57 +04:00
Pavel Kirienko 62abf10f65 ostream operator for ReceivedDataStructure<> 2014-03-14 01:54:02 +04:00
Pavel Kirienko 8f2034b090 ostream operator for ServiceCallResult<> 2014-03-14 01:45:16 +04:00
Pavel Kirienko bc70390722 Renaming: Server<> --> ServiceServer<> 2014-03-14 01:20:27 +04:00
Pavel Kirienko cefc346ebb TimerEvent fields were renamed; timer pointer removed 2014-03-14 01:09:13 +04:00
Pavel Kirienko 6d584734bb ServiceClient<> 2014-03-14 00:53:53 +04:00
Pavel Kirienko 4bb66fb492 OTR logging 2014-03-14 00:52:51 +04:00
Pavel Kirienko b18e9c84ed Passing callbacks by reference 2014-03-13 21:28:29 +04:00
Pavel Kirienko 51833fb08f Fixed publication timeouts (Server, Publisher, GenericPublisher) 2014-03-13 14:45:31 +04:00
Pavel Kirienko 2eaa4b3c31 Refactored GenericSubscriber<> to support the upcoming Caller<> 2014-03-13 13:00:03 +04:00
Pavel Kirienko beaba20749 Simplified service types: the nested types Request/Response are templates now, but the containing type is not, so using 'typename' to refer to Request or Response is no longer necessary. 2014-03-12 21:20:05 +04:00
Pavel Kirienko 0f877dec88 Server<> 2014-03-12 13:02:28 +04:00
Pavel Kirienko 629ed8c28e MethodBinder passes all values by reference 2014-03-12 13:01:39 +04:00
Pavel Kirienko 54f920898d Pub/sub fixes 2014-03-12 13:00:40 +04:00
Pavel Kirienko ad3175a235 GenericSubscriber<>::getFailureCount() made protected - needed for Server<> 2014-03-12 11:28:19 +04:00
Pavel Kirienko 62ea9e2746 Type safe DataTypeID class 2014-03-11 21:29:35 +04:00
Pavel Kirienko befea376c2 Fixed inclusion loops 2014-03-11 21:00:28 +04:00
Pavel Kirienko d5e30f643c Renaming: MonotonicDeadlineHandler --> DeadlineHandler 2014-03-11 14:49:43 +04:00
Pavel Kirienko 65a4dcc2cf Superrefactoring - all time values were replaced with new safer classes from uavcan/time.hpp; generated types were moved away from anonymous namespaces because this makes it impossible to use a type from different compilation units. Some less vital fixes are to follow - see the next few commits 2014-03-11 14:41:48 +04:00
Pavel Kirienko 633fa9d8bd Bitarray copy algorithm was moved to C++ source file, thus C compiler is no longer required 2014-03-10 19:33:06 +04:00
Pavel Kirienko b86ea67563 Reorganized directory structure for tests and src 2014-03-10 19:25:28 +04:00
Pavel Kirienko 21fda96978 Type safe time classes with tests, to replace uint64_t for time values 2014-03-10 19:00:59 +04:00
Pavel Kirienko d834edbf62 Forgotten explicit keyword for timer forwarder constructor 2014-03-10 14:08:30 +04:00
Pavel Kirienko 3d8285b123 Common naming conventions for event handling methods: handleFooBar() instead of onFooBar() 2014-03-10 14:03:46 +04:00
Pavel Kirienko 393641b5b6 Conforming style for TimerEventForwarder<> 2014-03-10 14:00:51 +04:00
Pavel Kirienko 4b92497aee Refactoring - Scheduler, GenericPublisher, GenericSubscruber moved into /uavcan/internal/node/* 2014-03-10 13:53:10 +04:00
Pavel Kirienko 6573d79fd1 Style fix in Map<> 2014-03-10 11:18:04 +04:00