summaryrefslogtreecommitdiffstats
path: root/low-can-binding
AgeCommit message (Collapse)AuthorFilesLines
2020-01-09sign: handle decode methods sign from can valueClément Bénier4-14/+92
- 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>
2020-01-09can: Add big endian CAN frame layout handleCorentin Le Gall6-1/+51
- 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>
2020-01-09application: Add dedicated function to set parentsRomain Forlot2-15/+18
Bug-AGL: SPEC-2988 Change-Id: Iedd493b9e4043290dae0aa9d1d94a3d9179525ae Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2020-01-09low-can-cb: Retrieve application from external controller dataRomain Forlot1-5/+4
Bug-AGL: SPEC-2988 Change-Id: Iaa55b00539b1435b00fe076918d5eda5eeb5db30 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2020-01-09can_message: add missing signature due to conflictRomain Forlot1-4/+3
Bug-AGL: SPEC-2988 Change-Id: Ib705ae7c500bb9d3abc863053943298c87896bd2 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2020-01-09hat: Move some binding functions into the hatRomain Forlot2-1/+89
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>
2020-01-09binding: add preinit function to load the configRomain Forlot6-82/+100
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>
2020-01-09All: Make format coherent with the whole projectRomain Forlot21-94/+94
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>
2020-01-09all: Copyright updateRomain Forlot12-12/+12
Bug-AGL: SPEC-2988 Change-Id: I9794c48d0f7567cc3fdc7dff21b4fcee47296514 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2020-01-09message_set: typedef long type signatureRomain Forlot3-5/+5
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>
2020-01-09controller: Prepare project ot use the ControllerArthur Guyader8-867/+90
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>
2020-01-08j1939: don't process signals using same busRomain Forlot1-6/+8
Bug-AGL: SPEC-2991 Change-Id: I8733a35e4f9cb3d0f2fce818b55a010fec19dc66 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2020-01-08all: Format one line 'if' or 'for' statement.Romain Forlot13-209/+65
Bug-AGL: SPEC-2988 Change-Id: Ic3b9670a2ce9e982220c54f3632f690ee4eea686 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2020-01-08app-generated: update for generated steering wheelRomain Forlot1-276/+2
Change-Id: I8af34595e4ea4d72af726c6c5db3ac05dda85bf2 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2020-01-08subscription: Optimizing opening socketsRomain Forlot2-30/+22
Also review some aligment and make more space between bool ops Bug-AGL: SPEC-2988 Change-Id: I613f294a630caf48eea7bb0c7b9c36b07cbacfbf Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2020-01-08socketcan-j1939: format how to define_opt()Romain Forlot1-7/+4
Bug-AGL: SPEC-2932 Change-Id: Ifec401451dc541b71dc2f98d25f5c953f1bcf532 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2020-01-08can: clean and formatRomain Forlot1-48/+31
Little optimization in create_rx_filter_can function and make format coherent on bit operations. Bug-AGL: SPEC-2988 Change-Id: Ic9c53ba4c937604bbf3500ee89c7b5a5dbca7cfd Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2020-01-08can: Fix receiving and sending extended CAN framesRomain Forlot1-2/+4
Bug-AGL: SPEC-2779 Change-Id: I672450b51b46082b6a913bef2d6e27d64c49e6fc Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2020-01-08can: Remove extended flagsRomain Forlot3-13/+9
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>
2020-01-08j1939: Following kernel updatesRomain Forlot2-2/+2
Compatatibility for latest kernel/glibc version See: https://github.com/torvalds/linux/commit/0768e17073dc527ccd18ed5f96ce85f9985e9115 Follow j1939 integration in the kernel which remove SO_J1939_RECV_OWN Bug-AGL: SPEC-2932 Change-Id: Id01e92330582da299af675676987cd667272e2c5 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2019-12-06Change example message 0x3D9 back to non-FDicefish_8.99.4icefish_8.99.3icefish_8.99.2icefish/8.99.4icefish/8.99.3icefish/8.99.28.99.48.99.38.99.2Scott Murray1-1/+1
Update agl-vcar example definition to change message 0x3D9 back to regular CAN so it will be usable on non-FD capable hardware again. Bug-AGL: SPEC-3012 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I74064c5a8f4111f8f774104d27b86c8f15451539 (cherry picked from commit 12e75ea716e1b5054be0228e2859e14a11be622a)
2019-12-05Fix filter bitmask generationScott Murray1-1/+1
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
2019-12-03Update steering wheel LIN message definitionScott Murray1-1/+1
The steering wheel LIN message does not work in low-can after it has been updated to include commit "Update function rx_filter_can for multi frame prevision." (59bffa4 in master, a41ee0d in halibut), due to the length value now being required in the message definition. The length has been added to the definition for agl-vcar and the application-generated.cpp files regenerated. As well, the new J1939 and FD flags have been added to the message definition for consistency. Bug-AGL: SPEC-2951 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: Ice079268827dfbb2bf2c79b6c5e897dcab8fc433
2019-11-20Add steering wheel LIN message signal definitionsicefish_8.99.1icefish/8.99.18.99.1Scott Murray1-995/+248
Add signal definitions for the button status information in the steering wheel demo LIN message. Bug-AGL: SPEC-2951 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: Id4909161f8f159858a3d29e310a3b43a787f2d03
2019-09-09Update documentationArthur Guyader1-1/+1
Bug-AGL : SPEC-2779 Change-Id: I461f7e32322faba7e822791ff2e3851039e03548 Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh>
2019-08-30Remove file socketcan-j1939 that was not removed beforeArthur Guyader4-197/+128
Bug-AGL : SPEC-2780 Change-Id: I4ddf9389faffebe0334b0004b69bb7336277c29d Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh>
2019-08-30Remove in function convert_from_addr, the variable flags was not usedArthur Guyader1-1/+0
Bug-AGL : SPEC-2780 Change-Id: Ib31a32565c3bc38ea039003bd924a43318fb7c4e Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh>
2019-08-30Remove in function rx_filter_can, the variable val was not usedArthur Guyader1-1/+0
Bug-AGL : SPEC-2780 Change-Id: Ifce6e67fd55699d088952b0f722694d211ec7398 Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh>
2019-08-30Add new decoders bytes for signal of long sizeArthur Guyader4-1/+146
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>
2019-08-30Change signature of decodersArthur Guyader3-53/+54
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>
2019-08-30Add some typedef to reduce the size of the linesArthur Guyader14-51/+61
Bug-AGL : SPEC-2779 Change-Id: Iebcf7492133cd7789d301593ff999b24ae10a054 Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh>
2019-08-30Change vector to list to allow to remove signal.Arthur Guyader2-12/+29
This commit allows to remove signals. We need that because subscription to an iso tp message needs to be individual. Bug-AGL : SPEC-2779 Change-Id: I1d6410ebfc8ea82d33addf1bb828d9cd810b006a Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh>
2019-08-30Update bit position and bit size in signalArthur Guyader2-14/+15
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>
2019-08-30Add feature ISO TP (multi frames and peer to peer)Arthur Guyader16-53/+667
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>
2019-08-30Replace all enum types with masksArthur Guyader16-172/+143
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>
2019-08-30Update function tx_send for multi frame previsionArthur Guyader1-7/+30
Bug-AGL : SPEC-2779 Change-Id: Ib0b04fe3648c5b83c23327431e21161b6b2489b6 Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh>
2019-08-30Only defined signals can be writtenArthur Guyader1-26/+59
This commits ensure that only known signals could be written using the binding's api. Before that you was able to wrote raw frames on the CAN bus without any checks if this was a known signals to the binding. Bug-AGL : SPEC-2779 Change-Id: Ied6680e926f2a9c221fee31d8fb78d2d39c41132 Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh>
2019-08-30Update function rx_filter_can for multi frame prevision.Arthur Guyader2-12/+46
This commit updates the functions rx_filter_can to anticipate the development of the multi-frame. Bug-AGL : SPEC-2779 Change-Id: I5f67cf84e5d3e47c75c588f8776ead92eb6c3c8e Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh>
2019-08-30Change function get_bcm_msg to return a reference.Arthur Guyader2-2/+2
Bug-AGL : SPEC-2779 Change-Id: I303d2423151dac497917299737070ffb645267d3 Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh>
2019-08-30Move attributes flags and maxdlenArthur Guyader5-22/+41
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>
2019-08-30Add function remove last bcm frameArthur Guyader2-0/+12
This commit creates the function remove_last_bcm_frame. This function removes the last bcm frame of the subscription. Bug-AGL : SPEC-2779 Change-Id: I5bb6f07a8d677c4aa882549fc1950f00a0b1da04 Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh>
2019-08-30Add many frames in a subscription in the function tx_send.Arthur Guyader1-3/+6
This commit convert the message to a vector of canfd_frame. If there are several canfd frames then we add all of them to the subscription. Bug-AGL : SPEC-2779 Change-Id: I876aaf5ab7fed2fedb79367f77b987ba4745cdfc Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh>
2019-08-29Add function to convert vector to canfd or can frame.Arthur Guyader2-1/+64
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>
2019-08-29Add function get_data_vector with indexArthur Guyader2-0/+35
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>
2019-08-29Update function to encode and decode messageArthur Guyader4-91/+165
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>
2019-08-29Update j1939 decode with function to_hexArthur Guyader1-19/+2
Bug-AGL: SPEC-2386 Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh> Change-Id: Ia10abfd73a6ea9d42770566e23bc4b206723f081
2019-08-29Add file converter to manage all conversionsArthur Guyader3-0/+86
This commits create a class converter to access conversions functions. For example to_hex, or for future usage in multi packet signal_to_bits_bytes. Bug-AGL : SPEC-2779 Change-Id: Ife652006a7756547184ed548bda5ffef0d09d941 Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh>
2019-08-29Uniform indentation with tabulationArthur Guyader12-450/+448
Bug-AGL : SPEC-2779 Change-Id: I834221ae1a04fdb188062ce1b7251e648c4845de Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh>
2019-08-13Fix: only one subscription could be madeRomain Forlot2-4/+8
Only one subscription could be made and then only one subscriber could receive associated events. As the relationship between events and subscriber is not 1-1 but 1-N, so this was the mistake. Now 1 event is created for N subscriber where before there was 1 event for 1 subscriber and subsequent subscribers could not receive same events than the ones already subscribed. Bug-AGL: SPEC-2726 Change-Id: I4e4a80ac9f9b6b4c6b006108ee55f355a7c1e377 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2019-08-12Integrate the J1939 features : address claiming and write.Arthur Guyader17-112/+1192
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