Commit Graph

56 Commits (59657355d22cd6f661fda307675c6f712b5542ec)

Author SHA1 Message Date
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
Fred Sundvik 8a991a266e Rename files to match what they actually do
Also add validator before routing.
2016-02-14 13:05:50 +02:00