Handle several can_frame in a BCM message 05/18105/3
authorRomain Forlot <romain.forlot@iot.bzh>
Tue, 20 Nov 2018 18:46:00 +0000 (19:46 +0100)
committerRomain Forlot <romain.forlot@iot.bzh>
Thu, 22 Nov 2018 10:10:26 +0000 (11:10 +0100)
Also clean an unused function

Change-Id: I4faabf5a1af53da898ee70f2bc4b528acea3ded3
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
low-can-binding/binding/low-can-socket.cpp
low-can-binding/binding/low-can-socket.hpp

index 0aebfa3..db9b164 100644 (file)
@@ -208,15 +208,8 @@ struct utils::simple_bcm_msg low_can_socket_t::make_bcm_head(uint32_t opcode, ui
 /// a multiplexed message with several can_frame.
 void low_can_socket_t::add_bcm_frame(const struct can_frame& cf, struct utils::simple_bcm_msg& bcm_msg) const
 {
-       for(int i=0; i < CAN_MAX_DLEN; i++)
-       {
-               if(cf.data[i] != 0)
-               {
-                       bcm_msg.msg_head.nframes = 1;
-                       bcm_msg.frames = cf;
-                       return;
-               }
-       }
+       bcm_msg.msg_head.nframes++;
+       bcm_msg.frames = cf;
 }
 
 /// @brief Create a RX_SETUP receive job to be used by the BCM socket for a CAN signal
@@ -302,27 +295,6 @@ int low_can_socket_t::create_rx_filter(utils::simple_bcm_msg& bcm_msg)
        return 0;
 }
 
-/// @brief Creates a TX_SEND job that is used by the BCM socket to
-/// send a message
-///
-/// @return 0 if ok, else -1
-int low_can_socket_t::tx_send(const struct can_frame& cf, std::shared_ptr<can_signal_t> sig)
-{
-       can_signal_ = sig;
-
-       utils::simple_bcm_msg bcm_msg =  make_bcm_head(TX_SEND);
-       add_bcm_frame(cf, bcm_msg);
-
-       if(open_socket() < 0)
-               {return -1;}
-
-       socket_ << bcm_msg;
-       if(! socket_)
-               return -1;
-
-       return 0;
-}
-
 /// @brief Creates a TX_SEND job that is used by the BCM socket to
 /// send a message
 ///
index 00f6825..48ed47f 100644 (file)
@@ -90,6 +90,5 @@ public:
        int create_rx_filter(std::shared_ptr<diagnostic_message_t> sig);
        int create_rx_filter(utils::simple_bcm_msg& bcm_msg);
 
-       int tx_send(const struct can_frame& cf, std::shared_ptr<can_signal_t> sig);
        int tx_send(const struct can_frame& cf, const std::string& bus_name);
 };