void sfMGReset(UnitCodeSFMG unitCode) { if (this.InvokeRequired) { sfMGReset_Call d = new sfMGReset_Call(sfMGReset); this.BeginInvoke(d, new object[] { unitCode }); } else { reset(unitCode); } }
void reset(UnitCodeSFMG unitCode) { mc.OUT.SF.MG_RESET(unitCode, false, out ret.message); GB_.Enabled = mc.init.success.SF; if (unitCode == UnitCodeSFMG.MG1) { mc.sf.tubeStatus(UnitCodeSF.SF1, SF_TUBE_STATUS.INVALID); mc.sf.tubeStatus(UnitCodeSF.SF2, SF_TUBE_STATUS.INVALID); mc.sf.tubeStatus(UnitCodeSF.SF3, SF_TUBE_STATUS.INVALID); mc.sf.tubeStatus(UnitCodeSF.SF4, SF_TUBE_STATUS.INVALID); } if (unitCode == UnitCodeSFMG.MG2) { mc.sf.tubeStatus(UnitCodeSF.SF5, SF_TUBE_STATUS.INVALID); mc.sf.tubeStatus(UnitCodeSF.SF6, SF_TUBE_STATUS.INVALID); mc.sf.tubeStatus(UnitCodeSF.SF7, SF_TUBE_STATUS.INVALID); mc.sf.tubeStatus(UnitCodeSF.SF8, SF_TUBE_STATUS.INVALID); } mc.IN.SF.MG_DET(unitCode, out ret.b, out ret.message); if (!ret.b) { return; } if (unitCode == UnitCodeSFMG.MG1) { mc.IN.SF.TUBE_DET(UnitCodeSF.SF1, out ret.b1, out ret.message); mc.IN.SF.TUBE_DET(UnitCodeSF.SF2, out ret.b2, out ret.message); mc.IN.SF.TUBE_DET(UnitCodeSF.SF3, out ret.b3, out ret.message); mc.IN.SF.TUBE_DET(UnitCodeSF.SF4, out ret.b4, out ret.message); if (!ret.b1 && !ret.b2 && !ret.b3 && !ret.b4) { mc.OUT.SF.MG_RESET(unitCode, true, out ret.message); } if (ret.b1) { mc.sf.tubeStatus(UnitCodeSF.SF1, SF_TUBE_STATUS.READY); } if (ret.b2) { mc.sf.tubeStatus(UnitCodeSF.SF2, SF_TUBE_STATUS.READY); } if (mc.swcontrol.mechanicalRevision == 0) { if (ret.b3) { mc.sf.tubeStatus(UnitCodeSF.SF3, SF_TUBE_STATUS.READY); } if (ret.b4) { mc.sf.tubeStatus(UnitCodeSF.SF4, SF_TUBE_STATUS.READY); } } else { mc.sf.tubeStatus(UnitCodeSF.SF3, SF_TUBE_STATUS.INVALID); mc.sf.tubeStatus(UnitCodeSF.SF4, SF_TUBE_STATUS.INVALID); } } if (unitCode == UnitCodeSFMG.MG2) { mc.IN.SF.TUBE_DET(UnitCodeSF.SF5, out ret.b1, out ret.message); mc.IN.SF.TUBE_DET(UnitCodeSF.SF6, out ret.b2, out ret.message); mc.IN.SF.TUBE_DET(UnitCodeSF.SF7, out ret.b3, out ret.message); mc.IN.SF.TUBE_DET(UnitCodeSF.SF8, out ret.b4, out ret.message); if (!ret.b1 && !ret.b2 && !ret.b3 && !ret.b4) { mc.OUT.SF.MG_RESET(unitCode, true, out ret.message); } if (ret.b1) { mc.sf.tubeStatus(UnitCodeSF.SF5, SF_TUBE_STATUS.READY); } if (ret.b2) { mc.sf.tubeStatus(UnitCodeSF.SF6, SF_TUBE_STATUS.READY); } if (mc.swcontrol.mechanicalRevision == 0) { if (ret.b3) { mc.sf.tubeStatus(UnitCodeSF.SF7, SF_TUBE_STATUS.READY); } if (ret.b4) { mc.sf.tubeStatus(UnitCodeSF.SF8, SF_TUBE_STATUS.READY); } } } }