X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=low-can-binding%2Fcan%2Fmessage%2Fmessage.cpp;h=2496b67219de08f322af8aed9686fa9af90d936c;hb=699f7c0fd118615f53eb7b7b3a86e1c6d2a42c09;hp=fe37e7ad120a484f3a7c919c1d03a50ec8f304fe;hpb=d2d2620bbb8f0aad0181e67e9f6affc3d6cb4a51;p=apps%2Fagl-service-can-low-level.git diff --git a/low-can-binding/can/message/message.cpp b/low-can-binding/can/message/message.cpp index fe37e7ad..2496b672 100644 --- a/low-can-binding/can/message/message.cpp +++ b/low-can-binding/can/message/message.cpp @@ -21,29 +21,45 @@ #include "../../binding/low-can-hat.hpp" -/// -/// @brief Class constructor -/// -/// message_t class constructor. -/// +/** + * @brief Construct a new message t::message t object + * + */ message_t::message_t() - : length_{0}, - format_{can_message_format_t::INVALID}, + : maxdlen_{0}, + length_{0}, + flags_{INVALID_FLAG}, timestamp_{0}, sub_id_{-1} {} -message_t::message_t(uint8_t length, - can_message_format_t format, +/** + * @brief Construct a new message t::message t object + * + * @param maxdlen The maxdlen of a message + * @param length The length of the message + * @param format The format of the message + * @param data The data vector of the message + * @param timestamp The timestamp of the message + */ +message_t::message_t(uint32_t maxdlen, + uint32_t length, + uint32_t flags, std::vector& data, uint64_t timestamp) - : length_{length}, - format_{format}, + : maxdlen_{maxdlen}, + length_{length}, + flags_{flags}, data_{data}, timestamp_{timestamp}, sub_id_{-1} {} +/** + * @brief Return the sub_id of the message + * + * @return int The sub_id of the message + */ int message_t::get_sub_id() const { return sub_id_; @@ -60,6 +76,40 @@ const uint8_t* message_t::get_data() const return data_.data(); } + +/// +/// @brief Retrieve data_ member value. +/// +/// @return pointer to the first element +/// of class member data_ +/// +const std::vector message_t::get_data_vector(int start,int end) const +{ + std::vector ret; + if(start >= 0) + { + if(end message_t::get_data_vector() const /// /// @return length_ class member /// -uint8_t message_t::get_length() const +uint32_t message_t::get_length() const { return length_; } +/** + * @brief Set data vector of the message + * + * @param data A vector of data + */ +void message_t::set_data(std::vector data) +{ + data_ = data; +} + +/** + * @brief Set sub_id of the message + * + * @param sub_id The sub_id to set + */ void message_t::set_sub_id(int sub_id) { sub_id_ = sub_id; } +/** + * @brief Return the timestamp of the message + * + * @return uint64_t The timestamp + */ uint64_t message_t::get_timestamp() const { return timestamp_; } -can_message_format_t message_t::get_msg_format() +uint32_t message_t::get_flags() { - return format_; + return flags_; } + +void message_t::set_flags(uint32_t flags) +{ + flags_ = flags_ | flags; +} + +void message_t::erase_flags() +{ + flags_ = 0; +} + +uint32_t message_t::get_maxdlen() +{ + return maxdlen_; +} + +void message_t::set_maxdlen(uint32_t maxdlen) +{ + maxdlen_ = maxdlen; +} + +void message_t::set_length(uint32_t length) +{ + length_ = length; +} \ No newline at end of file