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  *****************/

            }
        }
Example #2
0
 private void btnStopPoll_Click(object sender, EventArgs e)
 {
     if (HighLevelInterface.StopPollGPIStatus() == Result.OK)
     {
         tsStatus.Text = "StopPollGPIStatus OK!";
     }
     else
     {
         tsStatus.Text = "StopPollGPIStatus Failed!";
     }
 }
Example #3
0
 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!";
     }
 }
Example #4
0
 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!";
     }
 }
Example #5
0
 private void btnKeepAliveOn_Click(object sender, EventArgs e)
 {
     if (HighLevelInterface.UDPKeepAliveOn(tbIpAddress.Text) == Result.OK)
     {
         tsStatus.Text = "UDPKeepAliveOn OK!";
     }
     else
     {
         tsStatus.Text = "UDPKeepAliveOn Failed!";
     }
 }
Example #6
0
 private void btnForceReset_Click(object sender, EventArgs e)
 {
     if (HighLevelInterface.ForceReset(tbIpAddress.Text) == Result.OK)
     {
         tsStatus.Text = "ForceReset OK!";
     }
     else
     {
         tsStatus.Text = "ForceReset Failed!";
     }
 }
Example #7
0
        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";
            }
        }
Example #8
0
        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";
            }
        }
Example #9
0
        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);
            }
        }
Example #10
0
 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;
                }
            });
        }