From 17a5d89998c04266b5babfc6510284bec7eb1def Mon Sep 17 00:00:00 2001 From: Philip Abbey Date: Thu, 29 Aug 2024 21:00:50 +0100 Subject: [PATCH 1/2] Prevent negative heading values. --- source/BackgroundServiceDelegate.mc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/source/BackgroundServiceDelegate.mc b/source/BackgroundServiceDelegate.mc index c248cde..f9bbdfa 100644 --- a/source/BackgroundServiceDelegate.mc +++ b/source/BackgroundServiceDelegate.mc @@ -112,7 +112,11 @@ class BackgroundServiceDelegate extends System.ServiceDelegate { data.put("speed", Math.round(position.speed)); } if (position.heading != null) { - data.put("course", Math.round(position.heading * 180 / Math.PI)); + var heading = Math.round(position.heading * 180 / Math.PI); + while (heading < 0) { + heading += 360; + } + data.put("course", heading); } if (position.altitude != null) { data.put("altitude", Math.round(position.altitude)); From b5140ce8b4373e8a9723c6cd91733ea2cdfcb0b2 Mon Sep 17 00:00:00 2001 From: Philip Abbey Date: Thu, 29 Aug 2024 21:13:55 +0100 Subject: [PATCH 2/2] Added vibrate to confirm toggle items tapped --- source/HomeAssistantToggleMenuItem.mc | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/source/HomeAssistantToggleMenuItem.mc b/source/HomeAssistantToggleMenuItem.mc index dd89092..9ba37a8 100644 --- a/source/HomeAssistantToggleMenuItem.mc +++ b/source/HomeAssistantToggleMenuItem.mc @@ -25,9 +25,10 @@ using Toybox.Application.Properties; using Toybox.Timer; class HomeAssistantToggleMenuItem extends WatchUi.ToggleMenuItem { - private var mConfirm as Lang.Boolean; - private var mData as Lang.Dictionary; - private var mTemplate as Lang.String; + private var mConfirm as Lang.Boolean; + private var mData as Lang.Dictionary; + private var mTemplate as Lang.String; + private var mHasVibrate as Lang.Boolean = false; function initialize( label as Lang.String or Lang.Symbol, @@ -40,6 +41,9 @@ class HomeAssistantToggleMenuItem extends WatchUi.ToggleMenuItem { } or Null ) { WatchUi.ToggleMenuItem.initialize(label, null, null, false, options); + if (Attention has :vibrate) { + mHasVibrate = true; + } mConfirm = confirm; mData = data; mTemplate = template; @@ -198,6 +202,13 @@ class HomeAssistantToggleMenuItem extends WatchUi.ToggleMenuItem { }, method(:onReturnSetState) ); + if (mHasVibrate and Settings.getVibrate()) { + Attention.vibrate([ + new Attention.VibeProfile(50, 100), // On for 100ms + new Attention.VibeProfile( 0, 100), // Off for 100ms + new Attention.VibeProfile(50, 100) // On for 100ms + ]); + } } }