Format
[apps/agl-service-can-low-level.git] / CAN-binder / low-can-binding / can / can-signals.cpp
index 6a68214..bc33e06 100644 (file)
@@ -215,7 +215,7 @@ void can_signal_t::set_last_value(float val)
        last_value_ = val;
 }
 
-/// @brief Create a RX_SETUP receive job using the BCM socket.
+/// @brief Create a RX_SETUP receive job used by the BCM socket.
 ///
 /// @return 0 if ok else -1
 int can_signal_t::create_rx_filter()
@@ -233,15 +233,13 @@ int can_signal_t::create_rx_filter()
        memset(&cfd, 0, sizeof(cfd));
        memset(&bcm_msg.msg_head, 0, sizeof(bcm_msg.msg_head));
        float val = (float)(1 << bit_size_)-1;
-       float freq = frequency_.frequency_to_period();
-       if(freq <= 0)
-               freq = 0.000001f;
+       struct timeval freq = frequency_.get_timeval_from_period();
 
        bcm_msg.msg_head.opcode  = RX_SETUP;
        bcm_msg.msg_head.can_id  = can_id;
        bcm_msg.msg_head.flags = SETTIMER|RX_NO_AUTOTIMER;
-       bcm_msg.msg_head.ival2.tv_sec = long(freq);
-       bcm_msg.msg_head.ival2.tv_usec = (freq - (long)freq) * 1000000;
+       bcm_msg.msg_head.ival2.tv_sec = freq.tv_sec ;
+       bcm_msg.msg_head.ival2.tv_usec = freq.tv_usec;
        bcm_msg.msg_head.nframes = 1;
        bitfield_encode_float(val,
                                                                                bit_position_,
@@ -257,13 +255,3 @@ int can_signal_t::create_rx_filter()
                return 0;
        return -1;
 }
-
-void can_signal_t::read_socket()
-{
-       can_message_t msg;
-       can_bus_t& cbm = configuration_t::instance().get_can_bus_manager();
-       socket_ >> msg;
-       std::lock_guard<std::mutex> can_message_lock(cbm.get_can_message_mutex());
-       { cbm.push_new_can_message(msg); }
-       cbm.get_new_can_message_cv().notify_one();
-}
\ No newline at end of file