Index: dialin/squish/denaliMessages.py =================================================================== diff -u -r70d33208ec419b06cafa27c4b05d483948dcf741 -rc44d22ca38541a0396dbc32afec40c6b714c5f8e --- dialin/squish/denaliMessages.py (.../denaliMessages.py) (revision 70d33208ec419b06cafa27c4b05d483948dcf741) +++ dialin/squish/denaliMessages.py (.../denaliMessages.py) (revision c44d22ca38541a0396dbc32afec40c6b714c5f8e) @@ -97,48 +97,55 @@ """ subprocess.call(['cansend', 'can0', '020#A5.01.00.FF.FF.00.19.00']) + def send_acknowledge_UI(): """ the acknowledge from UI :return: none """ subprocess.call(['cansend', 'can0', '100#A5.01.00.FF.FF.00.19.00']) + def send_CheckIn_DG(): """ check-in (keep alive) message from DG :return: none """ subprocess.call(['cansend', 'can0', '010#A5.01.00.06.00.00.76.00']) - + + def show_PowerOffDialog(): """ the message from HD to UI to show the power off dialog :return: none """ subprocess.call(['cansend', 'can0', '020#A5.01.00.01.00.01.00.38']) + def hide_PowerOffDialog(): """ the message from HD to UI to hide the power off dialog :return: none """ subprocess.call(['cansend', 'can0', '020#A5.01.00.01.00.01.01.09']) + def show_PowerOffNotificationDialog(): """ the message from HD to UI to shew the shutting down notipication box :return: none """ subprocess.call(['cansend', 'can0', '040#A5.01.00.0E.00.00.24.00']) + def show_PowerOffRejectionDialog(): """ the message from HD to UI to show the power off dialog :return: none """ subprocess.call(['cansend', 'can0', '020#A5.01.00.01.00.01.02.5A']) + def waitForMessageToBeSent(): """ After each multi-frame message put a 100ms sleep, time.sleep(0.1) # @@ -147,8 +154,7 @@ """ time.sleep(0.050) # 50ms -## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + def buildHDDebugText(vText): """ the debug text message from HD builder method @@ -159,7 +165,8 @@ txt = messageBuilder.textToByte(vText, len) # + 1 null term msg = messageBuilder.buildMessage( GuiActionType.HDDebugText, 1 * (len + 1), False, txt) return messageBuilder.toFrames(msg) -## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + def setHDDebugText (vText): """ the debug text message from HD setter/sender method @@ -172,8 +179,7 @@ subprocess.call(['cansend', 'can0', '020#{}'.format(frame)]) waitForMessageToBeSent() -## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + def buildDGDebugText(vText): """ the debug text message from DG builder method @@ -185,7 +191,8 @@ msg = messageBuilder.buildMessage( GuiActionType.DGDebugText, 1 * (len + 1), False, txt) return messageBuilder.toFrames(msg) -## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + def setDGDebugText (vText): """ the debug text message from DG setter/sender method @@ -198,8 +205,7 @@ subprocess.call(['cansend', 'can0', '070#{}'.format(frame)]) waitForMessageToBeSent() -## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + def buildSetTreatmentParamRanges(vMinTreatmentDuration, vMaxTreatmentDuration, vMinUFVolume, vMaxUFVolume, vMinDialysateFlowRate, vMaxDialysateFlowRate): """ the Treatment adjustment param ranges data message builder method @@ -598,7 +604,7 @@ :param vSecsRem: (int) Treatment Remaining Time in Seconds :return: none """ - if vSecsRem == None: + if vSecsRem is None: vSecsRem = vSecsTotal - vSecsElap frames = buildTreatmentTime(vSecsTotal, vSecsElap, vSecsRem) frames = messageBuilder.toCandumpFormat(frames) @@ -653,8 +659,6 @@ waitForMessageToBeSent() -## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def buildPressureOcclusionData(vArterialPressure, vVenousPressure, vBloodPumpOcclusion, vDialysateInletPumpOcclusion, vDialysateOutletPumpOcclusion): """ the Pressure/Occlusion Data messages builder mehtod @@ -677,7 +681,6 @@ return messageBuilder.toFrames(msg) -## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def setPressureOcclusionData (vArterialPressure, vVenousPressure, vBloodPumpOcclusion, vDialysateInletPumpOcclusion, vDialysateOutletPumpOcclusion): """ the Pressure/Occlusion Data messages setter/sender mehtod @@ -695,8 +698,6 @@ waitForMessageToBeSent() -## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def buildDGROPumpData(vSetPtPressure, vFlowRate, vPWM): """ the DG RO Pump Data message builder method @@ -715,7 +716,6 @@ return messageBuilder.toFrames(msg) -## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def setDGROPumpData(vSetPtPressure, vFlowRate, vPWM): """ the DG RO Pump Data message setter/sender method @@ -731,8 +731,6 @@ waitForMessageToBeSent() -## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def buildDGPressuresData(vROInletPSI, vROOutletPSI, vDrainInletPSI, vDrainOutletPSI): """ the DG Pressures Data message builder method @@ -753,7 +751,6 @@ return messageBuilder.toFrames(msg) -## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def setDGPressuresData(vROInletPSI, vROOutletPSI, vDrainInletPSI, vDrainOutletPSI): """ the DG Pressures Data message setter/sender method @@ -770,8 +767,6 @@ waitForMessageToBeSent() -## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def buildDGDrainPumpData(vSetPtRPM, vDACValue): """ the DG Drain Pump Data message builder method @@ -788,7 +783,6 @@ return messageBuilder.toFrames(msg) -## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def setDGDrainPumpData(vSetPtRPM, vDACValue): """ the DG Drain Pump Data message setter/sender method @@ -803,8 +797,6 @@ waitForMessageToBeSent() -## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def buildDGOperationMode(vDGOpMode): """ the DG Operation Mode Data message builder method @@ -819,7 +811,6 @@ return messageBuilder.toFrames(msg) -## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def setDGOperationMode(vDGOpMode): """ the DG Operation Mode Data message setter/sender method @@ -833,8 +824,6 @@ waitForMessageToBeSent() -## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def buildDGReservoirData(vActiveReservoir, vFillToVolML, vDrainToVolML): """ the DG Reservoir Data message builder method @@ -853,7 +842,6 @@ return messageBuilder.toFrames(msg) -## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def setDGReservoirData(vActiveReservoir, vFillToVolML, vDrainToVolML): """ the DG Reservoir Data message setter/sender method @@ -869,8 +857,6 @@ waitForMessageToBeSent() -## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def buildDGValvesStates(vValvesStates): """ the DG Valves States Data message builder method @@ -885,7 +871,6 @@ return messageBuilder.toFrames(msg) -## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def setDGValvesStates(vValvesStates): """ the DG Valves States Data message setter/sender method @@ -899,8 +884,6 @@ waitForMessageToBeSent() -## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def buildDGHeatersData(vMainPriMaryDC, vSmallPrimaryDC, vTrimmerDC): """ the DG Heaters Data message builder method @@ -919,7 +902,6 @@ return messageBuilder.toFrames(msg) -## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def setDGHeatersData(vMainPriMaryDC, vSmallPrimaryDC, vTrimmerDC): """ the DG Heaters Data message setter/sender method @@ -935,8 +917,6 @@ waitForMessageToBeSent() -## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def buildDGLoadCellReadingsData(vRs1Prim, vRs1Bkup, vRs2Prim, vRs2Bkup): """ the DG Load Cell Readings Data message builder method @@ -957,7 +937,6 @@ return messageBuilder.toFrames(msg) -## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def setDGLoadCellReadingsData(vRs1Prim, vRs1Bkup, vRs2Prim, vRs2Bkup): """ the DG Load Cell Readings Data message setter/sender method @@ -974,8 +953,6 @@ waitForMessageToBeSent() -## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def buildDGTemperaturesData(vInletPrimaryHeater, vOutletPrimaryHeater, vConductivitySensor1, vConductivitySensor2, vOutletRedundancy, vInletDialysate, vPrimaryHeaterThermocouple, vTrimmerHeaterThermocouple, vPrimaryHeaterColdJunction, vTrimmerHeaterColdJunction, vPrimaryHeaterInternalTemperature, vTrimmerHeaterInternalTemperature): """ the DG Temperatures Data message builder method @@ -1020,7 +997,6 @@ return messageBuilder.toFrames(msg) -## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def setDGTemperaturesData(vInletPrimaryHeater, vOutletPrimaryHeater, vConductivitySensor1, vConductivitySensor2, vOutletRedundancy, vInletDialysate, vPrimaryHeaterThermocouple, vTrimmerHeaterThermocouple, vPrimaryHeaterColdJunction, vTrimmerHeaterColdJunction, vPrimaryHeaterInternalTemperature, vTrimmerHeaterInternalTemperature): """ the DG Temperatures Data message setter/sender method @@ -1045,8 +1021,6 @@ waitForMessageToBeSent() -## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def buildTreatmentStatesData(vSubMode, vUFState, vSalineState): """ the Treatment States Data message builder method @@ -1065,7 +1039,6 @@ return messageBuilder.toFrames(msg) -## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def setTreatmentStatesData(vSubMode, vUFState, vSalineState): """ the Treatment States Data message setter/sender method @@ -1080,16 +1053,14 @@ subprocess.call(['cansend', 'can0', '040#{}'.format(frame)]) waitForMessageToBeSent() -## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def setTreatmentStartState(): """ starting the treatment for user convenience since Tx is not by default running :return: none """ setTreatmentStatesData(txStates.TREATMENT_DIALYSIS_STATE, txStates.UF_PAUSED_STATE_NOT, txStates.SALINE_BOLUS_STATE_IDLE) -## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + def buildHDOperationModeData(vOpMode): """ the HD Operation Mode Data message builder method @@ -1104,7 +1075,6 @@ return messageBuilder.toFrames(msg) -## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def setHDOperationModeData(vOpMode): """ the HD Operation Mode Data message setter/sender method @@ -1118,8 +1088,6 @@ waitForMessageToBeSent() -## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def buildTreatmentSalineBolusData(vTarget, vCumulative, vDelivered): """ the Treatment Saline Bolus Data message builder method @@ -1138,7 +1106,6 @@ return messageBuilder.toFrames(msg) -## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def setTreatmentSalineBolusData(vTarget, vCumulative, vDelivered): """ the Treatment Saline Bolus Data message setter/sender method @@ -1154,8 +1121,6 @@ waitForMessageToBeSent() -## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def buildSalineBolusResponse(vAccepted, vReason, vTarget): """ the Saline Bolus Response message builder method @@ -1174,7 +1139,6 @@ return messageBuilder.toFrames(msg) -## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def setSalineBolusResponse(vAccepted, vReason, vTarget): """ the Saline Bolus Response message setter/sender method @@ -1255,8 +1219,7 @@ """ setAlarmStatus(0, 0, 0, 0, 0) -## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + def buildAlarmStatus(vState, vTop, vEscalatesIn, vMuteTimeout, vFlags): """ the Alarm Status message builder method @@ -1279,7 +1242,6 @@ return messageBuilder.toFrames(msg) -## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def setAlarmStatus (vState, vTop, vEscalatesIn, vMuteTimeout, vFlags): """ the Alarm Status message setter/sender method @@ -1297,8 +1259,6 @@ waitForMessageToBeSent() -## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def buildAlarmTriggered(vAlarmID): """ the Alarm Triggered message builder method @@ -1313,7 +1273,6 @@ return messageBuilder.toFrames(msg) -## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def setAlarmTriggered(vAlarmID): """ the Alarm Triggered message setter/sender method @@ -1327,8 +1286,6 @@ waitForMessageToBeSent() -## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def buildAlarmCleared(vAlarmID): """ the Alarm Cleared message builder method @@ -1343,7 +1300,6 @@ return messageBuilder.toFrames(msg) -## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def setAlarmCleared(vAlarmID): """ the Alarm Cleared message setter/sender method @@ -1355,4 +1311,3 @@ for frame in frames: subprocess.call(['cansend', 'can0', '001#{}'.format(frame)]) waitForMessageToBeSent() -