Skip to content

Commit 866c894

Browse files
committed
importend fixes
1 parent 5c25f36 commit 866c894

File tree

1 file changed

+4
-6
lines changed

1 file changed

+4
-6
lines changed

lib/MCP3x6x/MCP3x6x.cpp

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ MCP3x6x::MCP3x6x(const uint8_t pinIRQ, const uint8_t pinMCLK, const uint16_t MCP
7070
}
7171

7272
void MCP3x6x::_reverse_array(uint8_t *array, size_t size) {
73-
for (size_t i = 0, e = size; i < e / 2; i++, e--) {
73+
for (size_t i = 0, e = size; i <= e / 2; i++, e--) {
7474
uint8_t temp = array[i];
7575
array[i] = array[e - 1];
7676
array[e - 1] = temp;
@@ -248,16 +248,15 @@ int32_t MCP3x6x::_getValue(uint32_t raw) {
248248
case 16:
249249
switch (settings.config3.data_format) {
250250
case (data_format::SGN_DATA_ZERO):
251-
return raw >> 8;
251+
return raw >> 16;
252252
case (data_format::SGN_DATA):
253253
bitWrite(raw, 31, bitRead(raw, 16));
254+
bitClear(raw, 16);
254255
return raw;
255-
break;
256256
case (data_format::SGNEXT_DATA):
257257
case (data_format::ID_SGNEXT_DATA):
258258
bitWrite(raw, 31, bitRead(raw, 17));
259259
return raw & 0x8000FFFF;
260-
break;
261260
};
262261
break;
263262

@@ -267,13 +266,12 @@ int32_t MCP3x6x::_getValue(uint32_t raw) {
267266
return raw >> 8;
268267
case (data_format::SGN_DATA):
269268
bitWrite(raw, 31, bitRead(raw, 24));
269+
bitClear(raw, 24);
270270
return raw;
271-
break;
272271
case (data_format::SGNEXT_DATA):
273272
case (data_format::ID_SGNEXT_DATA):
274273
bitWrite(raw, 31, bitRead(raw, 25));
275274
return raw & 0x80FFFFFF;
276-
break;
277275
};
278276
break;
279277
}

0 commit comments

Comments
 (0)