Document lightweight ring buffer header files.
[pub/USBasp.git] / Projects / TemperatureDataLogger / TempLogHostApp / DataLoggerSettings.cs
index 370dfbd..0168fb8 100644 (file)
-using System;\r
-using System.Collections.Generic;\r
-using System.ComponentModel;\r
-using System.Data;\r
-using System.Drawing;\r
-using System.Linq;\r
-using System.Text;\r
-using System.Windows.Forms;\r
-using Hid;\r
-\r
-namespace Project1HostApp\r
-{\r
-    public partial class frmDataloggerSettings : Form\r
-    {\r
-        private const int DEVICE_VID = 0x03EB;\r
-        private const int DEVICE_PID = 0xFAFA;\r
-\r
-        private struct Device_Report_t\r
-        {\r
-            public Byte Day;\r
-            public Byte Month;\r
-            public Byte Year;\r
-\r
-            public Byte Hour;\r
-            public Byte Minute;\r
-            public Byte Second;\r
-\r
-            public Byte LogInterval500MS;\r
-\r
-            public Byte[] ToReport()\r
-            {\r
-                Byte[] Report = new Byte[7];\r
-\r
-                Report[0] = this.Day;\r
-                Report[1] = this.Month;\r
-                Report[2] = this.Year;\r
-                Report[3] = this.Hour;\r
-                Report[4] = this.Minute;\r
-                Report[5] = this.Second;\r
-                Report[6] = this.LogInterval500MS;\r
-\r
-                return Report;\r
-            }\r
-\r
-            public void FromReport(Byte[] Report)\r
-            {\r
-                this.Day = Report[0];\r
-                this.Month = Report[1];\r
-                this.Year = Report[2];\r
-                this.Hour = Report[3];\r
-                this.Minute = Report[4];\r
-                this.Second = Report[5];\r
-                this.LogInterval500MS = Report[6];\r
-            }\r
-        };\r
-\r
-        private IDevice GetDeviceConnection()\r
-        {\r
-            IDevice[] ConnectedDevices = DeviceFactory.Enumerate(DEVICE_VID, DEVICE_PID);\r
-            IDevice ConnectionHandle = null;\r
-\r
-            if (ConnectedDevices.Count() > 0)\r
-                ConnectionHandle = ConnectedDevices[0];\r
-            else\r
-                return null;\r
-\r
-            // Fix report handle under Windows\r
-            if (ConnectionHandle is Hid.Win32.Win32DeviceSet)\r
-            {\r
-                ((Hid.Win32.Win32DeviceSet)ConnectionHandle).AddDevice(0x00,\r
-                    ((Hid.Win32.Win32DeviceSet)ConnectionHandle).UnallocatedDevices[0]);\r
-            }\r
-\r
-            return ConnectionHandle;\r
-        }\r
-\r
-        public frmDataloggerSettings()\r
-        {\r
-            InitializeComponent();\r
-        }\r
-\r
-        private void btnSetValues_Click(object sender, EventArgs e)\r
-        {\r
-            IDevice ConnectionHandle = GetDeviceConnection();\r
-\r
-            if (ConnectionHandle == null)\r
-            {\r
-                MessageBox.Show("Error: Cannot connect to DataLogger device.");\r
-                return;\r
-            }\r
-\r
-            Device_Report_t DeviceReport = new Device_Report_t();\r
-            DeviceReport.Day = (byte)dtpDate.Value.Day;\r
-            DeviceReport.Month = (byte)dtpDate.Value.Month;\r
-            DeviceReport.Year = (byte)((dtpDate.Value.Year < 2000) ? 0 : (dtpDate.Value.Year - 2000));\r
-            DeviceReport.Hour = (byte)dtpTime.Value.Hour;\r
-            DeviceReport.Minute = (byte)dtpTime.Value.Minute;\r
-            DeviceReport.Second = (byte)dtpTime.Value.Second;\r
-            DeviceReport.LogInterval500MS = (byte)(nudLogInterval.Value * 2);\r
-\r
-            try\r
-            {\r
-                ConnectionHandle.Write(0x00, DeviceReport.ToReport());\r
-                MessageBox.Show("Device parameters updated sucessfully.");\r
-            }\r
-            catch (Exception ex)\r
-            {\r
-                MessageBox.Show("Error: " + ex.Message);\r
-            }\r
-        }\r
-\r
-        private void btnGetValues_Click(object sender, EventArgs e)\r
-        {\r
-            IDevice ConnectionHandle = GetDeviceConnection();\r
-\r
-            if (ConnectionHandle == null)\r
-            {\r
-                MessageBox.Show("Error: Cannot connect to DataLogger device.");\r
-                return;\r
-            }\r
-\r
-            Device_Report_t DeviceReport = new Device_Report_t();\r
-\r
-            try\r
-            {\r
-                Byte[] Report = new Byte[7];\r
-\r
-                ConnectionHandle.Read(0x00, Report);\r
-                DeviceReport.FromReport(Report);\r
-\r
-                try\r
-                {\r
-                    dtpDate.Value = new DateTime(\r
-                        (2000 + DeviceReport.Year),\r
-                        DeviceReport.Month,\r
-                        DeviceReport.Day); \r
-                    \r
-                    dtpTime.Value = new DateTime(\r
-                        DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day,\r
-                        DeviceReport.Hour,\r
-                        DeviceReport.Minute,\r
-                        DeviceReport.Second);\r
-                }\r
-                catch (Exception ex)\r
-                {\r
-                    dtpDate.Value = DateTime.Now;\r
-                    dtpTime.Value = DateTime.Now;\r
-                }\r
-\r
-                try\r
-                {\r
-                    nudLogInterval.Value = (DeviceReport.LogInterval500MS / 2);\r
-                }\r
-                catch (Exception ex)\r
-                {\r
-                    nudLogInterval.Value = nudLogInterval.Minimum;\r
-                }\r
-\r
-                MessageBox.Show("Device parameters retrieved sucessfully.");\r
-            }\r
-            catch (Exception ex)\r
-            {\r
-                MessageBox.Show("Error: " + ex.Message);\r
-            }\r
-        }\r
-\r
-        private void frmDataloggerSettings_Load(object sender, EventArgs e)\r
-        {\r
-\r
-        }\r
-    }\r
-}\r
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Windows.Forms;
+using Hid;
+
+namespace Project1HostApp
+{
+    public partial class frmDataloggerSettings : Form
+    {
+        private const int DEVICE_VID = 0x03EB;
+        private const int DEVICE_PID = 0xFAFA;
+
+        private struct Device_Report_t
+        {
+            public Byte Day;
+            public Byte Month;
+            public Byte Year;
+
+            public Byte Hour;
+            public Byte Minute;
+            public Byte Second;
+
+            public Byte LogInterval500MS;
+
+            public Byte[] ToReport()
+            {
+                Byte[] Report = new Byte[7];
+
+                Report[0] = this.Day;
+                Report[1] = this.Month;
+                Report[2] = this.Year;
+                Report[3] = this.Hour;
+                Report[4] = this.Minute;
+                Report[5] = this.Second;
+                Report[6] = this.LogInterval500MS;
+
+                return Report;
+            }
+
+            public void FromReport(Byte[] Report)
+            {
+                this.Day = Report[0];
+                this.Month = Report[1];
+                this.Year = Report[2];
+                this.Hour = Report[3];
+                this.Minute = Report[4];
+                this.Second = Report[5];
+                this.LogInterval500MS = Report[6];
+            }
+        };
+
+        private IDevice GetDeviceConnection()
+        {
+            IDevice[] ConnectedDevices = DeviceFactory.Enumerate(DEVICE_VID, DEVICE_PID);
+            IDevice ConnectionHandle = null;
+
+            if (ConnectedDevices.Count() > 0)
+                ConnectionHandle = ConnectedDevices[0];
+            else
+                return null;
+
+            // Fix report handle under Windows
+            if (ConnectionHandle is Hid.Win32.Win32DeviceSet)
+            {
+                ((Hid.Win32.Win32DeviceSet)ConnectionHandle).AddDevice(0x00,
+                    ((Hid.Win32.Win32DeviceSet)ConnectionHandle).UnallocatedDevices[0]);
+            }
+
+            return ConnectionHandle;
+        }
+
+        public frmDataloggerSettings()
+        {
+            InitializeComponent();
+        }
+
+        private void btnSetValues_Click(object sender, EventArgs e)
+        {
+            IDevice ConnectionHandle = GetDeviceConnection();
+
+            if (ConnectionHandle == null)
+            {
+                MessageBox.Show("Error: Cannot connect to DataLogger device.");
+                return;
+            }
+
+            Device_Report_t DeviceReport = new Device_Report_t();
+            DeviceReport.Day = (byte)dtpDate.Value.Day;
+            DeviceReport.Month = (byte)dtpDate.Value.Month;
+            DeviceReport.Year = (byte)((dtpDate.Value.Year < 2000) ? 0 : (dtpDate.Value.Year - 2000));
+            DeviceReport.Hour = (byte)dtpTime.Value.Hour;
+            DeviceReport.Minute = (byte)dtpTime.Value.Minute;
+            DeviceReport.Second = (byte)dtpTime.Value.Second;
+            DeviceReport.LogInterval500MS = (byte)(nudLogInterval.Value * 2);
+
+            try
+            {
+                ConnectionHandle.Write(0x00, DeviceReport.ToReport());
+                MessageBox.Show("Device parameters updated sucessfully.");
+            }
+            catch (Exception ex)
+            {
+                MessageBox.Show("Error: " + ex.Message);
+            }
+        }
+
+        private void btnGetValues_Click(object sender, EventArgs e)
+        {
+            IDevice ConnectionHandle = GetDeviceConnection();
+
+            if (ConnectionHandle == null)
+            {
+                MessageBox.Show("Error: Cannot connect to DataLogger device.");
+                return;
+            }
+
+            Device_Report_t DeviceReport = new Device_Report_t();
+
+            try
+            {
+                Byte[] Report = new Byte[7];
+
+                ConnectionHandle.Read(0x00, Report);
+                DeviceReport.FromReport(Report);
+
+                try
+                {
+                    dtpDate.Value = new DateTime(
+                        (2000 + DeviceReport.Year),
+                        DeviceReport.Month,
+                        DeviceReport.Day); 
+                    
+                    dtpTime.Value = new DateTime(
+                        DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day,
+                        DeviceReport.Hour,
+                        DeviceReport.Minute,
+                        DeviceReport.Second);
+                }
+                catch (Exception ex)
+                {
+                    dtpDate.Value = DateTime.Now;
+                    dtpTime.Value = DateTime.Now;
+                }
+
+                try
+                {
+                    nudLogInterval.Value = (DeviceReport.LogInterval500MS / 2);
+                }
+                catch (Exception ex)
+                {
+                    nudLogInterval.Value = nudLogInterval.Minimum;
+                }
+
+                MessageBox.Show("Device parameters retrieved sucessfully.");
+            }
+            catch (Exception ex)
+            {
+                MessageBox.Show("Error: " + ex.Message);
+            }
+        }
+
+        private void frmDataloggerSettings_Load(object sender, EventArgs e)
+        {
+
+        }
+    }
+}