88 Commits

Author SHA1 Message Date
Pavel Kirienko
c136d92b5d Added Frame::setIndex() 2014-02-19 16:46:50 +04:00
Pavel Kirienko
d330572e37 Style fix: LinkedListRoot<>::length() --> getLength() 2014-02-19 00:50:24 +04:00
Pavel Kirienko
903ec1b0a1 getNum*() Dispatcher methods for testing 2014-02-19 00:45:52 +04:00
Pavel Kirienko
0d50ec077c Cleaned up dynamic memory management, explicit pointer zeroing from destroy() 2014-02-19 00:39:58 +04:00
Pavel Kirienko
2f9c0087ef Dispatcher spin timeout test 2014-02-18 16:48:21 +04:00
Pavel Kirienko
f186888b04 Dispatcher transmission test 2014-02-18 16:42:32 +04:00
Pavel Kirienko
69eadee72b Dispatcher reception test 2014-02-18 16:26:48 +04:00
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