Showing the changes to Source/Libraries/TimeSeriesPlatformLibrary/Transport/TSSCEncoder.cpp (1 of 5 files). Show all
Unified · Split
| @@ -73,7 +73,7 @@ void TSSCEncoder::SetBuffer(uint8_t* data, uint32_t offset, uint32_t length) · 72 unmodified lines | |||
| 73 | m_lastPosition = offset + length; | 73 | m_lastPosition = offset + length; |
| 74 | } | 74 | } |
| 75 | 75 | ||
| 76 | int32_t TSSCEncoder::FinishBlock() | 76 | uint32_t TSSCEncoder::FinishBlock() |
| 77 | { | 77 | { |
| 78 | BitStreamFlush(); | 78 | BitStreamFlush(); |
| 79 | return m_position; | 79 | return m_position; |
| @@ -86,12 +86,17 @@ bool TSSCEncoder::TryAddMeasurement(uint16_t id, int64_t timestamp, uint32_t qua · 6 unmodified lines | |||
| 86 | if (m_lastPosition - m_position < 100) | 86 | if (m_lastPosition - m_position < 100) |
| 87 | return false; | 87 | return false; |
| 88 | 88 | ||
| 89 | TSSCPointMetadataPtr point = m_points[id]; | 89 | TSSCPointMetadataPtr point = id >= m_points.size() ? nullptr : m_points[id]; |
| 90 | 90 | ||
| 91 | if (point == nullptr) | 91 | if (point == nullptr) |
| 92 | { | 92 | { |
| 93 | point = NewTSSCPointMetadata(); | 93 | point = NewTSSCPointMetadata(); |
| 94 | |||
| 95 | if (id >= m_points.size()) | ||
| 96 | m_points.resize(id + 1, nullptr); | ||
| 97 | |||
| 94 | point->PrevNextPointId1 = static_cast<uint16_t>(id + 1); | 98 | point->PrevNextPointId1 = static_cast<uint16_t>(id + 1); |
| 99 | |||
| 95 | m_points[id] = point; | 100 | m_points[id] = point; |
| 96 | } | 101 | } |
| 97 | 102 | ||
| @@ -110,7 +115,7 @@ bool TSSCEncoder::TryAddMeasurement(uint16_t id, int64_t timestamp, uint32_t qua · 12 unmodified lines | |||
| 110 | if (point->PrevQuality1 != quality) | 115 | if (point->PrevQuality1 != quality) |
| 111 | WriteQualityChange(quality, point); | 116 | WriteQualityChange(quality, point); |
| 112 | 117 | ||
| 113 | uint32_t valueRaw = *reinterpret_cast<uint32_t*>(&value); | 118 | const uint32_t valueRaw = *reinterpret_cast<uint32_t*>(&value); |
| 114 | 119 | ||
| 115 | if (point->PrevValue1 == valueRaw) | 120 | if (point->PrevValue1 == valueRaw) |
| 116 | { | 121 | { |
| @@ -138,7 +143,7 @@ bool TSSCEncoder::TryAddMeasurement(uint16_t id, int64_t timestamp, uint32_t qua · 21 unmodified lines | |||
| 138 | } | 143 | } |
| 139 | else | 144 | else |
| 140 | { | 145 | { |
| 141 | uint32_t bitsChanged = valueRaw ^ point->PrevValue1; | 146 | const uint32_t bitsChanged = valueRaw ^ point->PrevValue1; |
| 142 | 147 | ||
| 143 | if (bitsChanged <= Bits4) | 148 | if (bitsChanged <= Bits4) |
| 144 | { | 149 | { |
| @@ -223,7 +228,7 @@ TSSCPointMetadataPtr TSSCEncoder::NewTSSCPointMetadata() · 78 unmodified lines | |||
| 223 | 228 | ||
| 224 | void TSSCEncoder::WritePointIdChange(uint16_t id) | 229 | void TSSCEncoder::WritePointIdChange(uint16_t id) |
| 225 | { | 230 | { |
| 226 | uint32_t bitsChanged = static_cast<uint32_t>(id ^ m_lastPoint->PrevNextPointId1); | 231 | const uint32_t bitsChanged = static_cast<uint32_t>(id ^ m_lastPoint->PrevNextPointId1); |
| 227 | 232 | ||
| 228 | if (bitsChanged <= Bits4) | 233 | if (bitsChanged <= Bits4) |
| 229 | { | 234 | { |
| @@ -311,7 +316,7 @@ void TSSCEncoder::WriteTimestampChange(int64_t timestamp) · 81 unmodified lines | |||
| 311 | } | 316 | } |
| 312 | 317 | ||
| 313 | //Save the smallest delta time | 318 | //Save the smallest delta time |
| 314 | int64_t minDelta = abs(m_prevTimestamp1 - timestamp); | 319 | const int64_t minDelta = abs(m_prevTimestamp1 - timestamp); |
| 315 | 320 | ||
| 316 | if (minDelta < m_prevTimeDelta4 | 321 | if (minDelta < m_prevTimeDelta4 |
| 317 | && minDelta != m_prevTimeDelta1 | 322 | && minDelta != m_prevTimeDelta1 |