Update LoopHubImpl.kt: add iob, cob, tbr

This commit is contained in:
swissalpine 2023-11-26 12:35:21 +01:00 committed by GitHub
parent beac0ecf1c
commit b7dfa735c5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -13,6 +13,7 @@ import app.aaps.core.interfaces.profile.ProfileFunction
import app.aaps.core.interfaces.pump.DetailedBolusInfo import app.aaps.core.interfaces.pump.DetailedBolusInfo
import app.aaps.core.interfaces.queue.CommandQueue import app.aaps.core.interfaces.queue.CommandQueue
import app.aaps.core.interfaces.sharedPreferences.SP import app.aaps.core.interfaces.sharedPreferences.SP
import app.aaps.core.main.graph.OverviewData
import app.aaps.database.ValueWrapper import app.aaps.database.ValueWrapper
import app.aaps.database.entities.EffectiveProfileSwitch import app.aaps.database.entities.EffectiveProfileSwitch
import app.aaps.database.entities.GlucoseValue import app.aaps.database.entities.GlucoseValue
@ -42,6 +43,7 @@ class LoopHubImpl @Inject constructor(
private val repo: AppRepository, private val repo: AppRepository,
private val userEntryLogger: UserEntryLogger, private val userEntryLogger: UserEntryLogger,
private val sp: SP, private val sp: SP,
private val overviewData: OverviewData,
) : LoopHub { ) : LoopHub {
@VisibleForTesting @VisibleForTesting
@ -64,6 +66,15 @@ class LoopHubImpl @Inject constructor(
override val insulinOnboard: Double override val insulinOnboard: Double
get() = iobCobCalculator.calculateIobFromBolus().iob get() = iobCobCalculator.calculateIobFromBolus().iob
/** Returns the remaining bolus and basal insulin on board. */
override val insulinTotalOnboard :Double
get() = iobCobCalculator.calculateIobFromBolus().iob + iobCobCalculator.calculateIobFromTempBasalsIncludingConvertedExtended().basaliob
/** Returns the remaining carbs on board. */
override val carbsOnboard: Double?
// get() = overviewData.cobInfo(iobCobCalculator).displayText(rh, decimalFormatter) ?: rh.gs(app.aaps.core.ui.R.string.value_unavailable_short)
get() = overviewData.cobInfo(iobCobCalculator).displayCob
/** Returns true if the pump is connected. */ /** Returns true if the pump is connected. */
override val isConnected: Boolean get() = !loop.isDisconnected override val isConnected: Boolean get() = !loop.isDisconnected
@ -83,6 +94,13 @@ class LoopHubImpl @Inject constructor(
return if (apsResult == null) Double.NaN else apsResult.percent / 100.0 return if (apsResult == null) Double.NaN else apsResult.percent / 100.0
} }
/** Returns the temporary basal rate in percent */
override val temporaryBasalPercent: String
get() {
val apsResult = loop.lastRun?.constraintsProcessed
return if (apsResult == null) "--" else apsResult.percent.toString()
}
/** Tells the loop algorithm that the pump is physicallly connected. */ /** Tells the loop algorithm that the pump is physicallly connected. */
override fun connectPump() { override fun connectPump() {
repo.runTransaction( repo.runTransaction(
@ -142,4 +160,4 @@ class LoopHubImpl @Inject constructor(
) )
repo.runTransaction(InsertOrUpdateHeartRateTransaction(hr)).blockingAwait() repo.runTransaction(InsertOrUpdateHeartRateTransaction(hr)).blockingAwait()
} }
} }