Skip to content

Commit b138a2f

Browse files
committed
fix(clang-tidy): Fixing the warning from clang-tidy of signal and message source files
1 parent 604fdaf commit b138a2f

File tree

3 files changed

+41
-34
lines changed

3 files changed

+41
-34
lines changed

include/libdbc/message.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ struct Message {
2424
ParseSignalsStatus parseSignals(const std::vector<uint8_t>& data, std::vector<double>& values) const;
2525

2626
void appendSignal(const Signal& signal);
27-
const std::vector<Signal> getSignals() const;
27+
std::vector<Signal> getSignals() const;
2828
uint32_t id() const;
2929
uint8_t size() const;
3030
const std::string& name() const;

src/message.cpp

Lines changed: 38 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,17 @@
1-
#include <algorithm>
21
#include <cstdint>
32
#include <libdbc/message.hpp>
43

54
namespace libdbc {
6-
Message::Message(uint32_t id, const std::string& name, uint8_t size, const std::string& node)
7-
: m_id(id)
5+
6+
constexpr unsigned ONE_BYTE = 8;
7+
constexpr unsigned TWO_BYTES = 16;
8+
constexpr unsigned FOUR_BYTES = 32;
9+
constexpr unsigned EIGHT_BYTES = 64;
10+
11+
constexpr unsigned SEVEN_BITS = 7;
12+
13+
Message::Message(uint32_t message_id, const std::string& name, uint8_t size, const std::string& node)
14+
: m_id(message_id)
815
, m_name(name)
916
, m_size(size)
1017
, m_node(node) {
@@ -16,61 +23,61 @@ bool Message::operator==(const Message& rhs) const {
1623

1724
Message::ParseSignalsStatus Message::parseSignals(const std::vector<uint8_t>& data, std::vector<double>& values) const {
1825
auto size = data.size();
19-
if (size > 8) {
26+
if (size > ONE_BYTE) {
2027
return ParseSignalsStatus::ErrorMessageToLong; // not supported yet
2128
}
2229

2330
uint64_t data_little_endian = 0;
2431
uint64_t data_big_endian = 0;
2532
for (size_t i = 0; i < size; i++) {
26-
data_little_endian |= ((uint64_t)data[i]) << i * 8;
27-
data_big_endian = (data_big_endian << 8) | (uint64_t)data[i];
33+
data_little_endian |= ((uint64_t)data[i]) << i * ONE_BYTE;
34+
data_big_endian = (data_big_endian << ONE_BYTE) | (uint64_t)data[i];
2835
}
2936

3037
// TODO: does this also work on a big endian machine?
3138

3239
const auto len = size * 8;
33-
uint64_t v = 0;
40+
uint64_t value = 0;
3441
for (const auto& signal : m_signals) {
3542
if (signal.is_bigendian) {
36-
uint32_t start_bit = 8 * (signal.start_bit / 8) + (7 - (signal.start_bit % 8)); // Calculation taken from python CAN
37-
v = data_big_endian << start_bit;
38-
v = v >> (len - signal.size);
43+
uint32_t start_bit = ONE_BYTE * (signal.start_bit / ONE_BYTE) + (SEVEN_BITS - (signal.start_bit % ONE_BYTE)); // Calculation taken from python CAN
44+
value = data_big_endian << start_bit;
45+
value = value >> (len - signal.size);
3946
} else {
40-
v = data_little_endian >> signal.start_bit;
47+
value = data_little_endian >> signal.start_bit;
4148
}
4249

4350
if (signal.is_signed && signal.size > 1) {
4451
switch (signal.size) {
45-
case 8:
46-
values.push_back(static_cast<int8_t>(v) * signal.factor + signal.offset);
52+
case ONE_BYTE:
53+
values.push_back(static_cast<int8_t>(value) * signal.factor + signal.offset);
4754
break;
48-
case 16:
49-
values.push_back(static_cast<int16_t>(v) * signal.factor + signal.offset);
55+
case TWO_BYTES:
56+
values.push_back(static_cast<int16_t>(value) * signal.factor + signal.offset);
5057
break;
51-
case 32:
52-
values.push_back(static_cast<int32_t>(v) * signal.factor + signal.offset);
58+
case FOUR_BYTES:
59+
values.push_back(static_cast<int32_t>(value) * signal.factor + signal.offset);
5360
break;
54-
case 64:
55-
values.push_back(static_cast<double>(v) * signal.factor + signal.offset);
61+
case EIGHT_BYTES:
62+
values.push_back(static_cast<double>(value) * signal.factor + signal.offset);
5663
break;
5764
default: {
5865
// 2 complement -> decimal
59-
const int negative = (v & (1ull << (signal.size - 1))) != 0;
60-
int64_t nativeInt;
61-
if (negative) {
62-
nativeInt = static_cast<int64_t>(v | ~((1ull << signal.size) - 1)); // invert all bits above signal.size
66+
const bool is_negative = (value & (1ULL << (signal.size - 1))) != 0;
67+
int64_t nativeInt = 0;
68+
if (is_negative) {
69+
nativeInt = static_cast<int64_t>(value | ~((1ULL << signal.size) - 1)); // invert all bits above signal.size
6370
} else {
64-
nativeInt = static_cast<int64_t>(v & ((1ull << signal.size) - 1)); // masking
71+
nativeInt = static_cast<int64_t>(value & ((1ULL << signal.size) - 1)); // masking
6572
}
6673
values.push_back(static_cast<double>(nativeInt) * signal.factor + signal.offset);
6774
break;
6875
}
6976
}
7077
} else {
7178
// use only the relevant bits
72-
v = v & ((1 << signal.size) - 1); // masking
73-
values.push_back(static_cast<double>(v) * signal.factor + signal.offset);
79+
value = value & ((1 << signal.size) - 1); // masking
80+
values.push_back(static_cast<double>(value) * signal.factor + signal.offset);
7481
}
7582
}
7683
return ParseSignalsStatus::Success;
@@ -80,7 +87,7 @@ void Message::appendSignal(const Signal& signal) {
8087
m_signals.push_back(signal);
8188
}
8289

83-
const std::vector<Signal> Message::getSignals() const {
90+
std::vector<Signal> Message::getSignals() const {
8491
return m_signals;
8592
}
8693

@@ -96,10 +103,10 @@ const std::string& Message::name() const {
96103
return m_name;
97104
}
98105

99-
void Message::addValueDescription(const std::string& signal_name, const std::vector<Signal::SignalValueDescriptions>& vd) {
100-
for (auto& s : m_signals) {
101-
if (s.name.compare(signal_name) == 0) {
102-
s.svDescriptions = vd;
106+
void Message::addValueDescription(const std::string& signal_name, const std::vector<Signal::SignalValueDescriptions>& value_descriptor) {
107+
for (auto& signal : m_signals) {
108+
if (signal.name == signal_name) {
109+
signal.svDescriptions = value_descriptor;
103110
return;
104111
}
105112
}

src/signal.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,8 @@ std::ostream& operator<<(std::ostream& out, const Signal& sig) {
4747
out << "Min: " << sig.min << ", Max: " << sig.max << ", ";
4848
out << "Unit: (" << sig.unit << "), ";
4949
out << "receivers: ";
50-
for (const auto& r : sig.receivers) {
51-
out << r;
50+
for (const auto& reciever : sig.receivers) {
51+
out << reciever;
5252
}
5353
return out << "}";
5454
}

0 commit comments

Comments
 (0)