From 36644a1af20e8f1d41b53669e6ff49d1b509000a Mon Sep 17 00:00:00 2001 From: Piotr Dec Date: Sat, 3 Aug 2024 00:32:41 +0200 Subject: [PATCH] fix: trailing zeros, speed warning --- .../main/java/eu/ztsh/garmin/data/GarminMapper.kt | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/eu/ztsh/garmin/data/GarminMapper.kt b/app/src/main/java/eu/ztsh/garmin/data/GarminMapper.kt index 06fcecb..b398381 100644 --- a/app/src/main/java/eu/ztsh/garmin/data/GarminMapper.kt +++ b/app/src/main/java/eu/ztsh/garmin/data/GarminMapper.kt @@ -17,12 +17,13 @@ class GarminMapper { } fun map(speed: Speed): IntArray { - return setSpeed(speed.speed, speed.limit, speed.limit > 0 && speed.speed > speed.limit) + return setSpeed(speed.speed, speed.limit) } fun setTime(hours: Int, minutes: Int, traffic: Boolean = false, flag: Boolean = false): IntArray { val trafficChar = asChar(traffic) val flagChar = asChar(flag) + // TODO: needed? Displaying ETA, not remaining return if (hours > 99) { intArrayOf( 0x05, @@ -40,7 +41,7 @@ class GarminMapper { 0x05, trafficChar, asDigit(hours / 10), - asDigit(hours), + asDigit(if (hours == 0) 10 else hours), 0xff, asDigit(minutes / 10), asDigit(minutes), @@ -97,23 +98,21 @@ class GarminMapper { private fun setSpeed( speed: Int, limit: Int = 0, - limitWarning: Boolean = false, acc: Boolean = false ): IntArray { // TODO: car connection val accChar = asChar(acc) - val limitWarningChar = asChar(limitWarning) return if (limit > 0) { intArrayOf( 0x06, asDigit(speed / 100), asDigit(speed / 10), - asDigit(speed), + asDigit(if (speed == 0) 10 else speed), 0xff, asDigit(limit / 100), asDigit(limit / 10), asDigit(limit), - limitWarningChar, + asChar(speed > limit), accChar ) } else { @@ -126,7 +125,7 @@ class GarminMapper { asDigit(speed / 100), asDigit(speed / 10), asDigit(speed), - limitWarningChar, + asChar(false), accChar ) }