Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: ColorDetector ColorDetectorV2 offline_sync_k64f
Fork of GroveColourSensor by
Revision 5:f6a136b99533, committed 2015-07-15
- Comitter:
- marcuschang
- Date:
- Wed Jul 15 10:25:43 2015 +0000
- Parent:
- 4:f0e8304db2a3
- Commit message:
- Fixed bug. uint16_t truncated to uint8_t.
Changed in this revision
| GroveColourSensor.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/GroveColourSensor.cpp Tue Apr 28 16:12:57 2015 +0000
+++ b/GroveColourSensor.cpp Wed Jul 15 10:25:43 2015 +0000
@@ -57,10 +57,10 @@
char tmpColours[8] = {0};
if (!i2c->read((SEVEN_BIT_ADDRESS << 1), tmpColours, sizeof(tmpColours))) {
- sample->ch.green = bytesTo16bit(tmpColours[0], tmpColours[1] << 8);
- sample->ch.red = bytesTo16bit(tmpColours[2], tmpColours[3] << 8);
- sample->ch.blue = bytesTo16bit(tmpColours[4], tmpColours[5] << 8);
- sample->ch.clear = bytesTo16bit(tmpColours[6], tmpColours[7] << 8);
+ sample->ch.green = bytesTo16bit(tmpColours[0], tmpColours[1]);
+ sample->ch.red = bytesTo16bit(tmpColours[2], tmpColours[3]);
+ sample->ch.blue = bytesTo16bit(tmpColours[4], tmpColours[5]);
+ sample->ch.clear = bytesTo16bit(tmpColours[6], tmpColours[7]);
} else {
printf("I2C Read error\r\n");
}
@@ -75,8 +75,7 @@
}
uint16_t GroveColourSensor::bytesTo16bit(char lowByte, char highByte) {
- uint16_t res = 0;
- res |= lowByte;
- res |= highByte << 8;
+ uint16_t res = highByte;
+ res = (res << 8) | lowByte;
return res;
}
