using System; using System.Collections.Generic; using System.Text; using System.IO.Ports; using VK011Manager; internal class Program { // Methods private static void Main(string[] args) { string port = "COM1"; int samplerate = 10; Console.Write("VK011 Test Application v0.99 Beta\n"); Console.Write("(c) 2008 Christian Donner (vk011@cdonner.com)\n\n"); Console.Write("Synopsis: VK011Console.exe [COM1|COM2|etc] [sample rate in seconds]\n"); Console.Write(" (COM1 is the default port, 10 seconds is the default sample rate)\n\n"); Console.Write("Examples: VK011Console // run on COM1, sample every 10 seconds\n"); Console.Write(" VK011Console COM2 60 // run on COM2, sample every minute\n"); Console.Write(" VK011Console 100 // run on COM1, sample every 100 seconds\n\n"); try { foreach(string arg in args) { if (arg.Contains("COM")) port = arg; else samplerate = int.Parse(arg); } new TestBed().RunVK011Tests(port, samplerate); } catch (Exception e) { Console.Write("Invalid parameter\n"); } } } internal class TestBed { // Methods private void ConfigVkMgr(VK011Manager.VK011Manager vkMgr, string port, int samplerate) { vkMgr.PortName = port; Console.Write("Port: {0}\n", vkMgr.PortName); vkMgr.BaudRate = 0x2580; Console.Write("Baud rate: {0}\n", vkMgr.BaudRate); vkMgr.DataBits = 8; Console.Write("Data bits: {0}\n", vkMgr.DataBits); vkMgr.StopBits = StopBits.One; Console.Write("Stop bits: {0}\n", vkMgr.StopBits); vkMgr.Parity = Parity.None; Console.Write("Parity: {0}\n", vkMgr.Parity); vkMgr.SampleRateUnit = "Sec"; vkMgr.SampleRateValue = samplerate; Console.Write("Sample rate: {0} {1}(s)\n", vkMgr.SampleRateValue, vkMgr.SampleRateUnit); vkMgr.CollectChannel1 = true; vkMgr.CollectChannel2 = false; vkMgr.CollectChannel3 = false; vkMgr.CollectChannel4 = false; Console.Write("Channels: 1:{0} 2:{1} 3:{2} 4:{3}\n", new object[] { vkMgr.CollectChannel1, vkMgr.CollectChannel2, vkMgr.CollectChannel3, vkMgr.CollectChannel4 }); vkMgr.CallBackHandler = new VK011Manager.TemperatureDataHandler(this.PortDataReceived); vkMgr.OnError = new VK011Manager.ErrorHandler(this.VK011Error); } private void PortDataReceived(TempRecord temperatures) { Console.Write(temperatures.timestamp); Console.Write("\n"); Console.Write(string.Format("Channel 1: {0}\n", temperatures.channel1Temperature)); Console.Write(string.Format("Channel 2: {0}\n", temperatures.channel2Temperature)); Console.Write(string.Format("Channel 3: {0}\n", temperatures.channel3Temperature)); Console.Write(string.Format("Channel 4: {0}\n", temperatures.channel4Temperature)); } public void RunVK011Tests(string port, int samplerate) { VK011Manager.VK011Manager vkMgr = new VK011Manager.VK011Manager(); Console.Write("Running configuration:\n"); this.ConfigVkMgr(vkMgr, port, samplerate); Console.Write("\nInitializing ... please wait\n"); if (vkMgr.InitVK011()) { Console.Write("Running (press Ctrl-C to cancel).\n"); while (true) { } } } private void VK011Error(string message, Exception e) { Console.Write(message); Console.Write("\n"); } }