can: Fix receiving and sending extended CAN frames
[apps/agl-service-can-low-level.git] / low-can-binding / can / message-definition.cpp
index a875daf..b761ad6 100644 (file)
@@ -25,7 +25,7 @@ message_definition_t::message_definition_t(
        uint32_t flags,
        frequency_clock_t frequency_clock,
        bool force_send_changed,
-       const std::vector<std::shared_ptr<signal_t> >& signals)
+       const vect_ptr_signal_t& signals)
        :  parent_{nullptr},
        bus_{bus},
        id_{id},
@@ -43,7 +43,7 @@ message_definition_t::message_definition_t(const std::string bus,
        uint32_t flags,
        frequency_clock_t frequency_clock,
        bool force_send_changed,
-       const std::vector<std::shared_ptr<signal_t> >& signals)
+       const vect_ptr_signal_t& signals)
        : parent_{nullptr},
        bus_{bus},
        id_{id},
@@ -64,7 +64,9 @@ const std::string message_definition_t::get_bus_device_name() const
 
 uint32_t message_definition_t::get_id() const
 {
-       return id_;
+       return id_ & CAN_EFF_MASK ?
+               id_ | CAN_EFF_FLAG :
+               id_;
 }
 
 bool message_definition_t::is_fd() const
@@ -82,7 +84,7 @@ bool message_definition_t::is_isotp() const
        return (flags_&ISOTP_PROTOCOL);
 }
 
-std::vector<std::shared_ptr<signal_t>>& message_definition_t::get_signals()
+vect_ptr_signal_t& message_definition_t::get_signals()
 {
        return signals_;
 }
@@ -105,4 +107,4 @@ uint32_t message_definition_t::get_length() const
 uint32_t message_definition_t::get_flags() const
 {
        return flags_;
-}
\ No newline at end of file
+}