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: Ib905a3e0ea58a32761c4dda4a391c1d7b311c12a
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: I6b027cdb37e425e185b8d2278ae775f857ff96bc
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>
|
|
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>
|
|
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: I94223ebead4a011a1fb56ed0c3676c433e01319b
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Change-Id: Ibf37a46989ac8d84a56aa43873fdb8bb0e601304
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
There is no need to search against can_signal with CAN arbitration id
because a pointer to the signal it maintained through the
low_can_subscription_t object now.
Change-Id: Ia8b3c7074ff86f7e2a8f3ed503ea1abed3bfe51b
Signed-off-by: Romain Forlot <romain.forlot@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>
|
|
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>
|
|
Change-Id: Ia43f9c0edf09ff9a1c009f198bdad10a6b44b249
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Change-Id: I7372e469752dd8e90dc9431b9e5c67df12f56c29
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
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>
|
|
Change-Id: I23b862e748e13e7ba69743c8a9d3abb0be36c4bc
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
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>
|
|
Change-Id: I1c080f961f62a6816b0c36e960ae1ecbeb7fa00d
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
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>
|
|
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>
|
|
Change-Id: If12617ae086d7023ff619799833cd1d4fd0fd413
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
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>
|
|
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>
|
|
Change-Id: I8250ef78f0b540617bd249873250f62ad6361fdf
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
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>
|
|
Also use CAN FD frames by default.
Change-Id: I5bad10e537653b1a96c2e3012d38dde8627d3caa
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Added for all log messages function name at beginning using __FUNCTION__ macro.
Change-Id: Ia0f476ca81b9f79c6d49b425c0520894c59797ea
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Create a class from signals lookup and find standalone function and gather all
find function into it. There is now only 1 function to find either CAN signals
or diagnostic messages, results are returned using an ad-hoc struct containing
vector of one or the other type pointers.
This object also hold subscribed_signals map with events, so this class is a singleton.
Change-Id: I3584c6a91201e6904edc6aeac0abfa1785bdeccc
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Change-Id: I94cad718b516f24c5d1833e09df89f03e529f48a
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Using one a another socket type is made using a boolean.
Change-Id: I0445c8550f289d1e0020f6496c638bc95e8db443
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Move all legacy opening RAW CAN socket operation to socket class. Each operations
on a CAN socket has to be simple and made by the socket class.
Simple BCM socket open operation is implemented.
Future will be to open specialized BCM CAN sockets on demand.
Change-Id: If285b97afb9871245ab1f13cd9f0401fbd9adf95
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Change-Id: I6f90c87c164bc6ba70ee0889668f54f4972a8610
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Instead of specifying a JSON configuration file with CAN devices name, it uses
a mapping configuration file that map a high level device names to a real low level names.
File path is to be specified into the generated source code which is /etc/dev-mapping.conf
for now.
Configuration file uses INI file format and is parsed using inih library cpp wrapper.
Change-Id: Ibde104e76cd78a6cc86f6eec4f66c274b7567d43
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Each projects, binder and generator, has to be compiled separatly.
CAN-binder will host high and low level binding
CAN-config-generator only the generator used for low level binding.
build.sh script just launch both build in their respective dir.
Change-Id: Ic77932660fcca507b23a631d4e4e790f608880ae
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|