static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); while (true) { /***************** Connection START *****************/ if (new SearchReaderForm().ShowDialog() == DialogResult.OK) { foreach (string ip in ConnectIPList) { CSLibrary.Windows.UI.SplashScreen.Show(CSLibrary.Windows.UI.SplashScreen.CSL.CS203); /* You can start separate thread to speed up connection time */ /* TODO : */ HighLevelInterface localReader = new HighLevelInterface(); if (localReader.Connect(ip, 60 * 1000) == CSLibrary.Constants.Result.OK) { localReader.Name = ip; ReaderList.Add(localReader); } else { MessageBox.Show(string.Format("Error::Connect Reader <{0}> failed", ip)); } } /***************** Application START *****************/ Application.Run(new ReadTagForm()); /***************** Application END *****************/ } else { return; } /***************** Dispose START *****************/ foreach (HighLevelInterface reader in ReaderList) { reader.Disconnect(); reader.Dispose(); } ReaderList.Clear(); CSLibrary.Windows.UI.SplashScreen.Stop(); /***************** Dispose END *****************/ /***************** Connection END *****************/ } }
private void btnStopPoll_Click(object sender, EventArgs e) { if (HighLevelInterface.StopPollGPIStatus() == Result.OK) { tsStatus.Text = "StopPollGPIStatus OK!"; } else { tsStatus.Text = "StopPollGPIStatus Failed!"; } }
private void btnGPI0Interrupt_Click(object sender, EventArgs e) { if (HighLevelInterface.SetGPI0Interrupt(tbIpAddress.Text, (GPIOTrigger)cbGPI0Interrupt.SelectedIndex) == Result.OK) { tsStatus.Text = "SetGPI0Interrupt OK!"; } else { tsStatus.Text = "SetGPI0Interrupt Failed!"; } }
private void btnGPO1Off_Click(object sender, EventArgs e) { if (HighLevelInterface.SetGPO1Status(tbIpAddress.Text, false) == Result.OK) { tsStatus.Text = "SetGPO1Status OK!"; } else { tsStatus.Text = "SetGPO1Status Failed!"; } }
private void btnKeepAliveOn_Click(object sender, EventArgs e) { if (HighLevelInterface.UDPKeepAliveOn(tbIpAddress.Text) == Result.OK) { tsStatus.Text = "UDPKeepAliveOn OK!"; } else { tsStatus.Text = "UDPKeepAliveOn Failed!"; } }
private void btnForceReset_Click(object sender, EventArgs e) { if (HighLevelInterface.ForceReset(tbIpAddress.Text) == Result.OK) { tsStatus.Text = "ForceReset OK!"; } else { tsStatus.Text = "ForceReset Failed!"; } }
private void button_Get5VStatus_Click(object sender, EventArgs e) { bool ret = false; if (HighLevelInterface.Get5VPowerOut(tbIpAddress.Text, ref ret) == Result.OK) { if (ret) { label_5VOutStatus.Text = "ON"; } else { label_5VOutStatus.Text = "OFF"; } } else { label_5VOutStatus.Text = "UNKNOWN"; } }
private void button_GetGPI1_Click(object sender, EventArgs e) { bool ret = false; if (HighLevelInterface.GetGPI1Status(tbIpAddress.Text, ref ret) == Result.OK) { if (ret) { lbGPI1.Text = "ON"; } else { lbGPI1.Text = "OFF"; } } else { lbGPI1.Text = "UNKNOWN"; } }
private void btnCheck_Click(object sender, EventArgs e) { //while (true) { DEVICE_STATUS st = new DEVICE_STATUS(); if (HighLevelInterface.CheckStatus(tbIpAddress.Text, ref st) == Result.OK) { lbConnect.Text = st.IsConnected ? "CONNECTED" : "LISTENING"; lbElapsed.Text = st.GetElapsedTime().ToString(); lbKeepAlive.Text = st.IsKeepAlive ? "ON" : "OFF"; lbPower.Text = st.IsPowerOn ? "ON" : "OFF"; lbReset.Text = st.IsErrorReset ? "ON" : "OFF"; lbCrcFilter.Text = st.IsCRCFilter ? "ON" : "OFF"; tsStatus.Text = "CheckStatus OK!"; } else { lbConnect.Text = "UNKNOWN"; lbElapsed.Text = "UNKNOWN"; lbKeepAlive.Text = "UNKNOWN"; lbPower.Text = "UNKNOWN"; lbReset.Text = "UNKNOWN"; lbCrcFilter.Text = "UNKNOWN"; tsStatus.Text = "CheckStatus Failed!"; } bool gpi0 = false, gpi1 = false; if (HighLevelInterface.GetGPIStatus(tbIpAddress.Text, ref gpi0, ref gpi1) == Result.OK) { lbGPI0.Text = gpi0 ? "ON" : "OFF"; lbGPI1.Text = gpi1 ? "ON" : "OFF"; tsStatus.Text = "CheckGPI1Status OK!"; } else { lbGPI0.Text = "UNKNOWN"; lbGPI1.Text = "UNKNOWN"; tsStatus.Text = "CheckGPI1Status Failed!"; } if (HighLevelInterface.GetGPOStatus(tbIpAddress.Text, ref gpi0, ref gpi1) == Result.OK) { lbGPO0.Text = gpi0 ? "ON" : "OFF"; lbGPO1.Text = gpi1 ? "ON" : "OFF"; tsStatus.Text = "CheckGPI1Status OK!"; } else { lbGPO0.Text = "UNKNOWN"; lbGPO1.Text = "UNKNOWN"; tsStatus.Text = "CheckGPI1Status Failed!"; } GPIOTrigger gpi0Trigger = GPIOTrigger.OFF, gpi1Trigger = GPIOTrigger.OFF; if (HighLevelInterface.GetGPIInterrupt(tbIpAddress.Text, ref gpi0Trigger, ref gpi1Trigger) == Result.OK) { lbGPI0Interrupt.Text = gpi0Trigger.ToString(); lbGPI1Interrupt.Text = gpi1Trigger.ToString(); tsStatus.Text = "GetGPIInterrupt OK!"; } else { lbGPI0Interrupt.Text = "UNKNOWN"; lbGPI1Interrupt.Text = "UNKNOWN"; tsStatus.Text = "GetGPIInterrupt Failed!"; } Application.DoEvents(); System.Threading.Thread.Sleep(1); } }
private void button_Set5VOff_Click(object sender, EventArgs e) { HighLevelInterface.Set5VPowerOut(tbIpAddress.Text, false); }
void ReaderXP_StateChangedEvent(object sender, CSLibrary.Events.OnStateChangedEventArgs e) { this.BeginInvoke((System.Threading.ThreadStart) delegate() { switch (e.state) { case RFState.IDLE: watchrate.Stop(); //ControlPanelForm.EnablePannel(true); EnableButton(ButtonState.Start, true); EnableButton(ButtonState.Stop, false); EnableTimer(false); if (mStop) { this.Close(); } break; case RFState.BUSY: watchrate.Reset(); watchrate.Start(); totaltags = 0; totalcrc = 0; EnableButton(ButtonState.Start, false); EnableButton(ButtonState.Stop, true); EnableTimer(true); break; case RFState.RESET: { HighLevelInterface reader = (HighLevelInterface)(sender); while (true) { if (reader.Reconnect(1) == Result.OK) { break; } Thread.Sleep(1000); } } if (ControlPanelForm.ControlPanel.checkBoxLog.Checked) { TextWriter tw = new StreamWriter(CS203_CALLBACK_API_DEMO.ControlPanelForm.ControlPanel.textBox_LogPath.Text + "\\CycleLog.Txt", true); tw.WriteLine("{0} : System Reset", DateTime.Now.ToString()); tw.Close(); } //Use other thread to create progress Reset(); //reset = new Thread(new ThreadStart(Reset)); //reset.Start(); break; case RFState.ABORT: //ControlPanelForm.EnablePannel(false); break; case RFState.ANT_CYCLE_END: AntCycleCount++; totaltagscycle = totaltagsthiscycle; totaltagsthiscycle = 0; if (ControlPanelForm.ControlPanel.checkBoxLog.Checked) // ControlPanelForm.ControlPanel.checkBoxSaveSummary.Checked) { int portbusy = 0; int common = 0; //TextWriter tw = new StreamWriter(ControlPanelForm.SummaryFile, true); TextWriter tw = new StreamWriter(CS203_CALLBACK_API_DEMO.ControlPanelForm.ControlPanel.textBox_LogPath.Text + "\\CycleLog.Txt", true); tw.Write("{0} : Cycle {1}, {2} Tag/Cycle, Channel State : ", DateTime.Now.ToString(), AntCycleCount, totaltagscycle); for (int cnt = 0; cnt < 16; cnt++) { if (Program.ReaderXP.ChannelStatus[cnt] == RFState.CH_BUSY) { portbusy = 1; if (common == 0) { tw.Write("Port Busy "); } else { tw.Write(", "); } tw.Write("{0}", cnt); common = 1; } } if (portbusy == 0) { tw.WriteLine("CLEAR"); } else { tw.WriteLine(""); } tw.Close(); } numChannelBusy = 0; if (AntCycleTimeCount <= 4) { AntCycleTime[AntCycleTimeCount++] = Environment.TickCount; } else { AntCycleTime[0] = AntCycleTime[1]; AntCycleTime[1] = AntCycleTime[2]; AntCycleTime[2] = AntCycleTime[3]; AntCycleTime[3] = AntCycleTime[4]; AntCycleTime[4] = Environment.TickCount; } break; } }); }