Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ object EquilConst {

const val EQUIL_CMD_TIME_OUT: Long = 300000
const val EQUIL_BLE_WRITE_TIME_OUT: Long = 20
const val EQUIL_BLE_NEXT_CMD: Long = 150
const val EQUIL_BLE_NEXT_CMD: Long = 500
const val EQUIL_SUPPORT_LEVEL = 5.3f
const val EQUIL_BOLUS_THRESHOLD_STEP = 1600
const val EQUIL_BASAL_THRESHOLD_STEP = 240
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -526,6 +526,24 @@ class EquilManager @Inject constructor(

fun getSerialNumber(): String = equilState?.serialNumber ?: "UNKNOWN"

fun getFirmwareVersion(): String? = equilState?.firmwareVersion

fun getResistanceThreshold(): Int = getResistanceThreshold(getSerialNumber(), getFirmwareVersion())

fun getResistanceThreshold(serialNumber: String?, firmwareVersion: String?): Int {
val firstChar = serialNumber?.firstOrNull()?.uppercaseChar() ?: return LEGACY_RESISTANCE_THRESHOLD
if (firstChar !in VERSION_CHECK_SERIAL_PREFIXES) {
return LEGACY_RESISTANCE_THRESHOLD
}

val version = firmwareVersion?.toFloatOrNull() ?: return LEGACY_RESISTANCE_THRESHOLD
return if (version >= EquilConst.EQUIL_SUPPORT_LEVEL) {
HIGH_RESISTANCE_THRESHOLD
} else {
LEGACY_RESISTANCE_THRESHOLD
}
}

fun setBolusRecord(bolusRecord: EquilBolusRecord?) {
equilState?.bolusRecord = bolusRecord
storePodState()
Expand Down Expand Up @@ -651,6 +669,7 @@ class EquilManager @Inject constructor(
var basalSchedule: BasalSchedule? = null
}


fun setRunMode(mode: Int) {
when (mode) {
0 -> setRunMode(RunMode.SUSPEND)
Expand Down Expand Up @@ -775,6 +794,10 @@ class EquilManager @Inject constructor(

companion object {

const val HIGH_RESISTANCE_THRESHOLD = 500
const val LEGACY_RESISTANCE_THRESHOLD = 220
val VERSION_CHECK_SERIAL_PREFIXES = setOf('0', '1', '3', 'A', 'D')

private fun createGson(): Gson {
val gsonBuilder = GsonBuilder()
.registerTypeAdapter(DateTime::class.java, JsonSerializer { dateTime: DateTime?, typeOfSrc: Type?, context: JsonSerializationContext? -> JsonPrimitive(ISODateTimeFormat.dateTime().print(dateTime)) })
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -176,9 +176,8 @@ class CmdDevicesOldGet(

fun isSupport(serialNumber: String): Boolean {
val firstChar = serialNumber.firstOrNull()?.uppercaseChar()
val needsVersionCheck = setOf('0', '1', '3', 'A', 'D')
return when (firstChar) {
in needsVersionCheck -> firmwareVersion >= EquilConst.EQUIL_SUPPORT_LEVEL
in EquilManager.VERSION_CHECK_SERIAL_PREFIXES -> firmwareVersion >= EquilConst.EQUIL_SUPPORT_LEVEL
else -> true
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,9 @@ class CmdResistanceGet(

override fun decodeConfirmData(data: ByteArray) {
val value = Utils.bytesToInt(data[7], data[6])
val resistanceThreshold = equilManager.getResistanceThreshold()
cmdSuccess = true
enacted = value >= 500
enacted = value >= resistanceThreshold
synchronized(this) {
(this as Object).notify()
}
Expand Down
Loading