summaryrefslogtreecommitdiffstats
path: root/CAN-binder/low-can-binding/binding
AgeCommit message (Collapse)AuthorFilesLines
2017-06-01CleaningRomain Forlot1-13/+10
Change-Id: I73e9acf8b3a28db2134cf1f4bcb1b2aa7fd224fc Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-06-01Use UDS PID has key to record subscriptionsRomain Forlot1-1/+3
can_signal_t use socket number but has for OBD2 diagnostic request there is only 1 socket to listen all response then we use PID has key to find the subscription later on the processing. Change-Id: I5f0554e1a4ac43e1046d9b7b7f9bb00d3a753562 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-06-01Simplify processing eventRomain Forlot2-10/+23
Set afb_event into subscription object then there is no more std::pair used t access it, better use a method from low_can_subscription_t class Change-Id: Ic0772d97c18ca8899821cf3ce175166bbe0be660 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-06-01Fix: segfault subscribing diagnostic messagesRomain Forlot2-7/+7
Wrong object used when subscribing. Change-Id: I356c8cedc57191268ce3ea1838999fbe03472ae2 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-06-01Fix: get signal name no matter type of signal.Romain Forlot2-11/+16
One method to return name depending upon which type it is, can or diagnostic. Change-Id: I1e96f88654e14316d3afe527fa6fa0d8ddbf410d Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-06-01Using isnan to define frequency.Romain Forlot1-1/+1
Change-Id: Iba93089dc982644898540b286892c436229f38d2 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-06-01Missing pragma once...Romain Forlot1-0/+2
Change-Id: I3088089af5a817ed68ef0276869a01d7323e6ae7 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-06-01Split function to call 1 function by signal types.Romain Forlot1-19/+31
From signals found process each vector into a separated function Change-Id: I0c622508eb98a7284606b4f75c825ba48e3fe227 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-06-01Fix diagnostic message subscription.Romain Forlot2-2/+11
Change-Id: I490ee639e5d524a142e2fbbd928725b7268178aa Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-06-01Adding windows CAN signals.Romain Forlot1-1/+77
These signals is not the reals ones. Change-Id: I5f30fcab09f22488a8085f44eb22a97b67214339 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-06-01Use default signal frequency if no filter providedRomain Forlot1-1/+4
Change-Id: I60bc1cdd62a75b539684032bbb58c38256149944 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-06-01Fix: Don't processing filter argumentRomain Forlot1-5/+5
Filter is a separate json object to get, so using request arguments to retrieve it. Change-Id: I0e672a747c95ef5e7ed17dd184697265a18add9c Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-06-01Use ptr to can_signal instead of copying some membersRomain Forlot2-91/+28
Change-Id: Ie827559c7da462f59bfe4af8af824f4616c2dd5b Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-06-01Missing var declarationRomain Forlot1-1/+1
Change-Id: Icbb18bcdeae1d928d3981d21fc547d2940b198bd Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-06-01Fix: use of isnan() from std libRomain Forlot1-1/+1
Change-Id: I40ecb409ec1361faa6df8585332f319508bcb464 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-06-01manage unset values with NANJosé Bollo2-7/+4
Change-Id: I144bc110864f507e57d5e4b7f03ee1c0aa61ff63 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-06-01optimise flowJosé Bollo1-56/+31
Change-Id: I56d796531120236591f00fdf7a30f0a4495cbef2 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2017-06-01Reworked subscription to integrate filtering.Romain Forlot4-74/+346
- Creation of an object which old the subscription context (filter, signal) : low_can_subscription_t - Move socket from can_signal_t to this new object. - Adding a member to can_message_t to transport subscription_id to be able to retrieve it with all the context through running. Change-Id: I87be8cd6c3c93a81040357920d8c081a316800c3 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-06-01Renaming configuration to applicationRomain Forlot5-29/+26
It is more accurate to name it application because all its members aren't modifiable at runtime (without talking of last_value_ member and few others). Change-Id: Ica0d33dfd9c26cfdea019c2f41ed07777fb36d39 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-05-24Fix memory leaksRomain Forlot1-0/+4
Change-Id: I4a33b6d5f1f3b73af113aff62b024329b0ed5288 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-05-23Static code review fixes.Romain Forlot3-6/+9
Several style errors and mistakes mostly on constructor and passing arguments as ref. Change-Id: I2ca921d6aa70b9074392bb7779ade35bebf7bd8d Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-05-23Implement filtering on subscription. WIPRomain Forlot2-17/+60
Change-Id: I232bdfe75335d0266d582b4974d8378632aceeae Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-05-22Logical bus name mapped to device name using conf file.Romain Forlot1-5/+5
Store CAN device map without prefixed section name and add methods to get the mapped device name. Change-Id: I03ebc175c67b2251016863b0d69a45a816a81d25 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-05-19Set parent from configuration_generated objects.Romain Forlot1-1/+21
Change-Id: I8f07084c6364347ebad3e029b89aeef93129cce3 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-05-19Adjust method signature to be more efficient.Romain Forlot2-6/+6
Return vector reference and doesn't return const ref. Change-Id: Ibcbc1d72e4baf1a7b8bf017d36d6d37d25312d6d Signed-off-by: Romain Forlot <romain.forlot@iot.bzh> # Conflicts: # CAN-binder/low-can-binding/can/can-signals.hpp
2017-05-19Change method name to signify that it is an aggregate.Romain Forlot2-3/+3
As can_message_definitions got the exact same name but the one from can_message_set is an aggregate of all can_message_definition. So it is clearer using a different name. Change-Id: Ieb9e4d3291f3dc460eb352d8b8fe5a7cf479e687 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-05-19Use shared_ptr for can_message_set too.Romain Forlot3-9/+8
Change-Id: I3ba4881d5fc01a69d55e101b9a07c2019dda1d4b Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-05-19Finish config parser retrieving device mapping.Romain Forlot1-0/+1
Change-Id: Ia43f9c0edf09ff9a1c009f198bdad10a6b44b249 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-05-19FormatRomain Forlot1-1/+0
Change-Id: If3a381a4a07c117b9b1cc48ba3a6b4af2d7bdc69 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-05-19New generated files using updated generatorRomain Forlot1-307/+443
Change-Id: I5778c07d1e92e52413e3020ee281a38c7cc0f1ef Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-05-19Include diagnostic_message_t into can_message_set.Romain Forlot3-11/+9
Change-Id: I7372e469752dd8e90dc9431b9e5c67df12f56c29 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-05-19Make and use a single function to read incoming CAN messagesRomain Forlot2-20/+36
Change-Id: I5d3f2a8628ace464ad25989346cc76682c591bd8 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-05-19Remove can-bus-dev following RAW->BCM sockets migrationRomain Forlot3-18/+7
No needs to get RAW socket for now, so can_bus_dev_t class is useless and now removed from project. Change-Id: I37b3e187ef28ba393beae7a99da4f422f74a298e Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-05-19one event source by socket added to systemd event loop.Romain Forlot1-0/+1
Get back to the first solution, moving this variable declaration was a mistake. Change-Id: I1af78d93bfc8f759ecf1a849adddbe1d52c27466 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-05-19Adding also diagnostic request to systemd event loopRomain Forlot2-7/+27
As for CAN signal, monitoring diagnostic request messages is now handled by systemD io event loop. Socket reading is common for all OBD2 signals and handled by the diagnostic manager. systemd callback function lies in binding callback which in turns call read_socket method of diagnostic manager. Processing is little bit different from classic CAN messages so it is a separate callback function. Lot of cleaning to do now... Change-Id: I4d2ada0beb5d3348736dfdf3c56a7cb875a1c6c7 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-05-19Remove unused and useless members.Romain Forlot1-1/+1
These members was imported from OpenXC project which was in C so they need to know array size. As we use vector we doesn't need them anymore. We can retrieve count using size() vector method Change-Id: Iefd0266d400097ab2dae813aca196c8e3b9bc368 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-05-19Fix wrong signature, better with const ref... Was forgottenRomain Forlot1-5/+4
Change-Id: I2d3f7525bb85c051c43aeda6b9cc1be0f3e270c8 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-05-19Implement unsubscribe like subscribe.Romain Forlot1-18/+31
New redundant function creation to mutualize code between two operations. Change-Id: I8516c2c6d2f0c1d5cf89244ea23b831530e84a5f Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-05-11Massive use of shared_ptr about signal and diag message. WIPRomain Forlot4-47/+47
Vector of shared_ptr is made to shared ownership about object around project. This is the default returned value by getter methods when lookup and manipulating them. Change-Id: Id37947bb5994b629f4bf3faecc5ffac81c55e1e6 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-05-10Use a tree instead of separated object lists. WIPRomain Forlot3-127/+107
Now we respect JSON description file, which is can_message_set contains can_message_definition which contains can_signals. Diagnostic messages aren't processed for now. Change-Id: I94aaf5eded14dd84395bd4fd749df58dee5f533e Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-05-10Implement setting last_value at message definition level.Romain Forlot2-2/+2
In addition to signal last_values, now message last value is also set. Change-Id: I87c2be3e4e68073d7708b2ddf681889576337410 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-05-10Fix: Avoid returning negative value that's stop watch socketRomain Forlot1-3/+10
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-05Separation between hat and callback binding partsRomain Forlot4-84/+129
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-04Follow the moving binding and configuration files.Romain Forlot4-14/+14
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 Forlot5-0/+895
https://gerrit.automotivelinux.org/gerrit/#/admin/projects/apps/app-templates Change-Id: I42eff75b790b70047e1b91b963edf458084881c9 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>