Skip to content

Commit 43ee01e

Browse files
author
Felipe Balbi
committed
Temperatures are swapped
Only temperatures are swapped. Signed-off-by: Felipe Balbi <[email protected]>
1 parent 4de662c commit 43ee01e

File tree

1 file changed

+108
-108
lines changed

1 file changed

+108
-108
lines changed

src/lib.rs

Lines changed: 108 additions & 108 deletions
Original file line numberDiff line numberDiff line change
@@ -269,7 +269,7 @@ impl<I2C: AsyncI2c> Tmp108<I2C> {
269269
let res = self.inner.temperature().read();
270270

271271
let raw = res?;
272-
Ok(Self::to_celsius(i16::from_ne_bytes(raw.into())))
272+
Ok(Self::to_celsius(i16::from_be_bytes(raw.into())))
273273
}
274274

275275
/// Configure device for one-shot conversion
@@ -363,7 +363,7 @@ impl<I2C: AsyncI2c> Tmp108<I2C> {
363363

364364
#[cfg(not(feature = "async"))]
365365
let raw = self.inner.t_low().read()?;
366-
Ok(Self::to_celsius(i16::from_le_bytes(raw.into())))
366+
Ok(Self::to_celsius(i16::from_be_bytes(raw.into())))
367367
}
368368

