can: Remove extended flags
[apps/agl-service-can-low-level.git] / low-can-binding / diagnostic / diagnostic-manager.cpp
index 7c067c6..2b7fa9b 100644 (file)
@@ -124,9 +124,9 @@ bool diagnostic_manager_t::shims_send(const uint32_t arbitration_id, const uint8
        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)
@@ -473,7 +473,7 @@ openxc_VehicleMessage diagnostic_manager_t::relay_diagnostic_response(active_dia
 /// @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)
@@ -526,7 +526,7 @@ openxc_VehicleMessage diagnostic_manager_t::find_and_decode_adr(std::shared_ptr<
 /// @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_id() & CAN_SFF_MASK || m->get_id() & CAN_EFF_MASK)
        {
                if (m->get_id() >= 0x7e8 && m->get_id() <= 0x7ef)
                                return true;