X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fcan%2Fcan-message.cpp;h=af0d3f38b82441b5e9adb93a0a018c8bfd010d0e;hb=7b336475a398d37c4d5c4a534c87919263ae4b01;hp=604d67640578312b08b3efdedf9470a4476823a0;hpb=f1afeaf50836bf66153cb6cccbfbfdc1e2a5493b;p=apps%2Fagl-service-can-low-level.git diff --git a/src/can/can-message.cpp b/src/can/can-message.cpp index 604d6764..af0d3f38 100644 --- a/src/can/can-message.cpp +++ b/src/can/can-message.cpp @@ -15,55 +15,62 @@ * limitations under the License. */ -#include "can/can-message.hpp" +#include "can-message.hpp" #include -#include "low-can-binding.hpp" +#include "../low-can-binding.hpp" -/******************************************************************************** -* -* CanMessage method implementation -* -*********************************************************************************/ -/** -* @brief Class constructor -* -* Constructor about can_message_t class. -*/ +/// +/// @brief Class constructor +/// +/// Constructor about can_message_t class. +/// can_message_t::can_message_t() : maxdlen_{0}, id_{0}, length_{0}, format_{can_message_format_t::ERROR}, rtr_flag_{false}, flags_{0} {} -can_message_t::can_message_t(uint8_t maxdlen, uint32_t id, uint8_t length, can_message_format_t format, bool rtr_flag_, uint8_t flags, std::vector data) - : maxdlen_{0}, id_{0}, length_{0}, format_{can_message_format_t::ERROR}, rtr_flag_{false}, flags_{0}, data_{data} +can_message_t::can_message_t(uint8_t maxdlen, + uint32_t id, + uint8_t length, + can_message_format_t format, + bool rtr_flag, + uint8_t flags, + std::vector data) + : maxdlen_{maxdlen}, + id_{id}, + length_{length}, + format_{format}, + rtr_flag_{rtr_flag}, + flags_{flags}, + data_{data} {} -/** -* @brief Retrieve id_ member value. -* -* @return id_ class member -*/ +/// +/// @brief Retrieve id_ member value. +/// +/// @return id_ class member +/// uint32_t can_message_t::get_id() const { return id_; } -/** -* @brief Retrieve RTR flag member. -* -* @return rtr_flags_ class member -*/ +/// +/// @brief Retrieve RTR flag member. +/// +/// @return rtr_flags_ class member +/// bool can_message_t::get_rtr_flag_() const { return rtr_flag_; } -/** -* @brief Retrieve format_ member value. -* -* @return format_ class member -*/ +/// +/// @brief Retrieve format_ member value. +/// +/// @return format_ class member +/// can_message_format_t can_message_t::get_format() const { if (format_ != can_message_format_t::STANDARD || format_ != can_message_format_t::EXTENDED) @@ -71,43 +78,43 @@ can_message_format_t can_message_t::get_format() const return format_; } -/** -* @brief Retrieve flags_ member value. -* -* @return flags_ class member -*/ +/// +/// @brief Retrieve flags_ member value. +/// +/// @return flags_ class member +/// uint8_t can_message_t::get_flags() const { return flags_; } -/** -* @brief Retrieve data_ member value. -* -* @return pointer to the first element -* of class member data_ -*/ +/// +/// @brief Retrieve data_ member value. +/// +/// @return pointer to the first element +/// of class member data_ +/// const uint8_t* can_message_t::get_data() const { return data_.data(); } -/** -* @brief Retrieve length_ member value. -* -* @return length_ class member -*/ +/// +/// @brief Retrieve length_ member value. +/// +/// @return length_ class member +/// uint8_t can_message_t::get_length() const { return length_; } -/** -* @brief Control whether the object is correctly initialized -* to be sent over the CAN bus -* -* @return true if object correctly initialized and false if not. -*/ +/// +/// @brief Control whether the object is correctly initialized +/// to be sent over the CAN bus +/// +/// @return true if object correctly initialized and false if not. +/// bool can_message_t::is_correct_to_send() { if (id_ != 0 && length_ != 0 && format_ != can_message_format_t::ERROR) @@ -120,14 +127,14 @@ bool can_message_t::is_correct_to_send() return false; } -/** -* @brief Set format_ member value. -* -* Preferred way to initialize these members by using -* convert_from_canfd_frame method. -* -* @param[in] new_format - class member -*/ +/// +/// @brief Set format_ member value. +/// +/// Preferred way to initialize these members by using +/// convert_from_canfd_frame method. +/// +/// @param[in] new_format - class member +/// void can_message_t::set_format(const can_message_format_t new_format) { if(new_format == can_message_format_t::STANDARD || new_format == can_message_format_t::EXTENDED || new_format == can_message_format_t::ERROR) @@ -136,13 +143,16 @@ void can_message_t::set_format(const can_message_format_t new_format) ERROR(binder_interface, "ERROR: Can set format, wrong format chosen"); } -/** -* @brief Take a canfd_frame struct to initialize class members -* -* This is the preferred way to initialize class members. -* -* @param[in] args - struct read from can bus device. -*/ +/// +/// @brief Take a canfd_frame struct to initialize class members +/// +/// This is the preferred way to initialize class members. +/// +/// @param[in] frame - canfd_frame to convert coming from a read of CAN socket +/// @param[in] nbytes - bytes read from socket read operation. +/// +/// @return A can_message_t object fully initialized with canfd_frame values. +/// can_message_t can_message_t::convert_from_canfd_frame(const struct canfd_frame& frame, size_t nbytes) { uint8_t maxdlen, length, flags = (uint8_t)NULL; @@ -172,7 +182,7 @@ can_message_t can_message_t::convert_from_canfd_frame(const struct canfd_frame& format = can_message_format_t::EXTENDED; else format = can_message_format_t::STANDARD; - + switch(format) { case can_message_format_t::STANDARD: @@ -201,7 +211,7 @@ can_message_t can_message_t::convert_from_canfd_frame(const struct canfd_frame& else { length = (frame.len > maxdlen) ? maxdlen : frame.len; - } + } } } else @@ -230,13 +240,13 @@ can_message_t can_message_t::convert_from_canfd_frame(const struct canfd_frame& return can_message_t(maxdlen, id, length, format, rtr_flag, flags, data); } -/** -* @brief Take all initialized class's members and build an -* canfd_frame struct that can be use to send a CAN message over -* the bus. -* -* @return canfd_frame struct built from class members. -*/ +/// +/// @brief Take all initialized class's members and build an +/// canfd_frame struct that can be use to send a CAN message over +/// the bus. +/// +/// @return canfd_frame struct built from class members. +/// canfd_frame can_message_t::convert_to_canfd_frame() { canfd_frame frame; @@ -252,18 +262,3 @@ canfd_frame can_message_t::convert_to_canfd_frame() return frame; } - -/******************************************************************************** -* -* can_message_definition_t method implementation -* -*********************************************************************************/ - -can_message_definition_t::can_message_definition_t(can_bus_dev_t& cbd) - : bus_{cbd}, last_value_(CAN_MESSAGE_SIZE) -{} - -uint32_t can_message_definition_t::get_id() const -{ - return id_; -}