can: Add big endian CAN frame layout handle
[apps/agl-service-can-low-level.git] / low-can-binding / can / message-definition.hpp
index 1773e6b..9d615ff 100644 (file)
@@ -45,47 +45,53 @@ private:
        uint32_t id_; ///< id_ - The ID or the PGN (if j1939) of the message.*/
        std::string name_; ///< name_ - J1939 PGN name
        uint32_t length_; ///< length_ - Message data length in bytes. For J1939 message, this is the expected data size
-       bool is_fd_; /*!< uses_fd_ - Flags to enable an FD CAN message communication*/
-       message_format_t format_; ///< format_ - the format of the message's ID.*/
+       uint32_t flags_; ///< format_ - the format of the message's ID.*/
        frequency_clock_t frequency_clock_; ///<  clock_ - an optional frequency clock to control the output of this
                                                        ///      message, if sent raw, or simply to mark the max frequency for custom
                                                        ///      handlers to retrieve.*/
+       bool frame_layout_is_little_; ///<frame_layout_is_little_ Defines if the can frame layout is little endian or big endian.
+                                                                 /// Default is true;
        bool force_send_changed_; ///< force_send_changed_ - If true, regardless of the frequency, it will send CAN
                                                        ///     message if it has changed when using raw passthrough.*/
        std::vector<uint8_t> last_value_; ///< last_value_ - The last received value of the message. Defaults to undefined.
                                                                                ///     This is required for the forceSendChanged functionality, as the stack
                                                                                ///     needs to compare an incoming CAN message with the previous frame.*/
-       std::vector<std::shared_ptr<signal_t> > signals_; ///< signals_ - Vector holding signal_t object which share the same arbitration ID */
+       vect_ptr_signal_t signals_; ///< signals_ - Vector holding signal_t object which share the same arbitration ID */
 
 public:
        //message_definition_t(const message_definition_t& b);
        message_definition_t(const std::string bus);
        message_definition_t(const std::string bus, uint32_t id, frequency_clock_t frequency_clock, bool force_send_changed);
-       message_definition_t(const std::string bus, uint32_t id, message_format_t format, frequency_clock_t frequency_clock, bool force_send_changed);
+       message_definition_t(const std::string bus, uint32_t id, uint32_t flags, frequency_clock_t frequency_clock, bool force_send_changed);
        message_definition_t(const std::string bus,
                                 uint32_t id,
-                                bool is_fd,
-                                message_format_t format,
+                                uint32_t flags,
+                                bool frame_layout_is_little,
                                 frequency_clock_t frequency_clock,
                                 bool force_send_changed,
-                                const std::vector<std::shared_ptr<signal_t> >& signals);
+                                const vect_ptr_signal_t& signals);
        message_definition_t(const std::string bus,
                                 uint32_t id,
                                 std::string name,
                                 uint32_t length,
-                                bool is_fd,
-                                message_format_t format,
+                                uint32_t flags,
+                                bool frame_layout_is_little,
                                 frequency_clock_t frequency_clock,
                                 bool force_send_changed,
-                                const std::vector<std::shared_ptr<signal_t> >& signals);
+                                const vect_ptr_signal_t& signals);
 
 
        const std::string get_bus_name() const;
        const std::string get_bus_device_name() const;
+       const std::string get_name() const;
        uint32_t get_id() const;
        bool is_fd() const;
        bool is_j1939() const;
-       std::vector<std::shared_ptr<signal_t>>& get_signals();
+       bool is_isotp() const;
+       vect_ptr_signal_t& get_signals();
+       uint32_t get_length() const;
+       uint32_t get_flags() const;
+       bool frame_layout_is_little() const;
 
        void set_parent(std::shared_ptr<message_set_t> parent);
        void set_last_value(std::shared_ptr<message_t>  m);