static void Main(string[] args) { try { //Declare an frequencycounter object FrequencyCounter freq = new FrequencyCounter(); //Hook the basic event handlers freq.Attach += new AttachEventHandler(accel_Attach); freq.Detach += new DetachEventHandler(accel_Detach); freq.Error += new ErrorEventHandler(accel_Error); //hook the phidget specific event handlers freq.Count += new FrequencyCounterCountEventHandler(freq_Count); //open the acclerometer object for device connections freq.open(); //get the program to wait for an frequencycounter device to be attached Console.WriteLine("Waiting for frequencycounter to be attached...."); freq.waitForAttachment(); //enable the inputs for (int i = 0; i < freq.inputs.Count; i++) { freq.inputs[i].Enabled = true; freq.inputs[i].Filter = FrequencyCounterInput.FilterType.LOGIC_LEVEL; } //Get the program to wait for user input before moving on so that we can //watch for some events Console.WriteLine("Press any key to end"); Console.Read(); //If user input has been read, we can now terminate the program, so //close the phidget object freq.close(); //set the object to null to clear it from memory freq = null; //if no exceptions have been trhown at this point, the program can //terminate safely Console.WriteLine("ok"); } catch (PhidgetException ex) { Console.WriteLine(ex.Description); } }
private void Form1_Load(object sender, EventArgs e) { freqCounter = new FrequencyCounter(); freqCounter.Attach += new AttachEventHandler(freqCounter_Attach); freqCounter.Detach += new DetachEventHandler(freqCounter_Detach); freqCounter.Error += new ErrorEventHandler(freqCounter_Error); freqCounter.Count += new FrequencyCounterCountEventHandler(freqCounter_Count); openCmdLine(freqCounter); }
private void CalcMubanData(Entity entity) { String result = String.Empty; var allTambon = entity.FlatList().Where(x => !x.IsObsolete && x.type == EntityType.Tambon); var allMuban = entity.FlatList().Where(x => !x.IsObsolete && x.type == EntityType.Muban); var mubanNumbers = allTambon.GroupBy(x => x.entity.Count(y => !y.IsObsolete && y.type == EntityType.Muban)) .Select(g => g.Key).ToList(); mubanNumbers.Sort(); if ( allMuban.Count() == 0 ) { result = "No Muban" + Environment.NewLine; } else { result = String.Format("{0} Muban; Tambon have between {1} and {2} Muban" + Environment.NewLine, allMuban.Count(), mubanNumbers.First(), mubanNumbers.Last()); var counter = new FrequencyCounter(); foreach ( var tambon in allTambon ) { counter.IncrementForCount(tambon.entity.Count(x => x.type == EntityType.Muban && !x.IsObsolete), tambon.geocode); } result += String.Format("Most common Muban number: {0}", counter.MostCommonValue) + Environment.NewLine; result += String.Format("Median Muban number: {0:0.0}", counter.MeanValue) + Environment.NewLine; List<UInt32> tambonWithNoMuban = null; if ( counter.Data.TryGetValue(0, out tambonWithNoMuban) ) { result += String.Format("Tambon without Muban: {0}", tambonWithNoMuban.Count) + Environment.NewLine; } } // could add: Muban creations in last years var tambonWithInvalidMubanNumber = TambonWithInvalidMubanNumber(allTambon); if ( tambonWithInvalidMubanNumber.Any() ) { result += Environment.NewLine + String.Format("Muban inconsistent for {0} Muban:", tambonWithInvalidMubanNumber.Count()) + Environment.NewLine; foreach ( var tambon in tambonWithInvalidMubanNumber ) { result += String.Format("{0}: {1}", tambon.geocode, tambon.english) + Environment.NewLine; } } txtMuban.Text = result; }
//When the form is being close, make sure to stop all the motors and close the Phidget. private void Form1_FormClosing(object sender, FormClosingEventArgs e) { freqCounter.Attach -= new AttachEventHandler(freqCounter_Attach); freqCounter.Detach -= new DetachEventHandler(freqCounter_Detach); freqCounter.Error -= new ErrorEventHandler(freqCounter_Error); freqCounter.Count -= new FrequencyCounterCountEventHandler(freqCounter_Count); Application.DoEvents(); //run any events in the message queue - otherwise close will hang if there are any outstanding events Application.DoEvents(); freqCounter.close(); freqCounter = null; }
static void Main(string[] args) { FrequencyCounter.LookUpDictionary("tale.txt", "web2.txt", 13); }