/// <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); }
/// <summary> /// Rev /// </summary> /// <returns>true成功 false失败</returns> public static bool Rev() { bool rev = false; int[] value = new int[1]; if (App_Configure.Cnfgs.Gpio == 0) { GetPortVal(0x084d, value, 1); if (SetPortVal(0x084d, value[0] & 0xfe, 1)) { App_Configure.Cnfgs.Channel = 0; rev = true; } } else if (App_Configure.Cnfgs.Gpio == 4) { int[] original = new int[1]; if (GetPortVal(0x0a00, original, 1) == false) { return(false); } rev = SetPortVal(0x0a00, original[0] & 0xfe, 1); if (App_Configure.Cnfgs.Ms_switch_port_count >= 1) { RFSignal.RFClear(comAddr, RFPriority.LvlTwo); RFSignal.RFAssistGpo(comAddr, RFPriority.LvlTwo, 0); RFSignal.RFStart(comAddr); } } if (App_Configure.Cnfgs.Ms_switch_port_count >= 2 && App_Configure.Cnfgs.Gpio == 0) { GetPortVal(0x084d, value, 1); if (SetPortVal(0x084d, value[0] & 0xfe, 1)) { App_Configure.Cnfgs.Channel = 0; rev = true; } if (App_Configure.Cnfgs.Ms_switch_port_count >= 1) { RFSignal.RFClear(comAddr, RFPriority.LvlTwo); RFSignal.RFAssistGpo(comAddr, RFPriority.LvlTwo, 0); RFSignal.RFStart(comAddr); } } return(rev); }
/// <summary> /// Fwd /// </summary> /// <returns>true成功 false失败</returns> public static bool Fwd() { bool rev = false; int[] value = new int[1]; if (App_Configure.Cnfgs.Gpio == 0) { GetPortVal(0x084d, value, 1); if (SetPortVal(0x084d, value[0] | 0x01, 1)) { App_Configure.Cnfgs.Channel = 1; rev = true; } //} //else //{ // byte pinNum = Convert.ToByte(Width_pinNum.ToString(), 10); // if (gpioSucc) // { // if (susiGpio.susiGpio.WriteExHigh(pinNum)) // { // App_Configure.Cnfgs.Channel = 1; // rev = true; // } // } //} } else if (App_Configure.Cnfgs.Gpio == 4) { int[] original = new int[1]; if (GetPortVal(0x0a00, original, 1) == false) { return(false); } rev = SetPortVal(0x0a00, original[0] | 0x01, 1); if (App_Configure.Cnfgs.Ms_switch_port_count >= 1) { RFSignal.RFClear(comAddr, RFPriority.LvlTwo); RFSignal.RFAssistGpo(comAddr, RFPriority.LvlTwo, 1); RFSignal.RFStart(comAddr); } } return(rev); }
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); }
/// <summary> /// RF_Set /// </summary> /// <param name="Addr">功放地址</param> /// <param name="Lvl">命令等级</param> /// <param name="P">功率</param> /// <param name="F">频率</param> /// <param name="RFon">开启功放标识</param> /// <param name="ignoreRFon">忽略开功放标识</param> /// <param name="useP">设置功率标识</param> /// <param name="useF">设置频率标识</param> /// <returns>true成功 false超时</returns> private bool RF_Set(int Addr, int Lvl, float P, float F, bool RFon, bool ignoreRFon, bool useP, bool useF) { bool RF_Succ = true; RFSignal.RFClear(Addr, Lvl); //紫光功放改变频率会影响功率,需先设置频率;韩国功放改变功率会影响频率,需先设置功率 if (RF_Type == 0) { if (useF) { RFSignal.RFFreq(Addr, Lvl, F); } if (useP) { RFSignal.RFPower(Addr, Lvl, P); } } else { 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.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 (RFon == true && ignoreRFon == false) { if (RF_Type == 0) { if (Addr == exe_params.DevInfo.RF_Addr1) { Thread.Sleep(Wait_time1); } else { Thread.Sleep(Wait_time2); } } } else { if (RF_Type == 0) { Thread.Sleep(50); } else { Thread.Sleep(150); } } //返回通信超时的情况 return(!RF_Succ); }
public static bool Fwd(int num) { bool rev = false; int[] value = new int[1]; //if (App_Configure.Cnfgs.Gpio == 0) //{ if (num == 1) { // GPO 1= 0,2=1 //GetPortVal(0x084d, value, 1); if (SetPortVal(0x084d, 0x80, 1)) { App_Configure.Cnfgs.Channel = 0; rev = true; } //GetPortVal(0x084d, value, 1); //if (SetPortVal(0x084d, (value[0] | 0x40), 1)) //{ // App_Configure.Cnfgs.Channel = 0; // rev = true; //} } else if (num == 2) { // GPO 1= 1,2=1 //GetPortVal(0x084d, value, 1); if (SetPortVal(0x084d, 0x81, 1)) { App_Configure.Cnfgs.Channel = 1; rev = true; } //GetPortVal(0x084d, value, 1); //if (SetPortVal(0x084d, 0x40, 1)) //{ // App_Configure.Cnfgs.Channel = 1; // rev = true; //} } // if (App_Configure.Cnfgs.Ms_switch_port_count >= 2 && App_Configure.Cnfgs.Gpio == 0) { int[] original = new int[1]; GetPortVal(0x084d, value, 1); if (SetPortVal(0x084d, value[0] | 0x01, 1)) { App_Configure.Cnfgs.Channel = 1; rev = true; } if (App_Configure.Cnfgs.Ms_switch_port_count >= 1) { RFSignal.RFClear(comAddr, RFPriority.LvlTwo); RFSignal.RFAssistGpo(comAddr, RFPriority.LvlTwo, 1); RFSignal.RFStart(comAddr); } } return(rev); }