Index: dialin/squish/denaliMessages.py =================================================================== diff -u -r26bfa9223c2f3b4048a4d7415559889a1026cc85 -r8f34fae7dbbda912cc004214573187ba8ed4660f --- dialin/squish/denaliMessages.py (.../denaliMessages.py) (revision 26bfa9223c2f3b4048a4d7415559889a1026cc85) +++ dialin/squish/denaliMessages.py (.../denaliMessages.py) (revision 8f34fae7dbbda912cc004214573187ba8ed4660f) @@ -86,6 +86,9 @@ AdjustUltrafiltrationConfirmReq = 21 AdjustUltrafiltrationConfirmRsp = 46 + AdjustArterialVenousLimitsReq = 70 + AdjustArterialVenousLimitsRsp = 71 + TreatmentRanges = 26 String = 65279 @@ -381,6 +384,49 @@ waitForMessageToBeSent() +def buildTreatmentAdjustArterialVenousLimitsResponse(vAccepted, vReason, vArterialLow, vArterialHigh, vVenousLow, vVenousHigh): + """ + the Blood/dialysate rate change Response message builder method + | MSG | CAN ID | Box | Type | Ack | Src | Dst | Description | #1:(U32) | #2:(U32) | #3:(S32) | #4:(S32) | #3:(S32) | #4:(S32) | + |:----:|:------:|:---:|:------:|:---:|:---:|:---:|:-----------: |:--: |:--: |:--: |:--: |:--: |:--: | + |0x4700| 0x020 | 6 | Rsp | Y | HD | UI | A/V BP Limit Change Response | \ref Data::mAccepted | \ref Data::mReason | \ref Data::mArterialLow | \ref Data::mArterialHigh | \ref Data::mVenousLow | \ref Data::mVenousHigh | + :param vAccepted: (int) boolean accept/reject response + :param vReason: (int) rejection reason + :param mArterialLow: (int) Arterial Pressure Limit Low (mmHg) + :param mArterialHigh: (int) Arterial Pressure Limit High (mmHg) + :param mVenousLow: (int) Venous Pressure Limit Low (mmHg) + :param mVenousHigh: (int) Venous Pressure Limit High (mmHg) + :return: (str) built message frame(s) + """ + msg = messageBuilder.buildMessage(GuiActionType.AdjustArterialVenousLimitsRsp, 6 * 4, True, + utils.toI32(vAccepted), + utils.toI32(vReason), + utils.toI32(vArterialLow), + utils.toI32(vArterialHigh), + utils.toI32(vVenousLow), + utils.toI32(vVenousHigh) + ) + return messageBuilder.toFrames(msg) + + +def sendTreatmentAdjustArterialVenousLimitsResponse(vAccepted, vReason, vArterialLow, vArterialHigh, vVenousLow, vVenousHigh): + """ + the Blood/dialysate rate change Response message setter/sender method + :param vAccepted: (int) boolean accept/reject response + :param vReason: (int) rejection reason + :param mArterialLow: (int) Arterial Pressure Limit Low (mmHg) + :param mArterialHigh: (int) Arterial Pressure Limit High (mmHg) + :param mVenousLow: (int) Venous Pressure Limit Low (mmHg) + :param mVenousHigh: (int) Venous Pressure Limit High (mmHg) + :return: none + """ + frames = buildTreatmentAdjustArterialVenousLimitsResponse(vAccepted, vReason, vArterialLow, vArterialHigh, vVenousLow, vVenousHigh) + frames = messageBuilder.toCandumpFormat(frames) + for frame in frames: + subprocess.call(['cansend', 'can0', '020#{}'.format(frame)]) + waitForMessageToBeSent() + + def buildTreatmentAdjustDurationResponse(vAccepted, vReason, vDuration, vUltrafiltration): """ the Treatment Duration change Response message builder method