/// <summary> /// RF_Sample /// </summary> /// <param name="Addr">功放地址</param> /// <param name="Lvl">命令等级</param> /// <param name="status">功放状态对象</param> /// <returns>true成功 false超时</returns> private bool RF_Sample(int Addr, int Lvl, ref PowerStatus status) { bool RF_Succ = true; RFSignal.RFClear(Addr, Lvl); RFSignal.RFSample(Addr, Lvl); RFSignal.RFStart(Addr); if (Addr == exe_params.DevInfo.RF_Addr1) { RF_Succ = power1_Handle.WaitOne(1000, true); power1_Handle.Reset(); } else { RF_Succ = power2_Handle.WaitOne(1000, true); power2_Handle.Reset(); } //没有发生功放通信超时,则获取功放状态信息 if (RF_Succ) { RFSignal.RFStatus(Addr, ref status); } //返回通信超时的情况 return(!RF_Succ); }
public static bool NewRFSignal(int comAddr, int clsValue, int forValue) { bool flag = false; int lvl = RFPriority.LvlTwo; RFSignal.RFNewSignal(comAddr, ComNames[comAddr - 1], clsValue, forValue); RFSignal.EnableLog(false); if (RFSignal.RFConnected(comAddr, TimeOut)) { flag = true; RFSignal.RFClear(comAddr, lvl); //只有三维功放需要执行总查询 if (clsValue == clsSunWave) { RFSignal.RFSample2(comAddr, lvl); RFSignal.RFPower(comAddr, lvl, 30); } RFSignal.RFSample(comAddr, lvl); RFSignal.RFStart(comAddr); } return(flag); }
private bool RF_Do(int Addr, int Lvl, float P, float F, bool RFon, bool ignoreRFon, bool useP, bool useF, ref PowerStatus status) { bool RF_Succ = false; RFSignal.RFClear(Addr, Lvl); if (useP) { RFSignal.RFPower(Addr, Lvl, P); } if (useF) { RFSignal.RFFreq(Addr, Lvl, F); } if (!ignoreRFon) { if (RFon) { RFSignal.RFOn(Addr, Lvl); } else { RFSignal.RFOff(Addr, Lvl); } } RFSignal.RFSample(Addr, Lvl); RFSignal.RFStart(Addr); //等待功放 if (Addr == exe_params.DevInfo.RF_Addr1) { RF_Succ = power1_Handle.WaitOne(2000, true); power1_Handle.Reset(); } else { RF_Succ = power2_Handle.WaitOne(2000, true); power2_Handle.Reset(); } //没有发生功放通信超时,则获取功放状态信息 if (RF_Succ) { RFSignal.RFStatus(Addr, ref status); } //返回通信超时的情况 return(!RF_Succ); }