From f10cc1a657766e105dd6836ef04a491c6035db28 Mon Sep 17 00:00:00 2001 From: Kim Schulz Date: Tue, 11 Aug 2015 12:41:16 +0200 Subject: [PATCH] Support for all valid temperatures Fix for issue 64 where the validator does not support all valid temperatures -127 to 128C --- .../eddystonevalidator/TlmValidatorTest.java | 30 +++---------------- .../eddystonevalidator/TlmValidator.java | 4 +-- 2 files changed, 6 insertions(+), 28 deletions(-) diff --git a/tools/eddystone-validator/EddystoneValidator/app/src/androidTest/java/com/google/sample/eddystonevalidator/TlmValidatorTest.java b/tools/eddystone-validator/EddystoneValidator/app/src/androidTest/java/com/google/sample/eddystonevalidator/TlmValidatorTest.java index 7cbc029..c3d635d 100644 --- a/tools/eddystone-validator/EddystoneValidator/app/src/androidTest/java/com/google/sample/eddystonevalidator/TlmValidatorTest.java +++ b/tools/eddystone-validator/EddystoneValidator/app/src/androidTest/java/com/google/sample/eddystonevalidator/TlmValidatorTest.java @@ -14,16 +14,16 @@ package com.google.sample.eddystonevalidator; -import static com.google.sample.eddystonevalidator.Constants.TLM_FRAME_TYPE; -import static com.google.sample.eddystonevalidator.TestUtils.DEVICE_ADDRESS; -import static com.google.sample.eddystonevalidator.TestUtils.INITIAL_RSSI; - import android.test.AndroidTestCase; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.util.Arrays; +import static com.google.sample.eddystonevalidator.Constants.TLM_FRAME_TYPE; +import static com.google.sample.eddystonevalidator.TestUtils.DEVICE_ADDRESS; +import static com.google.sample.eddystonevalidator.TestUtils.INITIAL_RSSI; + /** * Basic tests for the TlmValidator class. */ @@ -100,28 +100,6 @@ public void testTlmValidator_failsVoltageTooHigh() throws IOException { assertFalse(beacon.tlmStatus.getErrors().isEmpty()); } - public void testTlmValidator_failsTempTooLow() throws IOException { - byte[] serviceData = tlmServiceData(); - // -1 °C. No doubt that's a valid operating temperature for most beacons - // but are you really validating your beacons when it's this cold? - serviceData[4] = (byte) 0xff; - serviceData[5] = 0x00; - TlmValidator.validate(DEVICE_ADDRESS, serviceData, beacon); - - assertNotNull(beacon.tlmStatus.errTemp); - assertFalse(beacon.tlmStatus.getErrors().isEmpty()); - } - - public void testTlmValidator_failsTempTooHigh() throws IOException { - byte[] serviceData = tlmServiceData(); - serviceData[4] = 0x3d; - serviceData[5] = 0x00; // 61 °C. - TlmValidator.validate(DEVICE_ADDRESS, serviceData, beacon); - - assertNotNull(beacon.tlmStatus.errTemp); - assertFalse(beacon.tlmStatus.getErrors().isEmpty()); - } - public void testTlmValidator_passesTempNotSupported() throws IOException { byte[] serviceData = tlmServiceData(); serviceData[4] = (byte) 0x80; diff --git a/tools/eddystone-validator/EddystoneValidator/app/src/main/java/com/google/sample/eddystonevalidator/TlmValidator.java b/tools/eddystone-validator/EddystoneValidator/app/src/main/java/com/google/sample/eddystonevalidator/TlmValidator.java index 514feb1..1687ddd 100644 --- a/tools/eddystone-validator/EddystoneValidator/app/src/main/java/com/google/sample/eddystonevalidator/TlmValidator.java +++ b/tools/eddystone-validator/EddystoneValidator/app/src/main/java/com/google/sample/eddystonevalidator/TlmValidator.java @@ -43,10 +43,10 @@ public class TlmValidator { static final float TEMPERATURE_NOT_SUPPORTED = -128.0f; // Minimum expected temperature value in beacon telemetry in degrees Celsius. - static final float MIN_EXPECTED_TEMP = 0.0f; + static final float MIN_EXPECTED_TEMP = -127.0f; // Maximum expected temperature value in beacon telemetry in degrees Celsius. - static final float MAX_EXPECTED_TEMP = 60.0f; + static final float MAX_EXPECTED_TEMP = 128.0f; // Maximum expected PDU count in beacon telemetry. // The fastest we'd expect to see a beacon transmitting would be about 10 Hz.