New constructor j1939 message definition 46/21746/1
authorRomain Forlot <romain.forlot@iot.bzh>
Wed, 26 Jun 2019 08:05:42 +0000 (10:05 +0200)
committerRomain Forlot <romain.forlot@iot.bzh>
Wed, 26 Jun 2019 15:55:06 +0000 (17:55 +0200)
Add a new constructor for the j1939 message definition
with additional name and data length member.

Bug-AGL: SPEC-2386

Change-Id: Iff531f122942b6741a6a97718e639a4814b8d2bf
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
low-can-binding/can/can-message-definition.cpp
low-can-binding/can/can-message-definition.hpp

index 92040c3..8f2930f 100644 (file)
@@ -38,6 +38,28 @@ can_message_definition_t::can_message_definition_t(
        can_signals_{can_signals}
 {}
 
+can_message_definition_t::can_message_definition_t(const std::string bus,
+       uint32_t id,
+       const std::string name,
+       uint32_t length,
+       bool is_fd,
+       can_message_format_t format,
+       frequency_clock_t frequency_clock,
+       bool force_send_changed,
+       const std::vector<std::shared_ptr<can_signal_t> >& can_signals)
+       : parent_{nullptr},
+       bus_{bus},
+       id_{id},
+       name_{name},
+       length_{length},
+       is_fd_(is_fd),
+       format_{format},
+       frequency_clock_{frequency_clock},
+       force_send_changed_{force_send_changed},
+       last_value_{CAN_MESSAGE_SIZE},
+       can_signals_{can_signals}
+{}
+
 const std::string can_message_definition_t::get_bus_device_name() const
 {
        return application_t::instance().get_can_bus_manager()
index 689c654..03c2fbe 100644 (file)
@@ -43,6 +43,8 @@ private:
        can_message_set_t* parent_; ///< parent_ - Pointer to the CAN message set holding this CAN message definition */
        std::string bus_; ///< bus_ - Address of CAN bus device. */
        uint32_t id_; ///< id_ - The ID 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*/
        can_message_format_t format_; ///< format_ - the format of the message's ID.*/
        frequency_clock_t frequency_clock_; ///<  clock_ - an optional frequency clock to control the output of this
@@ -67,6 +69,15 @@ public:
                                 frequency_clock_t frequency_clock,
                                 bool force_send_changed,
                                 const std::vector<std::shared_ptr<can_signal_t> >& can_signals);
+       can_message_definition_t(const std::string bus,
+                                uint32_t id,
+                                std::string name,
+                                uint32_t length,
+                                bool is_fd,
+                                can_message_format_t format,
+                                frequency_clock_t frequency_clock,
+                                bool force_send_changed,
+                                const std::vector<std::shared_ptr<can_signal_t> >& can_signals);
 
        const std::string get_bus_name() const;
        const std::string get_bus_device_name() const;