Index: shared/scripts/denaliMessages.py =================================================================== diff -u -rc1b9d926e38745dcd9fb3e0503176b1c85182294 -ra1bf6e9dc0dacf5aee003365d3472e43075d00a7 --- shared/scripts/denaliMessages.py (.../denaliMessages.py) (revision c1b9d926e38745dcd9fb3e0503176b1c85182294) +++ shared/scripts/denaliMessages.py (.../denaliMessages.py) (revision a1bf6e9dc0dacf5aee003365d3472e43075d00a7) @@ -35,10 +35,13 @@ PressureOcclusion = 9 - AdjustBloodDialysateReq = 23 # 23 - AdjustBloodDialysateRsp = 24 # 24 + AdjustBloodDialysateReq = 23 + AdjustBloodDialysateRsp = 24 + + AdjustDurationReq = 22 + AdjustDurationRsp = 27 - TreatmentRanges = 26 # 26 + TreatmentRanges = 26 String = 65279 @@ -151,6 +154,24 @@ ## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +def buildTreatmentAdjustDurationResponse(vAccepted, vReason, vDuration, vUltrafiltration): + msg = messageBuilder.buildMessage( GuiActionType.AdjustDurationRsp, 4 * 4, True, + utils.toI32(vAccepted), + utils.toI32(vReason), + utils.toI32(vDuration), + utils.toF32(vUltrafiltration) + ) + return messageBuilder.toFrames(msg) +## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +def sendTreatmentAdjustDurationResponse (vAccepted, vReason, vDuration, vUltrafiltration): + frames = buildTreatmentAdjustDurationResponse(vAccepted, vReason, vDuration, vUltrafiltration) + frames = messageBuilder.toCandumpFormat(frames) + for frame in frames: + subprocess.call(['cansend', 'can0', '020#{}'.format(frame)]) + waitForMessageToBeSent() + +## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def buildTreatmentTime(vSecsTotal, vSecsElap, vSecsRem): msg = messageBuilder.buildMessage( GuiActionType.TreatmentTime, 3 * 4, False, utils.toI32(vSecsTotal ), @@ -159,7 +180,9 @@ ) return messageBuilder.toFrames(msg) ## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -def setTreatmentTime (vSecsTotal, vSecsElap, vSecsRem): +def setTreatmentTime (vSecsTotal, vSecsElap, vSecsRem = None): + if vSecsRem == None: + vSecsRem = vSecsTotal - vSecsElap frames = buildTreatmentTime(vSecsTotal, vSecsElap, vSecsRem) frames = messageBuilder.toCandumpFormat(frames) for frame in frames: