File tree Expand file tree Collapse file tree 1 file changed +1
-5
lines changed
Expand file tree Collapse file tree 1 file changed +1
-5
lines changed Original file line number Diff line number Diff line change @@ -37,20 +37,16 @@ Message::ParseSignalsStatus Message::parse_signals(const std::vector<uint8_t>& d
3737 uint64_t data_little_endian = 0 ;
3838 uint64_t data_big_endian = 0 ;
3939 for (std::size_t i = 0 ; i < size; i++) {
40+ data_little_endian |= ((uint64_t )data[i]) << i * ONE_BYTE;
4041 data_big_endian = (data_big_endian << ONE_BYTE) | (uint64_t )data[i];
4142 }
42- data_little_endian = Utils::swapEndianness (data_little_endian);
4343
4444 // TODO: does this also work on a big endian machine?
4545
4646 const auto len = size * 8 ;
4747 uint64_t value = 0 ;
4848 for (const auto & signal : m_signals) {
4949
50- if (signal.size > len) {
51- return ParseSignalsStatus::ErrorInvalidSignalSize;
52- }
53-
5450 if (signal.is_bigendian ) {
5551 uint32_t start_bit = ONE_BYTE * (signal.start_bit / ONE_BYTE) + (SEVEN_BITS - (signal.start_bit % ONE_BYTE)); // Calculation taken from python CAN
5652 value = data_big_endian << start_bit;
You can’t perform that action at this time.
0 commit comments