Age | Commit message (Collapse) | Author | Files | Lines |
|
- Limits call to signals_manager and subscribed signals map
- Unlock and lock mutex in the right order to avoid possible dead locks.
Change-Id: Ifb152af833ad8bdde5dc4fc3a27b1a7c27046523
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Change-Id: Iedf1f88e142a3f579ada3794b1f0f8813105d880
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Let the function on_no_client do the cleaning of the remaining active
diagnostic requests.
Change-Id: I6fc2477d53200e3475f62cd453804827172a99c0
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Change-Id: I682cacca1af53f898ac4c428f823562c50e7cce4
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Subscription index map is the socket ID which implies the following:
- All diagnostic messages subscriptions are stored into a vector
holding diagnostic_message and there is 1 socket for all like the
diag manager did.
- Reworked workflow to open a BCM socket and adding an RX filter more flexible.
- Separated methods to handle on_no_clients event.
- Cleaning diagnostic manager code to remove all unneeded stuff now.
- Embed diagnostic response in VehicleMessage decoded message to be able
transmits the PID in event push thread. This is needed by to correctly handle case
when there is no clients subscribed to an AFB event. Else we can't find
the diagnostic message to remove from low_can_subscription vector.
Change-Id: Iab13fd556cda3c69827bcd67f3a23a03cb6a2cf2
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Change-Id: I460bae0056761f6468ca4dc55a594f1529d53c83
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Change-Id: I9d32239b3ebd762ab3a337fc734d504ee8dc8c5f
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Better to check validity of 2 differents type of signals
used and checks that its event is valid.
Change-Id: I1435bbe81a43fd80eae049d43b5e37fc8f893074
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Following change from configuration_t to application_t some
variable name doesn't correspond now : conf -> app
Change-Id: I56c3a83113777a43af9024a9bc9b53f705b60b0f
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Change-Id: I73e9acf8b3a28db2134cf1f4bcb1b2aa7fd224fc
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
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>
|
|
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>
|
|
Wrong object used when subscribing.
Change-Id: I356c8cedc57191268ce3ea1838999fbe03472ae2
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
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>
|
|
Change-Id: Iba93089dc982644898540b286892c436229f38d2
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
From signals found process each vector into a separated function
Change-Id: I0c622508eb98a7284606b4f75c825ba48e3fe227
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Change-Id: I490ee639e5d524a142e2fbbd928725b7268178aa
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Change-Id: I60bc1cdd62a75b539684032bbb58c38256149944
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
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>
|
|
Change-Id: Ie827559c7da462f59bfe4af8af824f4616c2dd5b
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Change-Id: Icbb18bcdeae1d928d3981d21fc547d2940b198bd
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Change-Id: I40ecb409ec1361faa6df8585332f319508bcb464
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Change-Id: I144bc110864f507e57d5e4b7f03ee1c0aa61ff63
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
Change-Id: I56d796531120236591f00fdf7a30f0a4495cbef2
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
- 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>
|
|
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>
|
|
Change-Id: I4a33b6d5f1f3b73af113aff62b024329b0ed5288
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
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>
|
|
Change-Id: I232bdfe75335d0266d582b4974d8378632aceeae
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Change-Id: I5d3f2a8628ace464ad25989346cc76682c591bd8
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
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>
|
|
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>
|
|
Change-Id: I2d3f7525bb85c051c43aeda6b9cc1be0f3e270c8
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
New redundant function creation to mutualize code between two operations.
Change-Id: I8516c2c6d2f0c1d5cf89244ea23b831530e84a5f
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
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>
|
|
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>
|
|
As well as handling reading signals BCM socket using systemd event loop.
Change-Id: I1e121635ec5db489b2bcb88a3101e716bf8883d5
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|