bcm_msg.frames[0] = cf;
- std::shared_ptr<message_t> msg = std::make_shared<can_message_t>();
+ can_message_t msg = can_message_t();
- msg->set_bcm_msg(bcm_msg);
+ msg.set_bcm_msg(bcm_msg);
tx_socket.write_message(msg);
if(tx_socket)
/// @return A pointer to a filled openxc_VehicleMessage or a nullptr if nothing has been found.
openxc_VehicleMessage diagnostic_manager_t::relay_diagnostic_handle(active_diagnostic_request_t* entry, std::shared_ptr<message_t> m)
{
- DiagnosticResponse response = diagnostic_receive_can_frame(&shims_, entry->get_handle(), m->get_id(), m->get_data(), m->get_length());
+ DiagnosticResponse response = diagnostic_receive_can_frame(&shims_, entry->get_handle(), m->get_id(), m->get_data(), (uint8_t)m->get_length());
if(response.completed && entry->get_handle()->completed)
{
if(entry->get_handle()->success)
/// @return True if the active diagnostic request match the response.
bool diagnostic_manager_t::is_diagnostic_response(std::shared_ptr<message_t> m)
{
- if(m->get_msg_format() == can_message_format_t::STANDARD || m->get_msg_format() == can_message_format_t::EXTENDED)
+ if(m->get_flags()&STANDARD_ID || m->get_flags()&EXTENDED_ID)
{
if (m->get_id() >= 0x7e8 && m->get_id() <= 0x7ef)
return true;