summaryrefslogtreecommitdiffstats
path: root/CAN-binder/low-can-binding
AgeCommit message (Collapse)AuthorFilesLines
2017-05-10Keeping RAW sockets for compatibilityRomain Forlot2-56/+1
And reset can_reader to can_bus_dev_t like the old behavior because BCM sockets has been implemented at signals level not device. Change-Id: I715a19ff65bf9d7231c73b66c1ee95b3f41f8ed0 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-05-10Fix: Avoid returning negative value that's stop watch socketRomain Forlot3-7/+12
Even if the frame read is wrong doesn't mean that socket is compromise only that communication on CAN bus is difficult, maybe temporary. On en EPOLL err code, or hangup, just close and restart the socket and reset the filter. Change-Id: I61f146fd269bb2524f09e1f2ed89d93e83166136 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-05-05FormatRomain Forlot1-1/+1
Change-Id: I1c080f961f62a6816b0c36e960ae1ecbeb7fa00d Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-05-05Avoid returning infinity value.Romain Forlot1-1/+1
Change-Id: I89d227e48add0c7fc8a4ca577023995b269e6f13 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-05-05Don't destroy socket by default as they will always be open.Romain Forlot6-33/+9
Now derivated class use constructor from base class and we don't destroy socket when a socket object is over since it may be copied before. So closing them is in charge of dev, well me... Change-Id: I0440119017a3e56bb83d0194a6908dc3e2b8f745 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-05-05Get back to device dedicated raw_socketRomain Forlot3-2/+15
Change-Id: Ibec47106f8510e92a017fc08aeb2eeaeef2884e5 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-05-05Improve granularity of BCM socket using one by signalRomain Forlot6-49/+58
Move create_rx_filter to can_signals and adding all accessories needed to works. Change-Id: I3636fe82ce5c2e43a4992b66ce89440ff709004a Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-05-05Improve log message.Romain Forlot2-4/+4
Change-Id: I91155eda22a172efc88f72243c260480a2d1d4ce Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-05-05Separation between hat and callback binding partsRomain Forlot11-93/+136
As well as handling reading signals BCM socket using systemd event loop. Change-Id: I1e121635ec5db489b2bcb88a3101e716bf8883d5 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-05-05Update CMake following app-template repo updateRomain Forlot1-4/+4
Change-Id: Ib24f8c2000f78f5f6fea3126e52f34570e4eee18 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-05-04Follow the moving binding and configuration files.Romain Forlot18-31/+31
Change include statement to refer the correct new path to the files. Also change CMakeLists.txt. Change-Id: I66a0bccab02e9fce10072a275a6580d61b4ddfbe Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-05-04Update with last app-templates modificationsRomain Forlot8-14/+0
https://gerrit.automotivelinux.org/gerrit/#/admin/projects/apps/app-templates Change-Id: I42eff75b790b70047e1b91b963edf458084881c9 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-05-03Fix: constructor and include file missing.Romain Forlot6-38/+24
Copy constructors are allowed since socket will never be closed during binding runs. Change-Id: Ie33e4b7e885d45e1ffeb980400df00ae2a97e45d Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-05-03Change direct initialization objectRomain Forlot1-1/+1
Change-Id: Icedbe5b8c420b0fb77eb331577e11c35c4597d80 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-05-03typoRomain Forlot1-4/+4
Change-Id: Iaf68d463e9df4d6dda2a8508adf5395041d2ff7f Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-05-03Keeping raw socket until diagnostic_manager is fully migratedRomain Forlot2-2/+10
Change-Id: I8cb170613c003bbdb39240eb809b8cefcad6cb35 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-05-03Added child class to binding target.Romain Forlot1-0/+2
Change-Id: I804abe6eb0965b54fb93bc8da2b1e1665b99476d Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-05-03Derivate socketcan to multiple child depending upon socket CAN type.Romain Forlot6-54/+237
Use to initialize raw, bcm and later isotp socket. Now we should have, 1 BCM socket by signal to make filter on them. 1 raw socket by devices is kept to use diagnostic manager as is. Change-Id: Icb2daddf67039479f72bc487d53971adc9aba638 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-05-03Use the private method instead of direct C syscall.Romain Forlot1-1/+1
Change-Id: I1c0e04e38fec92dee167720c3128a7493d4cf9b2 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-05-02Added external libraries from openXC CMake files.Romain Forlot1-1/+0
Now libraries are cleanly included and built. Change-Id: Iaa85639578b55b2da8357bc438426403e2cca8de Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-05-02Using new CMake architecture (again...)Romain Forlot1-10/+25
Following the new CMake template from https://gerrit.automotivelinux.org/gerrit/apps/app-templates these CMake files use helpers macros from macros.cmake and project configuration config.cmake. Change-Id: I2297b6ad6c65cd763d1870d5b62564e8795f4317 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-05-02Fix: wrong include local header pathRomain Forlot1-1/+1
Change-Id: I1878e26a519a8e2708cfbfd59c6dd95e968d4028 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-29Fix: wrong include relative path.Romain Forlot1-1/+1
Change-Id: I4e6d1ce805d7e7fef66eac177f10fe5f163d79b5 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-29Adapt CMake files to use new capabilities with widgetRomain Forlot1-5/+5
Change-Id: I88a1ef090b7ce40c833c5780f5a481876ff7ea09 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-27clean left include file after modification that isn't needed anymoreRomain Forlot1-1/+0
Change-Id: Ie63c962cfe191cca71c5927eafa72a3ab69befac Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-27Fix: write bcm message to socket.Romain Forlot3-24/+19
Just allowing message with 1 frame avoiding to handle dynamic sized array... This close the door for multiplexed msg for now... Let's see later and move on Change-Id: I3626d4b6634b3f119826603e64713d63e994918e Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-27Don't use heavy weapon to get some basic calculationRomain Forlot1-2/+1
Change-Id: Ibc820dea7efbc2d7a50671ce66804217c6707d56 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-27Fix: Add notifying decoding thread if there is new messages.Romain Forlot1-1/+3
Change-Id: If12617ae086d7023ff619799833cd1d4fd0fd413 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-27Check last value before send the event, if no change no event.Romain Forlot3-9/+20
Adding a boolean parameter similarly of existing function to know if we would send the event. Change-Id: I03ee17f656065e556fd2b72b160b140852b68dcc Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-27Create method to handle both CAN frames.Romain Forlot3-21/+103
Change-Id: Ie876614266fd2e7089754a8f917d25d316de4c98 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh> Fix: wrong call since renaming of function to more generic name Change-Id: I2adebb855bc815ba6ab14a1002b17d9c9fb293fd Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-27Doesn't send event if no changes are made for doors signals.Romain Forlot1-5/+5
Change-Id: I4e72db1e7b7bc31d7446a4903972687f1ec9d71c Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-27Finish to read stream and fill the destination object.Romain Forlot1-4/+5
Use AFB log system Change-Id: I5aa727ce7f9db5b6f18df5957f31f37d9af88d20 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-27Fix: Reading doesn't update receiving object valuesRomain Forlot2-2/+2
Wrong signature using const argument with the obj receiving the read Change-Id: I0c5b8a3c974f0bd140823f8ce88aa2cbd451e543 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-27Don't use FD frame with BCM socket. Seems not working...Romain Forlot1-2/+14
Change-Id: I4f1d5cd489011675cf55914647b57c7332dec1b9 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-27Fix: correctly count (un)subscribed signals.Romain Forlot1-4/+4
Can't be 0 subscription so success if greater than 0 Change-Id: Ie4395dbabe4ed85fe939ebdfa9de87e210fa55bc Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-27Make template from similar writing stream operations.Romain Forlot2-28/+6
Change-Id: I33b32418980059b701d2af5b165af536f42d0252 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-27Subscribe using BCM RX_SETUP filter capabilities implemented.Romain Forlot1-6/+8
Change-Id: I7462b5d0144987293376dab719d1cf4fa41406f2 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-27Reworked reading CAN devices from BCM socket.Romain Forlot4-5/+62
Now reading thread hold in can_bus_t object instead of can_bus_dev_t and reading happens using select(). Change-Id: Ib8cc68c4484679168519f3c0fa485fedd1616c74 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-27Fix bit alignment errors...Romain Forlot1-10/+10
Change-Id: Iea1bb66bb3aea8a120e7bbb3b55895682044cf23 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-27Typo, rename, formatRomain Forlot4-15/+15
Change-Id: I8250ef78f0b540617bd249873250f62ad6361fdf Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-27Renaming confusing member "address_" to "index_"Romain Forlot3-8/+9
Change-Id: I0ec6d74e9adb791f8bef44f76c74be8365cdf037 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-25Implement reading stream for socketcan_tRomain Forlot2-2/+27
Will read a can_message_t object from socket Change-Id: Ibe3561f9d7bbf4e41b6fd81fa4672bae1c14aca5 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-24Fix compilation warning complaining about unset boolean value.Romain Forlot1-1/+2
Change-Id: I17e2177f40b8845f78370048ef3c734486b152b3 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-24Misc: Cleanup, typo, formating and comments update.Romain Forlot9-20/+12
Change-Id: Icac565b9a3a80dc05a1a3470a35e223c8c564347 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-24Create a received job for BCM Socket to handle filtering.Romain Forlot6-1/+48
Filter is created using can_signals description and send with appropriate BCM header structure. This is the simplest way to do, no temporal filtering for now is available. Change-Id: Iee49f011ba9316880735d2765c1c23a8b2d3c4d2 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-24Rename and handling write on socket using stream instead of specific methodRomain Forlot4-28/+85
Created special struct to handle bcm messages with can_frame and canfd_frame. We can now just send both of them seamlessly. Change-Id: Ia84e9cf2ab1dd0716cb09f6bb342a208e54f8e06 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-24Fix: Avoid returning 2 results for 1 signal.Romain Forlot1-1/+1
Either returning signal with search against generic_name either against name, not both. Change-Id: I597718d04c99d098973442b4174e735e813c9b94 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-22Rework subscription and unsubscriptions operations. More readable.Romain Forlot1-42/+50
Change-Id: I53101eed16b1faf1e5014826d91e4d64665f2f9f Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-22Use BCM socket as default cleaning up the old RAW socket code.Romain Forlot5-44/+11
Also use CAN FD frames by default. Change-Id: I5bad10e537653b1a96c2e3012d38dde8627d3caa Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-22Fix: opening bcm socket still trying to bind as a RAW socket.Romain Forlot1-3/+6
Wrong condition testing making connect and bind happens. Change-Id: Ic75a74d044e9763fdf42e50f7643b26ffaf5d76d Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>