aboutsummaryrefslogtreecommitdiffstats
path: root/CAN-binder/low-can-binding
AgeCommit message (Collapse)AuthorFilesLines
2017-04-27Don't use heavy weapon to get some basic calculationRomain Forlot1-2/+1
Change-Id: Ibc820dea7efbc2d7a50671ce66804217c6707d56 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-27Fix: Add notifying decoding thread if there is new messages.Romain Forlot1-1/+3
Change-Id: If12617ae086d7023ff619799833cd1d4fd0fd413 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-27Check last value before send the event, if no change no event.Romain Forlot3-9/+20
Adding a boolean parameter similarly of existing function to know if we would send the event. Change-Id: I03ee17f656065e556fd2b72b160b140852b68dcc Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-27Create method to handle both CAN frames.Romain Forlot3-21/+103
Change-Id: Ie876614266fd2e7089754a8f917d25d316de4c98 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh> Fix: wrong call since renaming of function to more generic name Change-Id: I2adebb855bc815ba6ab14a1002b17d9c9fb293fd Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-27Doesn't send event if no changes are made for doors signals.Romain Forlot1-5/+5
Change-Id: I4e72db1e7b7bc31d7446a4903972687f1ec9d71c Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-27Finish to read stream and fill the destination object.Romain Forlot1-4/+5
Use AFB log system Change-Id: I5aa727ce7f9db5b6f18df5957f31f37d9af88d20 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-27Fix: Reading doesn't update receiving object valuesRomain Forlot2-2/+2
Wrong signature using const argument with the obj receiving the read Change-Id: I0c5b8a3c974f0bd140823f8ce88aa2cbd451e543 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-27Don't use FD frame with BCM socket. Seems not working...Romain Forlot1-2/+14
Change-Id: I4f1d5cd489011675cf55914647b57c7332dec1b9 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-27Fix: correctly count (un)subscribed signals.Romain Forlot1-4/+4
Can't be 0 subscription so success if greater than 0 Change-Id: Ie4395dbabe4ed85fe939ebdfa9de87e210fa55bc Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-27Make template from similar writing stream operations.Romain Forlot2-28/+6
Change-Id: I33b32418980059b701d2af5b165af536f42d0252 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-27Subscribe using BCM RX_SETUP filter capabilities implemented.Romain Forlot1-6/+8
Change-Id: I7462b5d0144987293376dab719d1cf4fa41406f2 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-27Reworked reading CAN devices from BCM socket.Romain Forlot4-5/+62
Now reading thread hold in can_bus_t object instead of can_bus_dev_t and reading happens using select(). Change-Id: Ib8cc68c4484679168519f3c0fa485fedd1616c74 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-27Fix bit alignment errors...Romain Forlot1-10/+10
Change-Id: Iea1bb66bb3aea8a120e7bbb3b55895682044cf23 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-27Typo, rename, formatRomain Forlot4-15/+15
Change-Id: I8250ef78f0b540617bd249873250f62ad6361fdf Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-27Renaming confusing member "address_" to "index_"Romain Forlot3-8/+9
Change-Id: I0ec6d74e9adb791f8bef44f76c74be8365cdf037 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-25Implement reading stream for socketcan_tRomain Forlot2-2/+27
Will read a can_message_t object from socket Change-Id: Ibe3561f9d7bbf4e41b6fd81fa4672bae1c14aca5 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-24Fix compilation warning complaining about unset boolean value.Romain Forlot1-1/+2
Change-Id: I17e2177f40b8845f78370048ef3c734486b152b3 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-24Misc: Cleanup, typo, formating and comments update.Romain Forlot9-20/+12
Change-Id: Icac565b9a3a80dc05a1a3470a35e223c8c564347 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-24Create a received job for BCM Socket to handle filtering.Romain Forlot6-1/+48
Filter is created using can_signals description and send with appropriate BCM header structure. This is the simplest way to do, no temporal filtering for now is available. Change-Id: Iee49f011ba9316880735d2765c1c23a8b2d3c4d2 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-24Rename and handling write on socket using stream instead of specific methodRomain Forlot4-28/+85
Created special struct to handle bcm messages with can_frame and canfd_frame. We can now just send both of them seamlessly. Change-Id: Ia84e9cf2ab1dd0716cb09f6bb342a208e54f8e06 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-24Fix: Avoid returning 2 results for 1 signal.Romain Forlot1-1/+1
Either returning signal with search against generic_name either against name, not both. Change-Id: I597718d04c99d098973442b4174e735e813c9b94 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-22Rework subscription and unsubscriptions operations. More readable.Romain Forlot1-42/+50
Change-Id: I53101eed16b1faf1e5014826d91e4d64665f2f9f Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-22Use BCM socket as default cleaning up the old RAW socket code.Romain Forlot5-44/+11
Also use CAN FD frames by default. Change-Id: I5bad10e537653b1a96c2e3012d38dde8627d3caa Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-22Fix: opening bcm socket still trying to bind as a RAW socket.Romain Forlot1-3/+6
Wrong condition testing making connect and bind happens. Change-Id: Ic75a74d044e9763fdf42e50f7643b26ffaf5d76d Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-22Improve logging messagesRomain Forlot9-61/+64
Added for all log messages function name at beginning using __FUNCTION__ macro. Change-Id: Ia0f476ca81b9f79c6d49b425c0520894c59797ea Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-21Adding some commentsRomain Forlot1-4/+4
Change-Id: Ic47e808a0da94f79ca0341d1b4f46a02eef3fe84 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-21Move all signals search functions into new signals_manager_t objectRomain Forlot7-202/+154
Create a class from signals lookup and find standalone function and gather all find function into it. There is now only 1 function to find either CAN signals or diagnostic messages, results are returned using an ad-hoc struct containing vector of one or the other type pointers. This object also hold subscribed_signals map with events, so this class is a singleton. Change-Id: I3584c6a91201e6904edc6aeac0abfa1785bdeccc Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-21Diagnostic messages subscription simplified.Romain Forlot3-26/+20
Remove useless function. Change-Id: I6638c3033cfeea643b29c1280d7f5785371cd342 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-20Update commentsRomain Forlot1-2/+4
Change-Id: Ib21f810170308a16462ffe9c174448a86bf791d4 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-20Remove timeout socket option.Romain Forlot1-2/+0
This will be handle by BCM socket Change-Id: Ie0348135fcc596ab21727846f3b47751664c9e11 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-20Separate socket configuration and openingRomain Forlot3-6/+10
Change-Id: I94cad718b516f24c5d1833e09df89f03e529f48a Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-20Use same function to open BCM and RAW CAN socketsRomain Forlot3-6/+6
Using one a another socket type is made using a boolean. Change-Id: I0445c8550f289d1e0020f6496c638bc95e8db443 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-20Specializing socket class to CAN socket operations.Romain Forlot5-65/+109
Move all legacy opening RAW CAN socket operation to socket class. Each operations on a CAN socket has to be simple and made by the socket class. Simple BCM socket open operation is implemented. Future will be to open specialized BCM CAN sockets on demand. Change-Id: If285b97afb9871245ab1f13cd9f0401fbd9adf95 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-19Added missing default constructor.Romain Forlot1-0/+2
Change-Id: Ie47171ba633274c31a5e0965919232e91ac74adb Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-19C++11 way to initialize using list init.Romain Forlot1-1/+1
Change-Id: I0fa96d14d42d1ef80eb0340f48a644c378d4dcbe Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-19Cleaning includeRomain Forlot2-8/+0
Change-Id: I6f90c87c164bc6ba70ee0889668f54f4972a8610 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-19FormatingRomain Forlot2-4/+2
Change-Id: Ib67fab1ecd5085e089769e7905cd5ebcd28b9c7c Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-19Fix: temporary variable assigned to a reference leading to exceptionRomain Forlot1-1/+1
Change-Id: I6bf86a4c9fe832e4f7df192aca1ef25d79097e9c Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-19Change INI file parser library.Romain Forlot3-27/+11
Much simpler but also a bit limitated. Could be change easily in futur if needed Change-Id: I06f03f093c9206007e3d0c1e86a35d60111be5f8 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-18Use a system INI configuration file to get devices mappingRomain Forlot7-137/+84
Instead of specifying a JSON configuration file with CAN devices name, it uses a mapping configuration file that map a high level device names to a real low level names. File path is to be specified into the generated source code which is /etc/dev-mapping.conf for now. Configuration file uses INI file format and is parsed using inih library cpp wrapper. Change-Id: Ibde104e76cd78a6cc86f6eec4f66c274b7567d43 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2017-04-14Change directory architecture to use 2 separated projects.Romain Forlot40-0/+5157
Each projects, binder and generator, has to be compiled separatly. CAN-binder will host high and low level binding CAN-config-generator only the generator used for low level binding. build.sh script just launch both build in their respective dir. Change-Id: Ic77932660fcca507b23a631d4e4e790f608880ae Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>