aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2019-11-28Change function get_bcm_msg to return a reference.Romain Forlot2-2/+2
Bug-AGL : SPEC-2779 Bug-AGL: SPEC-2976 Change-Id: I303d2423151dac497917299737070ffb645267d3 Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh> Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2019-11-28Move attributes flags and maxdlenRomain Forlot5-22/+41
This commit moves attributes flags and maxdlen from class can_message_t to class message_t. Bug-AGL : SPEC-2779 Bug-AGL: SPEC-2976 Change-Id: I56f9cd54d8b9822636311c603501326b36692cf4 Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh> Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2019-11-28Add function remove last bcm frameRomain Forlot2-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 Bug-AGL: SPEC-2976 Change-Id: I5bb6f07a8d677c4aa882549fc1950f00a0b1da04 Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh> Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2019-11-28Add many frames in a subscription in the function tx_send.Romain Forlot1-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 Bug-AGL: SPEC-2976 Change-Id: I876aaf5ab7fed2fedb79367f77b987ba4745cdfc Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh> Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2019-11-28Add function to convert vector to canfd or can frame.Romain Forlot2-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 Bug-AGL: SPEC-2976 Change-Id: I60edf6a602a47572d5e5bfb508c7ca6d8761832b Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh> Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2019-11-28Add function get_data_vector with indexRomain Forlot2-0/+35
This commit adds the function get_data_vector to get another vector between the index indicates. Bug-AGL : SPEC-2779 Bug-AGL: SPEC-2976 Change-Id: I704d78467839ee7f9a2fec397e9b0db8da43d79d Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh> Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2019-11-28Update function to encode and decode messageRomain Forlot4-91/+165
This commit update encoder and decoder files. This new implementation allows to manage larger signals. Bug-AGL : SPEC-2779 Bug-AGL: SPEC-2976 Change-Id: Iec6dfbd279863aa8b8e8f9e3ce951f0c8aa80dae Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh> Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2019-11-28Update j1939 decode with function to_hexRomain Forlot1-19/+2
Bug-AGL: SPEC-2386 Bug-AGL: SPEC-2976 Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh> Change-Id: Ia10abfd73a6ea9d42770566e23bc4b206723f081 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2019-11-28Add file converter to manage all conversionsRomain Forlot3-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 Bug-AGL: SPEC-2976 Change-Id: Ife652006a7756547184ed548bda5ffef0d09d941 Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh> Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2019-11-28Uniform indentation with tabulationRomain Forlot12-450/+448
Bug-AGL : SPEC-2779 Bug-AGL: SPEC-2976 Change-Id: I834221ae1a04fdb188062ce1b7251e648c4845de Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh> Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2019-11-28Fix: 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 Bug-AGL: SPEC-2976 Change-Id: I4e4a80ac9f9b6b4c6b006108ee55f355a7c1e377 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2019-11-28Update documentation.Romain Forlot2-26/+31
Bug-AGL: SPEC-2386 Bug-AGL: SPEC-2976 Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh> Change-Id: I9e6b07ef48d634fe643e0eb2477fedfd34a7abb9 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2019-11-28Add tests for J1939 features.Romain Forlot6-3/+179
This commit adds tests for the J1939 features. Bug-AGL: SPEC-2386 Bug-AGL: SPEC-2976 Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh> Change-Id: I2545eb2f9a27561714fc5efcbd885afcb237770d Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2019-11-28Integrate the J1939 features : address claiming and write.Romain Forlot18-112/+1195
This commit allows to write J1939 messages and add the management of the address claiming. Bug-AGL: SPEC-2386 Bug-AGL: SPEC-2976 Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh> Change-Id: I1bb95a7ba6f6ebe463319c3972d9d46897181d51 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2019-11-28Add feature to build messages and fix some functionsRomain Forlot22-133/+524
Allows to build a message (J1939,BCM) with a signal and a value. Bug-AGL: SPEC-2386 Bug-AGL: SPEC-2976 Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh> Change-Id: Iadca13a927ff83f713f39da441c88356695a1285 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2019-11-28Update examples and can_samplesRomain Forlot15-328/+3398
Update of examples for new features (is_fd,is_extended,is_j1939). Bug-AGL: SPEC-2386 Bug-AGL: SPEC-2976 Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh> Change-Id: I8c3afbafdde4f5818d73c0e71a3b7e47fb7d8fc6 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2019-11-12Fix branch in .gitreviewhalibut_8.0.3halibut/8.0.38.0.3Scott Murray1-2/+1
Branch was incorrectly set to master instead of halibut. Bug-AGL: SPEC-2952 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I38fcc5f3162c6588db7944a118c384abbb00680b
2019-07-03signals.cpp: Make an insensitive string comparisonhalibut_8.0.2halibut_8.0.1halibut_8.0.0halibut_7.99.3halibut/8.0.2halibut/8.0.1halibut/8.0.0halibut/7.99.38.0.28.0.18.0.07.99.3Romain Forlot3-4/+15
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>
2019-06-27Fix spellinghalibut_7.99.2halibut/7.99.27.99.2Sebastien Douheret1-1/+1
Signed-off-by: Sebastien Douheret <sebastien.douheret@iot.bzh> Change-Id: Iea56414f8ccf3d96b2fc67126b066c4032fe86a8
2019-06-27Fix invalid markdown filename in documentationSebastien Douheret1-1/+1
Bug introduced by previous commit ID b8261a3b218 Bug-AGL: SPEC-2386 Signed-off-by: Sebastien Douheret <sebastien.douheret@iot.bzh> Change-Id: I3694f955109e5828bdf0209cc705655a0ed002c0
2019-06-27Minor improvementsRomain Forlot9-20/+14
- 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>
2019-06-27Add J1939 frame example.Arthur Guyader1-0/+13011
Bug-AGL: SPEC-2386 Change-Id: I4478b3cd1e60a8e46e4602c38265962c4c3575a8 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>
2019-06-27Update the documentation for J1939.Arthur Guyader3-2/+124
Bug-AGL: SPEC-2386 Change-Id: Ice568aebb10cc6eb3d7ac013b2e6ce08451332ba 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>
2019-06-27Updating application-generated.cpp.Romain Forlot10-1458/+2787
This commit updates differents application-generated.cpp files with the low-can generator updated with j1939. This commit adds the description of j1939 messages. Bug-AGL: SPEC-2386 Change-Id: I798a7da34c1be3526fec6bc3e424a6b88eaf46ff 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>
2019-06-26Small fixes (include and pointer)Romain Forlot3-3/+5
Bug-AGL: SPEC-2386 Change-Id: I3a622b9d236283aff479f187451cd86557a9aba7 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>
2019-06-26Modify function to open socket j1939Romain Forlot2-21/+59
The function open_socket has been modified to open a j1939 socket with a filter Bug-AGL: SPEC-2386 Change-Id: Ieed5c1d14efdb469f5a7b831c9e8a950e04e9d42 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>
2019-06-26Add the possibility to subscribe an id or a pgnArthur Guyader3-22/+106
The commit allows at the time of subscription to do: -> low-can subscribe {"id": 48} -> low-can subscribe {"pgn": 61442} The generation of event_filter has been extracted in a separate function. Bug-AGL: SPEC-2386 Change-Id: I592e668c63be448562b27c81fcdc111cd34f3676 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>
2019-06-26Rename some of the classes removing can- prefixRomain Forlot31-299/+394
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>
2019-06-26New constructor j1939 message definitionRomain Forlot2-0/+33
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>
2019-06-26Change can_message_t class usage for new j1939Romain Forlot27-231/+654
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>
2019-06-26Add CMake option to compile with J1939Romain Forlot2-1/+25
Add option USE_FEATURE_J1939 to compile j1939 in file config.cmake This will be set up by default depending on the presence on the building host of the J1939 CAN module headers. Bug-AGL: SPEC-2386 Change-Id: I54d4594ff01d4e509bfa0862f3cb486562024aed Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh> Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2019-06-26Use subscription's sockets as shared_ptrRomain Forlot3-20/+24
This change is made to leverage C++ to read and write the different socket classes depending on CAN protocol used. Bug-AGL: SPEC-2386 Change-Id: I5e25e271fc82e9627f836aeb43b2af5ef25db83a Signed-off-by: Stephane Desneux <stephane.desneux@iot.bzh> Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2019-06-26Use shared_ptr to set message_set parentRomain Forlot3-5/+5
Better to use shared_ptr instead of raw pointer if possible. Bug-AGL: SPEC-2386 Change-Id: Id853d8ac6cddd1e53edd84e3bf27b0f1f5d92d4b Signed-off-by: Stephane Desneux <stephane.desneux@iot.bzh> Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2019-06-26Implement a new socket type CAN for j1939 protocolArthur Guyader10-55/+305
This commit implements a new socket class for the j1939 protocol and prepares the bases classes by modifying the write and read methods. Bug-AGL: SPEC-2386 Change-Id: I16ba493418a4bb37a0262b61a2a2629be6ab5051 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>
2019-06-19Modify to receive signal with bigger value than the number of statesHiroki Koga1-1/+1
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>
2019-06-14Require to run at platform scopeJosé Bollo1-0/+1
Add the required permission urn:AGL:permission::partner:scope-platform to run at platform scope. Bug-AGL: SPEC-545 Bug-AGL: SPEC-2006 Change-Id: I8878ecad50bcf2c0f8fd8419e43f1009a22a1d85 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
2019-05-17Fix: double free issuehalibut_7.99.1halibut/7.99.17.99.1Romain Forlot1-2/+0
handle is already freed during the active_diagnostic_request destruction. Bug-AGL: SPEC-2415 Change-Id: Ia26d5c9d2974ca34d411c3182b218141a84c8f21 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2019-04-30Removing submoduleRomain Forlot2-0/+1
Migration wasn't complete, submodule deinit didn't achieve to erase the submodule or something wasn't pushed, anyway we have to manually remove the submodule to get rid of it. And this commit adds the afb-helpers library as a link dependency Bug-AGL: SPEC-2139 Change-Id: Iedbdb2d75fc75de553254b266c319bd1538d95c3 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2019-04-15documentation: fix broken links in documentationClément Bénier2-2/+2
- use relative links Change-Id: Ic8d85e6cad82e272d136b2bc4c9a1f965b101fbc Signed-off-by: Clément Bénier <clement.benier@iot.bzh>
2019-04-02docs: Fix broken linksPierre MARZIN3-4/+4
Change-Id: Icc71985cab22e015fa4b901a9545bec3e2cb524d Signed-off-by: Pierre MARZIN <pierre.marzin@iot.bzh>
2019-03-15binding: can-low-level: remove useless .gitmodulesMatt Ranostay1-3/+0
Bug-AGL: SPEC-2268 Change-Id: I48725d0589f188511873fa91d49cd425e1dd2ceb Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
2019-02-27autobuild: fix warnings due to cp command exit errorRaquel Medina2-26/+50
- bring latest version of autobuild script in - move conf.d/autobuild to root folder - update autobuild script to fix warnings triggered by cp operation error. Change-Id: I81b8000f6b11ac2571a8dbb329d45ec417092c99 Bug-AGL: SPEC-2164 Signed-off-by: Raquel Medina <raquel.medina@konsulko.com>
2019-02-06Add fake can data for dashboardzheng_wenlong1-0/+156
Add these fake can data. We want to modify dashboard, let is show more information. accelerator.pedal.position steering.wheel.angle transmission.gearinfo transmission.mode turnsignal.status lightstatus.brake parking.brake.status Change-Id: Ief9f29684f3463af0d0f98f1dd213b633d1889bb Signed-off-by: zheng_wenlong <wenlong_zheng@nexty-ele.com>
2018-12-19docs: add yaml bookhalibut_7.90.0halibut/7.90.0guppy_6.99.4guppy_6.99.3guppy/6.99.4guppy/6.99.37.90.06.99.46.99.3Frederic Marec1-0/+16
Bug-AGL: SPEC-1988 Change-Id: I67cf5f375d8f363e830ba9d04ff62ea7a3939510 Signed-off-by: Frederic Marec <frederic.marec@iot.bzh>
2018-12-14Smalls improvementsRomain Forlot5-8/+21
- 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>
2018-12-14Simpler handling of binding subscriptionsRomain Forlot8-494/+474
Don't use a child class for subscription, only use one because there isn't other different subscriptions type to be implemented about now and if so then we could split again. Remove functions no longer useful and move afb events and afb subscriptions part to low-can-subscription Change-Id: Ie3e4255961ac557465098cdb48730098a950461a Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-12-14Filter tests improvementsRomain Forlot4-1028/+529
- Unsubscribe using the tear down feature instead of invoking it inside a test which could not be called if a previous assertion failed. - Always use the same event so make the 'api' and 'evt' variables at file scope. - Asserting the bash script's return launcher execution Change-Id: I6be151d07f890aef053a5ada06216aac7941c165 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-12-14Cleaning the code for now unused functionsRomain Forlot12-176/+23
Also formating and retabulating some comments Change-Id: I95eda93e78fabeb336ca02e94307364954ab2318 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-12-14CAN FD implementationRomain Forlot13-233/+187
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>
2018-11-22Adds more tests about writing on CAN busguppy_6.99.2guppy_6.99.1guppy/6.99.2guppy/6.99.16.99.26.99.1Romain Forlot2-2/+13
This commit adds comprehensive tests about writing messages on CAN bus. Increase timeout to use in native test to be able to complete the test suite. Bug-AGL: SPEC-1965 Change-Id: Ica555dbac1038bb50e5f76c516c1198a78475a9e Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>