Index: dialin/squish/denaliMessages.py =================================================================== diff -u -re9104e0b4a45a64840a7cb66a115839698129844 -rfef5a97d8f0bc350e36ceee6b8ee6619d4f8e8de --- dialin/squish/denaliMessages.py (.../denaliMessages.py) (revision e9104e0b4a45a64840a7cb66a115839698129844) +++ dialin/squish/denaliMessages.py (.../denaliMessages.py) (revision fef5a97d8f0bc350e36ceee6b8ee6619d4f8e8de) @@ -37,6 +37,7 @@ import utils import messageBuilder + class EResponse: Rejected = 0 Accepted = 1 @@ -617,7 +618,46 @@ waitForMessageToBeSent() +## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +## 0x002F,040,N,HD,All,TreatmentSalineBolusData,(U32)^Target,(F32)^Cumulitive,(F32)^Delivered +## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +def buildTreatmentSalineBolusData(vTarget, vCumulitive, vDelivered): + msg = messageBuilder.buildMessage( 0x002F, 4+4+4, False, + utils.toI32(vTarget ), + utils.toF32(vCumulitive), + utils.toF32(vDelivered )) + return messageBuilder.toFrames(msg) + +## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +def setTreatmentSalineBolusData(vTarget, vCumulitive, vDelivered): + frames = buildTreatmentSalineBolusData(vTarget, vCumulitive, vDelivered) + frames = messageBuilder.toCandumpFormat(frames) + for frame in frames: + subprocess.call(['cansend', 'can0', '040#{}'.format(frame)]) + waitForMessageToBeSent() + + +## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +## 0x0014,020,Y,HD,UI,SalineBolusResponse,(U32)^Accepted,(U32)^Reason,(U32)^Target +## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +def buildSalineBolusResponse(vAccepted, vReason, vTarget): + msg = messageBuilder.buildMessage( 0x0014, 4+4+4, True, + utils.toI32(vAccepted), + utils.toI32(vReason ), + utils.toI32(vTarget )) + return messageBuilder.toFrames(msg) + + +## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +def setSalineBolusResponse(vAccepted, vReason, vTarget): + frames = buildSalineBolusResponse(vAccepted, vReason, vTarget) + frames = messageBuilder.toCandumpFormat(frames) + for frame in frames: + subprocess.call(['cansend', 'can0', '020#{}'.format(frame)]) + waitForMessageToBeSent() + + def buildCanBUSFaultCount(vCount): msg = messageBuilder.buildMessage(GuiActionType.CanBUSFaultCount, 4 * 1, False, utils.toI32(vCount)