// Test that socket is really opened
if (!can_socket_)
{
- ERROR(binder_interface, "read: Socket unavailable. Closing thread.");
+ ERROR(binder_interface, "%s: Socket unavailable. Closing thread.", __FUNCTION__);
is_running_ = false;
}
if (nbytes != CANFD_MTU && nbytes != CAN_MTU)
{
if (errno == ENETDOWN)
- ERROR(binder_interface, "read: %s CAN device down", device_name_.c_str());
- ERROR(binder_interface, "read: Incomplete CAN(FD) frame");
+ ERROR(binder_interface, "%s: %s CAN device down", __FUNCTION__, device_name_.c_str());
+ ERROR(binder_interface, "%s: Incomplete CAN(FD) frame", __FUNCTION__);
::memset(&cfd, 0, sizeof(cfd));
}
return can_message_t::convert_from_frame(cfd, nbytes);
}
-/// @brief Create a RX_SETUP receive job using the BCM socket.
-///
-/// @return 0 if ok else -1
-int can_bus_dev_t::create_rx_filter(const can_signal_t& s)
-{
- uint32_t can_id = s.get_message().get_id();
-
- struct utils::simple_bcm_msg bcm_msg;
- struct can_frame cfd;
-
- memset(&cfd, 0, sizeof(cfd));
- memset(&bcm_msg.msg_head, 0, sizeof(bcm_msg.msg_head));
- uint8_t bit_size = s.get_bit_size();
- float val = (float)(1 << bit_size)-1;
-
- bcm_msg.msg_head.opcode = RX_SETUP;
- bcm_msg.msg_head.can_id = can_id;
- bcm_msg.msg_head.flags = 0;
- bcm_msg.msg_head.nframes = 1;
- bitfield_encode_float(val,
- s.get_bit_position(),
- bit_size,
- s.get_factor(),
- s.get_offset(),
- cfd.data,
- CAN_MAX_DLEN);
-
- bcm_msg.frames = cfd;
-
- if(can_socket_ << bcm_msg)
- return 0;
- return -1;
-}
-
/// @brief start reading threads and set flag is_running_
/// @param[in] can_bus reference can_bus_t. it will be passed to the thread to allow using can_bus_t queue.
void can_bus_dev_t::start_reading(can_bus_t& can_bus)