Commit Graph

41 Commits

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