Commit Graph

81 Commits

Author SHA1 Message Date
Pavel Kirienko 0bc595d4a8 Test: Transfer::operator==() - data type comparison 2014-02-18 14:16:29 +04:00
Pavel Kirienko cd2a13c60d Further test refactoring: data type descriptor moved to transfer object 2014-02-18 14:14:55 +04:00
Pavel Kirienko 7039711027 Tests: refectored IncomingTransferEmulator, CAN iface mock supports pushRx(RxFrame) 2014-02-18 12:20:35 +04:00
Pavel Kirienko a9a86bc151 CAN iface mock uses monotonic timestamping instead of UTC 2014-02-18 12:03:05 +04:00
Pavel Kirienko 980659ebb5 Minor test refactoring 2014-02-18 12:00:45 +04:00
Pavel Kirienko 06d74d3213 Added test for maximum transfer length 2014-02-17 15:13:05 +04:00
Pavel Kirienko 1886f0a8a9 Frame parsing test 2014-02-17 14:14:08 +04:00
Pavel Kirienko d3d85a671c Renamed some Frame methods 2014-02-17 12:53:07 +04:00
Pavel Kirienko 9d06a328dc Simplified Frame::parse() 2014-02-17 12:43:47 +04:00
Pavel Kirienko 697a55aebb Refactoring: Frame Index field size increased, Trnasfer ID field size reduced. NodeID class added, Frame class rewritten with stricter runtime checks. All tests were updated accordingly. 2014-02-17 12:35:12 +04:00
Pavel Kirienko 20778f1acb Better explanation of frame filtering logic 2014-02-15 21:08:45 +04:00
Pavel Kirienko 06d757b78e Tests refactoring - mocks and helpers were separated from testing logic 2014-02-15 21:04:12 +04:00
Pavel Kirienko e7ce9fb586 Extra logging in TransferListener 2014-02-14 19:34:34 +04:00
Pavel Kirienko 20c828912f Dispatcher class, tests to come 2014-02-14 19:19:23 +04:00
Pavel Kirienko 69fa8643d4 Added RxCanFrame::toString() 2014-02-14 18:45:49 +04:00
Pavel Kirienko d81a96beb2 TransferListener::cleanup() test 2014-02-14 15:53:28 +04:00
Pavel Kirienko 02cbd60efe Outgoing Transfer ID registry 2014-02-14 15:04:26 +04:00
Pavel Kirienko 96f8c9aa09 TransferListenerBase holds its DataTypeDescriptor, which is needed for the upcoming dispatcher class 2014-02-13 14:06:59 +04:00
Pavel Kirienko 328f98e605 Typo 2014-02-13 13:04:50 +04:00
Pavel Kirienko 2d2116f624 TransferListener implemented and tested 2014-02-13 13:01:08 +04:00
Pavel Kirienko f78a2a452c Removing the buffer after handleIncomingTransfer() 2014-02-12 13:40:54 +04:00
Pavel Kirienko 4a7efc19d0 Fixed specialization of TransferBufferManager<0, 0> 2014-02-12 13:29:31 +04:00
Pavel Kirienko a1ead1b90b TransferListener implemented, tests to be added 2014-02-12 13:27:49 +04:00
Pavel Kirienko 5ceaafe419 TransferReceiver: on-the-fly CRC extraction from multi frame transfers saves 2 to 3 bytes of payload buffers 2014-02-12 12:34:48 +04:00
Pavel Kirienko 0533539c7c Starting refactoring of the receiving logic 2014-02-12 10:49:32 +04:00
Pavel Kirienko 0bc62a74c9 TransferListener partially implemented 2014-02-11 21:55:36 +04:00
Pavel Kirienko 0acf1b976b Explicit specialization for empty TransferBuffer (for single frame transfers) 2014-02-11 21:44:43 +04:00
Pavel Kirienko 5be2801fa1 Dynamic buffer size limitation 2014-02-11 21:26:18 +04:00
Pavel Kirienko 031f90f326 Added TransferBufferAccessor, saves few bytes on stack/heap 2014-02-11 20:13:19 +04:00
Pavel Kirienko 25d285e209 Map<>, TransferBufferManager - isEmpty() calls for runtime checks 2014-02-11 19:56:09 +04:00
Pavel Kirienko bb215d3c15 Map<>, TransferBufferManager - isEmpty() calls for runtime checks 2014-02-11 19:50:15 +04:00
Pavel Kirienko fe2126536d TransferReceiver: removed field for buffer manager key in order to save some memory (at least 2 bytes) 2014-02-11 19:27:52 +04:00
Pavel Kirienko 8a007c8522 Fixed destruction/copying of TransferReceiver 2014-02-11 19:18:43 +04:00
Pavel Kirienko 4c1a4a32c7 Map<>::insert() --> Value*, saves one lookup for TransferListener::handleFrame() 2014-02-11 19:11:36 +04:00
Pavel Kirienko 445ec8173c IncomingTransfer for single frame and multi frame transfers 2014-02-11 18:08:20 +04:00
Pavel Kirienko 55ea9963f0 Minor renaming in TransferReceiver 2014-02-11 15:34:19 +04:00
Pavel Kirienko afd265e8c6 TransferReceiver made 32 bit less in size 2014-02-11 14:51:23 +04:00
Pavel Kirienko 557278c6ac Added tests for UTC transfer timestamping 2014-02-11 14:41:24 +04:00
Pavel Kirienko 696451baca RX frames have two timestamps: monotonic - for protocol timings management; utc - for application-level timestamping 2014-02-11 14:32:45 +04:00
Pavel Kirienko b8f6bf3ffa Minor renaming in DataTypeDescriptor 2014-02-11 13:55:50 +04:00
Pavel Kirienko d4e4f1a416 Added CRC initializing constructor 2014-02-11 12:36:54 +04:00
Pavel Kirienko 78ff31f9ad TransferBufferManager: using TransferBufferManagerKey instead of plain Node ID, this allows to distinguish transfers of different type from the same Node ID, which is necessary for message broadcasting/unicasting 2014-02-11 12:21:25 +04:00
Pavel Kirienko 149ac87a54 TransferReceiver - new tests, fixed logic 2014-02-10 20:35:35 +04:00
Pavel Kirienko dae9718903 Cleaner copyableness of transfer buffers 2014-02-10 18:51:50 +04:00
Pavel Kirienko e9680c04d0 TransferReceiver - fixed assignment operator 2014-02-10 18:50:39 +04:00
Pavel Kirienko b2adf25485 Transfer receiver 2014-02-10 18:35:58 +04:00
Pavel Kirienko 12111e63d4 Frame::toString() with tests 2014-02-10 13:39:27 +04:00
Pavel Kirienko 6c76e8a25d Transfer buffer: removed timestamps and cleanup() 2014-02-09 21:35:35 +04:00
Pavel Kirienko 017863a32d Explicit noncopyableness, static_assert.hpp --> util.hpp 2014-02-09 21:28:10 +04:00
Pavel Kirienko 56a69a4ba0 Typo 2014-02-07 19:55:02 +04:00