Index: shared/scripts/denaliMessages.py =================================================================== diff -u -r40df2a58a855b561c1ca8dabd3b272ac48b8924e -r34ec092c464500431f428cadea93696885cc15e0 --- shared/scripts/denaliMessages.py (.../denaliMessages.py) (revision 40df2a58a855b561c1ca8dabd3b272ac48b8924e) +++ shared/scripts/denaliMessages.py (.../denaliMessages.py) (revision 34ec092c464500431f428cadea93696885cc15e0) @@ -16,9 +16,9 @@ import utils import messageBuilder -from enum import Enum +from enum import IntEnum -class GuiActionType(Enum): +class GuiActionType(IntEnum): Unknown = 0 PowerOff = 1 KeepAlive = 7 @@ -80,6 +80,7 @@ subprocess.call(['cansend', 'can0', '040#00.00.26.02.00.00.C6.00']) ## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def buildSetTreatmentBloodFlowRate(vFlowSetPt, vMeasFlow = 0, vRotSpd = 0, vMotSpd = 0, vMCSpd = 0, vMCCurr = 0, vPWM = 0): msg = messageBuilder.buildMessage( 5, 4 * 7, utils.toU32(vFlowSetPt ), @@ -100,6 +101,7 @@ subprocess.call(['cansend', 'can0', '040#{}'.format(frame)]) ## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def buildSetTreatmentDialysateFlowRate(vFlowSetPt, vMeasFlow = 0, vRotSpd = 0, vMotSpd = 0, vMCSpd = 0, vMCCurr = 0, vPWM = 0): msg = messageBuilder.buildMessage( 8, 4 * 7, utils.toU32(vFlowSetPt ), @@ -121,7 +123,7 @@ ## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def buildTreatmentAdjustBloodDialysateResponse(vAccepted, vReason, vBloodRate, vDialysate): - msg = messageBuilder.buildMessage( 24, 4 * 4, + msg = messageBuilder.buildMessage( GuiActionType.AdjustBloodDialysateRsp, 4 * 4, utils.toU32(vAccepted), utils.toU32(vReason), utils.toU32(vBloodRate), @@ -135,4 +137,22 @@ for frame in frames: subprocess.call(['cansend', 'can0', '020#{}'.format(frame)]) - +## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +def buildAlarm(vState, vTop, vEsclatesIn, vSilentExpires, vFlags): + msg = messageBuilder.buildMessage( GuiActionType.AlarmStatus, 4 * 4 + 2, + utils.toU32(vState ), + utils.toU32(vTop ), + utils.toU32(vEsclatesIn ), + utils.toU32(vSilentExpires ), + utils.toU16(vFlags ) + ) + return messageBuilder.toFrames(msg) +## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +def sendAlarm(vState, vTop, vEsclatesIn, vSilentExpires, vFlags): + frames = buildAlarm(vState, vTop, vEsclatesIn, vSilentExpires, vFlags) + frames = messageBuilder.toCandumpFormat(frames) + for frame in frames: + subprocess.call(['cansend', 'can0', '001#{}'.format(frame)]) + + Index: suite.conf =================================================================== diff -u -r40df2a58a855b561c1ca8dabd3b272ac48b8924e -r34ec092c464500431f428cadea93696885cc15e0 --- suite.conf (.../suite.conf) (revision 40df2a58a855b561c1ca8dabd3b272ac48b8924e) +++ suite.conf (.../suite.conf) (revision 34ec092c464500431f428cadea93696885cc15e0) @@ -5,6 +5,6 @@ IMPLICITAUTSTART=0 LANGUAGE=Python OBJECTMAPSTYLE=script -TEST_CASES=tst_GlobalTests tst_HomeScreen tst_ServiceShutdown tst_TreatmentScreen tst_Treatment_BloodDialysate_Section tst_Treatment_ParametersRange tst_Treatment_Adjustment_BloodDialysate +TEST_CASES=tst_GlobalTests tst_HomeScreen tst_ServiceShutdown tst_TreatmentScreen tst_Treatment_BloodDialysate_Section tst_Treatment_ParametersRange tst_Treatment_Adjustment_BloodDialysate tst_Alarm VERSION=3 WRAPPERS=Qt Index: tst_Alarm/test.py =================================================================== diff -u --- tst_Alarm/test.py (revision 0) +++ tst_Alarm/test.py (revision 34ec092c464500431f428cadea93696885cc15e0) @@ -0,0 +1,35 @@ +# -*- coding: utf-8 -*- + +## +# Copyright (c) 2019-2020 Diality Inc. - All Rights Reserved. +# copyright +# THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, +# IN PART OR IN WHOLE, +# WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. +# +# file tst_Alarm +# date 2020/04/08 +# author Behrouz NematiPour +# + +#import names +import time +import denaliMessages + +def main(): + startApplication("denaliSquish") + + denaliMessages.sendAlarm(3, 1, 0, 0, 120) + time.sleep(1) + + denaliMessages.sendAlarm(2, 2, 0, 0, 100) + time.sleep(1) + + denaliMessages.sendAlarm(1, 3, 0, 0, 54) + time.sleep(1) + + denaliMessages.sendAlarm(0, 4, 0, 0, 91) + time.sleep(1) + + denaliMessages.sendAlarm(0, 0, 0, 0, 0) + time.sleep(1) Index: tst_Treatment_Adjustment_BloodDialysate/test.py =================================================================== diff -u -r40df2a58a855b561c1ca8dabd3b272ac48b8924e -r34ec092c464500431f428cadea93696885cc15e0 --- tst_Treatment_Adjustment_BloodDialysate/test.py (.../test.py) (revision 40df2a58a855b561c1ca8dabd3b272ac48b8924e) +++ tst_Treatment_Adjustment_BloodDialysate/test.py (.../test.py) (revision 34ec092c464500431f428cadea93696885cc15e0) @@ -61,12 +61,12 @@ waitForObjectExists(names.o_dialysateFlowSlider_Slider).value ) - time.sleep(1.0) + time.sleep(1) denaliMessages.setTreatmentBloodFlowRate(225) denaliMessages.setTreatmentDialysateFlowRate(200) test.compare(str(waitForObjectExists(names.o_treatmentStart_225_Text).text), "225") test.compare(str(waitForObjectExists(names.o_treatmentStart_200_Text).text), "200") - time.sleep(1.0) + time.sleep(1)