Commit Graph

27 Commits

Author SHA1 Message Date
Pavel Kirienko 3d0186c547 SocketCAN doc comments 2016-01-28 00:54:22 +03:00
Pavel Kirienko 597e0b4356 SocketCAN: Proper error reporting from openSocket() 2016-01-28 00:50:28 +03:00
Pavel Kirienko 587088bb18 Refactored SocketCAN select() call; fixes #83
Features:
- The driver will throw if it's fed a non-existing or malfunctioning interface during initialization
- When an interface becomes down/disconnected while the node is running, the driver will silently
  exclude it from the IO loop and continue to run on the remaining interfaces.
- When all interfaces become down/disconnected, the driver will throw AllIfacesDownException() from
  SocketCanDriver::select().
2016-01-28 00:12:27 +03:00
Pavel Kirienko cbd36a4a5b Linux SocketCAN: Fixed hasReadyTx() - now checking whether the driver will be ready to release further frames from the queue 2016-01-27 14:31:05 +03:00
Pavel Kirienko f9a10b1a81 Linux SocketCAN: Fixed handling of outgoing frames. The old logic was handling writes incorrectly, losing frames if the socket was not writable. 2016-01-27 13:56:43 +03:00
Pavel Kirienko ff13fa866f Linux driver copyright update 2015-12-27 20:01:22 +03:00
Pavel Kirienko 288478fa4a Linux driver: Avoiding use of cstdint from global scope, using proper loops 2015-12-27 19:41:12 +03:00
Ilia 7236370409 checkHWFilters arg by reference.
loopback checked first
2015-12-27 14:38:00 +00:00
Ilia 73f0a9074d uncrustify applied 2015-12-21 00:34:38 +00:00
Ilia 292b06c2d8 pull request corrections 2015-12-20 22:53:19 +00:00
Ilia a2ed997cb4 socketcan HW filters moved to userspace 2015-12-14 00:20:35 +00:00
Pavel Kirienko 50ce241ba0 SocketCAN: default max_frames_in_socket_tx_queue reduced to 2 2015-11-05 12:01:29 +03:00
Pavel Kirienko f94649f1cc SocketCAN driver: Fixed frame reordering 2015-07-13 15:44:03 +03:00
Pavel Kirienko 8d923fee4c Modified CAN driver API: Passing the next pending TX frames into the select() call to facilitate proper prioritization in the driver 2015-07-05 18:46:21 +03:00
Pavel Kirienko 7b44bf8822 Safer virtual methods; this breaks compatibility with GCC 4.6 2015-06-09 23:05:49 +03:00
Pavel Kirienko 476d8b8513 libuavcan docs 2014-07-15 14:11:06 +04:00
Pavel Kirienko f31d46ea6c Explicit void cast for unused return values 2014-04-19 17:45:03 +04:00
Pavel Kirienko 799846de02 Scope hiding fixes 2014-04-19 16:32:42 +04:00
Pavel Kirienko ace2cf9d0e Error codes are constants, not enum. That fixes another MISRA violation. 2014-04-19 14:13:55 +04:00
Pavel Kirienko c17a2bbd5b Fixed Linux driver: SocketCan driver adds time offset from the provided clock instance, which fixes time synchronization in PerDriverPrivate clock adjustment mode 2014-04-17 16:14:39 +04:00
Pavel Kirienko c772cea438 Typos in Linux driver 2014-04-16 23:07:25 +04:00
Pavel Kirienko 18c4f60a46 Fixed select() in Linux driver 2014-04-01 12:00:21 +04:00
Pavel Kirienko 0309d13eae Linux SOcketCAN driver: strict ordering of received CAN frames; added debug header for tests 2014-04-01 02:29:57 +04:00
Pavel Kirienko eafdc82b4b SocketCanIface can maintain arbitrary number of frames pending in socket TX queue, which improves performance. By default, max_frames_in_socket_tx_queue = 3. 2014-03-31 17:57:01 +04:00
Pavel Kirienko 39933ba41d Finished Linux driver 2014-03-31 17:13:33 +04:00
Pavel Kirienko b941c6293c Linux SocketCAN driver (not finished yet) 2014-03-31 00:38:09 +04:00
Pavel Kirienko 21152e00db Renamed dsdlc target, library made static, added linux drivers project (empty yet) 2014-03-29 15:31:06 +04:00