summaryrefslogtreecommitdiffstats
path: root/src/can/can-message.hpp
diff options
context:
space:
mode:
authorRomain Forlot <romain.forlot@iot.bzh>2017-03-08 18:37:43 +0100
committerRomain Forlot <romain.forlot@iot.bzh>2017-03-16 17:10:40 +0100
commit8cc56c40c96a63b157ee11ac7fd2494ffa63357d (patch)
tree9ac7b4dc84455c9dc2d8880f5e5959ac6e86da6b /src/can/can-message.hpp
parent966a1cd8e6bea71ebadc20a38b1d46482d5cff2a (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.hpp25
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();
};