369369
/// Set temperature low limit register
@@ -372,7 +372,7 @@ impl<I2C: AsyncI2c> Tmp108<I2C> {
372372
///
373373
/// `I2C::Error` when the I2C transaction fails
374374
pub async fn set_low_limit(&mut self, limit: f32) -> Result<(), I2C::Error> {
375-
let raw = Self::to_raw(limit).to_le_bytes();
375+
let raw = Self::to_raw(limit).to_be_bytes();
376376

377377
#[cfg(feature = "async")]
378378
self.inner.t_low().write_async(|r| *r = TLow::from(raw)).await?;
@@ -394,7 +394,7 @@ impl<I2C: AsyncI2c> Tmp108<I2C> {
394394

395395
#[cfg(not(feature = "async"))]
396396
let raw = self.inner.t_high().read()?;
397-
Ok(Self::to_celsius(i16::from_le_bytes(raw.into())))
397+
Ok(Self::to_celsius(i16::from_be_bytes(raw.into())))
398398
}
399399

400400
/// Set temperature high limit register
@@ -403,7 +403,7 @@ impl<I2C: AsyncI2c> Tmp108<I2C> {
403403
///
404404
/// `I2C::Error` when the I2C transaction fails
405405
pub async fn set_high_limit(&mut self, limit: f32) -> Result<(), I2C::Error> {
406-
let raw = Self::to_raw(limit).to_le_bytes();
406+
let raw = Self::to_raw(limit).to_be_bytes();
407407

408408
#[cfg(feature = "async")]
409409
self.inner.t_high().write_async(|r| *r = THigh::from(raw)).await?;
@@ -832,17 +832,17 @@ mod tests {
832832
#[test]
833833
fn read_temperature_default_address() {
834834
let expectations = vec![
835-
vec![Transaction::write_read(0x48, vec![0x00], vec![0xf0, 0x7f])],
836-
vec![Transaction::write_read(0x48, vec![0x00], vec![0x00, 0x64])],
837-
vec![Transaction::write_read(0x48, vec![0x00], vec![0x00, 0x50])],
838-
vec![Transaction::write_read(0x48, vec![0x00], vec![0x00, 0x4b])],
839-
vec![Transaction::write_read(0x48, vec![0x00], vec![0x00, 0x32])],
840-
vec![Transaction::write_read(0x48, vec![0x00], vec![0x00, 0x19])],
841-
vec![Transaction::write_read(0x48, vec![0x00], vec![0x40, 0x00])],
835+
vec![Transaction::write_read(0x48, vec![0x00], vec![0x7f, 0xf0])],
836+
vec![Transaction::write_read(0x48, vec![0x00], vec![0x64, 0x00])],
837+
vec![Transaction::write_read(0x48, vec![0x00], vec![0x50, 0x00])],
838+
vec![Transaction::write_read(0x48, vec![0x00], vec![0x4b, 0x00])],
839+
vec![Transaction::write_read(0x48, vec![0x00], vec![0x32, 0x00])],
840+
vec![Transaction::write_read(0x48, vec![0x00], vec![0x19, 0x00])],
841+
vec![Transaction::write_read(0x48, vec![0x00], vec![0x00, 0x40])],
842842
vec![Transaction::write_read(0x48, vec![0x00], vec![0x00, 0x00])],
843-
vec![Transaction::write_read(0x48, vec![0x00], vec![0xc0, 0xff])],
844-
vec![Transaction::write_read(0x48, vec![0x00], vec![0x00, 0xe7])],
845-
vec![Transaction::write_read(0x48, vec![0x00], vec![0x00, 0xc9])],
843+
vec![Transaction::write_read(0x48, vec![0x00], vec![0xff, 0xc0])],
844+
vec![Transaction::write_read(0x48, vec![0x00], vec![0xe7, 0x00])],
845+
vec![Transaction::write_read(0x48, vec![0x00], vec![0xc9, 0x00])],
846846
];
847847
let temps = [127.9375, 100.0, 80.0, 75.0, 50.0, 25.0, 0.25, 0.0, -0.25, -25.0, -55.0];
848848

@@ -863,28 +863,28 @@ mod tests {
863863
#[test]
864864
fn set_and_read_low_limit() {
865865
let expectations = vec![
866-
Transaction::write(0x48, vec![0x02, 0xf0, 0x7f]),
867-
Transaction::write_read(0x48, vec![0x02], vec![0xf0, 0x7f]),
868-
Transaction::write(0x48, vec![0x02, 0x00, 0x64]),
869-
Transaction::write_read(0x48, vec![0x02], vec![0x00, 0x64]),
870-
Transaction::write(0x48, vec![0x02, 0x00, 0x50]),
871-
Transaction::write_read(0x48, vec![0x02], vec![0x00, 0x50]),
872-
Transaction::write(0x48, vec![0x02, 0x00, 0x4b]),
873-
Transaction::write_read(0x48, vec![0x02], vec![0x00, 0x4b]),
874-
Transaction::write(0x48, vec![0x02, 0x00, 0x32]),
875-
Transaction::write_read(0x48, vec![0x02], vec![0x00, 0x32]),
876-
Transaction::write(0x48, vec![0x02, 0x00, 0x19]),
877-
Transaction::write_read(0x48, vec![0x02], vec![0x00, 0x19]),
878-
Transaction::write(0x48, vec![0x02, 0x40, 0x00]),
879-
Transaction::write_read(0x48, vec![0x02], vec![0x40, 0x00]),
866+
Transaction::write(0x48, vec![0x02, 0x7f, 0xf0]),
867+
Transaction::write_read(0x48, vec![0x02], vec![0x7f, 0xf0]),
868+
Transaction::write(0x48, vec![0x02, 0x64, 0x00]),
869+
Transaction::write_read(0x48, vec![0x02], vec![0x64, 0x00]),
870+
Transaction::write(0x48, vec![0x02, 0x50, 0x00]),
871+
Transaction::write_read(0x48, vec![0x02], vec![0x50, 0x00]),
872+
Transaction::write(0x48, vec![0x02, 0x4b, 0x00]),
873+
Transaction::write_read(0x48, vec![0x02], vec![0x4b, 0x00]),
874+
Transaction::write(0x48, vec![0x02, 0x32, 0x00]),
875+
Transaction::write_read(0x48, vec![0x02], vec![0x32, 0x00]),
876+
Transaction::write(0x48, vec![0x02, 0x19, 0x00]),
877+
Transaction::write_read(0x48, vec![0x02], vec![0x19, 0x00]),
878+
Transaction::write(0x48, vec![0x02, 0x00, 0x40]),
879+
Transaction::write_read(0x48, vec![0x02], vec![0x00, 0x40]),
880880
Transaction::write(0x48, vec![0x02, 0x00, 0x00]),
881881
Transaction::write_read(0x48, vec![0x02], vec![0x00, 0x00]),
882-
Transaction::write(0x48, vec![0x02, 0xc0, 0xff]),
883-
Transaction::write_read(0x48, vec![0x02], vec![0xc0, 0xff]),
884-
Transaction::write(0x48, vec![0x02, 0x00, 0xe7]),
885-
Transaction::write_read(0x48, vec![0x02], vec![0x00, 0xe7]),
886-
Transaction::write(0x48, vec![0x02, 0x00, 0xc9]),
887-
Transaction::write_read(0x48, vec![0x02], vec![0x00, 0xc9]),
882+
Transaction::write(0x48, vec![0x02, 0xff, 0xc0]),
883+
Transaction::write_read(0x48, vec![0x02], vec![0xff, 0xc0]),
884+
Transaction::write(0x48, vec![0x02, 0xe7, 0x00]),
885+
Transaction::write_read(0x48, vec![0x02], vec![0xe7, 0x00]),
886+
Transaction::write(0x48, vec![0x02, 0xc9, 0x00]),
887+
Transaction::write_read(0x48, vec![0x02], vec![0xc9, 0x00]),
888888
];
889889
let temps = [127.9375, 100.0, 80.0, 75.0, 50.0, 25.0, 0.25, 0.0, -0.25, -25.0, -55.0];
890890

@@ -909,28 +909,28 @@ mod tests {
909909
#[test]
910910
fn set_and_read_high_limit() {
911911
let expectations = vec![
912-
Transaction::write(0x48, vec![0x03, 0xf0, 0x7f]),
913-
Transaction::write_read(0x48, vec![0x03], vec![0xf0, 0x7f]),
914-
Transaction::write(0x48, vec![0x03, 0x00, 0x64]),
915-
Transaction::write_read(0x48, vec![0x03], vec![0x00, 0x64]),
916-
Transaction::write(0x48, vec![0x03, 0x00, 0x50]),
917-
Transaction::write_read(0x48, vec![0x03], vec![0x00, 0x50]),
918-
Transaction::write(0x48, vec![0x03, 0x00, 0x4b]),
919-
Transaction::write_read(0x48, vec![0x03], vec![0x00, 0x4b]),
920-
Transaction::write(0x48, vec![0x03, 0x00, 0x32]),
921-
Transaction::write_read(0x48, vec![0x03], vec![0x00, 0x32]),
922-
Transaction::write(0x48, vec![0x03, 0x00, 0x19]),
923-
Transaction::write_read(0x48, vec![0x03], vec![0x00, 0x19]),
924-
Transaction::write(0x48, vec![0x03, 0x40, 0x00]),
925-
Transaction::write_read(0x48, vec![0x03], vec![0x40, 0x00]),
912+
Transaction::write(0x48, vec![0x03, 0x7f, 0xf0]),
913+
Transaction::write_read(0x48, vec![0x03], vec![0x7f, 0xf0]),
914+
Transaction::write(0x48, vec![0x03, 0x64, 0x00]),
915+
Transaction::write_read(0x48, vec![0x03], vec![0x64, 0x00]),
916+
Transaction::write(0x48, vec![0x03, 0x50, 0x00]),
917+
Transaction::write_read(0x48, vec![0x03], vec![0x50, 0x00]),
918+
Transaction::write(0x48, vec![0x03, 0x4b, 0x00]),
919+
Transaction::write_read(0x48, vec![0x03], vec![0x4b, 0x00]),
920+
Transaction::write(0x48, vec![0x03, 0x32, 0x00]),
921+
Transaction::write_read(0x48, vec![0x03], vec![0x32, 0x00]),
922+
Transaction::write(0x48, vec![0x03, 0x19, 0x00]),
923+
Transaction::write_read(0x48, vec![0x03], vec![0x19, 0x00]),
924+
Transaction::write(0x48, vec![0x03, 0x00, 0x40]),
925+
Transaction::write_read(0x48, vec![0x03], vec![0x00, 0x40]),
926926
Transaction::write(0x48, vec![0x03, 0x00, 0x00]),
927927
Transaction::write_read(0x48, vec![0x03], vec![0x00, 0x00]),
928-
Transaction::write(0x48, vec![0x03, 0xc0, 0xff]),
929-
Transaction::write_read(0x48, vec![0x03], vec![0xc0, 0xff]),
930-
Transaction::write(0x48, vec![0x03, 0x00, 0xe7]),
931-
Transaction::write_read(0x48, vec![0x03], vec![0x00, 0xe7]),
932-
Transaction::write(0x48, vec![0x03, 0x00, 0xc9]),
933-
Transaction::write_read(0x48, vec![0x03], vec![0x00, 0xc9]),
928+
Transaction::write(0x48, vec![0x03, 0xff, 0xc0]),
929+
Transaction::write_read(0x48, vec![0x03], vec![0xff, 0xc0]),
930+
Transaction::write(0x48, vec![0x03, 0xe7, 0x00]),
931+
Transaction::write_read(0x48, vec![0x03], vec![0xe7, 0x00]),
932+
Transaction::write(0x48, vec![0x03, 0xc9, 0x00]),
933+
Transaction::write_read(0x48, vec![0x03], vec![0xc9, 0x00]),
934934
];
935935
let temps = [127.9375, 100.0, 80.0, 75.0, 50.0, 25.0, 0.25, 0.0, -0.25, -25.0, -55.0];
936936

@@ -1029,17 +1029,17 @@ mod tests {
10291029
#[tokio::test]
10301030
async fn read_temperature_default_address() {
10311031
let expectations = vec![
1032-
vec![Transaction::write_read(0x48, vec![0x00], vec![0xf0, 0x7f])],
1033-
vec![Transaction::write_read(0x48, vec![0x00], vec![0x00, 0x64])],
1034-
vec![Transaction::write_read(0x48, vec![0x00], vec![0x00, 0x50])],
1035-
vec![Transaction::write_read(0x48, vec![0x00], vec![0x00, 0x4b])],
1036-
vec![Transaction::write_read(0x48, vec![0x00], vec![0x00, 0x32])],
1037-
vec![Transaction::write_read(0x48, vec![0x00], vec![0x00, 0x19])],
1038-
vec![Transaction::write_read(0x48, vec![0x00], vec![0x40, 0x00])],
1032+
vec![Transaction::write_read(0x48, vec![0x00], vec![0x7f, 0xf0])],
1033+
vec![Transaction::write_read(0x48, vec![0x00], vec![0x64, 0x00])],
1034+
vec![Transaction::write_read(0x48, vec![0x00], vec![0x50, 0x00])],
1035+
vec![Transaction::write_read(0x48, vec![0x00], vec![0x4b, 0x00])],
1036+
vec![Transaction::write_read(0x48, vec![0x00], vec![0x32, 0x00])],
1037+
vec![Transaction::write_read(0x48, vec![0x00], vec![0x19, 0x00])],
1038+
vec![Transaction::write_read(0x48, vec![0x00], vec![0x00, 0x40])],
10391039
vec![Transaction::write_read(0x48, vec![0x00], vec![0x00, 0x00])],
1040-
vec![Transaction::write_read(0x48, vec![0x00], vec![0xc0, 0xff])],
1041-
vec![Transaction::write_read(0x48, vec![0x00], vec![0x00, 0xe7])],
1042-
vec![Transaction::write_read(0x48, vec![0x00], vec![0x00, 0xc9])],
1040+
vec![Transaction::write_read(0x48, vec![0x00], vec![0xff, 0xc0])],
1041+
vec![Transaction::write_read(0x48, vec![0x00], vec![0xe7, 0x00])],
1042+
vec![Transaction::write_read(0x48, vec![0x00], vec![0xc9, 0x00])],
10431043
];
10441044
let temps = [127.9375, 100.0, 80.0, 75.0, 50.0, 25.0, 0.25, 0.0, -0.25, -25.0, -55.0];
10451045

@@ -1060,28 +1060,28 @@ mod tests {
10601060
#[tokio::test]
10611061
async fn set_and_read_high_limit() {
10621062
let expectations = vec![
1063-
Transaction::write(0x48, vec![0x03, 0xf0, 0x7f]),
1064-
Transaction::write_read(0x48, vec![0x03], vec![0xf0, 0x7f]),
1065-
Transaction::write(0x48, vec![0x03, 0x00, 0x64]),
1066-
Transaction::write_read(0x48, vec![0x03], vec![0x00, 0x64]),
1067-
Transaction::write(0x48, vec![0x03, 0x00, 0x50]),
1068-
Transaction::write_read(0x48, vec![0x03], vec![0x00, 0x50]),
1069-
Transaction::write(0x48, vec![0x03, 0x00, 0x4b]),
1070-
Transaction::write_read(0x48, vec![0x03], vec![0x00, 0x4b]),
1071-
Transaction::write(0x48, vec![0x03, 0x00, 0x32]),
1072-
Transaction::write_read(0x48, vec![0x03], vec![0x00, 0x32]),
1073-
Transaction::write(0x48, vec![0x03, 0x00, 0x19]),
1074-
Transaction::write_read(0x48, vec![0x03], vec![0x00, 0x19]),
1075-
Transaction::write(0x48, vec![0x03, 0x40, 0x00]),
1076-
Transaction::write_read(0x48, vec![0x03], vec![0x40, 0x00]),
1063+
Transaction::write(0x48, vec![0x03, 0x7f, 0xf0]),
1064+
Transaction::write_read(0x48, vec![0x03], vec![0x7f, 0xf0]),
1065+
Transaction::write(0x48, vec![0x03, 0x64, 0x00]),
1066+
Transaction::write_read(0x48, vec![0x03], vec![0x64, 0x00]),
1067+
Transaction::write(0x48, vec![0x03, 0x50, 0x00]),
1068+
Transaction::write_read(0x48, vec![0x03], vec![0x50, 0x00]),
1069+
Transaction::write(0x48, vec![0x03, 0x4b, 0x00]),
1070+
Transaction::write_read(0x48, vec![0x03], vec![0x4b, 0x00]),
1071+
Transaction::write(0x48, vec![0x03, 0x32, 0x00]),
1072+
Transaction::write_read(0x48, vec![0x03], vec![0x32, 0x00]),
1073+
Transaction::write(0x48, vec![0x03, 0x19, 0x00]),
1074+
Transaction::write_read(0x48, vec![0x03], vec![0x19, 0x00]),
1075+
Transaction::write(0x48, vec![0x03, 0x00, 0x40]),
1076+
Transaction::write_read(0x48, vec![0x03], vec![0x00, 0x40]),
10771077
Transaction::write(0x48, vec![0x03, 0x00, 0x00]),
10781078
Transaction::write_read(0x48, vec![0x03], vec![0x00, 0x00]),
1079-
Transaction::write(0x48, vec![0x03, 0xc0, 0xff]),
1080-
Transaction::write_read(0x48, vec![0x03], vec![0xc0, 0xff]),
1081-
Transaction::write(0x48, vec![0x03, 0x00, 0xe7]),
1082-
Transaction::write_read(0x48, vec![0x03], vec![0x00, 0xe7]),
1083-
Transaction::write(0x48, vec![0x03, 0x00, 0xc9]),
1084-
Transaction::write_read(0x48, vec![0x03], vec![0x00, 0xc9]),
1079+
Transaction::write(0x48, vec![0x03, 0xff, 0xc0]),
1080+
Transaction::write_read(0x48, vec![0x03], vec![0xff, 0xc0]),
1081+
Transaction::write(0x48, vec![0x03, 0xe7, 0x00]),
1082+
Transaction::write_read(0x48, vec![0x03], vec![0xe7, 0x00]),
1083+
Transaction::write(0x48, vec![0x03, 0xc9, 0x00]),
1084+
Transaction::write_read(0x48, vec![0x03], vec![0xc9, 0x00]),
10851085
];
10861086
let temps = [127.9375, 100.0, 80.0, 75.0, 50.0, 25.0, 0.25, 0.0, -0.25, -25.0, -55.0];
10871087

@@ -1106,28 +1106,28 @@ mod tests {
11061106
#[tokio::test]
11071107
async fn set_and_read_low_limit() {
11081108
let expectations = vec![
1109-
Transaction::write(0x48, vec![0x02, 0xf0, 0x7f]),
1110-
Transaction::write_read(0x48, vec![0x02], vec![0xf0, 0x7f]),
1111-
Transaction::write(0x48, vec![0x02, 0x00, 0x64]),
1112-
Transaction::write_read(0x48, vec![0x02], vec![0x00, 0x64]),
1113-
Transaction::write(0x48, vec![0x02, 0x00, 0x50]),
1114-
Transaction::write_read(0x48, vec![0x02], vec![0x00, 0x50]),
1115-
Transaction::write(0x48, vec![0x02, 0x00, 0x4b]),
1116-
Transaction::write_read(0x48, vec![0x02], vec![0x00, 0x4b]),
1117-
Transaction::write(0x48, vec![0x02, 0x00, 0x32]),
1118-
Transaction::write_read(0x48, vec![0x02], vec![0x00, 0x32]),
1119-
Transaction::write(0x48, vec![0x02, 0x00, 0x19]),
1120-
Transaction::write_read(0x48, vec![0x02], vec![0x00, 0x19]),
1121-
Transaction::write(0x48, vec![0x02, 0x40, 0x00]),
1122-
Transaction::write_read(0x48, vec![0x02], vec![0x40, 0x00]),
1109+
Transaction::write(0x48, vec![0x02, 0x7f, 0xf0]),
1110+
Transaction::write_read(0x48, vec![0x02], vec![0x7f, 0xf0]),
1111+
Transaction::write(0x48, vec![0x02, 0x64, 0x00]),
1112+
Transaction::write_read(0x48, vec![0x02], vec![0x64, 0x00]),
1113+
Transaction::write(0x48, vec![0x02, 0x50, 0x00]),
1114+
Transaction::write_read(0x48, vec![0x02], vec![0x50, 0x00]),
1115+
Transaction::write(0x48, vec![0x02, 0x4b, 0x00]),
1116+
Transaction::write_read(0x48, vec![0x02], vec![0x4b, 0x00]),
1117+
Transaction::write(0x48, vec![0x02, 0x32, 0x00]),
1118+
Transaction::write_read(0x48, vec![0x02], vec![0x32, 0x00]),
1119+
Transaction::write(0x48, vec![0x02, 0x19, 0x00]),
1120+
Transaction::write_read(0x48, vec![0x02], vec![0x19, 0x00]),
1121+
Transaction::write(0x48, vec![0x02, 0x00, 0x40]),
1122+
Transaction::write_read(0x48, vec![0x02], vec![0x00, 0x40]),
11231123
Transaction::write(0x48, vec![0x02, 0x00, 0x00]),
11241124
Transaction::write_read(0x48, vec![0x02], vec![0x00, 0x00]),
1125-
Transaction::write(0x48, vec![0x02, 0xc0, 0xff]),
1126-
Transaction::write_read(0x48, vec![0x02], vec![0xc0, 0xff]),
1127-
Transaction::write(0x48, vec![0x02, 0x00, 0xe7]),
1128-
Transaction::write_read(0x48, vec![0x02], vec![0x00, 0xe7]),
1129-
Transaction::write(0x48, vec![0x02, 0x00, 0xc9]),
1130-
Transaction::write_read(0x48, vec![0x02], vec![0x00, 0xc9]),
1125+
Transaction::write(0x48, vec![0x02, 0xff, 0xc0]),
1126+
Transaction::write_read(0x48, vec![0x02], vec![0xff, 0xc0]),
1127+
Transaction::write(0x48, vec![0x02, 0xe7, 0x00]),
1128+
Transaction::write_read(0x48, vec![0x02], vec![0xe7, 0x00]),
1129+
Transaction::write(0x48, vec![0x02, 0xc9, 0x00]),
1130+
Transaction::write_read(0x48, vec![0x02], vec![0xc9, 0x00]),
11311131
];
11321132
let temps = [127.9375, 100.0, 80.0, 75.0, 50.0, 25.0, 0.25, 0.0, -0.25, -25.0, -55.0];
11331133

@@ -1159,11 +1159,11 @@ mod tests {
11591159
let i2c_expectations = vec![
11601160
Transaction::write_read(0x48, vec![0x01], vec![0x22, 0x10]),
11611161
Transaction::write(0x48, vec![0x01, 0x26, 0x10]),
1162-
Transaction::write(0x48, vec![0x02, 0x00, 0x19]),
1163-
Transaction::write(0x48, vec![0x03, 0x00, 0x50]),
1162+
Transaction::write(0x48, vec![0x02, 0x19, 0x00]),
1163+
Transaction::write(0x48, vec![0x03, 0x50, 0x00]),
11641164
Transaction::write_read(0x48, vec![0x01], vec![0x26, 0x10]),
11651165
Transaction::write_read(0x48, vec![0x01], vec![0x26, 0x10]),
1166-
Transaction::write_read(0x48, vec![0x00], vec![0x00, 0x50]),
1166+
Transaction::write_read(0x48, vec![0x00], vec![0x50, 0x00]),
11671167
];
11681168
let i2c_mock = Mock::new(&i2c_expectations);
11691169

0 commit comments

Comments
 (0)