Change-Id: Ibec47106f8510e92a017fc08aeb2eeaeef2884e5
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
{
private:
std::string device_name_; ///< a string identifier identitfying the linux CAN device.
- utils::socketcan_raw_t can_socket_;
+ utils::socketcan_raw_t can_socket_; ///< can_socket_ - A Raw socket attached to a specified device
- int index_;
+ int index_; ///< index_ - An index number, it's the index number to access this object using the can_devices_ map from can_bus_t class
std::thread th_reading_; ///< Thread handling read the socket can device filling can_message_q_ queue of can_bus_t
bool is_running_ = false; ///< boolean telling whether or not reading is running or not
return -1;
}
+can_message_format_t 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();
+
+ return msg.get_format();
+}
\ No newline at end of file
void set_prefix(std::string val);
void set_received(bool r);
void set_last_value(float val);
+
int create_rx_filter();
+ can_message_format_t read_socket();
};
\ No newline at end of file