diff options
Diffstat (limited to 'low-can-binding/can')
-rw-r--r-- | low-can-binding/can/message/can-message.cpp | 12 | ||||
-rw-r--r-- | low-can-binding/can/message/j1939-message.cpp | 194 | ||||
-rw-r--r-- | low-can-binding/can/message/j1939-message.hpp | 90 | ||||
-rw-r--r-- | low-can-binding/can/signals.hpp | 8 |
4 files changed, 152 insertions, 152 deletions
diff --git a/low-can-binding/can/message/can-message.cpp b/low-can-binding/can/message/can-message.cpp index 945c0ba7..90bade53 100644 --- a/low-can-binding/can/message/can-message.cpp +++ b/low-can-binding/can/message/can-message.cpp @@ -213,13 +213,13 @@ bool can_message_t::is_set() std::string can_message_t::get_debug_message() { std::string ret = ""; - ret = ret + "Here is the next can message : id " + std::to_string(id_) + " length " + std::to_string(length_) + ", data "; - for (size_t i = 0; i < data_.size(); i++) - { - ret = ret + std::to_string(data_[i]); - } + ret = ret + "Here is the next can message : id " + std::to_string(id_) + " length " + std::to_string(length_) + ", data "; + for (size_t i = 0; i < data_.size(); i++) + { + ret = ret + std::to_string(data_[i]); + } - return ret; + return ret; } struct bcm_msg can_message_t::get_bcm_msg() diff --git a/low-can-binding/can/message/j1939-message.cpp b/low-can-binding/can/message/j1939-message.cpp index 0d2320dc..a0ca4b2a 100644 --- a/low-can-binding/can/message/j1939-message.cpp +++ b/low-can-binding/can/message/j1939-message.cpp @@ -27,10 +27,10 @@ * */ j1939_message_t::j1939_message_t(): - message_t(), - name_{0}, - pgn_{0}, - addr_{0} + message_t(), + name_{0}, + pgn_{0}, + addr_{0} {} /** @@ -46,17 +46,17 @@ j1939_message_t::j1939_message_t(): * @param addr The address of the message */ j1939_message_t::j1939_message_t(uint32_t maxdlen, - uint32_t length, - message_format_t format, - std::vector<uint8_t>& data, - uint64_t timestamp, - name_t name, - pgn_t pgn, - uint8_t addr): - message_t(maxdlen,length, format, data, timestamp), - name_{name}, - pgn_{pgn}, - addr_{addr} + uint32_t length, + message_format_t format, + std::vector<uint8_t>& data, + uint64_t timestamp, + name_t name, + pgn_t pgn, + uint8_t addr): + message_t(maxdlen,length, format, data, timestamp), + name_{name}, + pgn_{pgn}, + addr_{addr} {} /// @@ -65,7 +65,7 @@ j1939_message_t::j1939_message_t(uint32_t maxdlen, /// @return name_ class member /// uint64_t j1939_message_t::get_name() const { - return name_; + return name_; } /// @@ -74,7 +74,7 @@ uint64_t j1939_message_t::get_name() const { /// @return pgn_ class member /// uint32_t j1939_message_t::get_pgn() const{ - return pgn_; + return pgn_; } /// @@ -83,7 +83,7 @@ uint32_t j1939_message_t::get_pgn() const{ /// @return addr_ class member /// uint8_t j1939_message_t::get_addr() const{ - return addr_; + return addr_; } /** @@ -95,13 +95,13 @@ uint8_t j1939_message_t::get_addr() const{ */ std::string to_hex( uint8_t data[], const size_t length) { - std::stringstream stream; - stream << std::hex << std::setfill('0'); - for(int i = 0; i < length; i++) - { - stream << std::hex << ((int) data[i]); - } - return stream.str(); + std::stringstream stream; + stream << std::hex << std::setfill('0'); + for(int i = 0; i < length; i++) + { + stream << std::hex << ((int) data[i]); + } + return stream.str(); } /// @brief Take a sockaddr_can struct and array of data to initialize class members @@ -116,39 +116,39 @@ std::string to_hex( uint8_t data[], const size_t length) /// @return A j1939_message_t object fully initialized with sockaddr_can and data values. std::shared_ptr<j1939_message_t> j1939_message_t::convert_from_addr(struct sockaddr_can& addr, uint8_t (&data)[128],size_t nbytes, uint64_t timestamp) { - int i; - uint32_t length = 0; - message_format_t format; - std::vector<uint8_t> data_vector; - - if(nbytes > J1939_MAX_DLEN) - { - AFB_DEBUG("Unsupported j1939 frame"); - format = message_format_t::INVALID; - } - else - { - //AFB_DEBUG("Got a j1939 frame"); - format = message_format_t::J1939; - } - - length = (uint32_t) nbytes; - data_vector.reserve(length); - - data_vector.clear(); - - std::string data_string; - data_string = to_hex(data,length); - - for(i=0;i<length;i++) - { - data_vector.push_back(data[i]); - }; - - AFB_DEBUG("Found pgn: %X, format: %X, length: %X, data %s", - addr.can_addr.j1939.pgn, (uint8_t)format, length, data_string.c_str()); - - return std::make_shared<j1939_message_t>(j1939_message_t(J1939_MAX_DLEN,length, format, data_vector, timestamp,addr.can_addr.j1939.name,addr.can_addr.j1939.pgn,addr.can_addr.j1939.addr)); + int i; + uint32_t length = 0; + message_format_t format; + std::vector<uint8_t> data_vector; + + if(nbytes > J1939_MAX_DLEN) + { + AFB_DEBUG("Unsupported j1939 frame"); + format = message_format_t::INVALID; + } + else + { + //AFB_DEBUG("Got a j1939 frame"); + format = message_format_t::J1939; + } + + length = (uint32_t) nbytes; + data_vector.reserve(length); + + data_vector.clear(); + + std::string data_string; + data_string = to_hex(data,length); + + for(i=0;i<length;i++) + { + data_vector.push_back(data[i]); + }; + + AFB_DEBUG("Found pgn: %X, format: %X, length: %X, data %s", + addr.can_addr.j1939.pgn, (uint8_t)format, length, data_string.c_str()); + + return std::make_shared<j1939_message_t>(j1939_message_t(J1939_MAX_DLEN,length, format, data_vector, timestamp,addr.can_addr.j1939.name,addr.can_addr.j1939.pgn,addr.can_addr.j1939.addr)); } /// @brief Test if members pgn_ and length are set. @@ -165,12 +165,12 @@ bool j1939_message_t::is_set() std::string j1939_message_t::get_debug_message() { std::string ret = ""; - ret = ret + "Here is the next j1939 message : pgn " + std::to_string(pgn_) + " length " + std::to_string(length_) + ", data "; - for (size_t i = 0; i < data_.size(); i++) - { - ret = ret + std::to_string(data_[i]); - } - return ret; + ret = ret + "Here is the next j1939 message : pgn " + std::to_string(pgn_) + " length " + std::to_string(length_) + ", data "; + for (size_t i = 0; i < data_.size(); i++) + { + ret = ret + std::to_string(data_[i]); + } + return ret; } /// @@ -180,7 +180,7 @@ std::string j1939_message_t::get_debug_message() /// uint32_t j1939_message_t::get_id() const { - AFB_DEBUG("Prefer method get_pgn() for j1939 messages"); + AFB_DEBUG("Prefer method get_pgn() for j1939 messages"); return get_pgn(); } @@ -191,7 +191,7 @@ uint32_t j1939_message_t::get_id() const */ struct sockaddr_can j1939_message_t::get_sockname() { - return sockname_; + return sockname_; } /** @@ -201,7 +201,7 @@ struct sockaddr_can j1939_message_t::get_sockname() */ void j1939_message_t::set_sockname(struct sockaddr_can sockname) { - sockname_ = sockname; + sockname_ = sockname; } /** @@ -213,34 +213,34 @@ void j1939_message_t::set_sockname(struct sockaddr_can sockname) */ void j1939_message_t::set_sockname(pgn_t pgn, name_t name, uint8_t addr) { - memset(&sockname_, 0, sizeof(sockname_)); - sockname_.can_family = AF_CAN; - sockname_.can_ifindex = 0; - - if(addr <= 0 || addr >= UINT8_MAX ) - { - sockname_.can_addr.j1939.addr = J1939_NO_ADDR; - } - else - { - sockname_.can_addr.j1939.addr = addr; - } - - if(name <= 0 || name >= UINT64_MAX ) - { - sockname_.can_addr.j1939.name = J1939_NO_NAME; - } - else - { - sockname_.can_addr.j1939.name = name; - } - - if(pgn <= 0 || pgn > J1939_PGN_MAX) - { - sockname_.can_addr.j1939.pgn = J1939_NO_PGN; - } - else - { - sockname_.can_addr.j1939.pgn = pgn; - } + memset(&sockname_, 0, sizeof(sockname_)); + sockname_.can_family = AF_CAN; + sockname_.can_ifindex = 0; + + if(addr <= 0 || addr >= UINT8_MAX ) + { + sockname_.can_addr.j1939.addr = J1939_NO_ADDR; + } + else + { + sockname_.can_addr.j1939.addr = addr; + } + + if(name <= 0 || name >= UINT64_MAX ) + { + sockname_.can_addr.j1939.name = J1939_NO_NAME; + } + else + { + sockname_.can_addr.j1939.name = name; + } + + if(pgn <= 0 || pgn > J1939_PGN_MAX) + { + sockname_.can_addr.j1939.pgn = J1939_NO_PGN; + } + else + { + sockname_.can_addr.j1939.pgn = pgn; + } }
\ No newline at end of file diff --git a/low-can-binding/can/message/j1939-message.hpp b/low-can-binding/can/message/j1939-message.hpp index 929c8232..0d3736f1 100644 --- a/low-can-binding/can/message/j1939-message.hpp +++ b/low-can-binding/can/message/j1939-message.hpp @@ -27,55 +27,55 @@ class j1939_message_t : public message_t { - private: - /* J1939 NAME - * - * bit 0-20 : Identity Number - * bit 21-31 : Manufacturer Code - * bit 32-34 : ECU Instance - * bit 35-39 : Function Instance - * bit 40-47 : Function - * bit 48 : Reserved - * bit 49-55 : Vehicle System - * bit 56-59 : Vehicle System Instance - * bit 60-62 : Industry Group - * bit 63 : Arbitrary Address Capable - */ - name_t name_; + private: + /* J1939 NAME + * + * bit 0-20 : Identity Number + * bit 21-31 : Manufacturer Code + * bit 32-34 : ECU Instance + * bit 35-39 : Function Instance + * bit 40-47 : Function + * bit 48 : Reserved + * bit 49-55 : Vehicle System + * bit 56-59 : Vehicle System Instance + * bit 60-62 : Industry Group + * bit 63 : Arbitrary Address Capable + */ + name_t name_; - /* J1939 Parameter Group Number - * - * bit 0-7 : PDU Specific (PS) - * bit 8-15 : PDU Format (PF) - * bit 16 : Data Page (DP) - * bit 17 : Reserved (R) - * bit 19-31 : set to zero - */ - pgn_t pgn_; + /* J1939 Parameter Group Number + * + * bit 0-7 : PDU Specific (PS) + * bit 8-15 : PDU Format (PF) + * bit 16 : Data Page (DP) + * bit 17 : Reserved (R) + * bit 19-31 : set to zero + */ + pgn_t pgn_; - /* J1939 Address - 0-255 - */ - uint8_t addr_; + /* J1939 Address + 0-255 + */ + uint8_t addr_; - /** - * @brief The sockanme to send a message to - * an other ECU - */ - struct sockaddr_can sockname_; + /** + * @brief The sockanme to send a message to + * an other ECU + */ + struct sockaddr_can sockname_; - public: - j1939_message_t(); - j1939_message_t(uint32_t maxdlen, uint32_t length, message_format_t format, std::vector<uint8_t>& data, uint64_t timestamp, name_t name, pgn_t pgn, uint8_t addr); - uint64_t get_name() const; - uint32_t get_pgn() const; - uint8_t get_addr() const; - static std::shared_ptr<j1939_message_t> convert_from_addr(struct sockaddr_can& addr, uint8_t (&data)[128], size_t nbytes, uint64_t timestamp); - bool is_set(); - std::string get_debug_message(); - uint32_t get_id() const; - struct sockaddr_can get_sockname(); + public: + j1939_message_t(); + j1939_message_t(uint32_t maxdlen, uint32_t length, message_format_t format, std::vector<uint8_t>& data, uint64_t timestamp, name_t name, pgn_t pgn, uint8_t addr); + uint64_t get_name() const; + uint32_t get_pgn() const; + uint8_t get_addr() const; + static std::shared_ptr<j1939_message_t> convert_from_addr(struct sockaddr_can& addr, uint8_t (&data)[128], size_t nbytes, uint64_t timestamp); + bool is_set(); + std::string get_debug_message(); + uint32_t get_id() const; + struct sockaddr_can get_sockname(); void set_sockname(struct sockaddr_can sockname); - void set_sockname(pgn_t pgn, name_t name, uint8_t addr); + void set_sockname(pgn_t pgn, name_t name, uint8_t addr); }; diff --git a/low-can-binding/can/signals.hpp b/low-can-binding/can/signals.hpp index cefd8b81..9a8572c9 100644 --- a/low-can-binding/can/signals.hpp +++ b/low-can-binding/can/signals.hpp @@ -68,7 +68,7 @@ private: std::shared_ptr<message_definition_t> parent_; /*!< parent_ - pointer to the parent message definition holding this signal*/ std::string generic_name_; /*!< generic_name_ - The name of the signal to be output.*/ static std::string prefix_; /*!< prefix_ - generic_name_ will be prefixed with it. It has to reflect the used protocol. - * which make easier to sort message when the come in.*/ + * which make easier to sort message when the come in.*/ uint8_t bit_position_; /*!< bitPosition_ - The starting bit of the signal in its CAN message (assuming * non-inverted bit numbering, i.e. the most significant bit of * each byte is 0) */ @@ -80,8 +80,8 @@ private: float min_value_; /*!< min_value_ - The minimum value for the processed signal.*/ float max_value_; /*!< max_value_ - The maximum value for the processed signal. */ frequency_clock_t frequency_; /*!< frequency_ - A frequency_clock_t struct to control the maximum frequency to - * process and send this signal. To process every value, set the - * clock's frequency to 0. */ + * process and send this signal. To process every value, set the + * clock's frequency to 0. */ bool send_same_; /*!< send_same_ - If true, will re-send even if the value hasn't changed.*/ bool force_send_changed_; /*!< force_send_changed_ - If true, regardless of the frequency, it will send the * value if it has changed. */ @@ -96,7 +96,7 @@ private: * is used. */ bool received_; /*!< received_ - True if this signal has ever been received.*/ float last_value_; /*!< lastValue_ - The last received value of the signal. If 'received' is false, - * this value is undefined. */ + * this value is undefined. */ std::pair<bool,int> multiplex_; /*!< multiplex_ - If bool is false and int is 0 is not a multiplex signal If bool is true, that indicate that is a multiplexor If int is different of 0, that indicate the link with a multiplexor */ |