Esempio n. 1
0
        public void Parse_InvalidDataFormat_ExceptionThrown()
        {
            string rawData = "01-80-01-00-00-00-00-80-01-80-01-80-01-00-00-00-00-00-CB-B8-33-4C-88-4F";
            var    bytes   = ConvertStringBytesToByteArray(rawData);

            RuuviTag.Parse(bytes);
        }
Esempio n. 2
0
        private void CheckV4Data(byte[] bytes, double temperature, double humidity, double airPressure)
        {
            var data = RuuviTag.Parse(bytes);

            Assert.AreEqual(temperature, data.Temperature, "Temperature");
            Assert.AreEqual(humidity, data.Humidity, "Humidity");
            Assert.AreEqual(airPressure, data.AirPressure, "AirPressure");
            Assert.IsNull(data.AccelerationX, "Acceleration X");
            Assert.IsNull(data.AccelerationY, "Acceleration Y");
            Assert.IsNull(data.AccelerationZ, "Acceleration Z");
            Assert.IsNull(data.BatteryVoltage, "Battery voltage");
            Assert.IsNull(data.TxPower, "TX power");
            Assert.IsNull(data.MovementCounter, "Movement counter");
            Assert.IsNull(data.MeasurementSequenceNumber, "Measurement sequence");
            Assert.IsNull(data.MacAddress, "MAC address");
        }
Esempio n. 3
0
        /// <inheritdoc cref="IBleReader"/>
        public async Task <T> GetManufacturerDataAsync <T>(string macAddress)
        {
            var manufacturerData = await ReadDeviceDataAsync(macAddress);

            if (manufacturerData != null)
            {
                if (typeof(T) == typeof(RuuviTag))
                {
                    return((T)Convert.ChangeType(RuuviTag.Parse(manufacturerData.Data), typeof(T)));
                }
                // Add support for parsing data of other device types
                else
                {
                    throw new UnsupportedDeviceTypeException($"Support for getting manufacturer data of type '{typeof(T).ToString()}' has not been implemented");
                }
            }

            return(default(T));
        }