Commit Graph

57 Commits

Author SHA1 Message Date
Fred Sundvik 3b422d2ac4 Add debug print for serial link errors
This is disabled by default
2016-05-15 11:36:39 +03:00
Fred Sundvik 59657355d2 Master mode remains active
It remains active even if the USB link is suspended or otherwise
temporarilly goes down.
2016-03-13 21:38:51 +02:00
Fred Sundvik f7275f0ede Configurable baud setting 2016-03-12 22:37:04 +02:00
Fred Sundvik d835ad91a3 Resend the keyboard state every ms
In case there's some errors on the link, and the packet gets lost
2016-03-12 20:08:08 +02: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 168c5b679f Call remote matrix update, when the matrix changes 2016-02-28 23:58:47 +02:00
Fred Sundvik 6fe6d111bf Send the keyboard matrix over the serial link 2016-02-28 22:52:30 +02:00
Fred Sundvik d8d4622802 Improve serial link initialization, and add driver 2016-02-28 21:46:29 +02:00
Fred Sundvik 46482460fa Some small fixes for the serial update loop 2016-02-28 15:52:03 +02:00
Fred Sundvik 9cb139adc4 Add simple loop for updating the serial link 2016-02-27 22:28:35 +02:00
Fred Sundvik 17a1102a2a Fix include dir to use uincir instead of just inc 2016-02-24 22:31:01 +02:00
Fred Sundvik 36e4869531 Create a thread for the serial link 2016-02-21 23:52:00 +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 713465fb41 Add some full round trip tests
Mostly to ensure that the receive and send framing works the same
way. Especially for the special case with 254 non-zeros.
2016-02-14 20:07:51 +02:00
Fred Sundvik 6956c177da Add byte stuffing send support for large frames 2016-02-14 19:56:22 +02:00
Fred Sundvik 2f3ea76428 Fix name of some unit tests 2016-02-14 19:03:34 +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