diff options
author | Romain Forlot <romain.forlot@iot.bzh> | 2017-03-08 18:37:43 +0100 |
---|---|---|
committer | Romain Forlot <romain.forlot@iot.bzh> | 2017-03-16 17:10:40 +0100 |
commit | 8cc56c40c96a63b157ee11ac7fd2494ffa63357d (patch) | |
tree | 9ac7b4dc84455c9dc2d8880f5e5959ac6e86da6b /src/can/can-message.hpp | |
parent | 966a1cd8e6bea71ebadc20a38b1d46482d5cff2a (diff) |
Make convert method static to get called at the return
statement of read.
Also clean unsafe function, that can't be called separatly
because they need to get called in a certain order.
Change-Id: I5670f0cd1c0fdea4f228045b9124ecd60097ebb2
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Diffstat (limited to 'src/can/can-message.hpp')
-rw-r--r-- | src/can/can-message.hpp | 25 |
1 files changed, 9 insertions, 16 deletions
diff --git a/src/can/can-message.hpp b/src/can/can-message.hpp index b88a1770..5d796cdc 100644 --- a/src/can/can-message.hpp +++ b/src/can/can-message.hpp @@ -31,19 +31,11 @@ * @enum CanMessageFormat * @brief The ID format for a CAN message. */ -enum CanMessageFormat { +class enum CanMessageFormat { STANDARD, /*!< STANDARD - standard 11-bit CAN arbitration ID. */ EXTENDED, /*!< EXTENDED - an extended frame, with a 29-bit arbitration ID. */ ERROR, /*!< ERROR - ERROR code used at initialization to signify that it isn't usable'*/ }; -typedef enum CanMessageFormat CanMessageFormat; - -/** - * @class can_message_t - * - * @brief A compact representation of a single CAN message, meant to be used in in/out - * buffers. - */ /************************* * old CanMessage struct * @@ -56,6 +48,13 @@ struct CanMessage { }; typedef struct CanMessage CanMessage; */ + +/** + * @class can_message_t + * + * @brief A compact representation of a single CAN message, meant to be used in in/out + * buffers. + */ class can_message_t { private: uint32_t id_; /*!< id_ - The ID of the message. */ @@ -77,17 +76,11 @@ class can_message_t { const uint8_t* get_data() const; uint8_t get_length() const; - void set_max_data_length(size_t nbytes); - void set_id_and_format(const uint32_t new_id); void set_format(const CanMessageFormat new_format); - void set_format(const uint32_t can_id); - void set_flags(const uint8_t flags); - void set_data(const __u8* new_data); - void set_length(const uint8_t new_length); bool is_correct_to_send(); - void convert_from_canfd_frame(const std::pair<struct canfd_frame&, size_t>args); + static can_message_t convert_to_canfd_frame(const struct canfd_frame& frame, size_t nbytes); canfd_frame convert_to_canfd_frame(); }; |