Age | Commit message (Collapse) | Author | Files | Lines |
|
- Useless tests removed
- Bit operation changed to more readable ones
- Handle correctly mask to decode signal on 1 byte or in-between bytes more clearly.
- using static_cast now instead of C casting method.
- Avoid manual vector initialization and using default constructors instead.
- Avoid using intermediate variables when this isn't necessary.
Bug-AGL: SPEC-2988
Change-Id: I049d65f460109772b57df7572bdac8e6500242e0
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Better using switch case than if...else. This would be more extendable
and readable.
Bug-AGL: SPEC-2988
Change-Id: I5fb03531ad77441bcb7d1620bdb07d82aa6a4eb4
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Previous test was always true. This fix the wrong test and then
add the EFF flag correctly on messages using extended
CAN id.
Bug-AGL: SPEC-2988
Change-Id: I69686fd3d5a39ea3a0d1980b4bfa88fe36fb7fe5
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Use configuration from JSON file instead of the old INI file. Now all configuration files
lies within the binding tree.
Bug-AGL: SPEC-2988
Change-Id: Id986d19751db958ad5cf3b7f2b2c5443d4ceb062
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Change a bit CAN binding define about used protocol. There was a mistake
about BCM define which isn't a protocol at all but a maner to filter
and retrieve CAN message through SocketCAN. Also FD_FRAME was using the
same name than SocketCAN which isn't a good idea, better to distinguis both
of them.
Bug-AGL: SPEC-2988
Change-Id: I255fa03029c7d5f90a33448e5e7692d8c249279b
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Bug-AGL: SPEC-2988
Change-Id: I28cf984024356925469b4971b993718276d1240f
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
-Added an attribute to signals that tells if the bit_position
has been swapped.
-Test if bit_size and bit_position gives an "out of range" data
Bug-AGL: SPEC-3022
Change-Id: I589565ca923ec807da2d4f0db7c4c92fb737b579
Signed-off-by: Corentin Le Gall <corentin.legall@iot.bzh>
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
- add enumeration that represents the way of encoding:
enum sign_t
{
UNSIGNED = 0,
SIGN_BIT = 1,
ONES_COMPLEMENT = 2,
TWOS_COMPLEMENT = 3,
SIGN_BIT_EXTERN = 4
};
- the function handle_sign allows to transform value if negative and
return the sign of the value in order to be multiplied at the end ot the
parcing
Bug-AGL: SPEC-3021
Change-Id: I5766a286488170d930422474b4c4f3a8578ca726
Signed-off-by: Clément Bénier <clement.benier@iot.bzh>
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
- can-decoder.cpp: translate_signal() : Tests "frame_layout_is_little".
If false the signal's bit position is changed to fit the layout.
- message-definition.cpp: Added the new attribute
"frame_layout_is_little" and its getter.
- signals.cpp: Added a setter to the bit_position attribute.
- converter.cpp: Added a methode to convert a big endian bit_position
to a right (little endian) bit_position.
Bug-AGL: SPEC-2988
Change-Id: I004c9069eb00f389564927cd12d1b30470c3a59d
Signed-off-by: Corentin Le Gall <corentin.legall@iot.bzh>
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Bug-AGL: SPEC-2988
Change-Id: Ib705ae7c500bb9d3abc863053943298c87896bd2
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Add a space after a comma
Change some aligments
Bug-AGL: SPEC-2988
Change-Id: I5069120f4bbb33742bb4990e2e1f391ec8d5eeb6
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Bug-AGL: SPEC-2988
Change-Id: I9794c48d0f7567cc3fdc7dff21b4fcee47296514
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Convert two long types using typedef to get shorter one
Bug-AGL: SPEC-2988
Change-Id: I9f5612def1bce512516a6e1a45711486368bbc51
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Initialize an empty message_set to fill later when loading the Plugins
Add the required method to be able to add a message_set
Bug-AGL: SPEC-2988
Change-Id: I1dc784648f69832de8681184adaccbf5300f831d
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Bug-AGL: SPEC-2988
Change-Id: Ic3b9670a2ce9e982220c54f3632f690ee4eea686
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Bug-AGL: SPEC-2779
Change-Id: I672450b51b46082b6a913bef2d6e27d64c49e6fc
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
It doesn't matters to know whether or not a can signal is
using standard or extended CAN ID because this could be
retrieved using bit mask on the CAN ID when receiving and
sending.
Bug-AGL: SPEC-2988
Change-Id: Id96c576045bf087df51beb011742ad631336f814
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Fix filter bitmask generation in encoder_t::encode_data; the mask
bits need to be left-aligned in each byte, not right-aligned.
Bug-AGL: SPEC-3013
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: Ie084f81e3d8c06e69b5bb7562055187395099ac7
|
|
Bug-AGL : SPEC-2780
Change-Id: Ib31a32565c3bc38ea039003bd924a43318fb7c4e
Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh>
|
|
This commit adds the decoder bytes. It allows to
return a sequence of bytes in hexadecimal form.
Bug-AGL : SPEC-2780
Change-Id: I27180774f044c48a9d7baa2739b15a2e85b8b2e2
Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh>
|
|
This commit changes the signature of decoders. It is
now necessary to specify the version of the signals
so that the low-can-generator generates the associated
wrapper and not need to modify the decoder already
developed.
Bug-AGL : SPEC-2780
Change-Id: I044b1a3a6bacb9fc59bd6d3f77a1dbc437a3aa86
Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh>
|
|
Bug-AGL : SPEC-2779
Change-Id: Iebcf7492133cd7789d301593ff999b24ae10a054
Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh>
|
|
It's necessary to change the size of attributes
to manage multi packet signal.
Bug-AGL : SPEC-2779
Change-Id: If211c218ffa5a2e81ccfb32d3a5eeae0267e8f74
Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh>
|
|
This commit adds the ISO TP feature. The ISO TP protocol
allows to communicate between two ECU. The protocol
allows multi packets management.
Bug-AGL : SPEC-2779
Change-Id: Ic222615b547f28e926930e6c1dea2c0265055afd
Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh>
|
|
This commit allows to change all enum types by masks.
Now to implement new protocol you don't need to add
more attribute in class. All can be contained in
the flags field.
Bug-AGL : SPEC-2779
Change-Id: I814d0052139be5d5efefc9ff1b4b558f46b85e90
Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh>
|
|
Bug-AGL : SPEC-2779
Change-Id: I303d2423151dac497917299737070ffb645267d3
Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh>
|
|
This commit moves attributes flags and maxdlen from
class can_message_t to class message_t.
Bug-AGL : SPEC-2779
Change-Id: I56f9cd54d8b9822636311c603501326b36692cf4
Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh>
|
|
This commit allows to convert the data vector to canfd or
can frame. In the two cases the struct is a canfd frame,
but if the type is not fd, the max size of a frame is 8.
Bug-AGL : SPEC-2779
Change-Id: I60edf6a602a47572d5e5bfb508c7ca6d8761832b
Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh>
|
|
This commit adds the function get_data_vector to get
another vector between the index indicates.
Bug-AGL : SPEC-2779
Change-Id: I704d78467839ee7f9a2fec397e9b0db8da43d79d
Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh>
|
|
This commit update encoder and decoder files.
This new implementation allows to manage larger signals.
Bug-AGL : SPEC-2779
Change-Id: Iec6dfbd279863aa8b8e8f9e3ce951f0c8aa80dae
Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh>
|
|
Bug-AGL: SPEC-2386
Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh>
Change-Id: Ia10abfd73a6ea9d42770566e23bc4b206723f081
|
|
Bug-AGL : SPEC-2779
Change-Id: I834221ae1a04fdb188062ce1b7251e648c4845de
Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh>
|
|
This commit allows to write J1939 messages and add the management
of the address claiming.
Bug-AGL: SPEC-2386
Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh>
Change-Id: I1bb95a7ba6f6ebe463319c3972d9d46897181d51
|
|
Allows to build a message (J1939,BCM) with a signal and a value.
Bug-AGL: SPEC-2386
Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh>
Change-Id: Iadca13a927ff83f713f39da441c88356695a1285
|
|
When sending a CAN signal make an case-insensitive comparison as it isn't
necessary to be strict on that, so case insensitive if fine.
Update the documentation accordingly.
Bug-AGL: SPEC-2582
Change-Id: I998b64cdd9a381da3da582aeba42ab726fff1259
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
- Remove now unused forward declaration of active_diagnostic_request_t
- Factorize calling the signals_manager at binding initialization.
- retab...
Bug-AGL: SPEC-2386
Change-Id: I418fddd80ef8b856c198dc697760a6edf0918012
Signed-off-by: Stephane Desneux <stephane.desneux@iot.bzh>
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
This commit renames files and classes :
- can_message_definition_t -> message_definition_t
- can_message_set_t -> message_set_t
- can_signals_t -> signals_t
This prepares the implementation of j1939 protocol.
Bug-AGL: SPEC-2386
Change-Id: Ie3ee4f25c236c861b92eb12a56fa03a5a9afffbb
Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh>
Signed-off-by: Stephane Desneux <stephane.desneux@iot.bzh>
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Add a new constructor for the j1939 message definition
with additional name and data length member.
Bug-AGL: SPEC-2386
Change-Id: Iff531f122942b6741a6a97718e639a4814b8d2bf
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
This commit transforms the class can_message_t as the base class
and creates two derived classes: j1939_message_t and can_message_t.
Bug-AGL: SPEC-2386
Change-Id: I6d3afd8e4f5abff2cd0ec4e9910bd52a2893de76
Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh>
Signed-off-by: Stephane Desneux <stephane.desneux@iot.bzh>
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Fix the bug about a part of decode_state in can-signals.cpp.
If a state of signal is allocated not in order, the signal
which is bigger value than the number of states cannot be received,
because can_signal_t::get_states compares signal value with
the number of states.
By this modification, get_states is changed to judges
whether a signal value exists in states or not.
Bug AGL: SPEC-2504
Change-Id: Ia67413507950654567808f7a08d0b0b3b47cbd23
Signed-off-by: Hiroki Koga <hiroki@witz-inc.co.jp>
|
|
- Improve robustness reading a BCM socket
Adding checks on system calls and remove the initialization of the
struct that will hold the received message, not so much needed in
that case.
- More accurate log message at subscription/unsubscription step whether
this is a FD CAN messages or not and if this a subscription or an
unsubscription that is requested.
- Initialize the full struct of vehicle message to avoid memory warning
about conditionnal jump based on uninitialized bytes.
- Memleak: Free raw pointer on active diagnostic requests
Change-Id: I4bbf4d851c0fa1efdb6fa6034fac3d1dcafa1a73
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Also formating and retabulating some comments
Change-Id: I95eda93e78fabeb336ca02e94307364954ab2318
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Add a flag to CAN message definitions which set the message as using FD
protocol if true.
Use a new generated file with the new FD flag field on the message
definitions.
Change BCM socket "struct" using an union to store the CAN frames either
using the FD struct or the classic non FD struct. A BCM socket can only
one frame type once configured.
Use as much as possible the "struct canfd_frame" in the binding and only
make a difference before writing or reading the socket. From a memory
point of view both struct are identical and only the last member differ
and could hold more data with messages of 64 bytes long. So the
canfd_frame is compatible with the can_frame and can be differentiated
by a flag set in the can_id member.
Remove now unused code processing can_frame.
Keep the diagnostic manager using the classic CAN frame.
Set the maximum number of frames that a BCM socket can handle to 257.
Bug-AGL: SPEC-1980
Change-Id: Ifcc041281ea6745fc25cbd384743761f4446f489
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Adjust "encoder" signature to fit cpp usage like for the decoder functions.
Change-Id: I5872c5e32fd69356124fefbc82fd1f77ab8acbf4
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Change-Id: Icfb7cdb53deba8d82b91f884c6b815adf0f17adf
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
Automatically destroying C++ objects wasn't sufficient since
it uses thread with locks that were waiting forever if there is
no CAN bus activity. Now correctly wake-up the threads to ends
them even if there without activity on the CAN bus.
Change-Id: I69d74a34a8dbea4df7c8090aa47abf1c43133020
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|
|
This change set fixes the comments made by previous contributors
v2: Fix line end
v3: Making changes to comments as suggested by reviewers
v4: Removing trailing spaces
v5: Clearing small typo in low-can-cb.cpp on line 142
Change-Id: Ifbcfc3b2d131d1db0b25e472955b21e98cc09f45
Signed-off-by: ydimitrov <y.dimitrov.14@gmail.com>
|
|
When a new subscription is made, search in existing subscription for a
combination of a signal and a filter instead of searching for just a signal.
In this way, each subscription will receive signals according to
their requesting filter.
Bug-AGL: SPEC-1339
Change-Id: I22cb96a2dbaaf48dbd77025ff1610bde151b19b4
Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
|
|
Delete obsolote references such as use of acceptance filters,
timers, etc.
Signed-off-by: Jonathan Aillet <jonathan.aillet@iot.bzh>
|
|
Cleaning header file inclusion
Change-Id: Ic0dd9637ecd491692bd4b8b39e9602e85498c0a9
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
|