From 18de3f70b5c6dafef7fd73a2b64e68ca121e65f1 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Wed, 18 Mar 2020 16:41:08 +0100 Subject: [PATCH] Dana messages --- .../plugins/pump/danaR/DanaRPump.kt | 8 + .../plugins/pump/danaR/comm/MessageBase.java | 2 +- .../pump/danaR/comm/MessageHashTableR.kt | 52 +++--- .../pump/danaR/comm/MessageOriginalNames.java | 172 ------------------ .../pump/danaR/comm/MessageOriginalNames.kt | 135 ++++++++++++++ .../pump/danaR/comm/MsgBolusProgress.java | 53 ------ .../pump/danaR/comm/MsgBolusProgress.kt | 35 ++++ .../plugins/pump/danaR/comm/MsgBolusStop.java | 51 ------ .../plugins/pump/danaR/comm/MsgBolusStop.kt | 37 ++++ .../plugins/pump/danaR/comm/MsgError.java | 60 ------ .../plugins/pump/danaR/comm/MsgError.kt | 46 +++++ .../pump/danaR/comm/MsgHistoryAlarm.java | 20 -- .../pump/danaR/comm/MsgHistoryAlarm.kt | 17 ++ .../pump/danaR/comm/MsgHistoryAll.java | 150 --------------- .../plugins/pump/danaR/comm/MsgHistoryAll.kt | 143 +++++++++++++++ .../pump/danaR/comm/MsgHistoryAllDone.java | 26 --- .../pump/danaR/comm/MsgHistoryAllDone.kt | 22 +++ .../pump/danaR/comm/MsgHistoryBasalHour.java | 20 -- .../pump/danaR/comm/MsgHistoryBasalHour.kt | 17 ++ .../pump/danaR/comm/MsgHistoryBolus.java | 21 --- .../pump/danaR/comm/MsgHistoryBolus.kt | 17 ++ .../pump/danaR/comm/MsgHistoryCarbo.java | 20 -- .../pump/danaR/comm/MsgHistoryCarbo.kt | 17 ++ .../danaR/comm/MsgHistoryDailyInsulin.java | 20 -- .../pump/danaR/comm/MsgHistoryDailyInsulin.kt | 17 ++ .../pump/danaR/comm/MsgHistoryDone.java | 30 --- .../plugins/pump/danaR/comm/MsgHistoryDone.kt | 22 +++ .../pump/danaR/comm/MsgHistoryError.java | 21 --- .../pump/danaR/comm/MsgHistoryError.kt | 17 ++ .../pump/danaR/comm/MsgHistoryGlucose.java | 21 --- .../pump/danaR/comm/MsgHistoryGlucose.kt | 17 ++ .../pump/danaR/comm/MsgHistoryNew.java | 21 --- .../plugins/pump/danaR/comm/MsgHistoryNew.kt | 17 ++ .../pump/danaR/comm/MsgHistoryNewDone.java | 29 --- .../pump/danaR/comm/MsgHistoryNewDone.kt | 22 +++ .../pump/danaR/comm/MsgHistoryRefill.java | 21 --- .../pump/danaR/comm/MsgHistoryRefill.kt | 17 ++ .../pump/danaR/comm/MsgHistorySuspend.java | 21 --- .../pump/danaR/comm/MsgHistorySuspend.kt | 17 ++ .../pump/danaR/comm/MsgPCCommStart.java | 23 --- .../plugins/pump/danaR/comm/MsgPCCommStart.kt | 18 ++ .../pump/danaR/comm/MsgPCCommStop.java | 22 --- .../plugins/pump/danaR/comm/MsgPCCommStop.kt | 18 ++ .../comm/MsgSetActivateBasalProfile.java | 38 ---- .../danaR/comm/MsgSetActivateBasalProfile.kt | 27 +++ .../pump/danaR/comm/MsgSetBasalProfile.java | 52 ------ .../pump/danaR/comm/MsgSetBasalProfile.kt | 43 +++++ .../pump/danaR/comm/MsgSetCarbsEntry.java | 49 ----- .../pump/danaR/comm/MsgSetCarbsEntry.kt | 40 ++++ .../danaR/comm/MsgSetExtendedBolusStop.java | 32 ---- .../danaR/comm/MsgSetExtendedBolusStop.kt | 25 +++ .../danaR/comm/MsgSetSingleBasalProfile.java | 49 ----- .../danaR/comm/MsgSetSingleBasalProfile.kt | 41 +++++ .../pump/danaR/comm/MsgSetTempBasalStart.java | 45 ----- .../pump/danaR/comm/MsgSetTempBasalStart.kt | 35 ++++ .../pump/danaR/comm/MsgSetTempBasalStop.java | 31 ---- .../pump/danaR/comm/MsgSetTempBasalStop.kt | 29 +++ .../plugins/pump/danaR/comm/MsgSetTime.java | 37 ---- .../plugins/pump/danaR/comm/MsgSetTime.kt | 24 +++ .../plugins/pump/danaR/comm/RecordTypes.java | 19 -- .../plugins/pump/danaR/comm/RecordTypes.kt | 16 ++ .../AbstractDanaRExecutionService.java | 67 ++++--- .../danaR/services/DanaRExecutionService.java | 38 ++-- .../comm/MessageHashTableRKorean.kt | 36 ++-- .../services/DanaRKoreanExecutionService.java | 36 ++-- .../plugins/pump/danaRv2/DanaRv2Plugin.java | 6 +- .../pump/danaRv2/comm/MessageHashTableRv2.kt | 56 +++--- .../comm/MsgSetAPSTempBasalStart_v2.java | 80 -------- .../comm/MsgSetAPSTempBasalStart_v2.kt | 42 +++++ .../danaRv2/comm/MsgSetHistoryEntry_v2.java | 45 ----- .../danaRv2/comm/MsgSetHistoryEntry_v2.kt | 34 ++++ .../services/DanaRv2ExecutionService.java | 67 +++---- .../danaR/comm/MessageHashTableRTest.java | 35 ---- .../pump/danaR/comm/MessageHashTableRTest.kt | 44 +++++ .../danaR/comm/MessageOriginalNamesTest.java | 30 --- .../danaR/comm/MessageOriginalNamesTest.kt | 13 ++ .../pump/danaR/comm/RecordTypesTest.java | 16 -- .../pump/danaR/comm/RecordTypesTest.kt | 11 ++ .../comm/MessageHashTableRKoreanTest.kt | 44 +++++ .../comm/MessageHashTable_rv2Test.java | 57 ------ .../danaRv2/comm/MessageHashTable_rv2Test.kt | 54 ++++++ 81 files changed, 1370 insertions(+), 1625 deletions(-) delete mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MessageOriginalNames.java create mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MessageOriginalNames.kt delete mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgBolusProgress.java create mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgBolusProgress.kt delete mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgBolusStop.java create mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgBolusStop.kt delete mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgError.java create mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgError.kt delete mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryAlarm.java create mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryAlarm.kt delete mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryAll.java create mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryAll.kt delete mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryAllDone.java create mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryAllDone.kt delete mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryBasalHour.java create mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryBasalHour.kt delete mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryBolus.java create mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryBolus.kt delete mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryCarbo.java create mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryCarbo.kt delete mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryDailyInsulin.java create mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryDailyInsulin.kt delete mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryDone.java create mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryDone.kt delete mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryError.java create mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryError.kt delete mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryGlucose.java create mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryGlucose.kt delete mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryNew.java create mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryNew.kt delete mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryNewDone.java create mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryNewDone.kt delete mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryRefill.java create mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryRefill.kt delete mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistorySuspend.java create mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistorySuspend.kt delete mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgPCCommStart.java create mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgPCCommStart.kt delete mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgPCCommStop.java create mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgPCCommStop.kt delete mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetActivateBasalProfile.java create mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetActivateBasalProfile.kt delete mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetBasalProfile.java create mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetBasalProfile.kt delete mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetCarbsEntry.java create mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetCarbsEntry.kt delete mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetExtendedBolusStop.java create mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetExtendedBolusStop.kt delete mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetSingleBasalProfile.java create mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetSingleBasalProfile.kt delete mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetTempBasalStart.java create mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetTempBasalStart.kt delete mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetTempBasalStop.java create mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetTempBasalStop.kt delete mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetTime.java create mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetTime.kt delete mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/RecordTypes.java create mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/RecordTypes.kt delete mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRv2/comm/MsgSetAPSTempBasalStart_v2.java create mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRv2/comm/MsgSetAPSTempBasalStart_v2.kt delete mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRv2/comm/MsgSetHistoryEntry_v2.java create mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRv2/comm/MsgSetHistoryEntry_v2.kt delete mode 100644 app/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MessageHashTableRTest.java create mode 100644 app/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MessageHashTableRTest.kt delete mode 100644 app/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MessageOriginalNamesTest.java create mode 100644 app/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MessageOriginalNamesTest.kt delete mode 100644 app/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/RecordTypesTest.java create mode 100644 app/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/RecordTypesTest.kt create mode 100644 app/src/test/java/info/nightscout/androidaps/plugins/pump/danaRKorean/comm/MessageHashTableRKoreanTest.kt delete mode 100644 app/src/test/java/info/nightscout/androidaps/plugins/pump/danaRv2/comm/MessageHashTable_rv2Test.java create mode 100644 app/src/test/java/info/nightscout/androidaps/plugins/pump/danaRv2/comm/MessageHashTable_rv2Test.kt diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/DanaRPump.kt b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/DanaRPump.kt index 3f095ea645..0621fd80ad 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/DanaRPump.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/DanaRPump.kt @@ -7,6 +7,7 @@ import info.nightscout.androidaps.data.Profile import info.nightscout.androidaps.data.ProfileStore import info.nightscout.androidaps.logging.AAPSLogger import info.nightscout.androidaps.logging.LTag +import info.nightscout.androidaps.plugins.treatments.Treatment import info.nightscout.androidaps.utils.sharedPreferences.SP import org.json.JSONArray import org.json.JSONException @@ -123,8 +124,15 @@ class DanaRPump @Inject constructor( return if (units == UNITS_MGDL) Constants.MGDL else Constants.MMOL } + // DanaR,Rv2,RK specific flags // last start bolus erroCode var messageStartErrorCode: Int = 0 + var historyDoneReceived: Boolean = false + var bolusingTreatment: Treatment? = null // actually delivered treatment + var bolusAmountToBeDelivered = 0.0 // amount to be delivered + var bolusProgressLastTimeStamp: Long = 0 // timestamp of last bolus progress message + var bolusStopped = false // bolus finished + var bolusStopForced = false // bolus forced to stop by user fun createConvertedProfile(): ProfileStore? { pumpProfiles?.let { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MessageBase.java b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MessageBase.java index 90a59929c6..a189958d4a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MessageBase.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MessageBase.java @@ -92,7 +92,7 @@ public class MessageBase { } public String getMessageName() { - return MessageOriginalNames.getName(getCommand()); + return MessageOriginalNames.INSTANCE.getName(getCommand()); } public void handleMessage(byte[] bytes) { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MessageHashTableR.kt b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MessageHashTableR.kt index 56574a13f8..22c27a9c5e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MessageHashTableR.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MessageHashTableR.kt @@ -31,10 +31,10 @@ class MessageHashTableR @Inject constructor( var messages: HashMap = HashMap() init { - put(MsgBolusStop()) // 0x0101 CMD_MEALINS_STOP + put(MsgBolusStop(aapsLogger, rxBus, resourceHelper, danaRPump)) // 0x0101 CMD_MEALINS_STOP put(MsgBolusStart(aapsLogger, constraintChecker, danaRPump, 0.0)) // 0x0102 CMD_MEALINS_START_DATA put(MsgBolusStartWithSpeed(aapsLogger, constraintChecker, danaRPump, 0.0, 0)) // 0x0104 CMD_MEALINS_START_DATA_SPEED - put(MsgBolusProgress()) // 0x0202 CMD_PUMP_THIS_REMAINDER_MEAL_INS + put(MsgBolusProgress(aapsLogger, resourceHelper, rxBus, danaRPump)) // 0x0202 CMD_PUMP_THIS_REMAINDER_MEAL_INS put(MsgStatusProfile(aapsLogger, danaRPump)) // 0x0204 CMD_PUMP_CALCULATION_SETTING put(MsgStatusTempBasal(aapsLogger, danaRPump, activePlugin)) // 0x0205 CMD_PUMP_EXERCISE_MODE put(MsgStatusBolusExtended(aapsLogger, danaRPump, activePlugin)) // 0x0207 CMD_PUMP_EXPANS_INS_I @@ -45,24 +45,24 @@ class MessageHashTableR @Inject constructor( put(MsgInitConnStatusBolus(aapsLogger, rxBus, resourceHelper, danaRPump)) // 0x0302 CMD_PUMPINIT_BOLUS_INFO put(MsgInitConnStatusBasic(aapsLogger, danaRPump)) // 0x0303 CMD_PUMPINIT_INIT_INFO put(MsgInitConnStatusOption(aapsLogger, rxBus, resourceHelper, danaRPump, activePlugin)) // 0x0304 CMD_PUMPINIT_OPTION - put(MsgSetTempBasalStart()) // 0x0401 CMD_PUMPSET_EXERCISE_S - put(MsgSetCarbsEntry()) // 0x0402 CMD_PUMPSET_HIS_S - put(MsgSetTempBasalStop()) // 0x0403 CMD_PUMPSET_EXERCISE_STOP - put(MsgSetExtendedBolusStop()) // 0x0406 CMD_PUMPSET_EXPANS_INS_STOP + put(MsgSetTempBasalStart(aapsLogger, 0, 0)) // 0x0401 CMD_PUMPSET_EXERCISE_S + put(MsgSetCarbsEntry(aapsLogger, 0, 0)) // 0x0402 CMD_PUMPSET_HIS_S + put(MsgSetTempBasalStop(aapsLogger)) // 0x0403 CMD_PUMPSET_EXERCISE_STOP + put(MsgSetExtendedBolusStop(aapsLogger)) // 0x0406 CMD_PUMPSET_EXPANS_INS_STOP put(MsgSetExtendedBolusStart(aapsLogger, constraintChecker, 0.0, 0)) // 0x0407 CMD_PUMPSET_EXPANS_INS_S - put(MsgError()) // 0x0601 CMD_PUMPOWAY_SYSTEM_STATUS - put(MsgPCCommStart()) // 0x3001 CMD_CONNECT - put(MsgPCCommStop()) // 0x3002 CMD_DISCONNECT - put(MsgHistoryBolus()) // 0x3101 CMD_HISTORY_MEAL_INS - put(MsgHistoryDailyInsulin()) // 0x3102 CMD_HISTORY_DAY_INS - put(MsgHistoryGlucose()) // 0x3104 CMD_HISTORY_GLUCOSE - put(MsgHistoryAlarm()) // 0x3105 CMD_HISTORY_ALARM - put(MsgHistoryError()) // 0x3106 CMD_HISTORY_ERROR - put(MsgHistoryCarbo()) // 0x3107 CMD_HISTORY_CARBOHY - put(MsgHistoryRefill()) // 0x3108 CMD_HISTORY_REFILL - put(MsgHistorySuspend()) // 0x3109 CMD_HISTORY_SUSPEND - put(MsgHistoryBasalHour()) // 0x310A CMD_HISTORY_BASAL_HOUR - put(MsgHistoryDone()) // 0x31F1 CMD_HISTORY_DONT_USED + put(MsgError(aapsLogger, rxBus, resourceHelper, danaRPump)) // 0x0601 CMD_PUMPOWAY_SYSTEM_STATUS + put(MsgPCCommStart(aapsLogger)) // 0x3001 CMD_CONNECT + put(MsgPCCommStop(aapsLogger)) // 0x3002 CMD_DISCONNECT + put(MsgHistoryBolus(aapsLogger, rxBus)) // 0x3101 CMD_HISTORY_MEAL_INS + put(MsgHistoryDailyInsulin(aapsLogger, rxBus)) // 0x3102 CMD_HISTORY_DAY_INS + put(MsgHistoryGlucose(aapsLogger, rxBus)) // 0x3104 CMD_HISTORY_GLUCOSE + put(MsgHistoryAlarm(aapsLogger, rxBus)) // 0x3105 CMD_HISTORY_ALARM + put(MsgHistoryError(aapsLogger, rxBus)) // 0x3106 CMD_HISTORY_ERROR + put(MsgHistoryCarbo(aapsLogger, rxBus)) // 0x3107 CMD_HISTORY_CARBOHY + put(MsgHistoryRefill(aapsLogger, rxBus)) // 0x3108 CMD_HISTORY_REFILL + put(MsgHistorySuspend(aapsLogger, rxBus)) // 0x3109 CMD_HISTORY_SUSPEND + put(MsgHistoryBasalHour(aapsLogger, rxBus)) // 0x310A CMD_HISTORY_BASAL_HOUR + put(MsgHistoryDone(aapsLogger, danaRPump)) // 0x31F1 CMD_HISTORY_DONT_USED // 0x3202 CMD_SETTING_V_BASAL_INS_I put(MsgSettingBasal(aapsLogger, danaRPump, danaRPlugin)) // 0x3203 CMD_SETTING_V_MEAL_SETTING_I @@ -76,14 +76,14 @@ class MessageHashTableR @Inject constructor( put(MsgSettingUserOptions(aapsLogger, danaRPump)) // 0x320B CMD_SETTING_V_USER_OPTIONS put(MsgSettingActiveProfile(aapsLogger, danaRPump)) // 0x320C CMD_SETTING_V_PROFILE_NUMBER put(MsgSettingProfileRatiosAll(aapsLogger, danaRPump)) // 0x320D CMD_SETTING_V_CIR_CF_VALUE - put(MsgSetSingleBasalProfile()) // 0x3302 CMD_SETTING_BASAL_INS_S - put(MsgSetBasalProfile()) // 0x3306 CMD_SETTING_BASAL_PROFILE_S + put(MsgSetSingleBasalProfile(aapsLogger, rxBus, resourceHelper, Array(24) { 0.0 })) // 0x3302 CMD_SETTING_BASAL_INS_S + put(MsgSetBasalProfile(aapsLogger, rxBus, resourceHelper, 0.toByte(), Array(24) { 0.0 })) // 0x3306 CMD_SETTING_BASAL_PROFILE_S put(MsgSetUserOptions(aapsLogger, danaRPump)) // 0x330B CMD_SETTING_USER_OPTIONS_S - put(MsgSetActivateBasalProfile()) // 0x330C CMD_SETTING_PROFILE_NUMBER_S - put(MsgHistoryAllDone()) // 0x41F1 CMD_HISTORY_ALL_DONE - put(MsgHistoryAll()) // 0x41F2 CMD_HISTORY_ALL - put(MsgHistoryNewDone()) // 0x42F1 CMD_HISTORY_NEW_DONE - put(MsgHistoryNew()) // 0x42F2 CMD_HISTORY_NEW + put(MsgSetActivateBasalProfile(aapsLogger, 0.toByte())) // 0x330C CMD_SETTING_PROFILE_NUMBER_S + put(MsgHistoryAllDone(aapsLogger, danaRPump)) // 0x41F1 CMD_HISTORY_ALL_DONE + put(MsgHistoryAll(aapsLogger, rxBus)) // 0x41F2 CMD_HISTORY_ALL + put(MsgHistoryNewDone(aapsLogger, danaRPump)) // 0x42F1 CMD_HISTORY_NEW_DONE + put(MsgHistoryNew(aapsLogger, rxBus)) // 0x42F2 CMD_HISTORY_NEW // 0xF0F1 CMD_PUMP_CHECK_VALUE put(MsgCheckValue(aapsLogger, danaRPump, danaRPlugin)) } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MessageOriginalNames.java b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MessageOriginalNames.java deleted file mode 100644 index 13d303e532..0000000000 --- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MessageOriginalNames.java +++ /dev/null @@ -1,172 +0,0 @@ -package info.nightscout.androidaps.plugins.pump.danaR.comm; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.util.HashMap; - -import info.nightscout.androidaps.logging.L; -import info.nightscout.androidaps.logging.StacktraceLoggerWrapper; - -/** - * Created by mike on 28.05.2016. - */ -public class MessageOriginalNames { - private static Logger log = StacktraceLoggerWrapper.getLogger(L.PUMPCOMM); - - private static HashMap messageNames; - - static { - messageNames = new HashMap<>(); - - messageNames.put(0x3001, "CMD_CONNECT"); - messageNames.put(0x3002, "CMD_DISCONNECT"); - - messageNames.put(0x3101, "CMD_HISTORY_MEAL_INS"); - messageNames.put(0x3102, "CMD_HISTORY_DAY_INS"); - messageNames.put(0x3103, "CMD_HISTORY_AIR_SUB"); - messageNames.put(0x3104, "CMD_HISTORY_GLUCOSE"); - messageNames.put(0x3105, "CMD_HISTORY_ALARM"); - messageNames.put(0x3106, "CMD_HISTORY_ERROR"); - messageNames.put(0x3107, "CMD_HISTORY_CARBOHY"); - messageNames.put(0x3108, "CMD_HISTORY_REFILL"); - messageNames.put(0x3109, "CMD_HISTORY_SUSPEND"); - messageNames.put(0x310a, "CMD_HISTORY_BASAL_HOUR"); - messageNames.put(0x310b, "CMD_HISTORY_TB"); - messageNames.put(0x31f1, "CMD_HISTORY_STOP"); - messageNames.put(0x31f2, "CMD_HISTORY_LAST_T_R"); - messageNames.put(0x31f3, "CMD_HISTORY_LAST_T_S"); - - messageNames.put(0x0501, "CMD_HISPAGE_MEAL_INS"); - messageNames.put(0x0502, "CMD_HISPAGE_DAY_INS"); - messageNames.put(0x0503, "CMD_HISPAGE_AIR_SUB"); - messageNames.put(0x0504, "CMD_HISPAGE_GLUCOSE"); - messageNames.put(0x0505, "CMD_HISPAGE_ALARM"); - messageNames.put(0x0506, "CMD_HISPAGE_ERROR"); - messageNames.put(0x0507, "CMD_HISPAGE_CARBOHY"); - messageNames.put(0x0508, "CMD_HISPAGE_REFILL"); - messageNames.put(0x050a, "CMD_HISPAGE_DAILTY_PRE_DATA"); - messageNames.put(0x050b, "CMD_HISPAGE_BOLUS_AVG"); - messageNames.put(0x050c, "CMD_HISPAGE_BASAL_RECORD"); - messageNames.put(0x050d, "CMD_HISPAGE_TB"); - - messageNames.put(0x3201, "CMD_SETTING_V_MEAL_INS_I"); - messageNames.put(0x3202, "CMD_SETTING_V_BASAL_INS_I"); - messageNames.put(0x3203, "CMD_SETTING_V_MEAL_SETTING_I"); - messageNames.put(0x3204, "CMD_SETTING_V_CCC_I"); - messageNames.put(0x3205, "CMD_SETTING_V_MAX_VALUE_I"); - messageNames.put(0x3206, "CMD_SETTING_V_BASAL_PROFILE_ALL"); - messageNames.put(0x3207, "CMD_SETTING_V_SHIPPING_I"); - messageNames.put(0x3208, "CMD_SETTING_V_CLOGGIN_SENS_I"); - messageNames.put(0x3209, "CMD_SETTING_V_GLUCOSEandEASY"); - messageNames.put(0x320a, "CMD_SETTING_V_TIME_I"); - messageNames.put(0x320b, "CMD_SETTING_V_USER_OPTIONS"); - messageNames.put(0x320c, "CMD_SETTING_V_PROFILE_NUMBER"); - messageNames.put(0x320d, "CMD_SETTING_V_CIR_CF_VALUE"); - - messageNames.put(0x3301, "CMD_SETTING_MEAL_INS_S"); - messageNames.put(0x3302, "CMD_SETTING_BASAL_INS_S"); - messageNames.put(0x3303, "CMD_SETTING_MEAL_SETTING_S"); - messageNames.put(0x3304, "CMD_SETTING_CCC_S"); - messageNames.put(0x3305, "CMD_SETTING_MAX_VALUE_S"); - messageNames.put(0x3306, "CMD_SETTING_BASAL_PROFILE_S"); - messageNames.put(0x3307, "CMD_SETTING_SHIPPING_S"); - messageNames.put(0x3308, "CMD_SETTING_CLOGGIN_SENS_S"); - messageNames.put(0x3309, "CMD_SETTING_GLUCOSEandEASY_S"); - messageNames.put(0x330a, "CMD_SETTING_TIME_S"); - messageNames.put(0x330b, "CMD_SETTING_USER_OPTIONS_S"); - messageNames.put(0x330c, "CMD_SETTING_PROFILE_NUMBER_S"); - messageNames.put(0x330d, "CMD_SETTING_CIR_CF_VALUE_S"); - - messageNames.put(0x0101, "CMD_MEALINS_STOP"); - messageNames.put(0x0102, "CMD_MEALINS_START_DATA"); - messageNames.put(0x0103, "CMD_MEALINS_START_NODATA"); - messageNames.put(0x0104, "CMD_MEALINS_START_DATA_SPEED"); - messageNames.put(0x0105, "CMD_MEALINS_START_NODATA_SPEED"); - - messageNames.put(0x0201, "CMD_PUMP_ACT_INS_VALUE"); - messageNames.put(0x0202, "CMD_PUMP_THIS_REMAINDER_MEAL_INS"); - messageNames.put(0x0203, "CMD_PUMP_BASE_SET"); - messageNames.put(0x0204, "CMD_PUMP_CALCULATION_SETTING"); - messageNames.put(0x0205, "CMD_PUMP_EXERCISE_MODE"); - messageNames.put(0x0206, "CMD_PUMP_MEAL_INS_I"); - - messageNames.put(0x0207, "CMD_PUMP_EXPANS_INS_I"); - messageNames.put(0x0208, "CMD_PUMP_EXPANS_INS_RQ"); - - messageNames.put(0x0209, "CMD_PUMP_DUAL_INS_RQ"); - messageNames.put(0x020a, "CMD_PUMP_INITVIEW_I"); - messageNames.put(0x020b, "CMD_PUMP_STATUS"); - messageNames.put(0x020c, "CMD_PUMP_CAR_N_CIR"); - - messageNames.put(0x0301, "CMD_PUMPINIT_TIME_INFO"); - messageNames.put(0x0302, "CMD_PUMPINIT_BOLUS_INFO"); - messageNames.put(0x0303, "CMD_PUMPINIT_INIT_INFO"); - messageNames.put(0x0304, "CMD_PUMPINIT_OPTION"); - - messageNames.put(0x0401, "CMD_PUMPSET_EXERCISE_S"); - messageNames.put(0x0402, "CMD_PUMPSET_HIS_S"); - messageNames.put(0x0403, "CMD_PUMPSET_EXERCISE_STOP"); - - messageNames.put(0x0404, "CMD_PUMPSET_PAUSE"); - messageNames.put(0x0405, "CMD_PUMPSET_PAUSE_STOP"); - - messageNames.put(0x0406, "CMD_PUMPSET_EXPANS_INS_STOP"); - messageNames.put(0x0407, "CMD_PUMPSET_EXPANS_INS_S"); - - messageNames.put(0x0408, "CMD_PUMPSET_DUAL_S"); - messageNames.put(0x0409, "CMD_PUMPSET_EASY_OFF"); - - - messageNames.put(0x0601, "CMD_PUMPOWAY_SYSTEM_STATUS"); - messageNames.put(0x0602, "CMD_PUMPOWAY_GLUCOSE_ALARM"); - messageNames.put(0x0603, "CMD_PUMPOWAY_LOW_INSULIN_ALARM"); - messageNames.put(0x0610, "CMD_PUMP_ALARM_TIEOUT"); - - messageNames.put(0x0701, "CMD_MSGRECEP_TAKE_SUGAR"); - messageNames.put(0x0702, "CMD_MSGRECEP_GO_TO_DOCTOR"); - messageNames.put(0x0703, "CMD_MSGRECEP_CALL_TO_CAREGIVER"); - messageNames.put(0x0704, "CMD_MSGRECEP_CHECK_GLUCOSE_AGAIN"); - messageNames.put(0x0705, "CMD_MSGRECEP_CALL_TO_HOME"); - messageNames.put(0x0706, "CMD_MSGRECEP_DO_DELIVER"); - - messageNames.put(0x0801, "CMD_MSGSEND_YES_I_DO"); - messageNames.put(0x0802, "CMD_MSGSEND_NO_I_CANNOT"); - messageNames.put(0x0803, "CMD_MSGSEND_CALL_TO_ME_MOM"); - messageNames.put(0x0804, "CMD_MSGSEND_DO_NOT_INFUSE"); - - messageNames.put(0x0901, "CMD_FILL_REFILL_COUNT"); - messageNames.put(0x0902, "CMD_FILL_PRIME_CHECK"); - messageNames.put(0x0903, "CMD_FILL_PRIME_END"); - messageNames.put(0x0904, "CMD_FILL_PRIME_STOP"); - messageNames.put(0x0905, "CMD_FILL_PRIME_PAUSE"); - messageNames.put(0x0906, "CMD_FILL_PRIME_RATE"); - - messageNames.put(0x41f2, "CMD_HISTORY_ALL"); - messageNames.put(0x42f2, "CMD_HISTORY_NEW"); - - messageNames.put(0x41f1, "CMD_HISTORY_ALL_DONE"); - messageNames.put(0x42f1, "CMD_HISTORY_NEW_DONE"); - - messageNames.put(0xF0F1, "CMD_PUMP_CHECK_VALUE"); - messageNames.put(0xF0F2, "CMD_PUMP_TIMECHANGE_CHECK"); - messageNames.put(0xF0F3, "CMD_PUMP_TIMECHANGE_CLEAR"); - messageNames.put(0x43F2, "CMD_HISTORY_DATEOVER_ALL"); - messageNames.put(0x4300, "CMD_HISTORY_DATEOVER_DONE"); - - messageNames.put(0xE001, "CMD_PUMPSTATUS_APS"); - messageNames.put(0xE002, "CMD_PUMPSET_APSTEMP"); - messageNames.put(0xE003, "CMD_GET_HISTORY"); - messageNames.put(0xE004, "CMD_SET_HISTORY_ENTRY"); - } - - - public static String getName(Integer command) { - if (messageNames.containsKey(command)) - return messageNames.get(command); - else { - log.error("Unknown command: " + String.format("%04X", command)); - return "UNKNOWN_COMMAND"; - } - } -} diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MessageOriginalNames.kt b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MessageOriginalNames.kt new file mode 100644 index 0000000000..dd3dd75512 --- /dev/null +++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MessageOriginalNames.kt @@ -0,0 +1,135 @@ +package info.nightscout.androidaps.plugins.pump.danaR.comm + +import java.util.* + +object MessageOriginalNames { + + private var messageNames: HashMap = HashMap() + + fun getName(command: Int): String? { + return if (messageNames.containsKey(command)) + messageNames[command] + else + throw IllegalStateException("Unknown command: " + String.format("%04X", command)) + } + + init { + messageNames[0x3001] = "CMD_CONNECT" + messageNames[0x3002] = "CMD_DISCONNECT" + messageNames[0x3101] = "CMD_HISTORY_MEAL_INS" + messageNames[0x3102] = "CMD_HISTORY_DAY_INS" + messageNames[0x3103] = "CMD_HISTORY_AIR_SUB" + messageNames[0x3104] = "CMD_HISTORY_GLUCOSE" + messageNames[0x3105] = "CMD_HISTORY_ALARM" + messageNames[0x3106] = "CMD_HISTORY_ERROR" + messageNames[0x3107] = "CMD_HISTORY_CARBOHY" + messageNames[0x3108] = "CMD_HISTORY_REFILL" + messageNames[0x3109] = "CMD_HISTORY_SUSPEND" + messageNames[0x310a] = "CMD_HISTORY_BASAL_HOUR" + messageNames[0x310b] = "CMD_HISTORY_TB" + messageNames[0x31f1] = "CMD_HISTORY_STOP" + messageNames[0x31f2] = "CMD_HISTORY_LAST_T_R" + messageNames[0x31f3] = "CMD_HISTORY_LAST_T_S" + messageNames[0x0501] = "CMD_HISPAGE_MEAL_INS" + messageNames[0x0502] = "CMD_HISPAGE_DAY_INS" + messageNames[0x0503] = "CMD_HISPAGE_AIR_SUB" + messageNames[0x0504] = "CMD_HISPAGE_GLUCOSE" + messageNames[0x0505] = "CMD_HISPAGE_ALARM" + messageNames[0x0506] = "CMD_HISPAGE_ERROR" + messageNames[0x0507] = "CMD_HISPAGE_CARBOHY" + messageNames[0x0508] = "CMD_HISPAGE_REFILL" + messageNames[0x050a] = "CMD_HISPAGE_DAILTY_PRE_DATA" + messageNames[0x050b] = "CMD_HISPAGE_BOLUS_AVG" + messageNames[0x050c] = "CMD_HISPAGE_BASAL_RECORD" + messageNames[0x050d] = "CMD_HISPAGE_TB" + messageNames[0x3201] = "CMD_SETTING_V_MEAL_INS_I" + messageNames[0x3202] = "CMD_SETTING_V_BASAL_INS_I" + messageNames[0x3203] = "CMD_SETTING_V_MEAL_SETTING_I" + messageNames[0x3204] = "CMD_SETTING_V_CCC_I" + messageNames[0x3205] = "CMD_SETTING_V_MAX_VALUE_I" + messageNames[0x3206] = "CMD_SETTING_V_BASAL_PROFILE_ALL" + messageNames[0x3207] = "CMD_SETTING_V_SHIPPING_I" + messageNames[0x3208] = "CMD_SETTING_V_CLOGGIN_SENS_I" + messageNames[0x3209] = "CMD_SETTING_V_GLUCOSEandEASY" + messageNames[0x320a] = "CMD_SETTING_V_TIME_I" + messageNames[0x320b] = "CMD_SETTING_V_USER_OPTIONS" + messageNames[0x320c] = "CMD_SETTING_V_PROFILE_NUMBER" + messageNames[0x320d] = "CMD_SETTING_V_CIR_CF_VALUE" + messageNames[0x3301] = "CMD_SETTING_MEAL_INS_S" + messageNames[0x3302] = "CMD_SETTING_BASAL_INS_S" + messageNames[0x3303] = "CMD_SETTING_MEAL_SETTING_S" + messageNames[0x3304] = "CMD_SETTING_CCC_S" + messageNames[0x3305] = "CMD_SETTING_MAX_VALUE_S" + messageNames[0x3306] = "CMD_SETTING_BASAL_PROFILE_S" + messageNames[0x3307] = "CMD_SETTING_SHIPPING_S" + messageNames[0x3308] = "CMD_SETTING_CLOGGIN_SENS_S" + messageNames[0x3309] = "CMD_SETTING_GLUCOSEandEASY_S" + messageNames[0x330a] = "CMD_SETTING_TIME_S" + messageNames[0x330b] = "CMD_SETTING_USER_OPTIONS_S" + messageNames[0x330c] = "CMD_SETTING_PROFILE_NUMBER_S" + messageNames[0x330d] = "CMD_SETTING_CIR_CF_VALUE_S" + messageNames[0x0101] = "CMD_MEALINS_STOP" + messageNames[0x0102] = "CMD_MEALINS_START_DATA" + messageNames[0x0103] = "CMD_MEALINS_START_NODATA" + messageNames[0x0104] = "CMD_MEALINS_START_DATA_SPEED" + messageNames[0x0105] = "CMD_MEALINS_START_NODATA_SPEED" + messageNames[0x0201] = "CMD_PUMP_ACT_INS_VALUE" + messageNames[0x0202] = "CMD_PUMP_THIS_REMAINDER_MEAL_INS" + messageNames[0x0203] = "CMD_PUMP_BASE_SET" + messageNames[0x0204] = "CMD_PUMP_CALCULATION_SETTING" + messageNames[0x0205] = "CMD_PUMP_EXERCISE_MODE" + messageNames[0x0206] = "CMD_PUMP_MEAL_INS_I" + messageNames[0x0207] = "CMD_PUMP_EXPANS_INS_I" + messageNames[0x0208] = "CMD_PUMP_EXPANS_INS_RQ" + messageNames[0x0209] = "CMD_PUMP_DUAL_INS_RQ" + messageNames[0x020a] = "CMD_PUMP_INITVIEW_I" + messageNames[0x020b] = "CMD_PUMP_STATUS" + messageNames[0x020c] = "CMD_PUMP_CAR_N_CIR" + messageNames[0x0301] = "CMD_PUMPINIT_TIME_INFO" + messageNames[0x0302] = "CMD_PUMPINIT_BOLUS_INFO" + messageNames[0x0303] = "CMD_PUMPINIT_INIT_INFO" + messageNames[0x0304] = "CMD_PUMPINIT_OPTION" + messageNames[0x0401] = "CMD_PUMPSET_EXERCISE_S" + messageNames[0x0402] = "CMD_PUMPSET_HIS_S" + messageNames[0x0403] = "CMD_PUMPSET_EXERCISE_STOP" + messageNames[0x0404] = "CMD_PUMPSET_PAUSE" + messageNames[0x0405] = "CMD_PUMPSET_PAUSE_STOP" + messageNames[0x0406] = "CMD_PUMPSET_EXPANS_INS_STOP" + messageNames[0x0407] = "CMD_PUMPSET_EXPANS_INS_S" + messageNames[0x0408] = "CMD_PUMPSET_DUAL_S" + messageNames[0x0409] = "CMD_PUMPSET_EASY_OFF" + messageNames[0x0601] = "CMD_PUMPOWAY_SYSTEM_STATUS" + messageNames[0x0602] = "CMD_PUMPOWAY_GLUCOSE_ALARM" + messageNames[0x0603] = "CMD_PUMPOWAY_LOW_INSULIN_ALARM" + messageNames[0x0610] = "CMD_PUMP_ALARM_TIEOUT" + messageNames[0x0701] = "CMD_MSGRECEP_TAKE_SUGAR" + messageNames[0x0702] = "CMD_MSGRECEP_GO_TO_DOCTOR" + messageNames[0x0703] = "CMD_MSGRECEP_CALL_TO_CAREGIVER" + messageNames[0x0704] = "CMD_MSGRECEP_CHECK_GLUCOSE_AGAIN" + messageNames[0x0705] = "CMD_MSGRECEP_CALL_TO_HOME" + messageNames[0x0706] = "CMD_MSGRECEP_DO_DELIVER" + messageNames[0x0801] = "CMD_MSGSEND_YES_I_DO" + messageNames[0x0802] = "CMD_MSGSEND_NO_I_CANNOT" + messageNames[0x0803] = "CMD_MSGSEND_CALL_TO_ME_MOM" + messageNames[0x0804] = "CMD_MSGSEND_DO_NOT_INFUSE" + messageNames[0x0901] = "CMD_FILL_REFILL_COUNT" + messageNames[0x0902] = "CMD_FILL_PRIME_CHECK" + messageNames[0x0903] = "CMD_FILL_PRIME_END" + messageNames[0x0904] = "CMD_FILL_PRIME_STOP" + messageNames[0x0905] = "CMD_FILL_PRIME_PAUSE" + messageNames[0x0906] = "CMD_FILL_PRIME_RATE" + messageNames[0x41f2] = "CMD_HISTORY_ALL" + messageNames[0x42f2] = "CMD_HISTORY_NEW" + messageNames[0x41f1] = "CMD_HISTORY_ALL_DONE" + messageNames[0x42f1] = "CMD_HISTORY_NEW_DONE" + messageNames[0xF0F1] = "CMD_PUMP_CHECK_VALUE" + messageNames[0xF0F2] = "CMD_PUMP_TIMECHANGE_CHECK" + messageNames[0xF0F3] = "CMD_PUMP_TIMECHANGE_CLEAR" + messageNames[0x43F2] = "CMD_HISTORY_DATEOVER_ALL" + messageNames[0x4300] = "CMD_HISTORY_DATEOVER_DONE" + messageNames[0xE001] = "CMD_PUMPSTATUS_APS" + messageNames[0xE002] = "CMD_PUMPSET_APSTEMP" + messageNames[0xE003] = "CMD_GET_HISTORY" + messageNames[0xE004] = "CMD_SET_HISTORY_ENTRY" + } +} \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgBolusProgress.java b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgBolusProgress.java deleted file mode 100644 index 898d1c4cd8..0000000000 --- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgBolusProgress.java +++ /dev/null @@ -1,53 +0,0 @@ -package info.nightscout.androidaps.plugins.pump.danaR.comm; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import info.nightscout.androidaps.MainApp; -import info.nightscout.androidaps.R; -import info.nightscout.androidaps.logging.L; -import info.nightscout.androidaps.logging.StacktraceLoggerWrapper; -import info.nightscout.androidaps.plugins.bus.RxBus; -import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress; -import info.nightscout.androidaps.plugins.treatments.Treatment; - -public class MsgBolusProgress extends MessageBase { - private static Logger log = StacktraceLoggerWrapper.getLogger(L.PUMPCOMM); - - private static Treatment t; - private static double amount; - - public static long lastReceive = 0; - public int progress = -1; - - public MsgBolusProgress() { - SetCommand(0x0202); - } - - public MsgBolusProgress(double amount, Treatment t) { - this(); - this.amount = amount; - this.t = t; - lastReceive = System.currentTimeMillis(); - if (L.isEnabled(L.PUMPCOMM)) - log.debug("New message: amount: " + amount + " treatment: " + t.toString()); - } - - @Override - public void handleMessage(byte[] bytes) { - progress = intFromBuff(bytes, 0, 2); - lastReceive = System.currentTimeMillis(); - Double done = (amount * 100 - progress) / 100d; - t.insulin = done; - EventOverviewBolusProgress bolusingEvent = EventOverviewBolusProgress.INSTANCE; - bolusingEvent.setStatus(String.format(MainApp.gs(R.string.bolusdelivering), done)); - bolusingEvent.setT(t); - bolusingEvent.setPercent(Math.min((int) (done / amount * 100), 100)); - - if (L.isEnabled(L.PUMPCOMM)) { - log.debug("Bolus remaining: " + progress + " delivered: " + done); - } - - RxBus.Companion.getINSTANCE().send(bolusingEvent); - } -} diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgBolusProgress.kt b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgBolusProgress.kt new file mode 100644 index 0000000000..b83da483fe --- /dev/null +++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgBolusProgress.kt @@ -0,0 +1,35 @@ +package info.nightscout.androidaps.plugins.pump.danaR.comm + +import info.nightscout.androidaps.R +import info.nightscout.androidaps.logging.AAPSLogger +import info.nightscout.androidaps.logging.LTag +import info.nightscout.androidaps.plugins.bus.RxBusWrapper +import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress +import info.nightscout.androidaps.plugins.pump.danaR.DanaRPump +import info.nightscout.androidaps.utils.resources.ResourceHelper +import kotlin.math.min + +class MsgBolusProgress( + private val aapsLogger: AAPSLogger, + private val resourceHelper: ResourceHelper, + private val rxBus: RxBusWrapper, + private val danaRPump: DanaRPump +) : MessageBase() { + + init { + SetCommand(0x0202) + aapsLogger.debug(LTag.PUMPCOMM, "New message") + } + + override fun handleMessage(bytes: ByteArray) { + val deliveredInsulin = danaRPump.bolusAmountToBeDelivered - intFromBuff(bytes, 0, 2) / 100.0 + danaRPump.bolusProgressLastTimeStamp = System.currentTimeMillis() + danaRPump.bolusingTreatment?.insulin = deliveredInsulin + val bolusingEvent = EventOverviewBolusProgress + bolusingEvent.status = resourceHelper.gs(R.string.bolusdelivering, deliveredInsulin) + bolusingEvent.t = danaRPump.bolusingTreatment + bolusingEvent.percent = min((deliveredInsulin / danaRPump.bolusAmountToBeDelivered * 100).toInt(), 100) + aapsLogger.debug(LTag.PUMPCOMM, "Delivered insulin so far: $deliveredInsulin") + rxBus.send(bolusingEvent) + } +} \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgBolusStop.java b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgBolusStop.java deleted file mode 100644 index 9fc1e33b2e..0000000000 --- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgBolusStop.java +++ /dev/null @@ -1,51 +0,0 @@ -package info.nightscout.androidaps.plugins.pump.danaR.comm; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import info.nightscout.androidaps.MainApp; -import info.nightscout.androidaps.R; -import info.nightscout.androidaps.logging.L; -import info.nightscout.androidaps.logging.StacktraceLoggerWrapper; -import info.nightscout.androidaps.plugins.bus.RxBus; -import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress; -import info.nightscout.androidaps.plugins.treatments.Treatment; - -public class MsgBolusStop extends MessageBase { - private static Logger log = StacktraceLoggerWrapper.getLogger(L.PUMPCOMM); - private static Treatment t; - private static Double amount; - - public static boolean stopped = false; - public static boolean forced = false; - - public MsgBolusStop() { - SetCommand(0x0101); - stopped = false; - } - - public MsgBolusStop(Double amount, Treatment t) { - this(); - this.t = t; - this.amount = amount; - forced = false; - if (L.isEnabled(L.PUMPCOMM)) - log.debug("Bolus stop: amount: " + amount + " treatment: " + t.toString()); - } - - @Override - public void handleMessage(byte[] bytes) { - if (L.isEnabled(L.PUMPCOMM)) - log.debug("Messsage received"); - EventOverviewBolusProgress bolusingEvent = EventOverviewBolusProgress.INSTANCE; - stopped = true; - if (!forced) { - t.insulin = amount; - bolusingEvent.setStatus(MainApp.gs(R.string.overview_bolusprogress_delivered)); - bolusingEvent.setPercent(100); - } else { - bolusingEvent.setStatus(MainApp.gs(R.string.overview_bolusprogress_stoped)); - } - RxBus.Companion.getINSTANCE().send(bolusingEvent); - } -} diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgBolusStop.kt b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgBolusStop.kt new file mode 100644 index 0000000000..e4ee2486c5 --- /dev/null +++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgBolusStop.kt @@ -0,0 +1,37 @@ +package info.nightscout.androidaps.plugins.pump.danaR.comm + +import info.nightscout.androidaps.MainApp +import info.nightscout.androidaps.R +import info.nightscout.androidaps.logging.AAPSLogger +import info.nightscout.androidaps.logging.LTag +import info.nightscout.androidaps.plugins.bus.RxBusWrapper +import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress +import info.nightscout.androidaps.plugins.pump.danaR.DanaRPump +import info.nightscout.androidaps.utils.resources.ResourceHelper + +class MsgBolusStop( + private val aapsLogger: AAPSLogger, + private val rxBus: RxBusWrapper, + private val resourceHelper: ResourceHelper, + private val danaRPump: DanaRPump +) : MessageBase() { + + init { + SetCommand(0x0101) + aapsLogger.debug(LTag.PUMPCOMM, "New message") + } + + override fun handleMessage(bytes: ByteArray) { + aapsLogger.debug(LTag.PUMPCOMM, "Messsage received") + val bolusingEvent = EventOverviewBolusProgress + danaRPump.bolusStopped = true + if (!danaRPump.bolusStopForced) { + danaRPump.bolusingTreatment?.insulin = danaRPump.bolusAmountToBeDelivered + bolusingEvent.status = resourceHelper.gs(R.string.overview_bolusprogress_delivered) + bolusingEvent.percent = 100 + } else { + bolusingEvent.status = MainApp.gs(R.string.overview_bolusprogress_stoped) + } + rxBus.send(bolusingEvent) + } +} \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgError.java b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgError.java deleted file mode 100644 index 9164a936b1..0000000000 --- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgError.java +++ /dev/null @@ -1,60 +0,0 @@ -package info.nightscout.androidaps.plugins.pump.danaR.comm; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import info.nightscout.androidaps.MainApp; -import info.nightscout.androidaps.R; -import info.nightscout.androidaps.logging.L; -import info.nightscout.androidaps.logging.StacktraceLoggerWrapper; -import info.nightscout.androidaps.plugins.bus.RxBus; -import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress; -import info.nightscout.androidaps.plugins.general.nsclient.NSUpload; - -public class MsgError extends MessageBase { - private static Logger log = StacktraceLoggerWrapper.getLogger(L.PUMPCOMM); - - public MsgError() { - SetCommand(0x0601); - if (L.isEnabled(L.PUMPCOMM)) - log.debug("New message"); - } - - @Override - public void handleMessage(byte[] bytes) { - int errorCode = intFromBuff(bytes, 0, 1); - String errorString = ""; - - switch (errorCode) { - case 1: - case 2: - case 3: // Pump error - errorString = MainApp.gs(R.string.pumperror) + " " + errorCode; - break; - case 4: // Shutdown - errorString = MainApp.gs(R.string.pumpshutdown); - break; - case 5: // Occlusion - errorString = MainApp.gs(R.string.occlusion); - break; - case 7: // Low Battery - errorString = MainApp.gs(R.string.lowbattery); - break; - case 8: // Battery 0% - errorString = MainApp.gs(R.string.batterydischarged); - break; - } - - if (errorCode < 8) { // bolus delivering stopped - EventOverviewBolusProgress bolusingEvent = EventOverviewBolusProgress.INSTANCE; - MsgBolusStop.stopped = true; - bolusingEvent.setStatus(errorString); - RxBus.Companion.getINSTANCE().send(bolusingEvent); - failed=true; - } - if (L.isEnabled(L.PUMPCOMM)) - log.debug("Error detected: " + errorString); - NSUpload.uploadError(errorString); - } - -} diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgError.kt b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgError.kt new file mode 100644 index 0000000000..6069520870 --- /dev/null +++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgError.kt @@ -0,0 +1,46 @@ +package info.nightscout.androidaps.plugins.pump.danaR.comm + +import info.nightscout.androidaps.R +import info.nightscout.androidaps.logging.AAPSLogger +import info.nightscout.androidaps.logging.LTag +import info.nightscout.androidaps.plugins.bus.RxBusWrapper +import info.nightscout.androidaps.plugins.general.nsclient.NSUpload +import info.nightscout.androidaps.plugins.general.overview.events.EventOverviewBolusProgress +import info.nightscout.androidaps.plugins.pump.danaR.DanaRPump +import info.nightscout.androidaps.utils.resources.ResourceHelper + +class MsgError( + private val aapsLogger: AAPSLogger, + private val rxBus: RxBusWrapper, + private val resourceHelper: ResourceHelper, + private val danaRPump: DanaRPump +) : MessageBase() { + + init { + SetCommand(0x0601) + aapsLogger.debug(LTag.PUMPCOMM, "New message") + } + + override fun handleMessage(bytes: ByteArray) { + val errorCode = intFromBuff(bytes, 0, 1) + var errorString = "" + when (errorCode) { + 1, 2, 3 -> errorString = resourceHelper.gs(R.string.pumperror) + " " + errorCode + 4 -> errorString = resourceHelper.gs(R.string.pumpshutdown) + 5 -> errorString = resourceHelper.gs(R.string.occlusion) + 7 -> errorString = resourceHelper.gs(R.string.lowbattery) + 8 -> errorString = resourceHelper.gs(R.string.batterydischarged) + } + if (errorCode < 8) { // bolus delivering stopped + val bolusingEvent = EventOverviewBolusProgress + danaRPump.bolusStopped = true + bolusingEvent.status = errorString + rxBus.send(bolusingEvent) + failed = true + } else { + failed = false + } + aapsLogger.debug(LTag.PUMPCOMM, "Error detected: $errorString") + NSUpload.uploadError(errorString) + } +} \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryAlarm.java b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryAlarm.java deleted file mode 100644 index dce8007c2f..0000000000 --- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryAlarm.java +++ /dev/null @@ -1,20 +0,0 @@ -package info.nightscout.androidaps.plugins.pump.danaR.comm; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import info.nightscout.androidaps.logging.L; -import info.nightscout.androidaps.logging.StacktraceLoggerWrapper; - -/** - * Created by mike on 20.07.2016. - */ -public class MsgHistoryAlarm extends MsgHistoryAll { - private static Logger log = StacktraceLoggerWrapper.getLogger(L.PUMPCOMM); - public MsgHistoryAlarm() { - SetCommand(0x3105); - if (L.isEnabled(L.PUMPCOMM)) - log.debug("New message"); - } - // Handle message taken from MsgHistoryAll -} diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryAlarm.kt b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryAlarm.kt new file mode 100644 index 0000000000..142d0fea04 --- /dev/null +++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryAlarm.kt @@ -0,0 +1,17 @@ +package info.nightscout.androidaps.plugins.pump.danaR.comm + +import info.nightscout.androidaps.logging.AAPSLogger +import info.nightscout.androidaps.logging.LTag +import info.nightscout.androidaps.plugins.bus.RxBusWrapper + +class MsgHistoryAlarm( + aapsLogger: AAPSLogger, + rxBus: RxBusWrapper +) : MsgHistoryAll(aapsLogger, rxBus) { + + init { + SetCommand(0x3105) + aapsLogger.debug(LTag.PUMPCOMM, "New message") + } + // Handle message taken from MsgHistoryAll +} \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryAll.java b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryAll.java deleted file mode 100644 index 91f76f5e69..0000000000 --- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryAll.java +++ /dev/null @@ -1,150 +0,0 @@ -package info.nightscout.androidaps.plugins.pump.danaR.comm; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import info.nightscout.androidaps.MainApp; -import info.nightscout.androidaps.db.DanaRHistoryRecord; -import info.nightscout.androidaps.logging.L; -import info.nightscout.androidaps.logging.StacktraceLoggerWrapper; -import info.nightscout.androidaps.plugins.bus.RxBus; -import info.nightscout.androidaps.plugins.pump.danaR.events.EventDanaRSyncStatus; -import info.nightscout.androidaps.utils.DateUtil; - -public class MsgHistoryAll extends MessageBase { - private static Logger log = StacktraceLoggerWrapper.getLogger(L.PUMPCOMM); - - public MsgHistoryAll() { - SetCommand(0x41F2); - if (L.isEnabled(L.PUMPCOMM)) - log.debug("New message"); - } - - @Override - public void handleMessage(byte[] bytes) { - byte recordCode = (byte) intFromBuff(bytes, 0, 1); - long date = dateFromBuff(bytes, 1); // 3 bytes - long datetime = dateTimeFromBuff(bytes, 1); // 5 bytes - long datetimewihtsec = dateTimeSecFromBuff(bytes, 1); // 6 bytes - - double dailyBasal = intFromBuff(bytes, 4, 2) * 0.01d; - double dailyBolus = intFromBuff(bytes, 6, 2) * 0.01d; - byte paramByte5 = (byte) intFromBuff(bytes, 4, 1); - byte paramByte6 = (byte) intFromBuff(bytes, 5, 1); - byte paramByte7 = (byte) intFromBuff(bytes, 6, 1); - byte paramByte8 = (byte) intFromBuff(bytes, 7, 1); - double value = (double) intFromBuff(bytes, 8, 2); - - DanaRHistoryRecord danaRHistoryRecord = new DanaRHistoryRecord(); - - danaRHistoryRecord.recordCode = recordCode; - danaRHistoryRecord.setBytes(bytes); - - String messageType = ""; - - switch (recordCode) { - case RecordTypes.RECORD_TYPE_BOLUS: - danaRHistoryRecord.recordDate = datetime; - switch (0xF0 & paramByte8) { - case 0xA0: - danaRHistoryRecord.bolusType = "DS"; - messageType += "DS bolus"; - break; - case 0xC0: - danaRHistoryRecord.bolusType = "E"; - messageType += "E bolus"; - break; - case 0x80: - danaRHistoryRecord.bolusType = "S"; - messageType += "S bolus"; - break; - case 0x90: - danaRHistoryRecord.bolusType = "DE"; - messageType += "DE bolus"; - break; - default: - danaRHistoryRecord.bolusType = "None"; - break; - } - danaRHistoryRecord.recordDuration = ((int) paramByte8 & 0x0F) * 60 + (int) paramByte7; - danaRHistoryRecord.recordValue = value * 0.01; - break; - case RecordTypes.RECORD_TYPE_DAILY: - messageType += "dailyinsulin"; - danaRHistoryRecord.recordDate = date; - danaRHistoryRecord.recordDailyBasal = dailyBasal; - danaRHistoryRecord.recordDailyBolus = dailyBolus; - break; - case RecordTypes.RECORD_TYPE_PRIME: - messageType += "prime"; - danaRHistoryRecord.recordDate = datetimewihtsec; - danaRHistoryRecord.recordValue = value * 0.01; - break; - case RecordTypes.RECORD_TYPE_ERROR: - messageType += "error"; - danaRHistoryRecord.recordDate = datetimewihtsec; - danaRHistoryRecord.recordValue = value * 0.01; - break; - case RecordTypes.RECORD_TYPE_REFILL: - messageType += "refill"; - danaRHistoryRecord.recordDate = datetimewihtsec; - danaRHistoryRecord.recordValue = value * 0.01; - break; - case RecordTypes.RECORD_TYPE_BASALHOUR: - messageType += "basal hour"; - danaRHistoryRecord.recordDate = datetimewihtsec; - danaRHistoryRecord.recordValue = value * 0.01; - break; - case RecordTypes.RECORD_TYPE_TB: - messageType += "tb"; - danaRHistoryRecord.recordDate = datetimewihtsec; - danaRHistoryRecord.recordValue = value * 0.01; - break; - case RecordTypes.RECORD_TYPE_GLUCOSE: - messageType += "glucose"; - danaRHistoryRecord.recordDate = datetimewihtsec; - danaRHistoryRecord.recordValue = value; - break; - case RecordTypes.RECORD_TYPE_CARBO: - messageType += "carbo"; - danaRHistoryRecord.recordDate = datetimewihtsec; - danaRHistoryRecord.recordValue = value; - break; - case RecordTypes.RECORD_TYPE_ALARM: - messageType += "alarm"; - danaRHistoryRecord.recordDate = datetimewihtsec; - String strAlarm = "None"; - switch ((int) paramByte8) { - case 67: - strAlarm = "Check"; - break; - case 79: - strAlarm = "Occlusion"; - break; - case 66: - strAlarm = "Low Battery"; - break; - case 83: - strAlarm = "Shutdown"; - break; - } - danaRHistoryRecord.recordAlarm = strAlarm; - danaRHistoryRecord.recordValue = value * 0.01; - break; - case RecordTypes.RECORD_TYPE_SUSPEND: - messageType += "suspend"; - danaRHistoryRecord.recordDate = datetimewihtsec; - String strRecordValue = "Off"; - if ((int) paramByte8 == 79) - strRecordValue = "On"; - danaRHistoryRecord.stringRecordValue = strRecordValue; - break; - case 17: - failed = true; - break; - } - - MainApp.getDbHelper().createOrUpdate(danaRHistoryRecord); - RxBus.Companion.getINSTANCE().send(new EventDanaRSyncStatus(DateUtil.dateAndTimeString(danaRHistoryRecord.recordDate) + " " + messageType)); - } -} diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryAll.kt b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryAll.kt new file mode 100644 index 0000000000..8c50099756 --- /dev/null +++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryAll.kt @@ -0,0 +1,143 @@ +package info.nightscout.androidaps.plugins.pump.danaR.comm + +import info.nightscout.androidaps.MainApp +import info.nightscout.androidaps.db.DanaRHistoryRecord +import info.nightscout.androidaps.logging.AAPSLogger +import info.nightscout.androidaps.logging.LTag +import info.nightscout.androidaps.plugins.bus.RxBusWrapper +import info.nightscout.androidaps.plugins.pump.danaR.events.EventDanaRSyncStatus +import info.nightscout.androidaps.utils.DateUtil + +open class MsgHistoryAll( + val aapsLogger: AAPSLogger, + val rxBus: RxBusWrapper +) : MessageBase() { + + init { + SetCommand(0x41F2) + aapsLogger.debug(LTag.PUMPCOMM, "New message") + } + + override fun handleMessage(bytes: ByteArray) { + val recordCode = intFromBuff(bytes, 0, 1).toByte() + val date = dateFromBuff(bytes, 1) // 3 bytes + val datetime = dateTimeFromBuff(bytes, 1) // 5 bytes + val datetimewihtsec = dateTimeSecFromBuff(bytes, 1) // 6 bytes + val dailyBasal = intFromBuff(bytes, 4, 2) * 0.01 + val dailyBolus = intFromBuff(bytes, 6, 2) * 0.01 + val paramByte5 = intFromBuff(bytes, 4, 1).toByte() + val paramByte6 = intFromBuff(bytes, 5, 1).toByte() + val paramByte7 = intFromBuff(bytes, 6, 1).toByte() + val paramByte8 = intFromBuff(bytes, 7, 1).toByte() + val value = intFromBuff(bytes, 8, 2).toDouble() + val danaRHistoryRecord = DanaRHistoryRecord() + danaRHistoryRecord.recordCode = recordCode + danaRHistoryRecord.setBytes(bytes) + var messageType = "" + when (recordCode) { + RecordTypes.RECORD_TYPE_BOLUS -> { + danaRHistoryRecord.recordDate = datetime + when (0xF0 and paramByte8.toInt()) { + 0xA0 -> { + danaRHistoryRecord.bolusType = "DS" + messageType += "DS bolus" + } + + 0xC0 -> { + danaRHistoryRecord.bolusType = "E" + messageType += "E bolus" + } + + 0x80 -> { + danaRHistoryRecord.bolusType = "S" + messageType += "S bolus" + } + + 0x90 -> { + danaRHistoryRecord.bolusType = "DE" + messageType += "DE bolus" + } + + else -> danaRHistoryRecord.bolusType = "None" + } + danaRHistoryRecord.recordDuration = (paramByte8.toInt() and 0x0F) * 60 + paramByte7.toInt() + danaRHistoryRecord.recordValue = value * 0.01 + } + + RecordTypes.RECORD_TYPE_DAILY -> { + messageType += "dailyinsulin" + danaRHistoryRecord.recordDate = date + danaRHistoryRecord.recordDailyBasal = dailyBasal + danaRHistoryRecord.recordDailyBolus = dailyBolus + } + + RecordTypes.RECORD_TYPE_PRIME -> { + messageType += "prime" + danaRHistoryRecord.recordDate = datetimewihtsec + danaRHistoryRecord.recordValue = value * 0.01 + } + + RecordTypes.RECORD_TYPE_ERROR -> { + messageType += "error" + danaRHistoryRecord.recordDate = datetimewihtsec + danaRHistoryRecord.recordValue = value * 0.01 + } + + RecordTypes.RECORD_TYPE_REFILL -> { + messageType += "refill" + danaRHistoryRecord.recordDate = datetimewihtsec + danaRHistoryRecord.recordValue = value * 0.01 + } + + RecordTypes.RECORD_TYPE_BASALHOUR -> { + messageType += "basal hour" + danaRHistoryRecord.recordDate = datetimewihtsec + danaRHistoryRecord.recordValue = value * 0.01 + } + + RecordTypes.RECORD_TYPE_TB -> { + messageType += "tb" + danaRHistoryRecord.recordDate = datetimewihtsec + danaRHistoryRecord.recordValue = value * 0.01 + } + + RecordTypes.RECORD_TYPE_GLUCOSE -> { + messageType += "glucose" + danaRHistoryRecord.recordDate = datetimewihtsec + danaRHistoryRecord.recordValue = value + } + + RecordTypes.RECORD_TYPE_CARBO -> { + messageType += "carbo" + danaRHistoryRecord.recordDate = datetimewihtsec + danaRHistoryRecord.recordValue = value + } + + RecordTypes.RECORD_TYPE_ALARM -> { + messageType += "alarm" + danaRHistoryRecord.recordDate = datetimewihtsec + var strAlarm = "None" + when (paramByte8.toInt()) { + 67 -> strAlarm = "Check" + 79 -> strAlarm = "Occlusion" + 66 -> strAlarm = "Low Battery" + 83 -> strAlarm = "Shutdown" + } + danaRHistoryRecord.recordAlarm = strAlarm + danaRHistoryRecord.recordValue = value * 0.01 + } + + RecordTypes.RECORD_TYPE_SUSPEND -> { + messageType += "suspend" + danaRHistoryRecord.recordDate = datetimewihtsec + var strRecordValue = "Off" + if (paramByte8.toInt() == 79) strRecordValue = "On" + danaRHistoryRecord.stringRecordValue = strRecordValue + } + + 17.toByte() -> failed = true + } + MainApp.getDbHelper().createOrUpdate(danaRHistoryRecord) + rxBus.send(EventDanaRSyncStatus(DateUtil.dateAndTimeString(danaRHistoryRecord.recordDate) + " " + messageType)) + } +} \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryAllDone.java b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryAllDone.java deleted file mode 100644 index 2884dbb387..0000000000 --- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryAllDone.java +++ /dev/null @@ -1,26 +0,0 @@ -package info.nightscout.androidaps.plugins.pump.danaR.comm; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import info.nightscout.androidaps.logging.L; -import info.nightscout.androidaps.logging.StacktraceLoggerWrapper; - -public class MsgHistoryAllDone extends MessageBase { - private static Logger log = StacktraceLoggerWrapper.getLogger(L.PUMPCOMM); - public static boolean received = false; - - public MsgHistoryAllDone() { - SetCommand(0x41F1); - received = false; - if (L.isEnabled(L.PUMPCOMM)) - log.debug("New message"); - } - - @Override - public void handleMessage(byte[] bytes) { - received = true; - if (L.isEnabled(L.PUMPCOMM)) - log.debug("History all done received"); - } -} diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryAllDone.kt b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryAllDone.kt new file mode 100644 index 0000000000..bd5d634423 --- /dev/null +++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryAllDone.kt @@ -0,0 +1,22 @@ +package info.nightscout.androidaps.plugins.pump.danaR.comm + +import info.nightscout.androidaps.logging.AAPSLogger +import info.nightscout.androidaps.logging.LTag +import info.nightscout.androidaps.plugins.pump.danaR.DanaRPump + +class MsgHistoryAllDone( + private val aapsLogger: AAPSLogger, + private val danaRPump: DanaRPump +) : MessageBase() { + + init { + SetCommand(0x41F1) + danaRPump.historyDoneReceived = false + aapsLogger.debug(LTag.PUMPCOMM, "New message") + } + + override fun handleMessage(bytes: ByteArray) { + danaRPump.historyDoneReceived = true + aapsLogger.debug(LTag.PUMPCOMM, "History all done received") + } +} \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryBasalHour.java b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryBasalHour.java deleted file mode 100644 index e79384b5c3..0000000000 --- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryBasalHour.java +++ /dev/null @@ -1,20 +0,0 @@ -package info.nightscout.androidaps.plugins.pump.danaR.comm; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import info.nightscout.androidaps.logging.L; -import info.nightscout.androidaps.logging.StacktraceLoggerWrapper; - -/** - * Created by mike on 20.07.2016. - */ -public class MsgHistoryBasalHour extends MsgHistoryAll { - private static Logger log = StacktraceLoggerWrapper.getLogger(L.PUMPCOMM); - public MsgHistoryBasalHour() { - SetCommand(0x310A); - if (L.isEnabled(L.PUMPCOMM)) - log.debug("New message"); - } - // Handle message taken from MsgHistoryAll -} diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryBasalHour.kt b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryBasalHour.kt new file mode 100644 index 0000000000..2f235f38d1 --- /dev/null +++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryBasalHour.kt @@ -0,0 +1,17 @@ +package info.nightscout.androidaps.plugins.pump.danaR.comm + +import info.nightscout.androidaps.logging.AAPSLogger +import info.nightscout.androidaps.logging.LTag +import info.nightscout.androidaps.plugins.bus.RxBusWrapper + +class MsgHistoryBasalHour( + aapsLogger: AAPSLogger, + rxBus: RxBusWrapper +) : MsgHistoryAll(aapsLogger, rxBus) { + + init { + SetCommand(0x310A) + aapsLogger.debug(LTag.PUMPCOMM, "New message") + } + // Handle message taken from MsgHistoryAll +} \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryBolus.java b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryBolus.java deleted file mode 100644 index e1b14defdb..0000000000 --- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryBolus.java +++ /dev/null @@ -1,21 +0,0 @@ -package info.nightscout.androidaps.plugins.pump.danaR.comm; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import info.nightscout.androidaps.logging.L; -import info.nightscout.androidaps.logging.StacktraceLoggerWrapper; - -/** - * Created by mike on 20.07.2016. - */ -public class MsgHistoryBolus extends MsgHistoryAll { - private static Logger log = StacktraceLoggerWrapper.getLogger(L.PUMPCOMM); - - public MsgHistoryBolus() { - SetCommand(0x3101); - if (L.isEnabled(L.PUMPCOMM)) - log.debug("New message"); - } - // Handle message taken from MsgHistoryAll -} diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryBolus.kt b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryBolus.kt new file mode 100644 index 0000000000..26e1506eac --- /dev/null +++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryBolus.kt @@ -0,0 +1,17 @@ +package info.nightscout.androidaps.plugins.pump.danaR.comm + +import info.nightscout.androidaps.logging.AAPSLogger +import info.nightscout.androidaps.logging.LTag +import info.nightscout.androidaps.plugins.bus.RxBusWrapper + +class MsgHistoryBolus( + aapsLogger: AAPSLogger, + rxBus: RxBusWrapper +) : MsgHistoryAll(aapsLogger, rxBus) { + + init { + SetCommand(0x3101) + aapsLogger.debug(LTag.PUMPCOMM, "New message") + } + // Handle message taken from MsgHistoryAll +} \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryCarbo.java b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryCarbo.java deleted file mode 100644 index 9d9079b612..0000000000 --- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryCarbo.java +++ /dev/null @@ -1,20 +0,0 @@ -package info.nightscout.androidaps.plugins.pump.danaR.comm; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import info.nightscout.androidaps.logging.L; -import info.nightscout.androidaps.logging.StacktraceLoggerWrapper; - -/** - * Created by mike on 20.07.2016. - */ -public class MsgHistoryCarbo extends MsgHistoryAll { - private static Logger log = StacktraceLoggerWrapper.getLogger(L.PUMPCOMM); - public MsgHistoryCarbo() { - SetCommand(0x3107); - if (L.isEnabled(L.PUMPCOMM)) - log.debug("New message"); - } - // Handle message taken from MsgHistoryAll -} diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryCarbo.kt b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryCarbo.kt new file mode 100644 index 0000000000..8650e251a8 --- /dev/null +++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryCarbo.kt @@ -0,0 +1,17 @@ +package info.nightscout.androidaps.plugins.pump.danaR.comm + +import info.nightscout.androidaps.logging.AAPSLogger +import info.nightscout.androidaps.logging.LTag +import info.nightscout.androidaps.plugins.bus.RxBusWrapper + +class MsgHistoryCarbo( + aapsLogger: AAPSLogger, + rxBus: RxBusWrapper +) : MsgHistoryAll(aapsLogger, rxBus) { + + init { + SetCommand(0x3107) + aapsLogger.debug(LTag.PUMPCOMM, "New message") + } + // Handle message taken from MsgHistoryAll +} \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryDailyInsulin.java b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryDailyInsulin.java deleted file mode 100644 index 3e5f5a4e15..0000000000 --- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryDailyInsulin.java +++ /dev/null @@ -1,20 +0,0 @@ -package info.nightscout.androidaps.plugins.pump.danaR.comm; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import info.nightscout.androidaps.logging.L; -import info.nightscout.androidaps.logging.StacktraceLoggerWrapper; - -/** - * Created by mike on 20.07.2016. - */ -public class MsgHistoryDailyInsulin extends MsgHistoryAll { - private static Logger log = StacktraceLoggerWrapper.getLogger(L.PUMPCOMM); - public MsgHistoryDailyInsulin() { - SetCommand(0x3102); - if (L.isEnabled(L.PUMPCOMM)) - log.debug("New message"); - } - // Handle message taken from MsgHistoryAll -} diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryDailyInsulin.kt b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryDailyInsulin.kt new file mode 100644 index 0000000000..60c1fffd14 --- /dev/null +++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryDailyInsulin.kt @@ -0,0 +1,17 @@ +package info.nightscout.androidaps.plugins.pump.danaR.comm + +import info.nightscout.androidaps.logging.AAPSLogger +import info.nightscout.androidaps.logging.LTag +import info.nightscout.androidaps.plugins.bus.RxBusWrapper + +class MsgHistoryDailyInsulin( + aapsLogger: AAPSLogger, + rxBus: RxBusWrapper +) : MsgHistoryAll(aapsLogger, rxBus) { + + init { + SetCommand(0x3102) + aapsLogger.debug(LTag.PUMPCOMM, "New message") + } + // Handle message taken from MsgHistoryAll +} \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryDone.java b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryDone.java deleted file mode 100644 index 05c4b84f44..0000000000 --- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryDone.java +++ /dev/null @@ -1,30 +0,0 @@ -package info.nightscout.androidaps.plugins.pump.danaR.comm; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import info.nightscout.androidaps.logging.L; -import info.nightscout.androidaps.logging.StacktraceLoggerWrapper; - -/** - * Created by mike on 20.07.2016. - */ -public class MsgHistoryDone extends MessageBase { - private static Logger log = StacktraceLoggerWrapper.getLogger(L.PUMPCOMM); - public static boolean received = false; - - public MsgHistoryDone() { - SetCommand(0x31F1); - received = false; - if (L.isEnabled(L.PUMPCOMM)) - log.debug("New message"); - } - - @Override - public void handleMessage(byte[] bytes) { - received = true; - if (L.isEnabled(L.PUMPCOMM)) - log.debug("History done received"); - - } -} diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryDone.kt b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryDone.kt new file mode 100644 index 0000000000..203b5f71d7 --- /dev/null +++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryDone.kt @@ -0,0 +1,22 @@ +package info.nightscout.androidaps.plugins.pump.danaR.comm + +import info.nightscout.androidaps.logging.AAPSLogger +import info.nightscout.androidaps.logging.LTag +import info.nightscout.androidaps.plugins.pump.danaR.DanaRPump + +class MsgHistoryDone( + private val aapsLogger: AAPSLogger, + private val danaRPump: DanaRPump +) : MessageBase() { + + init { + SetCommand(0x31F1) + danaRPump.historyDoneReceived = false + aapsLogger.debug(LTag.PUMPCOMM, "New message") + } + + override fun handleMessage(bytes: ByteArray) { + danaRPump.historyDoneReceived = true + aapsLogger.debug(LTag.PUMPCOMM, "History done received") + } +} \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryError.java b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryError.java deleted file mode 100644 index ff820e9df9..0000000000 --- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryError.java +++ /dev/null @@ -1,21 +0,0 @@ -package info.nightscout.androidaps.plugins.pump.danaR.comm; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import info.nightscout.androidaps.logging.L; -import info.nightscout.androidaps.logging.StacktraceLoggerWrapper; - -/** - * Created by mike on 20.07.2016. - */ -public class MsgHistoryError extends MsgHistoryAll { - private static Logger log = StacktraceLoggerWrapper.getLogger(L.PUMPCOMM); - - public MsgHistoryError() { - SetCommand(0x3106); - if (L.isEnabled(L.PUMPCOMM)) - log.debug("New message"); - } - // Handle message taken from MsgHistoryAll -} diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryError.kt b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryError.kt new file mode 100644 index 0000000000..50d6cb9051 --- /dev/null +++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryError.kt @@ -0,0 +1,17 @@ +package info.nightscout.androidaps.plugins.pump.danaR.comm + +import info.nightscout.androidaps.logging.AAPSLogger +import info.nightscout.androidaps.logging.LTag +import info.nightscout.androidaps.plugins.bus.RxBusWrapper + +class MsgHistoryError( + aapsLogger: AAPSLogger, + rxBus: RxBusWrapper +) : MsgHistoryAll(aapsLogger, rxBus) { + + init { + SetCommand(0x3106) + aapsLogger.debug(LTag.PUMPCOMM, "New message") + } + // Handle message taken from MsgHistoryAll +} \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryGlucose.java b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryGlucose.java deleted file mode 100644 index 3bb1b4e4a6..0000000000 --- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryGlucose.java +++ /dev/null @@ -1,21 +0,0 @@ -package info.nightscout.androidaps.plugins.pump.danaR.comm; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import info.nightscout.androidaps.logging.L; -import info.nightscout.androidaps.logging.StacktraceLoggerWrapper; - -/** - * Created by mike on 20.07.2016. - */ -public class MsgHistoryGlucose extends MsgHistoryAll { - private static Logger log = StacktraceLoggerWrapper.getLogger(L.PUMPCOMM); - - public MsgHistoryGlucose() { - SetCommand(0x3104); - if (L.isEnabled(L.PUMPCOMM)) - log.debug("New message"); - } - // Handle message taken from MsgHistoryAll -} diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryGlucose.kt b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryGlucose.kt new file mode 100644 index 0000000000..07e2354f18 --- /dev/null +++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryGlucose.kt @@ -0,0 +1,17 @@ +package info.nightscout.androidaps.plugins.pump.danaR.comm + +import info.nightscout.androidaps.logging.AAPSLogger +import info.nightscout.androidaps.logging.LTag +import info.nightscout.androidaps.plugins.bus.RxBusWrapper + +class MsgHistoryGlucose( + aapsLogger: AAPSLogger, + rxBus: RxBusWrapper +) : MsgHistoryAll(aapsLogger, rxBus) { + + init { + SetCommand(0x3104) + aapsLogger.debug(LTag.PUMPCOMM, "New message") + } + // Handle message taken from MsgHistoryAll +} \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryNew.java b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryNew.java deleted file mode 100644 index db026fae73..0000000000 --- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryNew.java +++ /dev/null @@ -1,21 +0,0 @@ -package info.nightscout.androidaps.plugins.pump.danaR.comm; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import info.nightscout.androidaps.logging.L; -import info.nightscout.androidaps.logging.StacktraceLoggerWrapper; - -/** - * Created by mike on 20.07.2016. - */ -public class MsgHistoryNew extends MsgHistoryAll { - private static Logger log = StacktraceLoggerWrapper.getLogger(L.PUMPCOMM); - - public MsgHistoryNew() { - SetCommand(0x42F2); - if (L.isEnabled(L.PUMPCOMM)) - log.debug("New message"); - } - // Handle message taken from MsgHistoryAll -} diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryNew.kt b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryNew.kt new file mode 100644 index 0000000000..0bf49cc612 --- /dev/null +++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryNew.kt @@ -0,0 +1,17 @@ +package info.nightscout.androidaps.plugins.pump.danaR.comm + +import info.nightscout.androidaps.logging.AAPSLogger +import info.nightscout.androidaps.logging.LTag +import info.nightscout.androidaps.plugins.bus.RxBusWrapper + +class MsgHistoryNew( + aapsLogger: AAPSLogger, + rxBus: RxBusWrapper +) : MsgHistoryAll(aapsLogger, rxBus) { + + init { + SetCommand(0x42F2) + aapsLogger.debug(LTag.PUMPCOMM, "New message") + } + // Handle message taken from MsgHistoryAll +} \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryNewDone.java b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryNewDone.java deleted file mode 100644 index f70d298f87..0000000000 --- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryNewDone.java +++ /dev/null @@ -1,29 +0,0 @@ -package info.nightscout.androidaps.plugins.pump.danaR.comm; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import info.nightscout.androidaps.logging.L; -import info.nightscout.androidaps.logging.StacktraceLoggerWrapper; - -/** - * Created by mike on 20.07.2016. - */ -public class MsgHistoryNewDone extends MessageBase { - private static Logger log = StacktraceLoggerWrapper.getLogger(L.PUMPCOMM); - public static boolean received = false; - - public MsgHistoryNewDone() { - SetCommand(0x42F1); - received = false; - if (L.isEnabled(L.PUMPCOMM)) - log.debug("New message"); - } - - @Override - public void handleMessage(byte[] bytes) { - received = true; - if (L.isEnabled(L.PUMPCOMM)) - log.debug("History new done received"); - } -} diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryNewDone.kt b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryNewDone.kt new file mode 100644 index 0000000000..e6d292d54e --- /dev/null +++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryNewDone.kt @@ -0,0 +1,22 @@ +package info.nightscout.androidaps.plugins.pump.danaR.comm + +import info.nightscout.androidaps.logging.AAPSLogger +import info.nightscout.androidaps.logging.LTag +import info.nightscout.androidaps.plugins.pump.danaR.DanaRPump + +class MsgHistoryNewDone( + private val aapsLogger: AAPSLogger, + private val danaRPump: DanaRPump +) : MessageBase() { + + init { + SetCommand(0x42F1) + danaRPump.historyDoneReceived = false + aapsLogger.debug(LTag.PUMPCOMM, "New message") + } + + override fun handleMessage(bytes: ByteArray) { + danaRPump.historyDoneReceived = true + aapsLogger.debug(LTag.PUMPCOMM, "History new done received") + } +} \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryRefill.java b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryRefill.java deleted file mode 100644 index d8a5ee0faf..0000000000 --- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryRefill.java +++ /dev/null @@ -1,21 +0,0 @@ -package info.nightscout.androidaps.plugins.pump.danaR.comm; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import info.nightscout.androidaps.logging.L; -import info.nightscout.androidaps.logging.StacktraceLoggerWrapper; - -/** - * Created by mike on 20.07.2016. - */ -public class MsgHistoryRefill extends MsgHistoryAll { - private static Logger log = StacktraceLoggerWrapper.getLogger(L.PUMPCOMM); - - public MsgHistoryRefill() { - SetCommand(0x3108); - if (L.isEnabled(L.PUMPCOMM)) - log.debug("New message"); - } - // Handle message taken from MsgHistoryAll -} diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryRefill.kt b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryRefill.kt new file mode 100644 index 0000000000..d77d0fbca7 --- /dev/null +++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistoryRefill.kt @@ -0,0 +1,17 @@ +package info.nightscout.androidaps.plugins.pump.danaR.comm + +import info.nightscout.androidaps.logging.AAPSLogger +import info.nightscout.androidaps.logging.LTag +import info.nightscout.androidaps.plugins.bus.RxBusWrapper + +class MsgHistoryRefill( + aapsLogger: AAPSLogger, + rxBus: RxBusWrapper +) : MsgHistoryAll(aapsLogger, rxBus) { + + init { + SetCommand(0x3108) + aapsLogger.debug(LTag.PUMPCOMM, "New message") + } + // Handle message taken from MsgHistoryAll +} \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistorySuspend.java b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistorySuspend.java deleted file mode 100644 index db297a8d0c..0000000000 --- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistorySuspend.java +++ /dev/null @@ -1,21 +0,0 @@ -package info.nightscout.androidaps.plugins.pump.danaR.comm; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import info.nightscout.androidaps.logging.L; -import info.nightscout.androidaps.logging.StacktraceLoggerWrapper; - -/** - * Created by mike on 20.07.2016. - */ -public class MsgHistorySuspend extends MsgHistoryAll { - private static Logger log = StacktraceLoggerWrapper.getLogger(L.PUMPCOMM); - - public MsgHistorySuspend() { - SetCommand(0x3109); - if (L.isEnabled(L.PUMPCOMM)) - log.debug("New message"); - } - // Handle message taken from MsgHistoryAll -} diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistorySuspend.kt b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistorySuspend.kt new file mode 100644 index 0000000000..d3f947f77d --- /dev/null +++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgHistorySuspend.kt @@ -0,0 +1,17 @@ +package info.nightscout.androidaps.plugins.pump.danaR.comm + +import info.nightscout.androidaps.logging.AAPSLogger +import info.nightscout.androidaps.logging.LTag +import info.nightscout.androidaps.plugins.bus.RxBusWrapper + +class MsgHistorySuspend( + aapsLogger: AAPSLogger, + rxBus: RxBusWrapper +) : MsgHistoryAll(aapsLogger, rxBus) { + + init { + SetCommand(0x3109) + aapsLogger.debug(LTag.PUMPCOMM, "New message") + } + // Handle message taken from MsgHistoryAll +} \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgPCCommStart.java b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgPCCommStart.java deleted file mode 100644 index 35d9905656..0000000000 --- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgPCCommStart.java +++ /dev/null @@ -1,23 +0,0 @@ -package info.nightscout.androidaps.plugins.pump.danaR.comm; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import info.nightscout.androidaps.logging.L; -import info.nightscout.androidaps.logging.StacktraceLoggerWrapper; - -public class MsgPCCommStart extends MessageBase { - private static Logger log = StacktraceLoggerWrapper.getLogger(L.PUMPCOMM); - - public MsgPCCommStart() { - SetCommand(0x3001); - if (L.isEnabled(L.PUMPCOMM)) - log.debug("New message"); - } - - @Override - public void handleMessage(byte[] bytes) { - if (L.isEnabled(L.PUMPCOMM)) - log.debug("PC comm start received"); - } -} diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgPCCommStart.kt b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgPCCommStart.kt new file mode 100644 index 0000000000..35e5f2391a --- /dev/null +++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgPCCommStart.kt @@ -0,0 +1,18 @@ +package info.nightscout.androidaps.plugins.pump.danaR.comm + +import info.nightscout.androidaps.logging.AAPSLogger +import info.nightscout.androidaps.logging.LTag + +class MsgPCCommStart constructor( + private val aapsLogger: AAPSLogger +) : MessageBase() { + + init { + SetCommand(0x3001) + aapsLogger.debug(LTag.PUMPCOMM, "New message") + } + + override fun handleMessage(bytes: ByteArray) { + aapsLogger.debug(LTag.PUMPCOMM, "PC comm start received") + } +} \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgPCCommStop.java b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgPCCommStop.java deleted file mode 100644 index cbefd71b04..0000000000 --- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgPCCommStop.java +++ /dev/null @@ -1,22 +0,0 @@ -package info.nightscout.androidaps.plugins.pump.danaR.comm; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import info.nightscout.androidaps.logging.L; -import info.nightscout.androidaps.logging.StacktraceLoggerWrapper; - -public class MsgPCCommStop extends MessageBase { - private static Logger log = StacktraceLoggerWrapper.getLogger(L.PUMPCOMM); - public MsgPCCommStop() { - SetCommand(0x3002); - if (L.isEnabled(L.PUMPCOMM)) - log.debug("New message"); - } - - @Override - public void handleMessage(byte[] bytes) { - if (L.isEnabled(L.PUMPCOMM)) - log.debug("PC comm stop received"); - } -} diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgPCCommStop.kt b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgPCCommStop.kt new file mode 100644 index 0000000000..c6d6ac4ae7 --- /dev/null +++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgPCCommStop.kt @@ -0,0 +1,18 @@ +package info.nightscout.androidaps.plugins.pump.danaR.comm + +import info.nightscout.androidaps.logging.AAPSLogger +import info.nightscout.androidaps.logging.LTag + +class MsgPCCommStop( + private val aapsLogger: AAPSLogger +) : MessageBase() { + + init { + SetCommand(0x3002) + aapsLogger.debug(LTag.PUMPCOMM, "New message") + } + + override fun handleMessage(bytes: ByteArray) { + aapsLogger.debug(LTag.PUMPCOMM, "PC comm stop received") + } +} \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetActivateBasalProfile.java b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetActivateBasalProfile.java deleted file mode 100644 index dcecb40bea..0000000000 --- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetActivateBasalProfile.java +++ /dev/null @@ -1,38 +0,0 @@ -package info.nightscout.androidaps.plugins.pump.danaR.comm; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import info.nightscout.androidaps.logging.L; -import info.nightscout.androidaps.logging.StacktraceLoggerWrapper; - -public class MsgSetActivateBasalProfile extends MessageBase { - private static Logger log = StacktraceLoggerWrapper.getLogger(L.PUMPCOMM); - - public MsgSetActivateBasalProfile() { - SetCommand(0x330C); - if (L.isEnabled(L.PUMPCOMM)) - log.debug("New message"); - } - - // index 0-3 - public MsgSetActivateBasalProfile(byte index) { - this(); - AddParamByte(index); - if (L.isEnabled(L.PUMPCOMM)) - log.debug("Activate basal profile: " + index); - } - - @Override - public void handleMessage(byte[] bytes) { - int result = intFromBuff(bytes, 0, 1); - if (result != 1) { - failed = true; - if (L.isEnabled(L.PUMPCOMM)) - log.debug("Activate basal profile result: " + result + " FAILED!!!"); - } else { - if (L.isEnabled(L.PUMPCOMM)) - log.debug("Activate basal profile result: " + result); - } - } -} diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetActivateBasalProfile.kt b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetActivateBasalProfile.kt new file mode 100644 index 0000000000..6343002f99 --- /dev/null +++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetActivateBasalProfile.kt @@ -0,0 +1,27 @@ +package info.nightscout.androidaps.plugins.pump.danaR.comm + +import info.nightscout.androidaps.logging.AAPSLogger +import info.nightscout.androidaps.logging.LTag + +class MsgSetActivateBasalProfile( + private val aapsLogger: AAPSLogger, + index: Byte +) : MessageBase() { + + // index 0-3 + init { + SetCommand(0x330C) + AddParamByte(index) + aapsLogger.debug(LTag.PUMPCOMM, "Activate basal profile: $index") + } + + override fun handleMessage(bytes: ByteArray) { + val result = intFromBuff(bytes, 0, 1) + if (result != 1) { + failed = true + aapsLogger.debug(LTag.PUMPCOMM, "Activate basal profile result: $result FAILED!!!") + } else { + aapsLogger.debug(LTag.PUMPCOMM, "Activate basal profile result: $result") + } + } +} \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetBasalProfile.java b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetBasalProfile.java deleted file mode 100644 index 251fea50c2..0000000000 --- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetBasalProfile.java +++ /dev/null @@ -1,52 +0,0 @@ -package info.nightscout.androidaps.plugins.pump.danaR.comm; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import info.nightscout.androidaps.MainApp; -import info.nightscout.androidaps.R; -import info.nightscout.androidaps.logging.L; -import info.nightscout.androidaps.logging.StacktraceLoggerWrapper; -import info.nightscout.androidaps.plugins.bus.RxBus; -import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification; - -public class MsgSetBasalProfile extends MessageBase { - private static Logger log = StacktraceLoggerWrapper.getLogger(L.PUMPCOMM); - - public MsgSetBasalProfile() { - SetCommand(0x3306); - if (L.isEnabled(L.PUMPCOMM)) - log.debug("New message"); - } - - // index 0-3 - public MsgSetBasalProfile(byte index, Double[] values) { - this(); - AddParamByte(index); - for (Integer i = 0; i < 24; i++) { - AddParamInt((int) (values[i] * 100)); - } - if (L.isEnabled(L.PUMPCOMM)) - log.debug("Set basal profile: " + index); - } - - @Override - public void handleMessage(byte[] bytes) { - int result = intFromBuff(bytes, 0, 1); - if (result != 1) { - failed = true; - if (L.isEnabled(L.PUMPCOMM)) - log.debug("Set basal profile result: " + result + " FAILED!!!"); - Notification reportFail = new Notification(Notification.PROFILE_SET_FAILED, MainApp.gs(R.string.profile_set_failed), Notification.URGENT); - RxBus.Companion.getINSTANCE().send(new EventNewNotification(reportFail)); - } else { - if (L.isEnabled(L.PUMPCOMM)) - log.debug("Set basal profile result: " + result); - Notification reportOK = new Notification(Notification.PROFILE_SET_OK, MainApp.gs(R.string.profile_set_ok), Notification.INFO, 60); - RxBus.Companion.getINSTANCE().send(new EventNewNotification(reportOK)); - } - } - - -} diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetBasalProfile.kt b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetBasalProfile.kt new file mode 100644 index 0000000000..1af0c71832 --- /dev/null +++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetBasalProfile.kt @@ -0,0 +1,43 @@ +package info.nightscout.androidaps.plugins.pump.danaR.comm + +import info.nightscout.androidaps.R +import info.nightscout.androidaps.logging.AAPSLogger +import info.nightscout.androidaps.logging.LTag +import info.nightscout.androidaps.plugins.bus.RxBusWrapper +import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification +import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.androidaps.utils.resources.ResourceHelper + +class MsgSetBasalProfile( + private val aapsLogger: AAPSLogger, + private val rxBus: RxBusWrapper, + private val resourceHelper: ResourceHelper, + index: Byte, + values: Array +) : MessageBase() { + + // index 0-3 + init { + SetCommand(0x3306) + AddParamByte(index) + for (i in 0..23) { + AddParamInt((values[i] * 100).toInt()) + } + aapsLogger.debug(LTag.PUMPCOMM, "Set basal profile: $index") + } + + override fun handleMessage(bytes: ByteArray) { + val result = intFromBuff(bytes, 0, 1) + if (result != 1) { + failed = true + aapsLogger.debug(LTag.PUMPCOMM, "Set basal profile result: $result FAILED!!!") + val reportFail = Notification(Notification.PROFILE_SET_FAILED, resourceHelper.gs(R.string.profile_set_failed), Notification.URGENT) + rxBus.send(EventNewNotification(reportFail)) + } else { + failed = false + aapsLogger.debug(LTag.PUMPCOMM, "Set basal profile result: $result") + val reportOK = Notification(Notification.PROFILE_SET_OK, resourceHelper.gs(R.string.profile_set_ok), Notification.INFO, 60) + rxBus.send(EventNewNotification(reportOK)) + } + } +} \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetCarbsEntry.java b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetCarbsEntry.java deleted file mode 100644 index a12611eacf..0000000000 --- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetCarbsEntry.java +++ /dev/null @@ -1,49 +0,0 @@ -package info.nightscout.androidaps.plugins.pump.danaR.comm; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.util.Calendar; - -import info.nightscout.androidaps.logging.L; -import info.nightscout.androidaps.logging.StacktraceLoggerWrapper; - -public class MsgSetCarbsEntry extends MessageBase { - private static Logger log = StacktraceLoggerWrapper.getLogger(L.PUMPCOMM); - - public MsgSetCarbsEntry() { - SetCommand(0x0402); - if (L.isEnabled(L.PUMPCOMM)) - log.debug("New message"); - } - - public MsgSetCarbsEntry(long time, int amount) { - this(); - Calendar calendar = Calendar.getInstance(); - calendar.setTimeInMillis(time); - AddParamByte((byte) RecordTypes.RECORD_TYPE_CARBO); - AddParamByte((byte) (calendar.get(Calendar.YEAR) % 100)); - AddParamByte((byte) (calendar.get(Calendar.MONTH) + 1)); - AddParamByte((byte) (calendar.get(Calendar.DAY_OF_MONTH))); - AddParamByte((byte) (calendar.get(Calendar.HOUR_OF_DAY))); - AddParamByte((byte) (calendar.get(Calendar.MINUTE))); - AddParamByte((byte) (calendar.get(Calendar.SECOND))); - AddParamByte((byte) 0x43); //?? - AddParamInt(amount); - if (L.isEnabled(L.PUMPCOMM)) - log.debug("Set carb entry: " + amount + " date " + calendar.getTime().toString()); - } - - @Override - public void handleMessage(byte[] bytes) { - int result = intFromBuff(bytes, 0, 1); - if (result != 1) { - failed = true; - if (L.isEnabled(L.PUMPCOMM)) - log.debug("Set carb entry result: " + result + " FAILED!!!"); - } else { - if (L.isEnabled(L.PUMPCOMM)) - log.debug("Set carb entry result: " + result); - } - } -} diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetCarbsEntry.kt b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetCarbsEntry.kt new file mode 100644 index 0000000000..0e62c0d625 --- /dev/null +++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetCarbsEntry.kt @@ -0,0 +1,40 @@ +package info.nightscout.androidaps.plugins.pump.danaR.comm + +import info.nightscout.androidaps.logging.AAPSLogger +import info.nightscout.androidaps.logging.LTag +import java.util.* + +class MsgSetCarbsEntry( + private val aapsLogger: AAPSLogger, + val time: Long, + val amount: Int +) : MessageBase() { + + init { + SetCommand(0x0402) + aapsLogger.debug(LTag.PUMPBTCOMM, "New message") + val calendar = Calendar.getInstance() + calendar.timeInMillis = time + AddParamByte(RecordTypes.RECORD_TYPE_CARBO) + AddParamByte((calendar[Calendar.YEAR] % 100).toByte()) + AddParamByte((calendar[Calendar.MONTH] + 1).toByte()) + AddParamByte(calendar[Calendar.DAY_OF_MONTH].toByte()) + AddParamByte(calendar[Calendar.HOUR_OF_DAY].toByte()) + AddParamByte(calendar[Calendar.MINUTE].toByte()) + AddParamByte(calendar[Calendar.SECOND].toByte()) + AddParamByte(0x43.toByte()) //?? + AddParamInt(amount) + aapsLogger.debug(LTag.PUMPBTCOMM, "Set carb entry: " + amount + " date " + calendar.time.toString()) + } + + override fun handleMessage(bytes: ByteArray) { + val result = intFromBuff(bytes, 0, 1) + if (result != 1) { + failed = true + aapsLogger.debug(LTag.PUMPBTCOMM, "Set carb entry result: $result FAILED!!!") + } else { + failed = false + aapsLogger.debug(LTag.PUMPBTCOMM, "Set carb entry result: $result") + } + } +} \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetExtendedBolusStop.java b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetExtendedBolusStop.java deleted file mode 100644 index 3bbaede325..0000000000 --- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetExtendedBolusStop.java +++ /dev/null @@ -1,32 +0,0 @@ -package info.nightscout.androidaps.plugins.pump.danaR.comm; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import info.nightscout.androidaps.logging.L; -import info.nightscout.androidaps.logging.StacktraceLoggerWrapper; - -public class MsgSetExtendedBolusStop extends MessageBase { - private static Logger log = StacktraceLoggerWrapper.getLogger(L.PUMPCOMM); - - public MsgSetExtendedBolusStop() { - SetCommand(0x0406); - if (L.isEnabled(L.PUMPCOMM)) - log.debug("New message"); - } - - @Override - public void handleMessage(byte[] bytes) { - int result = intFromBuff(bytes, 0, 1); - if (result != 1) { - failed = true; - if (L.isEnabled(L.PUMPCOMM)) - log.debug("Set extended bolus stop result: " + result + " FAILED!!!"); - } else { - if (L.isEnabled(L.PUMPCOMM)) - log.debug("Set extended bolus stop result: " + result); - } - } - - -} diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetExtendedBolusStop.kt b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetExtendedBolusStop.kt new file mode 100644 index 0000000000..887f6c0cdb --- /dev/null +++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetExtendedBolusStop.kt @@ -0,0 +1,25 @@ +package info.nightscout.androidaps.plugins.pump.danaR.comm + +import info.nightscout.androidaps.logging.AAPSLogger +import info.nightscout.androidaps.logging.LTag + +class MsgSetExtendedBolusStop( + private val aapsLogger: AAPSLogger +) : MessageBase() { + + init { + SetCommand(0x0406) + aapsLogger.debug(LTag.PUMPBTCOMM, "New message") + } + + override fun handleMessage(bytes: ByteArray) { + val result = intFromBuff(bytes, 0, 1) + if (result != 1) { + failed = true + aapsLogger.debug(LTag.PUMPBTCOMM, "Set extended bolus stop result: $result FAILED!!!") + } else { + failed = false + aapsLogger.debug(LTag.PUMPBTCOMM, "Set extended bolus stop result: $result") + } + } +} \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetSingleBasalProfile.java b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetSingleBasalProfile.java deleted file mode 100644 index 42f655f7ab..0000000000 --- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetSingleBasalProfile.java +++ /dev/null @@ -1,49 +0,0 @@ -package info.nightscout.androidaps.plugins.pump.danaR.comm; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import info.nightscout.androidaps.MainApp; -import info.nightscout.androidaps.R; -import info.nightscout.androidaps.logging.L; -import info.nightscout.androidaps.logging.StacktraceLoggerWrapper; -import info.nightscout.androidaps.plugins.bus.RxBus; -import info.nightscout.androidaps.plugins.general.overview.notifications.Notification; -import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification; - -public class MsgSetSingleBasalProfile extends MessageBase { - private static Logger log = StacktraceLoggerWrapper.getLogger(L.PUMPCOMM); - - public MsgSetSingleBasalProfile() { - SetCommand(0x3302); - } - - // index 0-3 - public MsgSetSingleBasalProfile(Double[] values) { - this(); - for (Integer i = 0; i < 24; i++) { - AddParamInt((int) (values[i] * 100)); - } - if (L.isEnabled(L.PUMPCOMM)) - log.debug("New message"); - } - - @Override - public void handleMessage(byte[] bytes) { - int result = intFromBuff(bytes, 0, 1); - if (result != 1) { - failed = true; - if (L.isEnabled(L.PUMPCOMM)) - log.debug("Set basal profile result: " + result + " FAILED!!!"); - Notification reportFail = new Notification(Notification.PROFILE_SET_FAILED, MainApp.gs(R.string.profile_set_failed), Notification.URGENT); - RxBus.Companion.getINSTANCE().send(new EventNewNotification(reportFail)); - } else { - if (L.isEnabled(L.PUMPCOMM)) - log.debug("Set basal profile result: " + result); - Notification reportOK = new Notification(Notification.PROFILE_SET_OK, MainApp.gs(R.string.profile_set_ok), Notification.INFO, 60); - RxBus.Companion.getINSTANCE().send(new EventNewNotification(reportOK)); - } - } - - -} diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetSingleBasalProfile.kt b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetSingleBasalProfile.kt new file mode 100644 index 0000000000..2997a8478f --- /dev/null +++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetSingleBasalProfile.kt @@ -0,0 +1,41 @@ +package info.nightscout.androidaps.plugins.pump.danaR.comm + +import info.nightscout.androidaps.R +import info.nightscout.androidaps.logging.AAPSLogger +import info.nightscout.androidaps.logging.LTag +import info.nightscout.androidaps.plugins.bus.RxBusWrapper +import info.nightscout.androidaps.plugins.general.overview.events.EventNewNotification +import info.nightscout.androidaps.plugins.general.overview.notifications.Notification +import info.nightscout.androidaps.utils.resources.ResourceHelper + +class MsgSetSingleBasalProfile( + private val aapsLogger: AAPSLogger, + private val rxBus: RxBusWrapper, + private val resourceHelper: ResourceHelper, + values: Array +) : MessageBase() { + + // index 0-3 + init { + SetCommand(0x3302) + for (i in 0..23) { + AddParamInt((values[i] * 100).toInt()) + } + aapsLogger.debug(LTag.PUMPCOMM, "New message") + } + + override fun handleMessage(bytes: ByteArray) { + val result = intFromBuff(bytes, 0, 1) + if (result != 1) { + failed = true + aapsLogger.debug(LTag.PUMPCOMM, "Set basal profile result: $result FAILED!!!") + val reportFail = Notification(Notification.PROFILE_SET_FAILED, resourceHelper.gs(R.string.profile_set_failed), Notification.URGENT) + rxBus.send(EventNewNotification(reportFail)) + } else { + failed = false + aapsLogger.debug(LTag.PUMPCOMM, "Set basal profile result: $result") + val reportOK = Notification(Notification.PROFILE_SET_OK, resourceHelper.gs(R.string.profile_set_ok), Notification.INFO, 60) + rxBus.send(EventNewNotification(reportOK)) + } + } +} \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetTempBasalStart.java b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetTempBasalStart.java deleted file mode 100644 index 1bd278f49c..0000000000 --- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetTempBasalStart.java +++ /dev/null @@ -1,45 +0,0 @@ -package info.nightscout.androidaps.plugins.pump.danaR.comm; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import info.nightscout.androidaps.logging.L; -import info.nightscout.androidaps.logging.StacktraceLoggerWrapper; - -public class MsgSetTempBasalStart extends MessageBase { - private static Logger log = StacktraceLoggerWrapper.getLogger(L.PUMPCOMM); - - public MsgSetTempBasalStart() { - SetCommand(0x0401); - } - - public MsgSetTempBasalStart(int percent, int durationInHours) { - this(); - - //HARDCODED LIMITS - if (percent < 0) percent = 0; - if (percent > 200) percent = 200; - if (durationInHours < 1) durationInHours = 1; - if (durationInHours > 24) durationInHours = 24; - - AddParamByte((byte) (percent & 255)); - AddParamByte((byte) (durationInHours & 255)); - - if (L.isEnabled(L.PUMPCOMM)) - log.debug("Temp basal start percent: " + percent + " duration hours: " + durationInHours); - } - - public void handleMessage(byte[] bytes) { - int result = intFromBuff(bytes, 0, 1); - if (result != 1) { - failed = true; - if (L.isEnabled(L.PUMPCOMM)) - log.debug("Set temp basal start result: " + result + " FAILED!!!"); - } else { - if (L.isEnabled(L.PUMPCOMM)) - log.debug("Set temp basal start result: " + result); - } - } - - -} diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetTempBasalStart.kt b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetTempBasalStart.kt new file mode 100644 index 0000000000..abdf6b9d1b --- /dev/null +++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetTempBasalStart.kt @@ -0,0 +1,35 @@ +package info.nightscout.androidaps.plugins.pump.danaR.comm + +import info.nightscout.androidaps.logging.AAPSLogger +import info.nightscout.androidaps.logging.LTag + +class MsgSetTempBasalStart( + private val aapsLogger: AAPSLogger, + private var percent: Int, + private var durationInHours: Int +) : MessageBase() { + + init { + SetCommand(0x0401) + + //HARDCODED LIMITS + if (percent < 0) percent = 0 + if (percent > 200) percent = 200 + if (durationInHours < 1) durationInHours = 1 + if (durationInHours > 24) durationInHours = 24 + AddParamByte((percent and 255).toByte()) + AddParamByte((durationInHours and 255).toByte()) + aapsLogger.debug(LTag.PUMPCOMM, "Temp basal start percent: $percent duration hours: $durationInHours") + } + + override fun handleMessage(bytes: ByteArray) { + val result = intFromBuff(bytes, 0, 1) + if (result != 1) { + failed = true + aapsLogger.debug(LTag.PUMPCOMM, "Set temp basal start result: $result FAILED!!!") + } else { + failed = false + aapsLogger.debug(LTag.PUMPCOMM, "Set temp basal start result: $result") + } + } +} \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetTempBasalStop.java b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetTempBasalStop.java deleted file mode 100644 index 236b22fb30..0000000000 --- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetTempBasalStop.java +++ /dev/null @@ -1,31 +0,0 @@ -package info.nightscout.androidaps.plugins.pump.danaR.comm; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import info.nightscout.androidaps.logging.L; -import info.nightscout.androidaps.logging.StacktraceLoggerWrapper; - -public class MsgSetTempBasalStop extends MessageBase { - private static Logger log = StacktraceLoggerWrapper.getLogger(L.PUMPCOMM); - - public MsgSetTempBasalStop() { - SetCommand(0x0403); - if (L.isEnabled(L.PUMPCOMM)) - log.debug("Temp basal stop"); - } - - public void handleMessage(byte[] bytes) { - int result = intFromBuff(bytes, 0, 1); - if (result != 1) { - failed = true; - if (L.isEnabled(L.PUMPCOMM)) - log.debug("Set temp basal stop result: " + result + " FAILED!!!"); - } else { - if (L.isEnabled(L.PUMPCOMM)) - log.debug("Set temp basal stop result: " + result); - } - } - - -} diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetTempBasalStop.kt b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetTempBasalStop.kt new file mode 100644 index 0000000000..b728b9e2ee --- /dev/null +++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetTempBasalStop.kt @@ -0,0 +1,29 @@ +package info.nightscout.androidaps.plugins.pump.danaR.comm + +import info.nightscout.androidaps.logging.AAPSLogger +import info.nightscout.androidaps.logging.L +import info.nightscout.androidaps.logging.L.isEnabled +import info.nightscout.androidaps.logging.LTag +import info.nightscout.androidaps.logging.StacktraceLoggerWrapper.Companion.getLogger +import org.slf4j.Logger + +class MsgSetTempBasalStop( + private val aapsLogger: AAPSLogger +) : MessageBase() { + + init { + SetCommand(0x0403) + aapsLogger.debug(LTag.PUMPBTCOMM, "Temp basal stop") + } + + override fun handleMessage(bytes: ByteArray) { + val result = intFromBuff(bytes, 0, 1) + if (result != 1) { + failed = true + aapsLogger.debug(LTag.PUMPBTCOMM, "Set temp basal stop result: $result FAILED!!!") + } else { + failed = false + aapsLogger.debug(LTag.PUMPBTCOMM, "Set temp basal stop result: $result") + } + } +} \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetTime.java b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetTime.java deleted file mode 100644 index 8642569ee6..0000000000 --- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetTime.java +++ /dev/null @@ -1,37 +0,0 @@ -package info.nightscout.androidaps.plugins.pump.danaR.comm; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.util.Date; - -import info.nightscout.androidaps.logging.L; -import info.nightscout.androidaps.logging.StacktraceLoggerWrapper; -import info.nightscout.androidaps.utils.DateUtil; - -/** - * Created by mike on 09.12.2016. - */ - -public class MsgSetTime extends MessageBase { - private static Logger log = StacktraceLoggerWrapper.getLogger(L.PUMPCOMM); - private static Date time; - - public MsgSetTime(Date time) { - SetCommand(0x330a); - this.time = time; - AddParamDateTime(time); - if (L.isEnabled(L.PUMPCOMM)) - log.debug("New message: time:" + DateUtil.dateAndTimeString(time)); - } - - public void handleMessage(byte[] bytes) { - int result = intFromBuff(bytes, 0, 1); - if (result != 1) { - failed = true; - } - - if (L.isEnabled(L.PUMPCOMM)) - log.debug("Result of setting time: " + time + " is " + result); - } -} diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetTime.kt b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetTime.kt new file mode 100644 index 0000000000..70971c431e --- /dev/null +++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MsgSetTime.kt @@ -0,0 +1,24 @@ +package info.nightscout.androidaps.plugins.pump.danaR.comm + +import info.nightscout.androidaps.logging.AAPSLogger +import info.nightscout.androidaps.logging.LTag +import info.nightscout.androidaps.utils.DateUtil +import java.util.* + +class MsgSetTime( + private val aapsLogger: AAPSLogger, + time: Date +) : MessageBase() { + + init { + SetCommand(0x330a) + AddParamDateTime(time) + aapsLogger.debug(LTag.PUMPCOMM, "New message: time:" + DateUtil.dateAndTimeString(time)) + } + + override fun handleMessage(bytes: ByteArray) { + val result = intFromBuff(bytes, 0, 1) + failed = result != 1 + aapsLogger.debug(LTag.PUMPCOMM, "Result of setting time: $result") + } +} \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/RecordTypes.java b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/RecordTypes.java deleted file mode 100644 index 36f3402cc7..0000000000 --- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/RecordTypes.java +++ /dev/null @@ -1,19 +0,0 @@ -package info.nightscout.androidaps.plugins.pump.danaR.comm; - -/** - * Created by mike on 28.05.2016. - */ -public class RecordTypes { - public static final byte RECORD_TYPE_BOLUS = (byte) 0x01; - public static final byte RECORD_TYPE_DAILY = (byte) 0x02; - public static final byte RECORD_TYPE_PRIME = (byte) 0x03; - public static final byte RECORD_TYPE_ERROR = (byte) 0x04; - public static final byte RECORD_TYPE_ALARM = (byte) 0x05; - public static final byte RECORD_TYPE_GLUCOSE = (byte) 0x06; - public static final byte RECORD_TYPE_CARBO = (byte) 0x08; - public static final byte RECORD_TYPE_REFILL = (byte) 0x09; - public static final byte RECORD_TYPE_SUSPEND = (byte) 0x0B; - public static final byte RECORD_TYPE_BASALHOUR = (byte) 0x0C; - public static final byte RECORD_TYPE_TB = (byte) 0x0D; - public static final byte RECORD_TYPE_TEMP_BASAL = (byte) 0x14; -} diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/RecordTypes.kt b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/RecordTypes.kt new file mode 100644 index 0000000000..74d594dc71 --- /dev/null +++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/comm/RecordTypes.kt @@ -0,0 +1,16 @@ +package info.nightscout.androidaps.plugins.pump.danaR.comm + +object RecordTypes { + const val RECORD_TYPE_BOLUS = 0x01.toByte() + const val RECORD_TYPE_DAILY = 0x02.toByte() + const val RECORD_TYPE_PRIME = 0x03.toByte() + const val RECORD_TYPE_ERROR = 0x04.toByte() + const val RECORD_TYPE_ALARM = 0x05.toByte() + const val RECORD_TYPE_GLUCOSE = 0x06.toByte() + const val RECORD_TYPE_CARBO = 0x08.toByte() + const val RECORD_TYPE_REFILL = 0x09.toByte() + const val RECORD_TYPE_SUSPEND = 0x0B.toByte() + const val RECORD_TYPE_BASALHOUR = 0x0C.toByte() + const val RECORD_TYPE_TB = 0x0D.toByte() + const val RECORD_TYPE_TEMP_BASAL = 0x14.toByte() +} \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/services/AbstractDanaRExecutionService.java b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/services/AbstractDanaRExecutionService.java index f8383bc2f6..a4f66ffb8a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/services/AbstractDanaRExecutionService.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/services/AbstractDanaRExecutionService.java @@ -1,6 +1,5 @@ package info.nightscout.androidaps.plugins.pump.danaR.services; -import android.app.Service; import android.bluetooth.BluetoothAdapter; import android.bluetooth.BluetoothDevice; import android.bluetooth.BluetoothSocket; @@ -10,9 +9,6 @@ import android.content.Intent; import android.os.IBinder; import android.os.SystemClock; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - import java.io.IOException; import java.util.Set; import java.util.UUID; @@ -21,16 +17,14 @@ import javax.inject.Inject; import dagger.android.DaggerService; import dagger.android.HasAndroidInjector; -import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.Profile; import info.nightscout.androidaps.data.PumpEnactResult; import info.nightscout.androidaps.events.EventPumpStatusChanged; import info.nightscout.androidaps.logging.AAPSLogger; -import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.logging.LTag; -import info.nightscout.androidaps.logging.StacktraceLoggerWrapper; -import info.nightscout.androidaps.plugins.bus.RxBus; +import info.nightscout.androidaps.plugins.bus.RxBusWrapper; +import info.nightscout.androidaps.plugins.pump.danaR.DanaRPump; import info.nightscout.androidaps.plugins.pump.danaR.comm.MessageBase; import info.nightscout.androidaps.plugins.pump.danaR.comm.MsgBolusStop; import info.nightscout.androidaps.plugins.pump.danaR.comm.MsgHistoryAlarm; @@ -38,7 +32,6 @@ import info.nightscout.androidaps.plugins.pump.danaR.comm.MsgHistoryBasalHour; import info.nightscout.androidaps.plugins.pump.danaR.comm.MsgHistoryBolus; import info.nightscout.androidaps.plugins.pump.danaR.comm.MsgHistoryCarbo; import info.nightscout.androidaps.plugins.pump.danaR.comm.MsgHistoryDailyInsulin; -import info.nightscout.androidaps.plugins.pump.danaR.comm.MsgHistoryDone; import info.nightscout.androidaps.plugins.pump.danaR.comm.MsgHistoryError; import info.nightscout.androidaps.plugins.pump.danaR.comm.MsgHistoryGlucose; import info.nightscout.androidaps.plugins.pump.danaR.comm.MsgHistoryRefill; @@ -48,8 +41,9 @@ import info.nightscout.androidaps.plugins.pump.danaR.comm.MsgPCCommStop; import info.nightscout.androidaps.plugins.pump.danaR.comm.RecordTypes; import info.nightscout.androidaps.plugins.treatments.Treatment; import info.nightscout.androidaps.utils.DateUtil; -import info.nightscout.androidaps.utils.SP; import info.nightscout.androidaps.utils.ToastUtils; +import info.nightscout.androidaps.utils.resources.ResourceHelper; +import info.nightscout.androidaps.utils.sharedPreferences.SP; /** * Created by mike on 28.01.2018. @@ -58,6 +52,11 @@ import info.nightscout.androidaps.utils.ToastUtils; public abstract class AbstractDanaRExecutionService extends DaggerService { @Inject HasAndroidInjector injector; @Inject AAPSLogger aapsLogger; + @Inject RxBusWrapper rxBus; + @Inject SP sp; + @Inject Context context; + @Inject ResourceHelper resourceHelper; + @Inject DanaRPump danaRPump; protected String mDevName; @@ -88,7 +87,7 @@ public abstract class AbstractDanaRExecutionService extends DaggerService { public abstract boolean bolus(double amount, int carbs, long carbtime, final Treatment t); - public abstract boolean highTempBasal(int percent); // Rv2 only + public abstract boolean highTempBasal(int percent, int durationInMinutes); // Rv2 only public abstract boolean tempBasalShortDuration(int percent, int durationInMinutes); // Rv2 only @@ -113,7 +112,7 @@ public abstract class AbstractDanaRExecutionService extends DaggerService { if (mSerialIOThread != null) { mSerialIOThread.disconnect("BT disconnection broadcast"); } - RxBus.Companion.getINSTANCE().send(new EventPumpStatusChanged(EventPumpStatusChanged.Status.DISCONNECTED)); + rxBus.send(new EventPumpStatusChanged(EventPumpStatusChanged.Status.DISCONNECTED)); } } } @@ -143,7 +142,7 @@ public abstract class AbstractDanaRExecutionService extends DaggerService { public void finishHandshaking() { mHandshakeInProgress = false; - RxBus.Companion.getINSTANCE().send(new EventPumpStatusChanged(EventPumpStatusChanged.Status.CONNECTED, 0)); + rxBus.send(new EventPumpStatusChanged(EventPumpStatusChanged.Status.CONNECTED, 0)); } public void disconnect(String from) { @@ -157,7 +156,7 @@ public abstract class AbstractDanaRExecutionService extends DaggerService { } protected void getBTSocketForSelectedPump() { - mDevName = SP.getString(MainApp.gs(R.string.key_danar_bt_name), ""); + mDevName = sp.getString(resourceHelper.gs(R.string.key_danar_bt_name), ""); BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); if (bluetoothAdapter != null) { @@ -175,25 +174,25 @@ public abstract class AbstractDanaRExecutionService extends DaggerService { } } } else { - ToastUtils.showToastInUiThread(MainApp.instance().getApplicationContext(), MainApp.gs(R.string.nobtadapter)); + ToastUtils.showToastInUiThread(context.getApplicationContext(), resourceHelper.gs(R.string.nobtadapter)); } if (mBTDevice == null) { - ToastUtils.showToastInUiThread(MainApp.instance().getApplicationContext(), MainApp.gs(R.string.devicenotfound)); + ToastUtils.showToastInUiThread(context.getApplicationContext(), resourceHelper.gs(R.string.devicenotfound)); } } public void bolusStop() { aapsLogger.debug(LTag.PUMP, "bolusStop >>>>> @ " + (mBolusingTreatment == null ? "" : mBolusingTreatment.insulin)); - MsgBolusStop stop = new MsgBolusStop(); - stop.forced = true; + MsgBolusStop stop = new MsgBolusStop(aapsLogger, rxBus, resourceHelper, danaRPump); + danaRPump.setBolusStopForced(true); if (isConnected()) { mSerialIOThread.sendMessage(stop); - while (!stop.stopped) { + while (!danaRPump.getBolusStopped()) { mSerialIOThread.sendMessage(stop); SystemClock.sleep(200); } } else { - stop.stopped = true; + danaRPump.setBolusStopped(true); } } @@ -203,42 +202,42 @@ public abstract class AbstractDanaRExecutionService extends DaggerService { MessageBase msg = null; switch (type) { case RecordTypes.RECORD_TYPE_ALARM: - msg = new MsgHistoryAlarm(); + msg = new MsgHistoryAlarm(aapsLogger, rxBus); break; case RecordTypes.RECORD_TYPE_BASALHOUR: - msg = new MsgHistoryBasalHour(); + msg = new MsgHistoryBasalHour(aapsLogger, rxBus); break; case RecordTypes.RECORD_TYPE_BOLUS: - msg = new MsgHistoryBolus(); + msg = new MsgHistoryBolus(aapsLogger, rxBus); break; case RecordTypes.RECORD_TYPE_CARBO: - msg = new MsgHistoryCarbo(); + msg = new MsgHistoryCarbo(aapsLogger, rxBus); break; case RecordTypes.RECORD_TYPE_DAILY: - msg = new MsgHistoryDailyInsulin(); + msg = new MsgHistoryDailyInsulin(aapsLogger, rxBus); break; case RecordTypes.RECORD_TYPE_ERROR: - msg = new MsgHistoryError(); + msg = new MsgHistoryError(aapsLogger, rxBus); break; case RecordTypes.RECORD_TYPE_GLUCOSE: - msg = new MsgHistoryGlucose(); + msg = new MsgHistoryGlucose(aapsLogger, rxBus); break; case RecordTypes.RECORD_TYPE_REFILL: - msg = new MsgHistoryRefill(); + msg = new MsgHistoryRefill(aapsLogger, rxBus); break; case RecordTypes.RECORD_TYPE_SUSPEND: - msg = new MsgHistorySuspend(); + msg = new MsgHistorySuspend(aapsLogger, rxBus); break; } - MsgHistoryDone done = new MsgHistoryDone(); - mSerialIOThread.sendMessage(new MsgPCCommStart()); + danaRPump.setHistoryDoneReceived(false); + mSerialIOThread.sendMessage(new MsgPCCommStart(aapsLogger)); SystemClock.sleep(400); mSerialIOThread.sendMessage(msg); - while (!done.received && mRfcommSocket.isConnected()) { + while (!danaRPump.getHistoryDoneReceived() && mRfcommSocket.isConnected()) { SystemClock.sleep(100); } SystemClock.sleep(200); - mSerialIOThread.sendMessage(new MsgPCCommStop()); + mSerialIOThread.sendMessage(new MsgPCCommStop(aapsLogger)); result.success = true; result.comment = "OK"; return result; @@ -250,7 +249,7 @@ public abstract class AbstractDanaRExecutionService extends DaggerService { long timeToWholeMinute = (60000 - time % 60000); if (timeToWholeMinute > 59800 || timeToWholeMinute < 3000) break; - RxBus.Companion.getINSTANCE().send(new EventPumpStatusChanged(MainApp.gs(R.string.waitingfortimesynchronization, (int) (timeToWholeMinute / 1000)))); + rxBus.send(new EventPumpStatusChanged(resourceHelper.gs(R.string.waitingfortimesynchronization, (int) (timeToWholeMinute / 1000)))); SystemClock.sleep(Math.min(timeToWholeMinute, 100)); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/services/DanaRExecutionService.java b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/services/DanaRExecutionService.java index 39a4c60eab..b71ed5abea 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/services/DanaRExecutionService.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaR/services/DanaRExecutionService.java @@ -38,10 +38,8 @@ import info.nightscout.androidaps.plugins.pump.danaR.DanaRPump; import info.nightscout.androidaps.plugins.pump.danaR.SerialIOThread; import info.nightscout.androidaps.plugins.pump.danaR.comm.MessageBase; import info.nightscout.androidaps.plugins.pump.danaR.comm.MessageHashTableR; -import info.nightscout.androidaps.plugins.pump.danaR.comm.MsgBolusProgress; import info.nightscout.androidaps.plugins.pump.danaR.comm.MsgBolusStart; import info.nightscout.androidaps.plugins.pump.danaR.comm.MsgBolusStartWithSpeed; -import info.nightscout.androidaps.plugins.pump.danaR.comm.MsgBolusStop; import info.nightscout.androidaps.plugins.pump.danaR.comm.MsgCheckValue; import info.nightscout.androidaps.plugins.pump.danaR.comm.MsgSetActivateBasalProfile; import info.nightscout.androidaps.plugins.pump.danaR.comm.MsgSetBasalProfile; @@ -236,7 +234,7 @@ public class DanaRExecutionService extends AbstractDanaRExecutionService { long timeDiff = (danaRPump.getPumpTime() - System.currentTimeMillis()) / 1000L; aapsLogger.debug(LTag.PUMP, "Pump time difference: " + timeDiff + " seconds"); if (Math.abs(timeDiff) > 10) { - mSerialIOThread.sendMessage(new MsgSetTime(new Date())); + mSerialIOThread.sendMessage(new MsgSetTime(aapsLogger, new Date())); mSerialIOThread.sendMessage(new MsgSettingPumpTime(aapsLogger, danaRPump)); timeDiff = (danaRPump.getPumpTime() - System.currentTimeMillis()) / 1000L; aapsLogger.debug(LTag.PUMP, "Pump time difference: " + timeDiff + " seconds"); @@ -265,11 +263,11 @@ public class DanaRExecutionService extends AbstractDanaRExecutionService { if (!isConnected()) return false; if (danaRPump.isTempBasalInProgress()) { rxBus.send(new EventPumpStatusChanged(resourceHelper.gs(R.string.stoppingtempbasal))); - mSerialIOThread.sendMessage(new MsgSetTempBasalStop()); + mSerialIOThread.sendMessage(new MsgSetTempBasalStop(aapsLogger)); SystemClock.sleep(500); } rxBus.send(new EventPumpStatusChanged(resourceHelper.gs(R.string.settingtempbasal))); - mSerialIOThread.sendMessage(new MsgSetTempBasalStart(percent, durationInHours)); + mSerialIOThread.sendMessage(new MsgSetTempBasalStart(aapsLogger, percent, durationInHours)); mSerialIOThread.sendMessage(new MsgStatusTempBasal(aapsLogger, danaRPump, activePlugin)); rxBus.send(new EventPumpStatusChanged(EventPumpStatusChanged.Status.DISCONNECTING)); return true; @@ -278,7 +276,7 @@ public class DanaRExecutionService extends AbstractDanaRExecutionService { public boolean tempBasalStop() { if (!isConnected()) return false; rxBus.send(new EventPumpStatusChanged(resourceHelper.gs(R.string.stoppingtempbasal))); - mSerialIOThread.sendMessage(new MsgSetTempBasalStop()); + mSerialIOThread.sendMessage(new MsgSetTempBasalStop(aapsLogger)); mSerialIOThread.sendMessage(new MsgStatusTempBasal(aapsLogger, danaRPump, activePlugin)); rxBus.send(new EventPumpStatusChanged(EventPumpStatusChanged.Status.DISCONNECTING)); return true; @@ -296,7 +294,7 @@ public class DanaRExecutionService extends AbstractDanaRExecutionService { public boolean extendedBolusStop() { if (!isConnected()) return false; rxBus.send(new EventPumpStatusChanged(resourceHelper.gs(R.string.stoppingextendedbolus))); - mSerialIOThread.sendMessage(new MsgSetExtendedBolusStop()); + mSerialIOThread.sendMessage(new MsgSetExtendedBolusStop(aapsLogger)); mSerialIOThread.sendMessage(new MsgStatusBolusExtended(aapsLogger, danaRPump, activePlugin)); rxBus.send(new EventPumpStatusChanged(EventPumpStatusChanged.Status.DISCONNECTING)); return true; @@ -318,27 +316,29 @@ public class DanaRExecutionService extends AbstractDanaRExecutionService { start = new MsgBolusStart(aapsLogger, constraintChecker, danaRPump, amount); else start = new MsgBolusStartWithSpeed(aapsLogger, constraintChecker, danaRPump, amount, preferencesSpeed); - MsgBolusStop stop = new MsgBolusStop(amount, t); + danaRPump.setBolusStopped(false); + danaRPump.setBolusStopForced(false); if (carbs > 0) { - mSerialIOThread.sendMessage(new MsgSetCarbsEntry(carbtime, carbs)); + mSerialIOThread.sendMessage(new MsgSetCarbsEntry(aapsLogger, carbtime, carbs)); } if (amount > 0) { - MsgBolusProgress progress = new MsgBolusProgress(amount, t); // initialize static variables + danaRPump.setBolusingTreatment(t); + danaRPump.setBolusAmountToBeDelivered(amount); long bolusStart = System.currentTimeMillis(); - if (!stop.stopped) { + if (!danaRPump.getBolusStopped()) { mSerialIOThread.sendMessage(start); } else { t.insulin = 0d; return false; } - while (!stop.stopped && !start.failed) { + while (!danaRPump.getBolusStopped() && !start.failed) { SystemClock.sleep(100); - if ((System.currentTimeMillis() - progress.lastReceive) > 15 * 1000L) { // if i didn't receive status for more than 15 sec expecting broken comm - stop.stopped = true; - stop.forced = true; + if ((System.currentTimeMillis() - danaRPump.getBolusProgressLastTimeStamp()) > 15 * 1000L) { // if i didn't receive status for more than 15 sec expecting broken comm + danaRPump.setBolusStopped(true); + danaRPump.setBolusStopForced(true); aapsLogger.debug(LTag.PUMP, "Communication stopped"); } } @@ -406,13 +406,13 @@ public class DanaRExecutionService extends AbstractDanaRExecutionService { public boolean carbsEntry(int amount) { if (!isConnected()) return false; - MsgSetCarbsEntry msg = new MsgSetCarbsEntry(System.currentTimeMillis(), amount); + MsgSetCarbsEntry msg = new MsgSetCarbsEntry(aapsLogger, System.currentTimeMillis(), amount); mSerialIOThread.sendMessage(msg); return true; } @Override - public boolean highTempBasal(int percent) { + public boolean highTempBasal(int percent, int durationInMinutes) { return false; } @@ -425,9 +425,9 @@ public class DanaRExecutionService extends AbstractDanaRExecutionService { if (!isConnected()) return false; rxBus.send(new EventPumpStatusChanged(resourceHelper.gs(R.string.updatingbasalrates))); Double[] basal = danaRPump.buildDanaRProfileRecord(profile); - MsgSetBasalProfile msgSet = new MsgSetBasalProfile((byte) 0, basal); + MsgSetBasalProfile msgSet = new MsgSetBasalProfile(aapsLogger, rxBus, resourceHelper, (byte) 0, basal); mSerialIOThread.sendMessage(msgSet); - MsgSetActivateBasalProfile msgActivate = new MsgSetActivateBasalProfile((byte) 0); + MsgSetActivateBasalProfile msgActivate = new MsgSetActivateBasalProfile(aapsLogger, (byte) 0); mSerialIOThread.sendMessage(msgActivate); danaRPump.setLastSettingsRead(0); // force read full settings getPumpStatus(); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRKorean/comm/MessageHashTableRKorean.kt b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRKorean/comm/MessageHashTableRKorean.kt index 3face0c2df..07491b0721 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRKorean/comm/MessageHashTableRKorean.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRKorean/comm/MessageHashTableRKorean.kt @@ -32,9 +32,9 @@ class MessageHashTableRKorean @Inject constructor( var messages: HashMap = HashMap() init { - put(MsgBolusStop()) // 0x0101 CMD_MEALINS_STOP + put(MsgBolusStop(aapsLogger, rxBus, resourceHelper, danaRPump)) // 0x0101 CMD_MEALINS_STOP put(MsgBolusStart(aapsLogger, constraintChecker, danaRPump, 0.0)) // 0x0102 CMD_MEALINS_START_DATA - put(MsgBolusProgress()) // 0x0202 CMD_PUMP_THIS_REMAINDER_MEAL_INS + put(MsgBolusProgress(aapsLogger, resourceHelper, rxBus, danaRPump)) // 0x0202 CMD_PUMP_THIS_REMAINDER_MEAL_INS put(MsgStatusProfile(aapsLogger, danaRPump)) // 0x0204 CMD_PUMP_CALCULATION_SETTING put(MsgStatusTempBasal(aapsLogger, danaRPump, activePlugin)) // 0x0205 CMD_PUMP_EXERCISE_MODE put(MsgStatusBolusExtended(aapsLogger, danaRPump, activePlugin)) // 0x0207 CMD_PUMP_EXPANS_INS_I @@ -43,19 +43,19 @@ class MessageHashTableRKorean @Inject constructor( put(MsgInitConnStatusTime_k(aapsLogger, rxBus, resourceHelper, danaRPump, danaRPlugin, danaRKoreanPlugin, configBuilderPlugin, commandQueue)) // 0x0301 CMD_PUMPINIT_TIME_INFO put(MsgInitConnStatusBolus_k(aapsLogger, rxBus, resourceHelper, danaRPump, activePlugin)) // 0x0302 CMD_PUMPINIT_BOLUS_INFO put(MsgInitConnStatusBasic_k(aapsLogger, rxBus, resourceHelper, danaRPump)) // 0x0303 CMD_PUMPINIT_INIT_INFO - put(MsgSetTempBasalStart()) // 0x0401 CMD_PUMPSET_EXERCISE_S - put(MsgSetCarbsEntry()) // 0x0402 CMD_PUMPSET_HIS_S - put(MsgSetTempBasalStop()) // 0x0403 CMD_PUMPSET_EXERCISE_STOP - put(MsgSetExtendedBolusStop()) // 0x0406 CMD_PUMPSET_EXPANS_INS_STOP + put(MsgSetTempBasalStart(aapsLogger, 0, 0)) // 0x0401 CMD_PUMPSET_EXERCISE_S + put(MsgSetCarbsEntry(aapsLogger, 0, 0)) // 0x0402 CMD_PUMPSET_HIS_S + put(MsgSetTempBasalStop(aapsLogger)) // 0x0403 CMD_PUMPSET_EXERCISE_STOP + put(MsgSetExtendedBolusStop(aapsLogger)) // 0x0406 CMD_PUMPSET_EXPANS_INS_STOP put(MsgSetExtendedBolusStart(aapsLogger, constraintChecker, 0.0, 0)) // 0x0407 CMD_PUMPSET_EXPANS_INS_S - put(MsgError()) // 0x0601 CMD_PUMPOWAY_SYSTEM_STATUS - put(MsgPCCommStart()) // 0x3001 CMD_CONNECT - put(MsgPCCommStop()) // 0x3002 CMD_DISCONNECT - put(MsgHistoryBolus()) // 0x3101 CMD_HISTORY_MEAL_INS - put(MsgHistoryDailyInsulin()) // 0x3102 CMD_HISTORY_DAY_INS - put(MsgHistoryGlucose()) // 0x3104 CMD_HISTORY_GLUCOSE - put(MsgHistoryAlarm()) // 0x3105 CMD_HISTORY_ALARM - put(MsgHistoryCarbo()) // 0x3107 CMD_HISTORY_CARBOHY + put(MsgError(aapsLogger, rxBus, resourceHelper, danaRPump)) // 0x0601 CMD_PUMPOWAY_SYSTEM_STATUS + put(MsgPCCommStart(aapsLogger)) // 0x3001 CMD_CONNECT + put(MsgPCCommStop(aapsLogger)) // 0x3002 CMD_DISCONNECT + put(MsgHistoryBolus(aapsLogger, rxBus)) // 0x3101 CMD_HISTORY_MEAL_INS + put(MsgHistoryDailyInsulin(aapsLogger, rxBus)) // 0x3102 CMD_HISTORY_DAY_INS + put(MsgHistoryGlucose(aapsLogger, rxBus)) // 0x3104 CMD_HISTORY_GLUCOSE + put(MsgHistoryAlarm(aapsLogger, rxBus)) // 0x3105 CMD_HISTORY_ALARM + put(MsgHistoryCarbo(aapsLogger, rxBus)) // 0x3107 CMD_HISTORY_CARBOHY put(MsgSettingBasal_k(aapsLogger, danaRPump, danaRKoreanPlugin)) // 0x3202 CMD_SETTING_V_BASAL_INS_I put(MsgSettingMeal(aapsLogger, rxBus, resourceHelper, danaRPump, danaRKoreanPlugin)) // 0x3203 CMD_SETTING_V_MEAL_SETTING_I put(MsgSettingProfileRatios(aapsLogger, danaRPump)) // 0x3204 CMD_SETTING_V_CCC_I @@ -64,10 +64,10 @@ class MessageHashTableRKorean @Inject constructor( put(MsgSettingShippingInfo(aapsLogger, danaRPump)) // 0x3207 CMD_SETTING_V_SHIPPING_I put(MsgSettingGlucose(aapsLogger, danaRPump)) // 0x3209 CMD_SETTING_V_GLUCOSEandEASY put(MsgSettingPumpTime(aapsLogger, danaRPump)) // 0x320A CMD_SETTING_V_TIME_I - put(MsgSetSingleBasalProfile()) // 0x3302 CMD_SETTING_BASAL_INS_S - put(MsgHistoryAll()) // 0x41F2 CMD_HISTORY_ALL - put(MsgHistoryNewDone()) // 0x42F1 CMD_HISTORY_NEW_DONE - put(MsgHistoryNew()) // 0x42F2 CMD_HISTORY_NEW + put(MsgSetSingleBasalProfile(aapsLogger, rxBus, resourceHelper, Array(24) { 0.0 })) // 0x3302 CMD_SETTING_BASAL_INS_S + put(MsgHistoryAll(aapsLogger, rxBus)) // 0x41F2 CMD_HISTORY_ALL + put(MsgHistoryNewDone(aapsLogger, danaRPump)) // 0x42F1 CMD_HISTORY_NEW_DONE + put(MsgHistoryNew(aapsLogger, rxBus)) // 0x42F2 CMD_HISTORY_NEW put(MsgCheckValue_k(aapsLogger, danaRPump, danaRKoreanPlugin)) // 0xF0F1 CMD_PUMP_CHECK_VALUE } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRKorean/services/DanaRKoreanExecutionService.java b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRKorean/services/DanaRKoreanExecutionService.java index 8ad3d27393..f695448820 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRKorean/services/DanaRKoreanExecutionService.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRKorean/services/DanaRKoreanExecutionService.java @@ -35,9 +35,7 @@ import info.nightscout.androidaps.plugins.general.overview.notifications.Notific import info.nightscout.androidaps.plugins.pump.danaR.DanaRPlugin; import info.nightscout.androidaps.plugins.pump.danaR.DanaRPump; import info.nightscout.androidaps.plugins.pump.danaR.SerialIOThread; -import info.nightscout.androidaps.plugins.pump.danaR.comm.MsgBolusProgress; import info.nightscout.androidaps.plugins.pump.danaR.comm.MsgBolusStart; -import info.nightscout.androidaps.plugins.pump.danaR.comm.MsgBolusStop; import info.nightscout.androidaps.plugins.pump.danaR.comm.MsgSetCarbsEntry; import info.nightscout.androidaps.plugins.pump.danaR.comm.MsgSetExtendedBolusStart; import info.nightscout.androidaps.plugins.pump.danaR.comm.MsgSetExtendedBolusStop; @@ -225,7 +223,7 @@ public class DanaRKoreanExecutionService extends AbstractDanaRExecutionService { if (Math.abs(timeDiff) > 10) { waitForWholeMinute(); // Dana can set only whole minute // add 10sec to be sure we are over minute (will be cutted off anyway) - mSerialIOThread.sendMessage(new MsgSetTime(new Date(DateUtil.now() + T.secs(10).msecs()))); + mSerialIOThread.sendMessage(new MsgSetTime(aapsLogger, new Date(DateUtil.now() + T.secs(10).msecs()))); mSerialIOThread.sendMessage(new MsgSettingPumpTime(aapsLogger, danaRPump)); timeDiff = (danaRPump.getPumpTime() - System.currentTimeMillis()) / 1000L; aapsLogger.debug(LTag.PUMP, "Pump time difference: " + timeDiff + " seconds"); @@ -254,11 +252,11 @@ public class DanaRKoreanExecutionService extends AbstractDanaRExecutionService { if (!isConnected()) return false; if (danaRPump.isTempBasalInProgress()) { rxBus.send(new EventPumpStatusChanged(resourceHelper.gs(R.string.stoppingtempbasal))); - mSerialIOThread.sendMessage(new MsgSetTempBasalStop()); + mSerialIOThread.sendMessage(new MsgSetTempBasalStop(aapsLogger)); SystemClock.sleep(500); } rxBus.send(new EventPumpStatusChanged(resourceHelper.gs(R.string.settingtempbasal))); - mSerialIOThread.sendMessage(new MsgSetTempBasalStart(percent, durationInHours)); + mSerialIOThread.sendMessage(new MsgSetTempBasalStart(aapsLogger, percent, durationInHours)); mSerialIOThread.sendMessage(new MsgStatusTempBasal(aapsLogger, danaRPump, activePlugin)); rxBus.send(new EventPumpStatusChanged(EventPumpStatusChanged.Status.DISCONNECTING)); return true; @@ -267,7 +265,7 @@ public class DanaRKoreanExecutionService extends AbstractDanaRExecutionService { public boolean tempBasalStop() { if (!isConnected()) return false; rxBus.send(new EventPumpStatusChanged(resourceHelper.gs(R.string.stoppingtempbasal))); - mSerialIOThread.sendMessage(new MsgSetTempBasalStop()); + mSerialIOThread.sendMessage(new MsgSetTempBasalStop(aapsLogger)); mSerialIOThread.sendMessage(new MsgStatusTempBasal(aapsLogger, danaRPump, activePlugin)); rxBus.send(new EventPumpStatusChanged(EventPumpStatusChanged.Status.DISCONNECTING)); return true; @@ -285,7 +283,7 @@ public class DanaRKoreanExecutionService extends AbstractDanaRExecutionService { public boolean extendedBolusStop() { if (!isConnected()) return false; rxBus.send(new EventPumpStatusChanged(resourceHelper.gs(R.string.stoppingextendedbolus))); - mSerialIOThread.sendMessage(new MsgSetExtendedBolusStop()); + mSerialIOThread.sendMessage(new MsgSetExtendedBolusStop(aapsLogger)); mSerialIOThread.sendMessage(new MsgStatusBolusExtended(aapsLogger, danaRPump, activePlugin)); rxBus.send(new EventPumpStatusChanged(EventPumpStatusChanged.Status.DISCONNECTING)); return true; @@ -302,26 +300,28 @@ public class DanaRKoreanExecutionService extends AbstractDanaRExecutionService { mBolusingTreatment = t; MsgBolusStart start = new MsgBolusStart(aapsLogger, constraintChecker, danaRPump, amount); - MsgBolusStop stop = new MsgBolusStop(amount, t); + danaRPump.setBolusStopped(false); + danaRPump.setBolusStopForced(false); if (carbs > 0) { - mSerialIOThread.sendMessage(new MsgSetCarbsEntry(carbtime, carbs)); + mSerialIOThread.sendMessage(new MsgSetCarbsEntry(aapsLogger, carbtime, carbs)); } if (amount > 0) { - MsgBolusProgress progress = new MsgBolusProgress(amount, t); // initialize static variables + danaRPump.setBolusingTreatment(t); + danaRPump.setBolusAmountToBeDelivered(amount); - if (!stop.stopped) { + if (!danaRPump.getBolusStopped()) { mSerialIOThread.sendMessage(start); } else { t.insulin = 0d; return false; } - while (!stop.stopped && !start.failed) { + while (!danaRPump.getBolusStopped() && !start.failed) { SystemClock.sleep(100); - if ((System.currentTimeMillis() - progress.lastReceive) > 15 * 1000L) { // if i didn't receive status for more than 15 sec expecting broken comm - stop.stopped = true; - stop.forced = true; + if ((System.currentTimeMillis() - danaRPump.getBolusProgressLastTimeStamp()) > 15 * 1000L) { // if i didn't receive status for more than 15 sec expecting broken comm + danaRPump.setBolusStopped(true); + danaRPump.setBolusStopForced(true); aapsLogger.debug(LTag.PUMP, "Communication stopped"); } } @@ -336,13 +336,13 @@ public class DanaRKoreanExecutionService extends AbstractDanaRExecutionService { public boolean carbsEntry(int amount) { if (!isConnected()) return false; - MsgSetCarbsEntry msg = new MsgSetCarbsEntry(System.currentTimeMillis(), amount); + MsgSetCarbsEntry msg = new MsgSetCarbsEntry(aapsLogger, System.currentTimeMillis(), amount); mSerialIOThread.sendMessage(msg); return true; } @Override - public boolean highTempBasal(int percent) { + public boolean highTempBasal(int percent, int durationInMinutes) { return false; } @@ -355,7 +355,7 @@ public class DanaRKoreanExecutionService extends AbstractDanaRExecutionService { if (!isConnected()) return false; rxBus.send(new EventPumpStatusChanged(resourceHelper.gs(R.string.updatingbasalrates))); Double[] basal = danaRPump.buildDanaRProfileRecord(profile); - MsgSetSingleBasalProfile msgSet = new MsgSetSingleBasalProfile(basal); + MsgSetSingleBasalProfile msgSet = new MsgSetSingleBasalProfile(aapsLogger, rxBus, resourceHelper, basal); mSerialIOThread.sendMessage(msgSet); danaRPump.setLastSettingsRead(0); // force read full settings getPumpStatus(); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRv2/DanaRv2Plugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRv2/DanaRv2Plugin.java index e45d4ecd97..e783d13d78 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRv2/DanaRv2Plugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRv2/DanaRv2Plugin.java @@ -275,7 +275,7 @@ public class DanaRv2Plugin extends AbstractDanaRPlugin { result = setTempBasalPercent(percentRate, durationInMinutes, profile, enforceNew); } else { // use special APS temp basal call ... 100+/15min .... 100-/30min - result = setHighTempBasalPercent(percentRate); + result = setHighTempBasalPercent(percentRate, durationInMinutes); } if (!result.success) { aapsLogger.error("setTempBasalAbsolute: Failed to set hightemp basal"); @@ -344,10 +344,10 @@ public class DanaRv2Plugin extends AbstractDanaRPlugin { return result; } - private PumpEnactResult setHighTempBasalPercent(Integer percent) { + private PumpEnactResult setHighTempBasalPercent(Integer percent, int durationInMinutes) { DanaRPump pump = danaRPump; PumpEnactResult result = new PumpEnactResult(getInjector()); - boolean connectionOK = sExecutionService.highTempBasal(percent); + boolean connectionOK = sExecutionService.highTempBasal(percent, durationInMinutes); if (connectionOK && pump.isTempBasalInProgress() && pump.getTempBasalPercent() == percent) { result.enacted = true; result.success = true; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRv2/comm/MessageHashTableRv2.kt b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRv2/comm/MessageHashTableRv2.kt index c1dcb496b3..b131aa55fd 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRv2/comm/MessageHashTableRv2.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRv2/comm/MessageHashTableRv2.kt @@ -38,10 +38,10 @@ class MessageHashTableRv2 @Inject constructor( var messages: HashMap = HashMap() init { - put(MsgBolusStop()) // 0x0101 CMD_MEALINS_STOP + put(MsgBolusStop(aapsLogger, rxBus, resourceHelper, danaRPump)) // 0x0101 CMD_MEALINS_STOP put(MsgBolusStart(aapsLogger, constraintChecker, danaRPump, 0.0)) // 0x0102 CMD_MEALINS_START_DATA put(MsgBolusStartWithSpeed(aapsLogger, constraintChecker, danaRPump, 0.0, 0)) // 0x0104 CMD_MEALINS_START_DATA_SPEED - put(MsgBolusProgress()) // 0x0202 CMD_PUMP_THIS_REMAINDER_MEAL_INS + put(MsgBolusProgress(aapsLogger, resourceHelper, rxBus, danaRPump)) // 0x0202 CMD_PUMP_THIS_REMAINDER_MEAL_INS put(MsgStatusProfile(aapsLogger, danaRPump)) // 0x0204 CMD_PUMP_CALCULATION_SETTING put(MsgStatusTempBasal_v2(aapsLogger, danaRPump)) // 0x0205 CMD_PUMP_EXERCISE_MODE put(MsgStatusBolusExtended_v2(aapsLogger, danaRPump)) // 0x0207 CMD_PUMP_EXPANS_INS_I @@ -51,24 +51,24 @@ class MessageHashTableRv2 @Inject constructor( put(MsgInitConnStatusBolus(aapsLogger, rxBus, resourceHelper, danaRPump)) // 0x0302 CMD_PUMPINIT_BOLUS_INFO put(MsgInitConnStatusBasic(aapsLogger, danaRPump)) // 0x0303 CMD_PUMPINIT_INIT_INFO put(MsgInitConnStatusOption(aapsLogger, rxBus, resourceHelper, danaRPump, activePlugin)) // 0x0304 CMD_PUMPINIT_OPTION - put(MsgSetTempBasalStart()) // 0x0401 CMD_PUMPSET_EXERCISE_S - put(MsgSetCarbsEntry()) // 0x0402 CMD_PUMPSET_HIS_S - put(MsgSetTempBasalStop()) // 0x0403 CMD_PUMPSET_EXERCISE_STOP - put(MsgSetExtendedBolusStop()) // 0x0406 CMD_PUMPSET_EXPANS_INS_STOP + put(MsgSetTempBasalStart(aapsLogger, 0, 0)) // 0x0401 CMD_PUMPSET_EXERCISE_S + put(MsgSetCarbsEntry(aapsLogger, 0, 0)) // 0x0402 CMD_PUMPSET_HIS_S + put(MsgSetTempBasalStop(aapsLogger)) // 0x0403 CMD_PUMPSET_EXERCISE_STOP + put(MsgSetExtendedBolusStop(aapsLogger)) // 0x0406 CMD_PUMPSET_EXPANS_INS_STOP put(MsgSetExtendedBolusStart(aapsLogger, constraintChecker, 0.0, 0)) // 0x0407 CMD_PUMPSET_EXPANS_INS_S - put(MsgError()) // 0x0601 CMD_PUMPOWAY_SYSTEM_STATUS - put(MsgPCCommStart()) // 0x3001 CMD_CONNECT - put(MsgPCCommStop()) // 0x3002 CMD_DISCONNECT - put(MsgHistoryBolus()) // 0x3101 CMD_HISTORY_MEAL_INS - put(MsgHistoryDailyInsulin()) // 0x3102 CMD_HISTORY_DAY_INS - put(MsgHistoryGlucose()) // 0x3104 CMD_HISTORY_GLUCOSE - put(MsgHistoryAlarm()) // 0x3105 CMD_HISTORY_ALARM - put(MsgHistoryError()) // 0x3106 CMD_HISTORY_ERROR - put(MsgHistoryCarbo()) // 0x3107 CMD_HISTORY_CARBOHY - put(MsgHistoryRefill()) // 0x3108 CMD_HISTORY_REFILL - put(MsgHistorySuspend()) // 0x3109 CMD_HISTORY_SUSPEND - put(MsgHistoryBasalHour()) // 0x310A CMD_HISTORY_BASAL_HOUR - put(MsgHistoryDone()) // 0x31F1 CMD_HISTORY_DONT_USED + put(MsgError(aapsLogger, rxBus, resourceHelper, danaRPump)) // 0x0601 CMD_PUMPOWAY_SYSTEM_STATUS + put(MsgPCCommStart(aapsLogger)) // 0x3001 CMD_CONNECT + put(MsgPCCommStop(aapsLogger)) // 0x3002 CMD_DISCONNECT + put(MsgHistoryBolus(aapsLogger, rxBus)) // 0x3101 CMD_HISTORY_MEAL_INS + put(MsgHistoryDailyInsulin(aapsLogger, rxBus)) // 0x3102 CMD_HISTORY_DAY_INS + put(MsgHistoryGlucose(aapsLogger, rxBus)) // 0x3104 CMD_HISTORY_GLUCOSE + put(MsgHistoryAlarm(aapsLogger, rxBus)) // 0x3105 CMD_HISTORY_ALARM + put(MsgHistoryError(aapsLogger, rxBus)) // 0x3106 CMD_HISTORY_ERROR + put(MsgHistoryCarbo(aapsLogger, rxBus)) // 0x3107 CMD_HISTORY_CARBOHY + put(MsgHistoryRefill(aapsLogger, rxBus)) // 0x3108 CMD_HISTORY_REFILL + put(MsgHistorySuspend(aapsLogger, rxBus)) // 0x3109 CMD_HISTORY_SUSPEND + put(MsgHistoryBasalHour(aapsLogger, rxBus)) // 0x310A CMD_HISTORY_BASAL_HOUR + put(MsgHistoryDone(aapsLogger, danaRPump)) // 0x31F1 CMD_HISTORY_DONT_USED put(MsgSettingBasal(aapsLogger, danaRPump, danaRPlugin)) // 0x3202 CMD_SETTING_V_BASAL_INS_I put(MsgSettingMeal(aapsLogger, rxBus, resourceHelper, danaRPump, danaRKoreanPlugin)) // 0x3203 CMD_SETTING_V_MEAL_SETTING_I put(MsgSettingProfileRatios(aapsLogger, danaRPump)) // 0x3204 CMD_SETTING_V_CCC_I @@ -80,19 +80,19 @@ class MessageHashTableRv2 @Inject constructor( put(MsgSettingUserOptions(aapsLogger, danaRPump)) // 0x320B CMD_SETTING_V_USER_OPTIONS put(MsgSettingActiveProfile(aapsLogger, danaRPump)) // 0x320C CMD_SETTING_V_PROFILE_NUMBER put(MsgSettingProfileRatiosAll(aapsLogger, danaRPump)) // 0x320D CMD_SETTING_V_CIR_CF_VALUE - put(MsgSetSingleBasalProfile()) // 0x3302 CMD_SETTING_BASAL_INS_S - put(MsgSetBasalProfile()) // 0x3306 CMD_SETTING_BASAL_PROFILE_S + put(MsgSetSingleBasalProfile(aapsLogger, rxBus, resourceHelper, Array(24) { 0.0 })) // 0x3302 CMD_SETTING_BASAL_INS_S + put(MsgSetBasalProfile(aapsLogger, rxBus, resourceHelper, 0.toByte(), Array(24) { 0.0 })) // 0x3306 CMD_SETTING_BASAL_PROFILE_S put(MsgSetUserOptions(aapsLogger, danaRPump)) // 0x330B CMD_SETTING_USER_OPTIONS_S - put(MsgSetActivateBasalProfile()) // 0x330C CMD_SETTING_PROFILE_NUMBER_S - put(MsgHistoryAllDone()) // 0x41F1 CMD_HISTORY_ALL_DONE - put(MsgHistoryAll()) // 0x41F2 CMD_HISTORY_ALL - put(MsgHistoryNewDone()) // 0x42F1 CMD_HISTORY_NEW_DONE - put(MsgHistoryNew()) // 0x42F2 CMD_HISTORY_NEW + put(MsgSetActivateBasalProfile(aapsLogger, 0.toByte())) // 0x330C CMD_SETTING_PROFILE_NUMBER_S + put(MsgHistoryAllDone(aapsLogger, danaRPump)) // 0x41F1 CMD_HISTORY_ALL_DONE + put(MsgHistoryAll(aapsLogger, rxBus)) // 0x41F2 CMD_HISTORY_ALL + put(MsgHistoryNewDone(aapsLogger, danaRPump)) // 0x42F1 CMD_HISTORY_NEW_DONE + put(MsgHistoryNew(aapsLogger, rxBus)) // 0x42F2 CMD_HISTORY_NEW put(MsgCheckValue_v2(aapsLogger, rxBus, resourceHelper, danaRPump, danaRPlugin, danaRKoreanPlugin, danaRv2Plugin, configBuilderPlugin, commandQueue)) // 0xF0F1 CMD_PUMP_CHECK_VALUE put(MsgStatusAPS_v2(aapsLogger, danaRPump)) // 0xE001 CMD_PUMPSTATUS_APS - put(MsgSetAPSTempBasalStart_v2()) // 0xE002 CMD_PUMPSET_APSTEMP + put(MsgSetAPSTempBasalStart_v2(aapsLogger, 0, false, false)) // 0xE002 CMD_PUMPSET_APSTEMP put(MsgHistoryEvents_v2(aapsLogger, resourceHelper, detailedBolusInfoStorage, danaRv2Plugin, rxBus, treatmentsPlugin)) // 0xE003 CMD_GET_HISTORY - put(MsgSetHistoryEntry_v2()) // 0xE004 CMD_SET_HISTORY_ENTRY + put(MsgSetHistoryEntry_v2(aapsLogger, 0, 0, 0, 0)) // 0xE004 CMD_SET_HISTORY_ENTRY } override fun put(message: MessageBase) { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRv2/comm/MsgSetAPSTempBasalStart_v2.java b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRv2/comm/MsgSetAPSTempBasalStart_v2.java deleted file mode 100644 index 4f3502de7a..0000000000 --- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRv2/comm/MsgSetAPSTempBasalStart_v2.java +++ /dev/null @@ -1,80 +0,0 @@ -package info.nightscout.androidaps.plugins.pump.danaRv2.comm; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import info.nightscout.androidaps.logging.L; -import info.nightscout.androidaps.logging.StacktraceLoggerWrapper; -import info.nightscout.androidaps.plugins.pump.danaR.comm.MessageBase; - -public class MsgSetAPSTempBasalStart_v2 extends MessageBase { - private Logger log = StacktraceLoggerWrapper.getLogger(L.PUMPCOMM); - - protected final int PARAM30MIN = 160; - protected final int PARAM15MIN = 150; - - public MsgSetAPSTempBasalStart_v2() { - SetCommand(0xE002); - } - - public MsgSetAPSTempBasalStart_v2(int percent) { - this(); - setParams(percent); - if (L.isEnabled(L.PUMPCOMM)) - log.debug("New message: percent: " + percent); - } - - protected void setParams(int percent) { - //HARDCODED LIMITS - if (percent < 0) percent = 0; - if (percent > 500) percent = 500; - - AddParamInt(percent); - if (percent < 100) { - AddParamByte((byte) PARAM30MIN); - if (L.isEnabled(L.PUMPCOMM)) - log.debug("APS Temp basal start percent: " + percent + " duration 30 min"); - } else { - AddParamByte((byte) PARAM15MIN); - if (L.isEnabled(L.PUMPCOMM)) - log.debug("APS Temp basal start percent: " + percent + " duration 15 min"); - } - } - - public MsgSetAPSTempBasalStart_v2(int percent, boolean fifteenMinutes, boolean thirtyMinutes) { - this(); - setParams(percent, fifteenMinutes, thirtyMinutes); - } - - protected void setParams(int percent, boolean fifteenMinutes, boolean thirtyMinutes) { - //HARDCODED LIMITS - if (percent < 0) percent = 0; - if (percent > 500) percent = 500; - - AddParamInt(percent); - if (thirtyMinutes && percent <= 200) { // 30 min is allowed up to 200% - AddParamByte((byte) PARAM30MIN); - if (L.isEnabled(L.PUMPCOMM)) - log.debug("APS Temp basal start percent: " + percent + " duration 30 min"); - } else { - AddParamByte((byte) PARAM15MIN); - if (L.isEnabled(L.PUMPCOMM)) - log.debug("APS Temp basal start percent: " + percent + " duration 15 min"); - } - } - - public void handleMessage(byte[] bytes) { - int result = intFromBuff(bytes, 0, 1); - if (result != 1) { - failed = true; - if (L.isEnabled(L.PUMPCOMM)) - log.debug("Set APS temp basal start result: " + result + " FAILED!!!"); - } else { - failed = false; - if (L.isEnabled(L.PUMPCOMM)) - log.debug("Set APS temp basal start result: " + result); - } - } - - -} diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRv2/comm/MsgSetAPSTempBasalStart_v2.kt b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRv2/comm/MsgSetAPSTempBasalStart_v2.kt new file mode 100644 index 0000000000..46e38a3dae --- /dev/null +++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRv2/comm/MsgSetAPSTempBasalStart_v2.kt @@ -0,0 +1,42 @@ +package info.nightscout.androidaps.plugins.pump.danaRv2.comm + +import info.nightscout.androidaps.logging.AAPSLogger +import info.nightscout.androidaps.logging.LTag +import info.nightscout.androidaps.plugins.pump.danaR.comm.MessageBase + +class MsgSetAPSTempBasalStart_v2( + private val aapsLogger: AAPSLogger, + private var percent: Int, + fifteenMinutes: Boolean, + thirtyMinutes: Boolean +) : MessageBase() { + + private val PARAM30MIN = 160 + private val PARAM15MIN = 150 + + init { + SetCommand(0xE002) + //HARDCODED LIMITS + if (percent < 0) percent = 0 + if (percent > 500) percent = 500 + AddParamInt(percent) + if (thirtyMinutes && percent <= 200) { // 30 min is allowed up to 200% + AddParamByte(PARAM30MIN.toByte()) + aapsLogger.debug(LTag.PUMPCOMM, "APS Temp basal start percent: $percent duration 30 min") + } else { + AddParamByte(PARAM15MIN.toByte()) + aapsLogger.debug(LTag.PUMPCOMM, "APS Temp basal start percent: $percent duration 15 min") + } + } + + override fun handleMessage(bytes: ByteArray) { + val result = intFromBuff(bytes, 0, 1) + if (result != 1) { + failed = true + aapsLogger.debug(LTag.PUMPCOMM, "Set APS temp basal start result: $result FAILED!!!") + } else { + failed = false + aapsLogger.debug(LTag.PUMPCOMM, "Set APS temp basal start result: $result") + } + } +} \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRv2/comm/MsgSetHistoryEntry_v2.java b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRv2/comm/MsgSetHistoryEntry_v2.java deleted file mode 100644 index 860e57cb4b..0000000000 --- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRv2/comm/MsgSetHistoryEntry_v2.java +++ /dev/null @@ -1,45 +0,0 @@ -package info.nightscout.androidaps.plugins.pump.danaRv2.comm; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.util.Date; -import java.util.GregorianCalendar; - -import info.nightscout.androidaps.logging.L; -import info.nightscout.androidaps.logging.StacktraceLoggerWrapper; -import info.nightscout.androidaps.plugins.pump.danaR.comm.MessageBase; - -public class MsgSetHistoryEntry_v2 extends MessageBase { - private Logger log = StacktraceLoggerWrapper.getLogger(L.PUMPCOMM); - - public MsgSetHistoryEntry_v2() { - SetCommand(0xE004); - } - - public MsgSetHistoryEntry_v2(int type, long time, int param1, int param2) { - this(); - - AddParamByte((byte) type); - GregorianCalendar gtime = new GregorianCalendar(); - gtime.setTimeInMillis(time); - AddParamDateTime(gtime); - AddParamInt(param1); - AddParamInt(param2); - if (L.isEnabled(L.PUMPCOMM)) - log.debug("Set history entry: type: " + type + " date: " + new Date(time).toString() + " param1: " + param1 + " param2: " + param2); - } - - @Override - public void handleMessage(byte[] bytes) { - int result = intFromBuff(bytes, 0, 1); - if (result != 1) { - failed = true; - if (L.isEnabled(L.PUMPCOMM)) - log.debug("Set history entry result: " + result + " FAILED!!!"); - } else { - if (L.isEnabled(L.PUMPCOMM)) - log.debug("Set history entry result: " + result); - } - } -} diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRv2/comm/MsgSetHistoryEntry_v2.kt b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRv2/comm/MsgSetHistoryEntry_v2.kt new file mode 100644 index 0000000000..b0d8777efa --- /dev/null +++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRv2/comm/MsgSetHistoryEntry_v2.kt @@ -0,0 +1,34 @@ +package info.nightscout.androidaps.plugins.pump.danaRv2.comm + +import info.nightscout.androidaps.logging.AAPSLogger +import info.nightscout.androidaps.logging.LTag +import info.nightscout.androidaps.plugins.pump.danaR.comm.MessageBase +import java.util.* + +class MsgSetHistoryEntry_v2( + private val aapsLogger: AAPSLogger, + type: Int, time: Long, param1: Int, param2: Int +) : MessageBase() { + + init { + SetCommand(0xE004) + AddParamByte(type.toByte()) + val gtime = GregorianCalendar() + gtime.timeInMillis = time + AddParamDateTime(gtime) + AddParamInt(param1) + AddParamInt(param2) + aapsLogger.debug(LTag.PUMPCOMM, "Set history entry: type: " + type + " date: " + Date(time).toString() + " param1: " + param1 + " param2: " + param2) + } + + override fun handleMessage(bytes: ByteArray) { + val result = intFromBuff(bytes, 0, 1) + if (result != 1) { + failed = true + aapsLogger.debug(LTag.PUMPCOMM, "Set history entry result: $result FAILED!!!") + } else { + failed = false + aapsLogger.debug(LTag.PUMPCOMM, "Set history entry result: $result") + } + } +} \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRv2/services/DanaRv2ExecutionService.java b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRv2/services/DanaRv2ExecutionService.java index 2bdcb67092..76f3083385 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRv2/services/DanaRv2ExecutionService.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/pump/danaRv2/services/DanaRv2ExecutionService.java @@ -42,10 +42,8 @@ import info.nightscout.androidaps.plugins.pump.danaR.DanaRPlugin; import info.nightscout.androidaps.plugins.pump.danaR.DanaRPump; import info.nightscout.androidaps.plugins.pump.danaR.SerialIOThread; import info.nightscout.androidaps.plugins.pump.danaR.comm.MessageBase; -import info.nightscout.androidaps.plugins.pump.danaR.comm.MsgBolusProgress; import info.nightscout.androidaps.plugins.pump.danaR.comm.MsgBolusStart; import info.nightscout.androidaps.plugins.pump.danaR.comm.MsgBolusStartWithSpeed; -import info.nightscout.androidaps.plugins.pump.danaR.comm.MsgBolusStop; import info.nightscout.androidaps.plugins.pump.danaR.comm.MsgSetActivateBasalProfile; import info.nightscout.androidaps.plugins.pump.danaR.comm.MsgSetBasalProfile; import info.nightscout.androidaps.plugins.pump.danaR.comm.MsgSetCarbsEntry; @@ -84,9 +82,9 @@ import info.nightscout.androidaps.queue.Callback; import info.nightscout.androidaps.queue.commands.Command; import info.nightscout.androidaps.utils.DateUtil; import info.nightscout.androidaps.utils.FabricPrivacy; -import info.nightscout.androidaps.utils.sharedPreferences.SP; import info.nightscout.androidaps.utils.T; import info.nightscout.androidaps.utils.resources.ResourceHelper; +import info.nightscout.androidaps.utils.sharedPreferences.SP; import io.reactivex.disposables.CompositeDisposable; import io.reactivex.schedulers.Schedulers; @@ -259,7 +257,7 @@ public class DanaRv2ExecutionService extends AbstractDanaRExecutionService { } else { waitForWholeMinute(); // Dana can set only whole minute // add 10sec to be sure we are over minute (will be cutted off anyway) - mSerialIOThread.sendMessage(new MsgSetTime(new Date(DateUtil.now() + T.secs(10).msecs()))); + mSerialIOThread.sendMessage(new MsgSetTime(aapsLogger, new Date(DateUtil.now() + T.secs(10).msecs()))); mSerialIOThread.sendMessage(new MsgSettingPumpTime(aapsLogger, danaRPump)); timeDiff = (danaRPump.getPumpTime() - System.currentTimeMillis()) / 1000L; aapsLogger.debug(LTag.PUMP, "Pump time difference: " + timeDiff + " seconds"); @@ -306,26 +304,26 @@ public class DanaRv2ExecutionService extends AbstractDanaRExecutionService { if (!isConnected()) return false; if (danaRPump.isTempBasalInProgress()) { rxBus.send(new EventPumpStatusChanged(resourceHelper.gs(R.string.stoppingtempbasal))); - mSerialIOThread.sendMessage(new MsgSetTempBasalStop()); + mSerialIOThread.sendMessage(new MsgSetTempBasalStop(aapsLogger)); SystemClock.sleep(500); } rxBus.send(new EventPumpStatusChanged(resourceHelper.gs(R.string.settingtempbasal))); - mSerialIOThread.sendMessage(new MsgSetTempBasalStart(percent, durationInHours)); + mSerialIOThread.sendMessage(new MsgSetTempBasalStart(aapsLogger, percent, durationInHours)); mSerialIOThread.sendMessage(new MsgStatusTempBasal_v2(aapsLogger, danaRPump)); loadEvents(); rxBus.send(new EventPumpStatusChanged(EventPumpStatusChanged.Status.DISCONNECTING)); return true; } - public boolean highTempBasal(int percent) { + public boolean highTempBasal(int percent, int durationInMinutes) { if (!isConnected()) return false; if (danaRPump.isTempBasalInProgress()) { rxBus.send(new EventPumpStatusChanged(resourceHelper.gs(R.string.stoppingtempbasal))); - mSerialIOThread.sendMessage(new MsgSetTempBasalStop()); + mSerialIOThread.sendMessage(new MsgSetTempBasalStop(aapsLogger)); SystemClock.sleep(500); } rxBus.send(new EventPumpStatusChanged(resourceHelper.gs(R.string.settingtempbasal))); - mSerialIOThread.sendMessage(new MsgSetAPSTempBasalStart_v2(percent)); + mSerialIOThread.sendMessage(new MsgSetAPSTempBasalStart_v2(aapsLogger, percent, durationInMinutes == 15, durationInMinutes == 30)); mSerialIOThread.sendMessage(new MsgStatusTempBasal_v2(aapsLogger, danaRPump)); loadEvents(); rxBus.send(new EventPumpStatusChanged(EventPumpStatusChanged.Status.DISCONNECTING)); @@ -341,11 +339,11 @@ public class DanaRv2ExecutionService extends AbstractDanaRExecutionService { if (!isConnected()) return false; if (danaRPump.isTempBasalInProgress()) { rxBus.send(new EventPumpStatusChanged(resourceHelper.gs(R.string.stoppingtempbasal))); - mSerialIOThread.sendMessage(new MsgSetTempBasalStop()); + mSerialIOThread.sendMessage(new MsgSetTempBasalStop(aapsLogger)); SystemClock.sleep(500); } rxBus.send(new EventPumpStatusChanged(resourceHelper.gs(R.string.settingtempbasal))); - mSerialIOThread.sendMessage(new MsgSetAPSTempBasalStart_v2(percent, durationInMinutes == 15, durationInMinutes == 30)); + mSerialIOThread.sendMessage(new MsgSetAPSTempBasalStart_v2(aapsLogger, percent, durationInMinutes == 15, durationInMinutes == 30)); mSerialIOThread.sendMessage(new MsgStatusTempBasal_v2(aapsLogger, danaRPump)); loadEvents(); rxBus.send(new EventPumpStatusChanged(EventPumpStatusChanged.Status.DISCONNECTING)); @@ -355,7 +353,7 @@ public class DanaRv2ExecutionService extends AbstractDanaRExecutionService { public boolean tempBasalStop() { if (!isConnected()) return false; rxBus.send(new EventPumpStatusChanged(resourceHelper.gs(R.string.stoppingtempbasal))); - mSerialIOThread.sendMessage(new MsgSetTempBasalStop()); + mSerialIOThread.sendMessage(new MsgSetTempBasalStop(aapsLogger)); mSerialIOThread.sendMessage(new MsgStatusTempBasal_v2(aapsLogger, danaRPump)); loadEvents(); rxBus.send(new EventPumpStatusChanged(EventPumpStatusChanged.Status.DISCONNECTING)); @@ -375,7 +373,7 @@ public class DanaRv2ExecutionService extends AbstractDanaRExecutionService { public boolean extendedBolusStop() { if (!isConnected()) return false; rxBus.send(new EventPumpStatusChanged(resourceHelper.gs(R.string.stoppingextendedbolus))); - mSerialIOThread.sendMessage(new MsgSetExtendedBolusStop()); + mSerialIOThread.sendMessage(new MsgSetExtendedBolusStop(aapsLogger)); mSerialIOThread.sendMessage(new MsgStatusBolusExtended_v2(aapsLogger, danaRPump)); loadEvents(); rxBus.send(new EventPumpStatusChanged(EventPumpStatusChanged.Status.DISCONNECTING)); @@ -394,31 +392,33 @@ public class DanaRv2ExecutionService extends AbstractDanaRExecutionService { start = new MsgBolusStart(aapsLogger, constraintChecker, danaRPump, amount); else start = new MsgBolusStartWithSpeed(aapsLogger, constraintChecker, danaRPump, amount, preferencesSpeed); - MsgBolusStop stop = new MsgBolusStop(amount, t); + danaRPump.setBolusStopped(false); + danaRPump.setBolusStopForced(false); if (carbs > 0) { - MsgSetCarbsEntry msg = new MsgSetCarbsEntry(carbtime, carbs); + MsgSetCarbsEntry msg = new MsgSetCarbsEntry(aapsLogger, carbtime, carbs); mSerialIOThread.sendMessage(msg); - MsgSetHistoryEntry_v2 msgSetHistoryEntry_v2 = new MsgSetHistoryEntry_v2(DanaRPump.CARBS, carbtime, carbs, 0); + MsgSetHistoryEntry_v2 msgSetHistoryEntry_v2 = new MsgSetHistoryEntry_v2(aapsLogger, DanaRPump.CARBS, carbtime, carbs, 0); mSerialIOThread.sendMessage(msgSetHistoryEntry_v2); lastHistoryFetched = Math.min(lastHistoryFetched, carbtime - T.mins(1).msecs()); } final long bolusStart = System.currentTimeMillis(); if (amount > 0) { - MsgBolusProgress progress = new MsgBolusProgress(amount, t); // initialize static variables + danaRPump.setBolusingTreatment(t); + danaRPump.setBolusAmountToBeDelivered(amount); - if (!stop.stopped) { + if (!danaRPump.getBolusStopped()) { mSerialIOThread.sendMessage(start); } else { t.insulin = 0d; return false; } - while (!stop.stopped && !start.failed) { + while (!danaRPump.getBolusStopped() && !start.failed) { SystemClock.sleep(100); - if ((System.currentTimeMillis() - progress.lastReceive) > 15 * 1000L) { // if i didn't receive status for more than 15 sec expecting broken comm - stop.stopped = true; - stop.forced = true; + if ((System.currentTimeMillis() - danaRPump.getBolusProgressLastTimeStamp()) > 15 * 1000L) { // if i didn't receive status for more than 15 sec expecting broken comm + danaRPump.setBolusStopped(true); + danaRPump.setBolusStopForced(true); aapsLogger.error("Communication stopped"); } } @@ -463,26 +463,11 @@ public class DanaRv2ExecutionService extends AbstractDanaRExecutionService { return !start.failed; } - public void bolusStop() { - aapsLogger.debug(LTag.PUMP, "bolusStop >>>>> @ " + (mBolusingTreatment == null ? "" : mBolusingTreatment.insulin)); - MsgBolusStop stop = new MsgBolusStop(); - stop.forced = true; - if (isConnected()) { - mSerialIOThread.sendMessage(stop); - while (!stop.stopped) { - mSerialIOThread.sendMessage(stop); - SystemClock.sleep(200); - } - } else { - stop.stopped = true; - } - } - public boolean carbsEntry(int amount, long time) { if (!isConnected()) return false; - MsgSetCarbsEntry msg = new MsgSetCarbsEntry(time, amount); + MsgSetCarbsEntry msg = new MsgSetCarbsEntry(aapsLogger, time, amount); mSerialIOThread.sendMessage(msg); - MsgSetHistoryEntry_v2 msgSetHistoryEntry_v2 = new MsgSetHistoryEntry_v2(DanaRPump.CARBS, time, amount, 0); + MsgSetHistoryEntry_v2 msgSetHistoryEntry_v2 = new MsgSetHistoryEntry_v2(aapsLogger, DanaRPump.CARBS, time, amount, 0); mSerialIOThread.sendMessage(msgSetHistoryEntry_v2); lastHistoryFetched = Math.min(lastHistoryFetched, time - T.mins(1).msecs()); return true; @@ -519,9 +504,9 @@ public class DanaRv2ExecutionService extends AbstractDanaRExecutionService { if (!isConnected()) return false; rxBus.send(new EventPumpStatusChanged(resourceHelper.gs(R.string.updatingbasalrates))); Double[] basal = danaRPump.buildDanaRProfileRecord(profile); - MsgSetBasalProfile msgSet = new MsgSetBasalProfile((byte) 0, basal); + MsgSetBasalProfile msgSet = new MsgSetBasalProfile(aapsLogger, rxBus, resourceHelper, (byte) 0, basal); mSerialIOThread.sendMessage(msgSet); - MsgSetActivateBasalProfile msgActivate = new MsgSetActivateBasalProfile((byte) 0); + MsgSetActivateBasalProfile msgActivate = new MsgSetActivateBasalProfile(aapsLogger, (byte) 0); mSerialIOThread.sendMessage(msgActivate); danaRPump.setLastSettingsRead(0); // force read full settings getPumpStatus(); diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MessageHashTableRTest.java b/app/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MessageHashTableRTest.java deleted file mode 100644 index bc94fe0f30..0000000000 --- a/app/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MessageHashTableRTest.java +++ /dev/null @@ -1,35 +0,0 @@ -package info.nightscout.androidaps.plugins.pump.danaR.comm; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; - -import info.AAPSMocker; -import info.nightscout.androidaps.MainApp; -import info.nightscout.androidaps.logging.L; -import info.nightscout.androidaps.utils.SP; - -import static org.junit.Assert.*; - -/** - * Created by Rumen Georgiev on 8/31/2018. - */ - -@RunWith(PowerMockRunner.class) -@PrepareForTest({MainApp.class, SP.class, L.class}) -public class MessageHashTableRTest { - - @Test - public void runTest() { - AAPSMocker.mockMainApp(); - AAPSMocker.mockSP(); - AAPSMocker.mockL(); - MessageHashTableR messageHashTable = MessageHashTableR.INSTANCE; - MessageBase testMessage = messageHashTable.findMessage(0x41f2); - assertEquals("CMD_HISTORY_ALL", testMessage.getMessageName()); - - } - - -} \ No newline at end of file diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MessageHashTableRTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MessageHashTableRTest.kt new file mode 100644 index 0000000000..211e19cc7c --- /dev/null +++ b/app/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MessageHashTableRTest.kt @@ -0,0 +1,44 @@ +package info.nightscout.androidaps.plugins.pump.danaR.comm + +import info.nightscout.androidaps.interfaces.ActivePluginProvider +import info.nightscout.androidaps.interfaces.CommandQueueProvider +import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.androidaps.plugins.bus.RxBusWrapper +import info.nightscout.androidaps.plugins.configBuilder.ConfigBuilderPlugin +import info.nightscout.androidaps.plugins.configBuilder.ConstraintChecker +import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage +import info.nightscout.androidaps.plugins.pump.danaR.DanaRPlugin +import info.nightscout.androidaps.plugins.pump.danaRKorean.DanaRKoreanPlugin +import info.nightscout.androidaps.plugins.pump.danaRS.comm.DanaRSTestBase +import info.nightscout.androidaps.plugins.treatments.TreatmentsPlugin +import info.nightscout.androidaps.utils.resources.ResourceHelper +import org.junit.Assert +import org.junit.Test +import org.junit.runner.RunWith +import org.mockito.Mock +import org.mockito.Mockito +import org.powermock.core.classloader.annotations.PrepareForTest +import org.powermock.modules.junit4.PowerMockRunner + +@RunWith(PowerMockRunner::class) +@PrepareForTest(ConstraintChecker::class, DetailedBolusInfoStorage::class) +class MessageHashTableRTest : DanaRSTestBase() { + + @Mock lateinit var rxBus: RxBusWrapper + @Mock lateinit var resourceHelper: ResourceHelper + @Mock lateinit var constraintChecker: ConstraintChecker + @Mock lateinit var danaRPlugin: DanaRPlugin + @Mock lateinit var danaRKoreanPlugin: DanaRKoreanPlugin + @Mock lateinit var configBuilderPlugin: ConfigBuilderPlugin + @Mock lateinit var commandQueue: CommandQueueProvider + @Mock lateinit var activePlugin: ActivePluginProvider + @Mock lateinit var detailedBolusInfoStorage: DetailedBolusInfoStorage + @Mock lateinit var treatmentsPlugin: TreatmentsPlugin + + @Test fun runTest() { + Mockito.`when`(constraintChecker.applyBolusConstraints(anyObject())).thenReturn(Constraint(0.0)) + val messageHashTable = MessageHashTableR(aapsLogger, rxBus, resourceHelper, constraintChecker, danaRPump, danaRPlugin, danaRKoreanPlugin, configBuilderPlugin, commandQueue, activePlugin) + val testMessage = messageHashTable.findMessage(0x41f2) + Assert.assertEquals("CMD_HISTORY_ALL", testMessage.messageName) + } +} \ No newline at end of file diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MessageOriginalNamesTest.java b/app/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MessageOriginalNamesTest.java deleted file mode 100644 index c2d283952d..0000000000 --- a/app/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MessageOriginalNamesTest.java +++ /dev/null @@ -1,30 +0,0 @@ -package info.nightscout.androidaps.plugins.pump.danaR.comm; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; - -import info.nightscout.androidaps.MainApp; -import info.nightscout.androidaps.logging.L; -import info.nightscout.androidaps.utils.SP; - -import static org.junit.Assert.*; - -/** - * Created by Rumen Georgiev on 8/28/2018. - */ - -@RunWith(PowerMockRunner.class) -@PrepareForTest({MainApp.class, SP.class, L.class}) -public class MessageOriginalNamesTest { - @Test - public void runTest() { - MessageOriginalNames packet = new MessageOriginalNames(); - String testName = packet.getName(0x41f2); - assertEquals("CMD_HISTORY_ALL", testName); - - } - - -} \ No newline at end of file diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MessageOriginalNamesTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MessageOriginalNamesTest.kt new file mode 100644 index 0000000000..0b9c519177 --- /dev/null +++ b/app/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/MessageOriginalNamesTest.kt @@ -0,0 +1,13 @@ +package info.nightscout.androidaps.plugins.pump.danaR.comm + +import info.nightscout.androidaps.TestBase +import org.junit.Assert +import org.junit.Test + +class MessageOriginalNamesTest : TestBase() { + + @Test + fun getNameTest() { + Assert.assertEquals("CMD_CONNECT", MessageOriginalNames.getName(0x3001)) + } +} \ No newline at end of file diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/RecordTypesTest.java b/app/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/RecordTypesTest.java deleted file mode 100644 index f325cf8477..0000000000 --- a/app/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/RecordTypesTest.java +++ /dev/null @@ -1,16 +0,0 @@ -package info.nightscout.androidaps.plugins.pump.danaR.comm; - -import org.junit.Test; - -import static org.junit.Assert.*; - -/** - * Created by Rumen Georgiev on 8/31/2018. - */ -public class RecordTypesTest { - @Test - public void runTest() { - RecordTypes packet = new RecordTypes(); - assertEquals((byte) 0x01, packet.RECORD_TYPE_BOLUS); - } -} diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/RecordTypesTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/RecordTypesTest.kt new file mode 100644 index 0000000000..51f06e7ec9 --- /dev/null +++ b/app/src/test/java/info/nightscout/androidaps/plugins/pump/danaR/comm/RecordTypesTest.kt @@ -0,0 +1,11 @@ +package info.nightscout.androidaps.plugins.pump.danaR.comm + +import org.junit.Assert +import org.junit.Test + +class RecordTypesTest { + + @Test fun runTest() { + Assert.assertEquals(1.toByte(), RecordTypes.RECORD_TYPE_BOLUS) + } +} \ No newline at end of file diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/pump/danaRKorean/comm/MessageHashTableRKoreanTest.kt b/app/src/test/java/info/nightscout/androidaps/plugins/pump/danaRKorean/comm/MessageHashTableRKoreanTest.kt new file mode 100644 index 0000000000..e9050aa871 --- /dev/null +++ b/app/src/test/java/info/nightscout/androidaps/plugins/pump/danaRKorean/comm/MessageHashTableRKoreanTest.kt @@ -0,0 +1,44 @@ +package info.nightscout.androidaps.plugins.pump.danaRKorean.comm + +import info.nightscout.androidaps.interfaces.ActivePluginProvider +import info.nightscout.androidaps.interfaces.CommandQueueProvider +import info.nightscout.androidaps.interfaces.Constraint +import info.nightscout.androidaps.plugins.bus.RxBusWrapper +import info.nightscout.androidaps.plugins.configBuilder.ConfigBuilderPlugin +import info.nightscout.androidaps.plugins.configBuilder.ConstraintChecker +import info.nightscout.androidaps.plugins.pump.common.bolusInfo.DetailedBolusInfoStorage +import info.nightscout.androidaps.plugins.pump.danaR.DanaRPlugin +import info.nightscout.androidaps.plugins.pump.danaRKorean.DanaRKoreanPlugin +import info.nightscout.androidaps.plugins.pump.danaRS.comm.DanaRSTestBase +import info.nightscout.androidaps.plugins.treatments.TreatmentsPlugin +import info.nightscout.androidaps.utils.resources.ResourceHelper +import org.junit.Assert +import org.junit.Test +import org.junit.runner.RunWith +import org.mockito.Mock +import org.mockito.Mockito +import org.powermock.core.classloader.annotations.PrepareForTest +import org.powermock.modules.junit4.PowerMockRunner + +@RunWith(PowerMockRunner::class) +@PrepareForTest(ConstraintChecker::class, DetailedBolusInfoStorage::class) +class MessageHashTableRKoreanTest : DanaRSTestBase() { + + @Mock lateinit var rxBus: RxBusWrapper + @Mock lateinit var resourceHelper: ResourceHelper + @Mock lateinit var constraintChecker: ConstraintChecker + @Mock lateinit var danaRPlugin: DanaRPlugin + @Mock lateinit var danaRKoreanPlugin: DanaRKoreanPlugin + @Mock lateinit var configBuilderPlugin: ConfigBuilderPlugin + @Mock lateinit var commandQueue: CommandQueueProvider + @Mock lateinit var activePlugin: ActivePluginProvider + @Mock lateinit var detailedBolusInfoStorage: DetailedBolusInfoStorage + @Mock lateinit var treatmentsPlugin: TreatmentsPlugin + + @Test fun runTest() { + Mockito.`when`(constraintChecker.applyBolusConstraints(anyObject())).thenReturn(Constraint(0.0)) + val messageHashTable = MessageHashTableRKorean(aapsLogger, rxBus, resourceHelper, constraintChecker, danaRPump, danaRPlugin, danaRKoreanPlugin, configBuilderPlugin, commandQueue, activePlugin) + val testMessage = messageHashTable.findMessage(0x41f2) + Assert.assertEquals("CMD_HISTORY_ALL", testMessage.messageName) + } +} \ No newline at end of file diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/pump/danaRv2/comm/MessageHashTable_rv2Test.java b/app/src/test/java/info/nightscout/androidaps/plugins/pump/danaRv2/comm/MessageHashTable_rv2Test.java deleted file mode 100644 index 0dc1f174c9..0000000000 --- a/app/src/test/java/info/nightscout/androidaps/plugins/pump/danaRv2/comm/MessageHashTable_rv2Test.java +++ /dev/null @@ -1,57 +0,0 @@ -package info.nightscout.androidaps.plugins.pump.danaRv2.comm; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; - -import info.AAPSMocker; -import info.nightscout.androidaps.MainApp; -import info.nightscout.androidaps.logging.L; -import info.nightscout.androidaps.plugins.pump.danaR.comm.MessageBase; -import info.nightscout.androidaps.utils.SP; - -import static org.junit.Assert.*; -/** - * Created by Rumen Georgiev on 30.10.2018. - */ - -@RunWith(PowerMockRunner.class) -@PrepareForTest({MainApp.class, SP.class, L.class}) -public class MessageHashTable_rv2Test { - @Test - public void runTest() { - AAPSMocker.mockMainApp(); - AAPSMocker.mockApplicationContext(); - AAPSMocker.mockSP(); - AAPSMocker.mockL(); - - MessageHashTableRv2 hashTableRv2 = MessageHashTableRv2.INSTANCE; - - MessageBase forTesting = new MsgStatusAPS_v2(); - MessageBase testPacket = MessageHashTableRv2.INSTANCE.findMessage(forTesting.getCommand()); - assertEquals(0xE001, testPacket.getCommand()); - // try putting another command - MessageBase testMessage = new MessageBase(); - testMessage.SetCommand(0xE005); - hashTableRv2.put(testMessage); - assertEquals(0xE005, hashTableRv2.findMessage(0xE005).getCommand()); - } - - byte[] createArray(int length, byte fillWith){ - byte[] ret = new byte[length]; - for(int i = 0; i