Exemple #1
0
        static void Main(string[] args)
        {
            //NetworkSimulator network;
            NetworkListener listener = new NetworkListener("Race Host");
            //TagPassing passDetector = new TagPassing();
            //passDetector.AddReader(listener);
            LoggerConsole log = new LoggerConsole();
            LoggerSummary countLogger = new LoggerSummary();
            LoggerBinary binaryLog = new LoggerBinary("tagReadings.bin");
            //LoggerText textLog = new LoggerText("tagReadings.txt");
            //LoggerXML log = new LoggerXML("test.xml");
            //log.AddReader(listener);
            int initialiCapacity = 10000;
            PriorityCollectionBlocking<TagInfo> queue = new PriorityCollectionBlocking<TagInfo>("Queue", initialiCapacity);
            BufferReadings buffer = new BufferReadings(queue);
            ProcessBufferedReadings passDetector = new ProcessBufferedReadings("Pass Detector", queue);
            binaryLog.AddPublisher(listener);
            buffer.AddPublisher(listener);
            countLogger.AddPublisher(listener);
            log.AddPublisher(passDetector);
            passDetector.Start();
            listener.Start();

            //System.Windows.Forms.OpenFileDialog fileDialog = new System.Windows.Forms.OpenFileDialog();
            //if (fileDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            //{
            //    string filename = fileDialog.FileName;
            //    if (System.IO.File.Exists(filename))
            //    {
            //        network = new NetworkSimulator(filename, new TestTagProcessor());
            //        network.AddListener(listener);
            //        network.Start(true);
            //        //log.Serialize();
            //    }
            //    else
            //    {
            //        Console.WriteLine("Error! The specified file does not exist. Rerun the applications.");
            //    }
            //}

            Console.WriteLine("Press any key stop the reading ...");
            Console.Read();
            listener.End();
            passDetector.Exit();
            countLogger.PrintStatsToConsole();
            binaryLog.Dispose();
            Console.WriteLine("Press any key to exit the demo ...");
            Console.Read();
            Environment.Exit(0);
        }
        private void startCollectingDataButton_Click(object sender, EventArgs e)
        {
            //MessageBox.Show("SleepTime is: " + Config.Instance.SleepTime + "; PortNumber is: " + Config.Instance.PortNumber);
            
            startCollectingDataButton.Enabled = false;
            stopCollectingDataButton.Enabled = true;
            //so that user won't switch during the event:
            this.selectedRaceComboBox.Enabled = false;
            this.eventComboBox.Enabled = false;
            ResetRaceStandingsGrid();
            
            //passingsDataGrid.DataSource = new BindingList<PassingsInfo>();
            
            readingsLogger = new TagSubscriber(LogReadings);
            passingsLogger = new TagSubscriber(LogPassings);
                        
            readingsQueue = new PriorityCollectionNonBlocking<TagInfo>("Queue", 1024);
            passingsQueue = new PriorityCollectionNonBlocking<TagInfo>("Queue", 1024);

#if V15
            HardcardServer.NetworkPort = Properties.Settings.Default.PortNumber;
            HardcardServer.PassingSleepTime = 1000;
            server = new HardcardServer("Hardcard Race System");
            //LoggerConsole log = new LoggerConsole();
            //LoggerSummary countLogger = new LoggerSummary();
            //LoggerBinary binaryLog = new LoggerBinary("tagReadings.bin");
            //binaryLog.AddPublisher(server.IndividualReadingPublisher);
            //countLogger.AddPublisher(server.IndividualReadingPublisher);
            //countLogger.DesiredTagTypes = TagEventType.Read;

            readingsLogger.AddPublisher(server.PassingsPublisher);
            readingsLogger.DesiredTagTypes = TagEventType.PassDetermined;
            passingsLogger.AddPublisher(server.PassingsPublisher);
            passingsLogger.DesiredTagTypes = TagEventType.PassDetermined;

            bool useXML = Properties.Settings.Default.useXML;
            networkFeed = new NetworkPublisher(useXML);
            networkFeed.Server = Properties.Settings.Default.serverIP;
            networkFeed.Port = Properties.Settings.Default.serverPortNumber;
            networkFeed.AddPublisher(server.PassingsPublisher);
            networkFeed.DesiredTagTypes = TagEventType.PassDetermined;
            networkFeed.Start();
            server.Start();

#else
            int portNumber = Properties.Settings.Default.PortNumber;
            networkListener = new NetworkListener("Race Host",portNumber);
            int initialCapacity = 10000;
            PriorityCollectionBlocking<TagInfo> queue = new PriorityCollectionBlocking<TagInfo>("Queue", initialCapacity);
            // The queue above is used to communicate between the buffer below and the passDetector.
            BufferReadings buffer = new BufferReadings(queue);
            passDetector = new ProcessBufferedReadings("Pass Detector", queue);
            buffer.AddPublisher(networkListener);

            // Subscribe the loggers to the publishers.
            readingsLogger.AddPublisher(networkListener);
            passingsLogger.AddPublisher(passDetector);
            passDetector.Start();
            networkListener.Start();
#endif
        }
 private void StartRaceThread()
 {
     listener = new NetworkListener("Race Host");
     int initialiCapacity = 10000;
     PriorityCollectionBlocking<TagInfo> queue = new PriorityCollectionBlocking<TagInfo>("Queue", initialiCapacity);
     // The queue above is used to communicate between the buffer below and the passDetector.
     BufferReadings buffer = new BufferReadings(queue);
     passDetector = new ProcessBufferedReadings("Pass Detector", queue);
     buffer.AddPublisher(listener);
     // Subscribe the loggers to the publishers.
     readingsLogger.AddPublisher(listener);
     binaryLogger.AddPublisher(listener);
     passingsLogger.AddPublisher(passDetector);
     // Start the pass detection in its own thread.
     passDetector.Start();
     // Start the networkListener.
     listener.Start();
 }
Exemple #4
0
 private void StartRaceThread()
 {
     listener = new NetworkListener("Race Host");
     int initialiCapacity = 10000;
     PriorityCollectionBlocking<TagInfo> queue = new PriorityCollectionBlocking<TagInfo>("Queue", initialiCapacity);
     BufferReadings buffer = new BufferReadings(queue);
     passDetector = new ProcessBufferedReadings("Pass Detector", queue);
     readingsLogger.AddPublisher(listener);
     buffer.AddPublisher(listener);
     passingsLogger.AddPublisher(passDetector);
     passDetector.Start();
     listener.Start();
 }