From f970b7482b1d5265818941a8d8936062a35604dc Mon Sep 17 00:00:00 2001 From: "Martin.JM" Date: Sat, 3 Feb 2024 23:26:25 +0100 Subject: [PATCH] Set wind values --- .../devices/huawei/packets/Weather.java | 23 +++++++++++++++++++ .../requests/SendWeatherCurrentRequest.java | 2 +- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/packets/Weather.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/packets/Weather.java index ddd1555d7..051b44bfc 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/packets/Weather.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/packets/Weather.java @@ -72,6 +72,29 @@ public class Weather { this.commandId = id; this.tlv = new HuaweiTLV(); + HuaweiTLV tlv81 = new HuaweiTLV(); + + if (settings.weatherIconSupported) { + tlv81.put(0x02, (byte) 0x01); + } + + if (settings.windSupported) { + short wind = 0; + if (windSpeed != null) + wind = (short) windSpeed; + + if (windDirection != null) { + if (windDirection > 0) + wind |= ((short) (windDirection * 8 / 360)) << 8; + else + wind |= ((short) (360 + windDirection) * 8 / 360) << 8; + } + tlv81.put(0x03, wind); + } + + if (settings.weatherIconSupported || settings.windSupported) + this.tlv.put(0x81, tlv81); + if (lowestTemperature != null && highestTemperature != null && settings.temperatureSupported) { this.tlv.put(0x85, new HuaweiTLV() .put(0x06, lowestTemperature) diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huawei/requests/SendWeatherCurrentRequest.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huawei/requests/SendWeatherCurrentRequest.java index cd41c2b7b..235ce4723 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huawei/requests/SendWeatherCurrentRequest.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huawei/requests/SendWeatherCurrentRequest.java @@ -49,7 +49,7 @@ public class SendWeatherCurrentRequest extends Request { this.paramsProvider, settings, (byte) weatherSpec.windDirection, - (byte) weatherSpec.windSpeed, + (byte) weatherSpec.windSpeedAsBeaufort(), (byte) (weatherSpec.todayMinTemp - 273), (byte) (weatherSpec.todayMaxTemp - 273), pm25,