j1939: update using latest commits in linux-next
[apps/agl-service-can-low-level.git] / low-can-binding / utils / socketcan-j1939 / socketcan-j1939.cpp
index bb74c76..8ce16fb 100644 (file)
@@ -21,6 +21,7 @@
 #include <iostream>
 #include <algorithm>
 #include <vector>
+
 #include "./socketcan-j1939.hpp"
 #include "socketcan-j1939-addressclaiming.hpp"
 
@@ -50,12 +51,9 @@ namespace utils
                {
                        filter.name = name;
                        if(name_mask != J1939_NO_NAME)
-                       {
                                filter.name_mask = name_mask;
-                       } else
-                       {
+                       else
                                filter.name_mask = ~0ULL;
-                       }
                        ++filter_on;
                }
 
@@ -63,30 +61,25 @@ namespace utils
                {
                        filter.addr = addr;
                        if(addr_mask != J1939_NO_ADDR)
-                       {
                                filter.addr_mask = addr_mask;
-                       } else
-                       {
+                       else
                                filter.addr_mask = ~0;
-                       }
+
                        ++filter_on;
                }
                if (pgn <= J1939_PGN_MAX)
                {
                        filter.pgn = pgn;
                        if(pgn_mask != J1939_NO_PGN)
-                       {
                                filter.pgn_mask = pgn_mask;
-                       } else
-                       {
+                       else
                                filter.pgn_mask = ~0;
-                       }
+
                        ++filter_on;
                }
+
                if(filter_on)
-               {
                        setopt(SOL_CAN_J1939, SO_J1939_FILTER, &filter, sizeof(filter));
-               }
        }
 
        /**
@@ -98,16 +91,12 @@ namespace utils
         */
        void socketcan_j1939_t::define_opt(bool promisc, bool recv_own_msgs, bool broadcast)
        {
-               int promisc_i = 0;
-               int recv_own_msgs_i = 0;
-               int broadcast_i = 0;
-
-               if(promisc) promisc_i = 1;
-               if(recv_own_msgs) recv_own_msgs_i=1;
-               if(broadcast) broadcast_i = 1;
+               int promisc_i = promisc ? 1 : 0;
+               //int recv_own_msgs_i = recv_own_msgs ? 1 : 0;
+               int broadcast_i = broadcast ? 1 : 0;
 
                setopt(SOL_CAN_J1939, SO_J1939_PROMISC, &promisc_i, sizeof(promisc_i));
-               setopt(SOL_CAN_J1939, SO_J1939_RECV_OWN, &recv_own_msgs_i, sizeof(recv_own_msgs_i));
+               //setopt(SOL_CAN_J1939, SO_J1939_RECV_OWN, &recv_own_msgs_i, sizeof(recv_own_msgs_i));
                setopt(SOL_SOCKET, SO_BROADCAST, &broadcast_i, sizeof(broadcast_i));
        }
 
@@ -141,32 +130,18 @@ namespace utils
 
 
                if(addr <= 0 || addr >= UINT8_MAX )
-               {
                        tx_address_.can_addr.j1939.addr = J1939_NO_ADDR;
-               }
                else
-               {
                        tx_address_.can_addr.j1939.addr = addr;
-               }
-
                if(name <= 0 || name >= UINT64_MAX )
-               {
                        tx_address_.can_addr.j1939.name = J1939_NO_NAME;
-               }
                else
-               {
                        tx_address_.can_addr.j1939.name = name;
-               }
 
                if(pgn <= 0 || pgn > J1939_PGN_MAX)
-               {
                        tx_address_.can_addr.j1939.pgn = J1939_NO_PGN;
-               }
                else
-               {
                        tx_address_.can_addr.j1939.pgn = pgn;
-               }
-
        }
 
 
@@ -233,9 +208,8 @@ namespace utils
                ssize_t nbytes = recvfrom(socket_, &data, sizeof(data), flag, (struct sockaddr *)&peername,  &peernamelen);
 
                if(nbytes < 0)
-               {
                        return nullptr;
-               }
+
                //AFB_DEBUG("Data available: %i bytes read", (int)nbytes);
 
                struct timeval tv;
@@ -256,7 +230,7 @@ namespace utils
         */
        int socketcan_j1939_t::write_j1939_message(pgn_t pgn, std::vector<uint8_t> &data, uint32_t len_data)
        {
-               j1939_message_t msg = j1939_message_t(J1939_MAX_DLEN, len_data, message_format_t::J1939, data, 0, 0, pgn, 0);
+               j1939_message_t msg = j1939_message_t(len_data, data, 0, 0, pgn, 0);
                msg.set_sockname(pgn,J1939_NO_NAME,J1939_NO_ADDR);
                return write_message(msg);
        }
@@ -274,9 +248,7 @@ namespace utils
                uint8_t data[jm.get_data_vector().size()];
 
                for(int i=0; i<jm.get_data_vector().size(); i++)
-               {
                        data[i] = jm.get_data_vector()[i];
-               }
 
                if (sendto(socket_, &data, sizeof(data), 0, (const struct sockaddr *)&sockname, sizeof(sockname)) < 0)
                {
@@ -285,4 +257,4 @@ namespace utils
                }
                return 0;
        }
-}
\ No newline at end of file
+}