Pavel Kirienko
a19dfd56dc
Linux makeNode() helper overload
2016-06-13 00:46:13 +03:00
Pavel Kirienko
f86a4b98d1
SocketCAN: Setting correct errno when throwing AllIfacesDownException
2016-01-28 01:06:29 +03:00
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
531433a326
Fixed makeApplicationID() (rookie mistake)
2015-09-25 01:47:39 +03:00
Pavel Kirienko
335cd6622a
uavcan_linux::makeApplicationID() - instance_id made optional
2015-09-25 00:38:55 +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
9ac2813cea
Cleaner type definitions in Linux driver
2015-06-09 22:58:00 +03:00
Pavel Kirienko
c793ab4177
Linux driver fix
2015-06-09 19:01:54 +03:00
Pavel Kirienko
2b8517905d
Linux driver: Refactored node instantiation helpers
2015-06-08 21:30:48 +03:00
Pavel Kirienko
25371abe3b
Partially complete test of a multithreaded application Linux. It works, but it doesn't use iface sharing yet.
2015-06-08 14:59:44 +03:00
Pavel Kirienko
e289a1e09c
uavcan_linux::makeApplicationID()
2015-05-26 01:22:26 +03:00
Pavel Kirienko
282b995c1e
Partially refactored ServiceClient, tests are failing, the code is totally broken
2015-05-15 18:41:38 +03:00
Pavel Kirienko
0253933f75
Linux driver: added system_utils.hpp with a helper class that reads Linux machine ID
2015-05-11 21:54:16 +03:00
Pavel Kirienko
a9e70a97a3
Typo
2014-07-27 17:16:17 +04:00
Pavel Kirienko
9d36eef359
Fixed timeouts in uavcan_linux::BlockingServiceClient
2014-07-15 14:18:22 +04:00
Pavel Kirienko
476d8b8513
libuavcan docs
2014-07-15 14:11:06 +04:00
Pavel Kirienko
dc347f658b
SocketCAN driver: Node::getDriverPack()
2014-07-09 12:19:40 +04:00
Pavel Kirienko
ea19fea568
uavcan_linux::Node::makeBlockingServiceClient()
2014-04-29 13:59:11 +04:00
Pavel Kirienko
ae26afdc9f
Blocking service caller
2014-04-28 00:33:08 +04:00
Pavel Kirienko
b7b53630d1
Linux driver: verbose exception with error code
2014-04-20 20:45:26 +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
c4c77ea321
Fixed typedef reuse
2014-04-19 15:52:17 +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
1853f5c73c
Explicit constructors
2014-04-18 19:37:08 +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
6435c82d06
Linux driver got default logger that dumps everything into stderr
2014-04-11 19:02:24 +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
c80e0388eb
Linux helpers
2014-03-31 20:23:26 +04:00
Pavel Kirienko
788d7348b6
Linux: Auto-detecting clock adjustment mode
2014-03-31 19:52:43 +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
c5d4b81009
SystemClockDriver --> SystemClock
2014-03-30 19:55:17 +04:00
Pavel Kirienko
3df6f958f7
Added clock test, superheader uavcan_linux.hpp
2014-03-30 18:58:30 +04:00