aboutsummaryrefslogtreecommitdiffstats
path: root/low-can-binding
AgeCommit message (Collapse)AuthorFilesLines
2020-01-23low-can: fix aborting on can_data not being an json_type_arrayicefish_8.99.5icefish/8.99.58.99.5Matt Ranostay1-1/+3
Bug-AGL: SPEC-3129 Change-Id: I41928c5f4c467edb176ad6234c9b775e70035319 Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2020-01-23low-can: fix returned event_t from generate_filter() uninitializedMatt Ranostay1-1/+1
Bug-AGL: SPEC-3129 Change-Id: I003a98863b78b49e85638bbb7e9b0d0fbde5a2b7 Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2020-01-22low-can-apidef: Fix typo in permissionJose Bollo1-1/+1
The space at the end is not expected! Bug-AGL: SPEC-3115 Change-Id: I8c87e4827dc697d0605131a4f9e7f4720bf7cec4 Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
2020-01-09get verb: add option idClément Bénier1-0/+61
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>
2020-01-09openxc-utils : No send string but send array_object for signalsArthur Guyader1-1/+1
Change-Id: Iee28c1216ad5a3a4cdc76bd3edef4f7b5ccf0866 Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh> Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2020-01-09message: move bit position flag and actionRomain Forlot4-70/+2
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>
2020-01-09converter : Add "0x" for hex dataArthur Guyader1-0/+1
Change-Id: I9a46b0b87d56a73fb75fafafb0509ca66bb68dd3 Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh> Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2020-01-09message: Fix copying all bytes but the last oneRomain Forlot3-64/+18
Change-Id: I8c2fce0f8080f213fda26a054f691ba3ed457bda Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2020-01-09can-bus: process signal rework to subscribe messageArthur Guyader2-13/+45
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>
2020-01-09can_decoder : Move frame swap to only do it one timeArthur Guyader2-11/+15
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>
2020-01-09openxc-utils : Add json value for DynamicFieldArthur Guyader2-11/+30
Change-Id: I93d31768804d4e30994897487e9fd312a56c547b Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh> Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2020-01-09low_can_subscription: Add msg_def and create_rx for messageArthur Guyader2-1/+43
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>
2020-01-09signal_t : Remove attribute is_big_endianArthur Guyader2-10/+0
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>
2020-01-09Update flag FRAME_LAYOUT_IS_BIGENDIAN to BYTE_FRAME_IS_BIG_ENDIANArthur Guyader3-3/+3
Change-Id: I13a3392aecd8d57fac6f94346c4cf209595775b4 Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh> Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2020-01-09format: remove uneeded brackets.Romain Forlot5-77/+8
Change-Id: I0689d62e32b9b60059adc2d4be78fa3b2581441c Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2020-01-09converter: Improve the continental bit calculRomain Forlot1-1/+1
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>
2020-01-09decoder: Add new decoders: ascii, date, timeArthur Guyader4-2/+82
Change-Id: I392bff2c1f4062aee186875335786fcda9cc0649 Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh> Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2020-01-09can_bus: Add unit in the json that low-can emitsArthur Guyader3-6/+10
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>
2020-01-09j1939: Follow updates of the kernelArthur GUYADER7-25/+45
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>
2020-01-09socket-j1939: Function add_filter return int to check errorArthur GUYADER2-3/+5
Change-Id: Ia79320108e8293d2b7a5beba4f49036999d5ebbb Signed-off-by: Arthur GUYADER <arthur.guyader@iot.bzh> Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2020-01-09msg_def: returns pgn if j1939 usedArthur GUYADER1-1/+2
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>
2020-01-09diag_mngr: No diagnostic msg if no diagnostic_busRomain Forlot2-4/+7
Change-Id: I840fc6cc7e9cfd171b03cac508fedb8ece4b976d Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2020-01-09low-can-cb: Little optiRomain Forlot1-4/+2
Change-Id: I6f3e84700563fc60e643d770365c98342214bedd Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2020-01-09message: Rework message flagsRomain Forlot2-13/+17
Adding bit_position and frame manipulation flags Change-Id: Ibd727a54a33a78b49f2c319b4b70dcda21ea87cb Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2020-01-09encoder: use contructor to initialize the vectorRomain Forlot1-5/+3
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>
2020-01-09converter: Improve bit_position computationRomain Forlot3-33/+27
- 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>
2020-01-09decoder: reformat function to parse the bitfieldRomain Forlot1-8/+10
Change-Id: Ia024b9d87d219f69aac0613d6e14b623e37300a6 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2020-01-09message: Default frame layout as little endian.Romain Forlot4-5/+5
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>
2020-01-09diag-mngr: Fix sending and change initRomain Forlot3-17/+24
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>
2020-01-09socket-bcm: Format, simplification of open socketRomain Forlot1-12/+10
Change-Id: I8a012285a8d06f3c5778c82e543c944d8fa20e3c Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2020-01-09decoder: rework how to swap frame layout.Romain Forlot7-31/+35
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>
2020-01-09message: optimize getting subpart of a vectorRomain Forlot1-19/+7
Change-Id: Ifdaea3bf0969f15eb70629a92c0293ddeee33491 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2020-01-09msg_definition: integrate frame layout as a flagRomain Forlot3-9/+2
Integrate frame layout as a flag instead of a separate boolean Change-Id: I0fe32fd8a80238006ef89152af25001ecdf018c9 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2020-01-09misc: Some cleanup and fixes about signatures.Romain Forlot4-3/+14
Change-Id: Ib3e1df0d3741274336c8806ae82082e33d4d3a92 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2020-01-09ini-config: remove ini-config libRomain Forlot1-2/+0
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>
2020-01-09all: format typoRomain Forlot5-9/+7
Bug-AGL: SPEC-2988 Change-Id: I81c01a817cd31d577068350d8445a1df2751bff7 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2020-01-09init: Improve error message when not finding config fileRomain Forlot1-1/+1
Bug-AGL: SPEC-2988 Change-Id: I9a9dec6e577881bbd784bcae1d17ddb244d94599 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2020-01-09low-can: Fix init failing when using without J1939Romain Forlot1-1/+1
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>
2020-01-09converter: Fix to_hex conversionCorentin Le Gall1-1/+1
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>
2020-01-09apidef: fix no preinit defined.Romain Forlot1-1/+1
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>
2020-01-09cmake: fix lib not populated and RPATH usageRomain Forlot1-0/+7
RPATH as to be used as target property. Bug-AGL: SPEC-2988 Change-Id: Ifaa66ceafbe7ed5f7de553b14da2dd8c5b1e8f9d Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2020-01-09message-def: Fix code to avoid warningsCorentin Le Gall1-2/+2
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>
2020-01-09socketcan-bcm: Fix wrongly opened socketRomain Forlot1-0/+1
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>
2020-01-09init: Fix wrong diagnostic bus name returned.Romain Forlot1-1/+1
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>
2020-01-09all: formatRomain Forlot4-45/+30
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>
2020-01-09decoder/encoder: typoRomain Forlot2-2/+2
Bug-AGL: SPEC-2991 Change-Id: I9ebea118770a9ffe0dd4321408643e76250e3635 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2020-01-09converter: Use unsigned int whenever it's possibleRomain Forlot2-3/+9
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>
2020-01-09decoder/encoder: simplification of code.Romain Forlot2-120/+36
- 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>
2020-01-09encoder: use switch case to handle CAN protocolsRomain Forlot1-31/+37
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>
2020-01-09message: Correctly detect extended CAN id.Romain Forlot1-3/+1
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>