Commit Graph

40 Commits

Author SHA1 Message Date
a08bcea998 Don't accept remote objects with the wrong size
Fixes memory corruption when the crc happens to match, but the size
doesn't.
2016-05-15 11:58:20 +03:00
32f0171d39 Fix crash when receiving unregistered remotes 2016-03-12 19:41:34 +02:00
11bd4ba0dd Remote object callable from many places
Change init_transport to add_remote_objects, so that it can be
called many times from different places.
2016-03-12 19:35:09 +02:00
6873b17117 Support for Chibios compilation
Remove some warnings, change the include paths.
2016-02-21 23:17:59 +02:00
8cbfe79dd9 Add master to single slave transport 2016-02-21 21:47:40 +02:00
7b88b8b7e1 Add slave to master transport 2016-02-21 21:32:01 +02:00
64b7efeb72 Add proper initialization of transport buffers 2016-02-21 21:15:42 +02:00
415ab91c9d Add master to slave transport 2016-02-21 21:04:42 +02:00
fe1db50fc3 Writing signals events 2016-02-21 18:51:10 +02:00
2710361cd8 Change the triple buffer object interface 2016-02-21 18:30:04 +02:00
679bfe7c54 More transport WIP 2016-02-21 17:33:31 +02:00
4ee6eadf9e Local and remote objects WIP 2016-02-21 12:53:51 +02:00
b7059d35f9 Working triple buffering 2016-02-21 01:07:44 +02:00
8e2d70d11f Simplify the triple buffer implementation 2016-02-21 00:44:25 +02:00
4bb5733cdc Updates to triple buffer 2016-02-20 23:40:52 +02:00
50edb3d90c Add first version of triple buffered object 2016-02-20 22:22:42 +02:00
c78eefba49 Add first transport tests 2016-02-20 15:49:31 +02:00
ea346125e8 Add some validation for invalid router destinations 2016-02-20 15:28:42 +02:00
532f98eef6 Support for other links sending to master 2016-02-20 15:14:40 +02:00
c28e19c546 First link sending to master 2016-02-20 15:02:53 +02:00
82b5037b9d Add master send to specific destinations 2016-02-20 14:52:17 +02:00
cee5406ed7 Add complete master broadcast test 2016-02-20 14:32:26 +02:00
4b9fccc756 Start implement router 2016-02-20 13:59:48 +02:00
5a1600e24f Add link parameter 2016-02-20 12:06:23 +02:00
419908e5ef Hide the byte stuffer state inside it 2016-02-17 09:07:38 +02:00
8d50880686 Use memcpy instead of cast to avoid alignment issues 2016-02-14 21:49:31 +02:00
f22d2543b1 Rename route_frame to route_incoming_frame 2016-02-14 21:34:40 +02:00
0eb62c4ce6 Rename recv_frame to validator_recv_frame 2016-02-14 21:33:14 +02:00
2a6696bd3d Add validator send frame 2016-02-14 21:31:01 +02:00
62058329ff Add crc32 validation of received frames 2016-02-14 21:13:16 +02:00
a3ec3bbef8 Start implement frame validator 2016-02-14 20:45:59 +02:00
6956c177da Add byte stuffing send support for large frames 2016-02-14 19:56:22 +02:00
f3beeb0270 Hanlde sending of zero bytes for small packets 2016-02-14 18:59:01 +02:00
a089eaa868 Add sending of small frames with no zeroes 2016-02-14 17:45:25 +02:00
26537474ae Add byte stuffer recv handling of too long frames 2016-02-14 15:57:44 +02:00
e8cb6d8023 Bytestuffer recv handling of long frames 2016-02-14 15:28:57 +02:00
eefb5b5634 Mutiple frame handling for byte stuffer
Also handles unexpected data.
2016-02-14 14:25:54 +02:00
ce3a21cbea Implement receive of valid small byte stuffed frames 2016-02-14 14:04:51 +02:00
8a991a266e Rename files to match what they actually do
Also add validator before routing.
2016-02-14 13:05:50 +02:00
1f1bc183dd Start implementing data_link 2016-02-14 12:45:12 +02:00