Jan-Simon Moeller [Mon, 1 Jul 2024 09:37:26 +0000 (11:37 +0200)]
Add gitreview file for Royal Ricefish branch
Update the .gitreview file.
Bug-AGL: SPEC-5194
Signed-off-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
Change-Id: I4577fa13b05307045db14b60388c0c9cc920af76
Jan-Simon Moeller [Tue, 13 Feb 2024 21:36:37 +0000 (22:36 +0100)]
Add gitlab issue/merge request templates
Add template files for gitlab
Bug-AGL: SPEC-4474
Signed-off-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
Change-Id: Iaed0d232a5b74647202f7dc035fa150ea3d20d48
Scott Murray [Wed, 6 Jan 2021 23:30:03 +0000 (18:30 -0500)]
Restore /etc/dev-mapping.conf support
Add back the ini-config and config-parser code that existed
previously, and use it in binding init to over-ride the device
mapping from the controller JSON if /etc/dev-mapping.conf exists.
This restores the documented behavior, and is needed for the
existing AGL demo platform support and soon CI.
Additionally:
- Add code to validate the active_message_set, diagnostic_bus, and
bus device mapping configuration values.
- The above required moving plugin loading before the configuration
callback in the controller configuration, but this change seems
rational in that everything required by the generated plugin code
is already initialized before then, and it makes validating the
configuration possible without adding an extra callback.
- Add logging of the used CAN bus to device mappings at info level
to ease debugging any future issues.
- Tweak the log level of the missing configuration file message to
info from error, since it is a legitimate mode of operation if
relying on the default bus values in the controller JSON.
Bug-AGL: SPEC-3755
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: I440f5e0fc85be41f7c4c1f47d824a403525a18f9
Scott Murray [Tue, 29 Sep 2020 22:44:39 +0000 (18:44 -0400)]
Update agl-vcar to match test expectations
The regeneration of the agl-vcar and default plugin signals code
broke some expectations of the afb-test and pyagl tests, changes
to get things back to a good state:
- Add the missing J1939 messages that were in default-signals.cpp
before it was regenerated to the agl-vcar signals.json, and then
regenerate the affected cpp files; this fixes the J1939 test
expectations. An alternative approach would be using the ability
to load a different set of signals by configuring a different
plugin, but that has been deemed not workable for AGL CI.
- Remove the old application-generated.cpp file from the agl-vcar
examples directory to avoid confusion.
- Update the testFilter01pass.canreplay CAN data file used for the
Filter_Test_01/Step_2 test to use the non-FD version of the
0x3D9 CAN message that matches the agl-vcar definition. A new
0x3DA message that is a FD copy of 0x3D9 has been added to the
agl-vcar signals.json to allow testing CAN FD messaging, and a new
testFilter01pass-FD.canreplay data file has been added that can
potentially be used for doing so.
Bug-AGL: SPEC-3603
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: I24c960ca33aaf122ac83a2583cb2df0cd6dbd9e3
Scott Murray [Wed, 23 Sep 2020 20:34:26 +0000 (16:34 -0400)]
Update default signals to match agl-vcar definition
Changes:
- Updated the generated examples/agl-vcar/agl-vcar-signals.cpp and
plugins/default-signals.cpp files with versions generated from
examples/agl-vcar/signals.json with an updated version of
low-level-can-generator.
- Removed plugins/agl-vcar-signals.cpp to avoid confusion, as it is
not used.
- Removed unnecessary execute permission on plugins/CMakeLists.txt.
Bug-AGL: SPEC-3603
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: I33ccecf7b1316e8735a7f362c965cb927ed147b4
Scott Murray [Wed, 19 Aug 2020 17:08:30 +0000 (13:08 -0400)]
Rework J1939 and ISO TP feature enabling
Rework the J1939 and ISO TP feature enabling logic in config.cmake to:
- define WITH_FEATURE_J1939 and WITH_FEATURE_ISOTP to default to off,
thus requiring explicit enabling. This is safer than making
assumptions based solely on the presence of the headers at build
time.
- honor WITH_FEATURE_* definitions given on the cmake command-line;
the checks for header presence only over-ride an "ON" value if the
required header is not present.
Bug-AGL: SPEC-3538
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: Ie2b84ac50bbed0bbb775cae49f7f4fbe14f2f8ae
Scott Murray [Tue, 9 Jun 2020 22:42:29 +0000 (18:42 -0400)]
Update autobuild scripts
Update autobuild scripts with reworked version that fixes building
outside of the source tree.
Bug-AGL: SPEC-2049, SPEC-3300
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: I67abac8382ccf7a1961e6a8219b41f55df81fe47
Romain Forlot [Fri, 28 Feb 2020 15:54:07 +0000 (16:54 +0100)]
config: Fix build failure missing header file
This commit add a sysroot variable in front of the path to header file which
the presence is tested. Then we always point to the correct kernel headers
path depending on the build environment
Bug-AGL: SPEC-3204
Change-Id: Ifb59a897d36c74e6f84897d0bf3db3eb75609702
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Frederic Marec [Mon, 2 Dec 2019 14:10:36 +0000 (15:10 +0100)]
Update autobuild script to create new targets
Update autobuild script to create multiple widget target debug, coverage and all
Bug-AGL: SPEC-2049
Signed-off-by: Frederic Marec <frederic.marec@iot.bzh>
Change-Id: I880f1aa629eaba9e320ed75b69eaa840c79887d8
Jan-Simon Möller [Tue, 11 Feb 2020 16:42:11 +0000 (17:42 +0100)]
Update .gitreview file
This updates the gitreview file in the project
.
Change-Id: I3cb34bd925688f411cc7c24a947d26709c63fa32
Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org>
Matt Ranostay [Thu, 23 Jan 2020 22:46:24 +0000 (14:46 -0800)]
low-can: fix aborting on can_data not being an json_type_array
Bug-AGL: SPEC-3129
Change-Id: I41928c5f4c467edb176ad6234c9b775e70035319
Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
Matt Ranostay [Thu, 23 Jan 2020 22:32:33 +0000 (14:32 -0800)]
low-can: fix returned event_t from generate_filter() uninitialized
Bug-AGL: SPEC-3129
Change-Id: I003a98863b78b49e85638bbb7e9b0d0fbde5a2b7
Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
Jose Bollo [Wed, 22 Jan 2020 10:38:13 +0000 (11:38 +0100)]
low-can-apidef: Fix typo in permission
The space at the end is not expected!
Bug-AGL: SPEC-3115
Change-Id: I8c87e4827dc697d0605131a4f9e7f4720bf7cec4
Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
Matt Ranostay [Thu, 9 Jan 2020 04:12:41 +0000 (20:12 -0800)]
docs: update script paths in README.md
Bug-AGL: SPEC-2984
Change-Id: I4b160319b4eb4cb27a4d3e18d9c1cab42eef76a0
Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
Clément Bénier [Mon, 23 Dec 2019 10:31:45 +0000 (11:31 +0100)]
get verb: add option id
can be called with json value:
- a string matching can id
- an array matching can ids
Change-Id: Ia38728e065348e265613643fc934eb985564b722
Signed-off-by: Clément Bénier <clement.benier@iot.bzh>
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Arthur Guyader [Sat, 21 Dec 2019 09:10:03 +0000 (10:10 +0100)]
openxc-utils : No send string but send array_object for signals
Change-Id: Iee28c1216ad5a3a4cdc76bd3edef4f7b5ccf0866
Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh>
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Romain Forlot [Tue, 7 Jan 2020 18:33:11 +0000 (19:33 +0100)]
message: move bit position flag and action
Separate some define to be in a dedicated header file that will
be installed on the system. Then the low-can-generator could use it
instead of having to copy those defines in the generator code.
Change-Id: I1716c8b20f0811ca4ac1e8f13609f05ad7d24d1f
Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh>
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Arthur Guyader [Thu, 19 Dec 2019 14:43:52 +0000 (15:43 +0100)]
converter : Add "0x" for hex data
Change-Id: I9a46b0b87d56a73fb75fafafb0509ca66bb68dd3
Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh>
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Romain Forlot [Thu, 19 Dec 2019 10:29:07 +0000 (11:29 +0100)]
message: Fix copying all bytes but the last one
Change-Id: I8c2fce0f8080f213fda26a054f691ba3ed457bda
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Frederic Marec [Wed, 18 Dec 2019 16:15:58 +0000 (17:15 +0100)]
plugins: Remove J1939 condition in CMakeLists file
Remove condition to fix library link problem. This makes
the build not happens at all if you don't have the J1939
CAN Kernel module isn't installed.
Change-Id: I52f7bf2d6806e33505450c809a5ce7c463d91ab9
Signed-off-by: Frederic Marec <frederic.marec@iot.bzh>
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Arthur Guyader [Wed, 18 Dec 2019 15:57:22 +0000 (16:57 +0100)]
can-bus: process signal rework to subscribe message
This commits allows to subscribe message and have all signals
in one frame.
Change-Id: I95de0e46b30be09a47a04754266cb55650eeec31
Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh>
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Arthur Guyader [Mon, 16 Dec 2019 18:19:50 +0000 (19:19 +0100)]
can_decoder : Move frame swap to only do it one time
This commit allows to swap only one time a data message.
Change-Id: I566c6ad72e266cd59a4397ab1a5ef423d752cf75
Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh>
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Arthur Guyader [Mon, 16 Dec 2019 15:54:07 +0000 (16:54 +0100)]
openxc-utils : Add json value for DynamicField
Change-Id: I93d31768804d4e30994897487e9fd312a56c547b
Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh>
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Arthur Guyader [Mon, 16 Dec 2019 09:13:01 +0000 (10:13 +0100)]
low_can_subscription: Add msg_def and create_rx for message
This commit adds message_definition variable to subscribe to
message and not signals. And the function that init rx_filter
for message.
Also patch the error message
Change-Id: I98b0b4dc8fec6ccef6e103fcb8aae136f708aa16
Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh>
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Romain Forlot [Thu, 9 Jan 2020 10:57:18 +0000 (11:57 +0100)]
Cleanup examples, tests, configuration and plugins
This commit updates all files external to the code.
Change-Id: I910bc300c53b7669573bba414db7d7ad74313697
Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh>
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Arthur Guyader [Sun, 15 Dec 2019 15:15:28 +0000 (16:15 +0100)]
signal_t : Remove attribute is_big_endian
It is not used in the actual context.
Change-Id: I6334ff9a037cec4f61deea56048b3109ad1362ab
Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh>
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Arthur Guyader [Sun, 15 Dec 2019 14:21:34 +0000 (15:21 +0100)]
Update flag FRAME_LAYOUT_IS_BIGENDIAN to BYTE_FRAME_IS_BIG_ENDIAN
Change-Id: I13a3392aecd8d57fac6f94346c4cf209595775b4
Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh>
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Romain Forlot [Sun, 15 Dec 2019 12:35:42 +0000 (13:35 +0100)]
format: remove uneeded brackets.
Change-Id: I0689d62e32b9b60059adc2d4be78fa3b2581441c
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Romain Forlot [Sun, 15 Dec 2019 11:12:56 +0000 (12:12 +0100)]
converter: Improve the continental bit calcul
This is an improvment of the bit_position computing. This now operate only
on full bytes to get the position.
Change-Id: Idb4993a3c9922d50d02379139e7cbbe5a2cb501b
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Arthur Guyader [Fri, 13 Dec 2019 17:59:33 +0000 (18:59 +0100)]
examples: Update examples j1939
Change-Id: I060994c4b553c6ae52becd52f8b0bfa795230743
Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh>
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Arthur Guyader [Fri, 13 Dec 2019 14:23:27 +0000 (15:23 +0100)]
decoder: Add new decoders: ascii, date, time
Change-Id: I392bff2c1f4062aee186875335786fcda9cc0649
Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh>
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Arthur Guyader [Fri, 13 Dec 2019 13:44:42 +0000 (14:44 +0100)]
can_bus: Add unit in the json that low-can emits
This commit allow if the unit is defined to display it
in the json emmits by low-can.
Change-Id: Ia09d4d9614eba6de93292ffab351fa1f4e612b73
Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh>
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Arthur Guyader [Fri, 13 Dec 2019 12:47:05 +0000 (13:47 +0100)]
tests: Test the value of signals decoded
This commit adds test to check if the value of signals
is well decoded.
Change-Id: I64f489d6428bf593dfda08dc6aacbdacd9d18d73
Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh>
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Arthur Guyader [Fri, 13 Dec 2019 09:55:20 +0000 (10:55 +0100)]
test: Add tests filter
This commit patch an error in the test low-can_FikterTest01.lua.
This test crash other tests if not patch.
Change-Id: I2163811853ddc1ab7b84616b006c302d9e1b27fc
Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh>
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Arthur GUYADER [Thu, 12 Dec 2019 17:12:01 +0000 (18:12 +0100)]
j1939: Follow updates of the kernel
This commit patch j1939 feature after the update of the
kernel from linux-can-next to mainline.
Now promisc option removes filter of the bind.
The option is now a parameter in the event_filter.
The feature recv_own isn't available, you can't receive
on the same socket an emit frame from you.
Not a big problem because receive and send method use two
different sockets in the implementation.
Change-Id: I5ac410177c1512090827870300b8aa1679477b84
Signed-off-by: Arthur GUYADER <arthur.guyader@iot.bzh>
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Arthur GUYADER [Thu, 12 Dec 2019 14:26:59 +0000 (15:26 +0100)]
socket-j1939: Function add_filter return int to check error
Change-Id: Ia79320108e8293d2b7a5beba4f49036999d5ebbb
Signed-off-by: Arthur GUYADER <arthur.guyader@iot.bzh>
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Arthur GUYADER [Thu, 12 Dec 2019 12:56:13 +0000 (13:56 +0100)]
msg_def: returns pgn if j1939 used
This commit patch function get_id. It was only capable to return
id and id extended. Now it returns also pgn.
Change-Id: If5feb7e2ee3bc5ca33b16620d1b998c95414dda8
Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh>
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Romain Forlot [Thu, 12 Dec 2019 09:35:38 +0000 (10:35 +0100)]
diag_mngr: No diagnostic msg if no diagnostic_bus
Change-Id: I840fc6cc7e9cfd171b03cac508fedb8ece4b976d
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Romain Forlot [Tue, 10 Dec 2019 18:02:36 +0000 (19:02 +0100)]
low-can-cb: Little opti
Change-Id: I6f3e84700563fc60e643d770365c98342214bedd
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Romain Forlot [Tue, 10 Dec 2019 15:53:22 +0000 (16:53 +0100)]
message: Rework message flags
Adding bit_position and frame manipulation flags
Change-Id: Ibd727a54a33a78b49f2c319b4b70dcda21ea87cb
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Romain Forlot [Tue, 10 Dec 2019 09:08:15 +0000 (10:08 +0100)]
encoder: use contructor to initialize the vector
Instead of initilizing using a for loop...
Also fixes a wrong watched bit using a bcm socket
Change-Id: Ib65a3da06dbd249c97b8ec11823247120505d545
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Romain Forlot [Sun, 8 Dec 2019 14:56:39 +0000 (15:56 +0100)]
converter: Improve bit_position computation
- Fix wrong bit_position swap computed:
Need to multiply then lenght in bytes by 8 to get it for bits.
- Add a continental bit_position function:
This allow to get the correct bit_position using the weird Continental.
bit numbering method where the Frame is read using little endianness
and bit count using a big endianness
- Use define CHAR_BIT instead of hardcoded 8 value
Change-Id: I8d458ab457f80e5fa116af942acfceaaef51b763
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Romain Forlot [Tue, 7 Jan 2020 17:26:53 +0000 (18:26 +0100)]
decoder: reformat function to parse the bitfield
Change-Id: Ia024b9d87d219f69aac0613d6e14b623e37300a6
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Romain Forlot [Sun, 8 Dec 2019 09:55:57 +0000 (10:55 +0100)]
message: Default frame layout as little endian.
Change the flags to be enable if frame use big endian rather than
little
Change-Id: I09ae9c54f1d807da4e740457cf04a001723edb0e
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Romain Forlot [Fri, 6 Dec 2019 10:34:05 +0000 (11:34 +0100)]
diag-mngr: Fix sending and change init
This commit fix the wrong bcm ival1 value set because the struct
hasn't been initialized so it use a wrong value that can not be
handled by the socket.
Initialize diagnotstic manager depending on JSON configuration file
This avoid to request engine_speed signal when there isn't any diagnostic_bus
configured in the JSON file.
Change-Id: I98145a6e20c29a644c856d818f104c6bd8069f9f
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Romain Forlot [Fri, 6 Dec 2019 08:38:05 +0000 (09:38 +0100)]
socket-bcm: Format, simplification of open socket
Change-Id: I8a012285a8d06f3c5778c82e543c944d8fa20e3c
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Romain Forlot [Wed, 4 Dec 2019 16:26:58 +0000 (17:26 +0100)]
decoder: rework how to swap frame layout.
This also change the bit_position to retrieve the bit word starting from the left
or the right of the frame depending on the endianness of the frame layout.
Change-Id: I28658e9d46bd35d8ecabeece317331832229384a
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Romain Forlot [Wed, 4 Dec 2019 15:19:28 +0000 (16:19 +0100)]
message: optimize getting subpart of a vector
Change-Id: Ifdaea3bf0969f15eb70629a92c0293ddeee33491
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Romain Forlot [Wed, 4 Dec 2019 10:39:33 +0000 (11:39 +0100)]
msg_definition: integrate frame layout as a flag
Integrate frame layout as a flag instead of a separate boolean
Change-Id: I0fe32fd8a80238006ef89152af25001ecdf018c9
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Romain Forlot [Mon, 4 Nov 2019 12:21:08 +0000 (13:21 +0100)]
misc: Some cleanup and fixes about signatures.
Change-Id: Ib3e1df0d3741274336c8806ae82082e33d4d3a92
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Romain Forlot [Fri, 29 Nov 2019 15:34:05 +0000 (16:34 +0100)]
ini-config: remove ini-config lib
No need to use ini-config now that the config is hold by the controller
JSON configuration file.
Bug-AGL: SPEC-2988
Change-Id: If82d22266fb2d592c140b81cda783ee63f1f13be
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Romain Forlot [Fri, 29 Nov 2019 14:42:55 +0000 (15:42 +0100)]
all: format typo
Bug-AGL: SPEC-2988
Change-Id: I81c01a817cd31d577068350d8445a1df2751bff7
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Romain Forlot [Fri, 29 Nov 2019 11:25:18 +0000 (12:25 +0100)]
config: Fix wrong controller configuration file name
Bug-AGL: SPEC-2988
Change-Id: I6491c1bb4b64d7f005f220e4d2358ce787bf84af
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Romain Forlot [Thu, 28 Nov 2019 13:09:19 +0000 (14:09 +0100)]
init: Improve error message when not finding config file
Bug-AGL: SPEC-2988
Change-Id: I9a9dec6e577881bbd784bcae1d17ddb244d94599
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Romain Forlot [Thu, 28 Nov 2019 12:37:35 +0000 (13:37 +0100)]
low-can: Fix init failing when using without J1939
Return variable was initialized to 1 instead of 0 and without using J1939
this variable isn't reaffected and so the final test fails.
Bug-AGL: SPEC-2386
Change-Id: I53b7cd757b3b344d66ab18ba9795284105cbcfcc
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Clément Bénier [Thu, 28 Nov 2019 10:10:10 +0000 (11:10 +0100)]
cmake config: WIDGET ENTRY POINT FIX
renamed afb-low-can-binding.so
Bug-AGL: SPEC-2988
Change-Id: If72c1fc75891b01c3baaa9c8d776e3a2e5ea128c
Signed-off-by: Clément Bénier <clement.benier@iot.bzh>
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Corentin Le Gall [Thu, 28 Nov 2019 08:15:19 +0000 (09:15 +0100)]
converter: Fix to_hex conversion
Convert byte to hex without forgetting '0's.
ex: Before: '10' -> 'a'
After: '10' -> '0a'
Bug-AGL: SPEC-2991
Change-Id: I7346893eaf83aaa9294e48c20cbffd1a61789b51
Signed-off-by: Corentin Le Gall <corentin.legall@iot.bzh>
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Romain Forlot [Tue, 7 Jan 2020 17:21:33 +0000 (18:21 +0100)]
plugins: Conditionnal building of the j1939 plugin
Bug-AGL: SPEC-2988
Change-Id: Idf77aa32ca4fd44163d93d0515f21d51f1d7abd7
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Romain Forlot [Tue, 26 Nov 2019 14:20:40 +0000 (15:20 +0100)]
apidef: fix no preinit defined.
This commit fixes the binding initialization by specifying a
preinit function that parse and load the controller configuration
Bug-AGL: SPEC-2988
Change-Id: I040c401fa2818d056a61a2858829bc4db2cffece
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Romain Forlot [Tue, 26 Nov 2019 11:23:45 +0000 (12:23 +0100)]
cmake: fix lib not populated and RPATH usage
RPATH as to be used as target property.
Bug-AGL: SPEC-2988
Change-Id: Ifaa66ceafbe7ed5f7de553b14da2dd8c5b1e8f9d
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Corentin Le Gall [Mon, 25 Nov 2019 18:29:52 +0000 (19:29 +0100)]
message-def: Fix code to avoid warnings
Bug-AGL: SPEC-2988
Change-Id: I8ded9847a5923b3a78afc953551fc6daaf40b355
Signed-off-by: Corentin Le Gall <corentin.legall@iot.bzh>
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Romain Forlot [Mon, 25 Nov 2019 14:04:07 +0000 (15:04 +0100)]
socketcan-bcm: Fix wrongly opened socket
This commit fixes a problem once a bcm socket has been opened
but the following ioctl failed. Before we still return the socket
number instead of returning a negative value as error.
This resulted in problem because the subscription was considered as valid
and binding was continuing using the closed file descriptor.
Bug-AGL: SPEC-2988
Change-Id: Iaa64e7bb00980cb8c0e7080aca238cfb57d628b6
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Romain Forlot [Mon, 25 Nov 2019 11:39:30 +0000 (12:39 +0100)]
init: Fix wrong diagnostic bus name returned.
We use the bus name which isn't correct because it isn't the device name.
Bug-AGL: SPEC-2988
Change-Id: I5c9313817a3f3d423f8934cfab03e2cf20d48af2
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Romain Forlot [Wed, 4 Dec 2019 16:56:16 +0000 (17:56 +0100)]
all: format
Remove unecessary brackets and replace if possible
if...else by ternary operator.
Bug-AGL: SPEC-2991
Change-Id: Ibe46b83dea976e050b9cd9eb7ee7ab2c33b63905
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Romain Forlot [Sat, 23 Nov 2019 15:07:17 +0000 (16:07 +0100)]
decoder/encoder: typo
Bug-AGL: SPEC-2991
Change-Id: I9ebea118770a9ffe0dd4321408643e76250e3635
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Romain Forlot [Wed, 8 Jan 2020 09:58:42 +0000 (10:58 +0100)]
converter: Use unsigned int whenever it's possible
Use unsigned int whenever it is possible instead of uint32_t.
This let the compiler decide the type. We do not need to use
uint32_t explicitly for the converter.
Bug-AGL: SPEC-2988
Change-Id: Ic2af875e7435668928c454df76e59c5c43b08407
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Romain Forlot [Sat, 23 Nov 2019 12:39:52 +0000 (13:39 +0100)]
bitfield-c: use unsigned int instead of uint8_t
Use unsigned int instead of uint8_t upon destination and source array length.
This is needed to handle gathered multi-frames message data which could
be greater than 1 simple messages.
Bug-AGL: SPEC-2988
Change-Id: I107bff383c2d0771dbc2a30770ec5c195b1c22ac
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Romain Forlot [Sat, 23 Nov 2019 11:42:01 +0000 (12:42 +0100)]
decoder/encoder: simplification of code.
- 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>
Romain Forlot [Sat, 23 Nov 2019 08:00:50 +0000 (09:00 +0100)]
encoder: use switch case to handle CAN protocols
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>
Romain Forlot [Thu, 21 Nov 2019 16:59:07 +0000 (17:59 +0100)]
message: Correctly detect extended CAN id.
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>
Romain Forlot [Thu, 21 Nov 2019 15:13:52 +0000 (16:13 +0100)]
socket: Raise an error if open function failed.
The socket opening wasn't tested and we fails later on another function
using the wrongly opened socket. This would not happens anymore.
Bug-AGL: SPEC-2988
Change-Id: I9b30bd9fc13b99277cbef6f7aeaddadc57ad0b18
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Romain Forlot [Thu, 21 Nov 2019 12:44:24 +0000 (13:44 +0100)]
low-can-hat: improve format
Weird way test to make test are now fixed to be more readable.
Bug-AGL: SPEC-2988
Change-Id: I81d716ac3799c4217e720a13d8ba78a46996a2c3
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Romain Forlot [Wed, 20 Nov 2019 18:46:11 +0000 (19:46 +0100)]
low-can-cb: improve readability
Just make thing more readable by define variables at the beginning of
functions. And directly assign them if possible.
Also improve format using the same format than in the rest of the project.
Bug-AGL: SPEC-2932
Change-Id: I5cc7685b80734d0eb43a29fc06b2a8434f3469fa
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Romain Forlot [Wed, 20 Nov 2019 14:31:14 +0000 (15:31 +0100)]
can-bus: Use configuration from JSON file
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>
Romain Forlot [Tue, 7 Jan 2020 17:41:44 +0000 (18:41 +0100)]
fix: missing include to find find_if function
Change-Id: I099b951011442ffaebf75a319236a39553999a41
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Romain Forlot [Wed, 20 Nov 2019 12:02:24 +0000 (13:02 +0100)]
message: More explicit define about CAN protocols.
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>
Romain Forlot [Wed, 20 Nov 2019 09:49:27 +0000 (10:49 +0100)]
decoder: fix left behind character
Bug-AGL: SPEC-2988
Change-Id: I28cf984024356925469b4971b993718276d1240f
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Romain Forlot [Tue, 19 Nov 2019 18:25:26 +0000 (19:25 +0100)]
low-can-cb: Mark the end of the CtlSections array
Bug-AGL: SPEC-2988
Change-Id: I433f4f699f3234fc07fcd909cd6b77b84e447ad7
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Romain Forlot [Tue, 19 Nov 2019 15:44:38 +0000 (16:44 +0100)]
converter: littles improvements.
Bug-AGL: SPEC-2988
Change-Id: I9198835b96c66c140f8b1d4167828302b9dc4959
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Romain Forlot [Tue, 19 Nov 2019 11:44:05 +0000 (12:44 +0100)]
examples: Update using new Generator
New generator including new signals capabilities:
- sign
- big_endian frame
- default length
Bug-AGL: SPEC-2988
Change-Id: Icf2e4dd7ef880a73527103c90a8063cf3d042e41
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Romain Forlot [Thu, 9 Jan 2020 14:53:30 +0000 (15:53 +0100)]
plugins: Use agl-vcar plugin by default
Bug-AGL: SPEC-2988
Change-Id: I8935210e4cc2ec290a809bc1bfece4c36d367cda
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Romain Forlot [Wed, 8 Jan 2020 09:44:32 +0000 (10:44 +0100)]
cmake: cleaning and set RPATH for binding
Cleaning and set RPATH to find the low-can library
Change-Id: I6e68a61bbeca385433028a716b9ac6d5e7f28769
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Corentin Le Gall [Mon, 18 Nov 2019 15:48:20 +0000 (16:48 +0100)]
decoder: Fix bit_position swapping
-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>
Clément Bénier [Fri, 15 Nov 2019 10:20:34 +0000 (11:20 +0100)]
sign: handle decode methods sign from can value
- 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>
Corentin Le Gall [Thu, 14 Nov 2019 18:13:25 +0000 (19:13 +0100)]
can: Add big endian CAN frame layout handle
- 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>
Romain Forlot [Thu, 14 Nov 2019 14:09:57 +0000 (15:09 +0100)]
application: Add dedicated function to set parents
Bug-AGL: SPEC-2988
Change-Id: Iedd493b9e4043290dae0aa9d1d94a3d9179525ae
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Romain Forlot [Thu, 14 Nov 2019 11:51:29 +0000 (12:51 +0100)]
low-can-cb: Retrieve application from external controller data
Bug-AGL: SPEC-2988
Change-Id: Iaa55b00539b1435b00fe076918d5eda5eeb5db30
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Romain Forlot [Tue, 12 Nov 2019 15:20:00 +0000 (16:20 +0100)]
examples: updates
Bug-AGL: SPEC-2988
Change-Id: I9c71038690d301e513f736a3405c3367f64fdbda
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Romain Forlot [Tue, 12 Nov 2019 13:44:02 +0000 (14:44 +0100)]
test: Update tests with new transport
Bug-AGL: SPEC-2386
Change-Id: I3a0e4ea451f9e01fc13b7498b9eb20e81548ce5d
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Romain Forlot [Tue, 12 Nov 2019 11:16:53 +0000 (12:16 +0100)]
doc: Update documentation
Bug-AGL: SPEC-2988
Change-Id: Ifbeb00ef74d7a83db66808ae59dc9422b2e8593a
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Romain Forlot [Sun, 10 Nov 2019 18:17:18 +0000 (19:17 +0100)]
can_message: add missing signature due to conflict
Bug-AGL: SPEC-2988
Change-Id: Ib705ae7c500bb9d3abc863053943298c87896bd2
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Romain Forlot [Sun, 10 Nov 2019 15:48:14 +0000 (16:48 +0100)]
hat: Move some binding functions into the hat
This is needed to move using a splitted binding/library
model to have plugins linked to the lib as well as the
binding to get there symbols
Bug-AGL: SPEC-2988
Change-Id: I3a9f616078bc7fa9317995ec4300ee2b61aa4b08
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Romain Forlot [Sat, 9 Nov 2019 17:09:30 +0000 (18:09 +0100)]
binding: add preinit function to load the config
Make as the others bindings using controller and load its configuration file
at preinit step.
diagnostic-manager: Change way to initialize the diag bus
This was kind of hardcoded and now, it is initialized by a configuration key
of the controller configuration JSON file.
Bug-AGL: SPEC-2988
Change-Id: I344c1982893e47600a0b8cd03542de8069a42d24
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Romain Forlot [Wed, 4 Dec 2019 16:54:38 +0000 (17:54 +0100)]
All: Make format coherent with the whole project
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>
Romain Forlot [Sat, 9 Nov 2019 08:22:17 +0000 (09:22 +0100)]
all: Copyright update
Bug-AGL: SPEC-2988
Change-Id: I9794c48d0f7567cc3fdc7dff21b4fcee47296514
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Romain Forlot [Thu, 7 Nov 2019 16:04:12 +0000 (17:04 +0100)]
message_set: typedef long type signature
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>
Arthur Guyader [Thu, 7 Nov 2019 13:16:16 +0000 (14:16 +0100)]
controller: Prepare project ot use the Controller
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>
Romain Forlot [Wed, 6 Nov 2019 14:41:23 +0000 (15:41 +0100)]
j1939: don't process signals using same bus
Bug-AGL: SPEC-2991
Change-Id: I8733a35e4f9cb3d0f2fce818b55a010fec19dc66
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Romain Forlot [Tue, 5 Nov 2019 18:33:29 +0000 (19:33 +0100)]
all: Format one line 'if' or 'for' statement.
Bug-AGL: SPEC-2988
Change-Id: Ic3b9670a2ce9e982220c54f3632f690ee4eea686
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Romain Forlot [Tue, 7 Jan 2020 15:03:02 +0000 (16:03 +0100)]
app-generated: update for generated steering wheel
Change-Id: I8af34595e4ea4d72af726c6c5db3ac05dda85bf2
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>