X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=low-can-binding%2Fcan%2Fmessage%2Fmessage.cpp;h=2a23ca5a6ba16f0c43e204959f1fd91a7033302f;hb=779da0a54b29db5dd4c12387970026a264d2e6cb;hp=2ae095cba8e2433817d9d3cd5913413316396ac2;hpb=2f60d294b3fa4e243fa67a738f9b82a0b428a7fc;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 2ae095cb..2a23ca5a 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_{message_format_t::INVALID}, + : maxdlen_{0}, + length_{0}, + flags_{INVALID_FLAG}, timestamp_{0}, sub_id_{-1} {} -message_t::message_t(uint8_t length, - 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_; } -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