X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=low-can-binding%2Fcan%2Fmessage%2Fmessage.cpp;h=56e9379f81f48c1d1ca5fbcf6b030f4ad99f5967;hb=0ff6413b6dc42849f87ce8caa17a91f44ede2f93;hp=2a23ca5a6ba16f0c43e204959f1fd91a7033302f;hpb=e1caf27db81e9897af7512a0b47e0783593833d5;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 2a23ca5a..56e9379f 100644 --- a/low-can-binding/can/message/message.cpp +++ b/low-can-binding/can/message/message.cpp @@ -85,28 +85,16 @@ const uint8_t* message_t::get_data() const /// const std::vector message_t::get_data_vector(int start, int end) const { - std::vector ret; - if(start >= 0) - { - if(end length_ || end > length_ ) { AFB_ERROR("Error index to get data vector, [%d-%d] - for length %d", start, end, length_); + return data_; } + + std::vector::const_iterator first = data_.begin() + start; + std::vector::const_iterator last = data_.begin() + end; + std::vector ret(first, last); + return ret; } @@ -188,4 +176,15 @@ void message_t::set_maxdlen(uint32_t maxdlen) void message_t::set_length(uint32_t length) { length_ = length; -} \ No newline at end of file +} + +void message_t::frame_swap() +{ + int i; + uint8_t *temp = (uint8_t*)alloca(length_); + + for(i = 0; i < length_; i++) + temp[i] = data_[length_ - i - 1]; + + memcpy(data_.data(), temp, length_); +}