message: Default frame layout as little endian.
[apps/agl-service-can-low-level.git] / low-can-binding / can / message-definition.cpp
index 064b2c1..6989a90 100644 (file)
 message_definition_t::message_definition_t(
        const std::string bus,
        uint32_t id,
-       bool is_fd,
-       message_format_t format,
+       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},
-       is_fd_(is_fd),
-       format_{format},
+       flags_{flags},
        frequency_clock_{frequency_clock},
        force_send_changed_{force_send_changed},
        last_value_{CAN_MESSAGE_SIZE},
@@ -42,18 +40,16 @@ message_definition_t::message_definition_t(const std::string bus,
        uint32_t id,
        const std::string name,
        uint32_t length,
-       bool is_fd,
-       message_format_t format,
+       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},
        name_{name},
        length_{length},
-       is_fd_(is_fd),
-       format_{format},
+       flags_{flags},
        frequency_clock_{frequency_clock},
        force_send_changed_{force_send_changed},
        last_value_{CAN_MESSAGE_SIZE},
@@ -66,29 +62,31 @@ const std::string message_definition_t::get_bus_device_name() const
                .get_can_device_name(bus_);
 }
 
+const std::string message_definition_t::get_name() const{
+       return name_;
+}
+
 uint32_t message_definition_t::get_id() const
 {
-       return id_;
+       return ((id_ & CAN_SFF_MASK) != id_) ? id_ | CAN_EFF_FLAG : id_;
 }
 
 bool message_definition_t::is_fd() const
 {
-       return is_fd_;
+       return (flags_ & CAN_PROTOCOL_WITH_FD_FRAME);
 }
 
 bool message_definition_t::is_j1939() const
 {
-       if(format_ == message_format_t::J1939)
-       {
-               return true;
-       }
-       else
-       {
-               return false;
-       }
+       return (flags_ & J1939_PROTOCOL);
+}
+
+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_;
 }
@@ -108,7 +106,11 @@ uint32_t message_definition_t::get_length() const
        return length_;
 }
 
-message_format_t message_definition_t::get_format() const
+uint32_t message_definition_t::get_flags() const
 {
-       return format_;
-}
\ No newline at end of file
+       return flags_;
+}
+
+bool message_definition_t::frame_layout_is_bigendian() const{
+       return (flags_ & FRAME_LAYOUT_IS_BIGENDIAN);
+}