Squashed 'tmk_core/' changes from caca2c0..dc0e46e
dc0e46e Rename LUFA to LUFA-git 3bfa7fa Remove LUFA-120730 215b764 Merge commit 'afa0f22a9299686fd88f58ce09c5b521ac917e8f' as 'protocol/lufa/LUFA' afa0f22 Squashed 'protocol/lufa/LUFA/' content from commit def7fca c0c42fa Remove submodule of LUFA 30f897d Merge commit '87ced33feb74e79c3281dda36eb6d6d153399b41' as 'protocol/usb_hid/USB_Host_Shield_2.0' 87ced33 Squashed 'protocol/usb_hid/USB_Host_Shield_2.0/' content from commit aab4a69 14f6d49 Remove submodule of USB_Host_Shield_2.0 git-subtree-dir: tmk_core git-subtree-split: dc0e46eaa4367d4e218f8816e3c117895820f07c
This commit is contained in:
parent
4d116a04e9
commit
f6d56675f9
1575 changed files with 421901 additions and 63190 deletions
|
@ -0,0 +1,179 @@
|
|||
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 = 0x2063;
|
||||
|
||||
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.Hour;
|
||||
Report[1] = this.Minute;
|
||||
Report[2] = this.Second;
|
||||
Report[3] = this.Day;
|
||||
Report[4] = this.Month;
|
||||
Report[5] = this.Year;
|
||||
Report[6] = this.LogInterval500MS;
|
||||
|
||||
return Report;
|
||||
}
|
||||
|
||||
public void FromReport(Byte[] Report)
|
||||
{
|
||||
this.Hour = Report[0];
|
||||
this.Minute = Report[1];
|
||||
this.Second = Report[2];
|
||||
this.Day = Report[3];
|
||||
this.Month = Report[4];
|
||||
this.Year = 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 successfully.");
|
||||
}
|
||||
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);
|
||||
String msgText = "Device parameters retrieved successfully.";
|
||||
|
||||
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)
|
||||
{
|
||||
msgText = "Problem reading device:\n" +
|
||||
ex.Message +
|
||||
"\nY:" + DeviceReport.Year.ToString() +
|
||||
" M:" + DeviceReport.Month.ToString() +
|
||||
" D:" + DeviceReport.Day.ToString() +
|
||||
"\n\nUsing current date and time.";
|
||||
dtpDate.Value = DateTime.Now;
|
||||
dtpTime.Value = DateTime.Now;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
nudLogInterval.Value = (DeviceReport.LogInterval500MS / 2);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
nudLogInterval.Value = nudLogInterval.Minimum;
|
||||
}
|
||||
|
||||
MessageBox.Show(msgText);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageBox.Show("Error: " + ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
private void frmDataloggerSettings_Load(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue