kaveh rahimi6

  • Thread starter Thread starter kaveh rahimi123456789
  • Start date Start date
K

kaveh rahimi123456789

Guest
i want receive the data which is read in the program below and process on it and its containing byte and make decision on them.

the code is:

using System;
using System.Text;
using LibUsbDotNet;
using LibUsbDotNet.LibUsb;
using LibUsbDotNet.Main;
using System.Windows;

namespace WpfApplication1
{


/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{


private void Init(object sender, RoutedEventArgs e)
{
byte[] data = ReadPolling.Read();

}
}



public class ReadPolling
{
public static UsbDevice MyUsbDevice;

#region SET YOUR USB Vendor and Product ID!

public static UsbDeviceFinder MyUsbFinder = new UsbDeviceFinder(1234, 1);

#endregion

public static byte[] Read()
{
Error ec = Error.Success;

using (UsbContext context = new UsbContext())
{
try
{
// Find and open the usb device.
MyUsbDevice = (UsbDevice)context.Find(MyUsbFinder);

// If the device is open and ready
if (MyUsbDevice == null) throw new Exception("Device Not Found.");

// If this is a "whole" usb device (libusb-win32, linux libusb-1.0)
// it exposes an IUsbDevice interface. If not (WinUSB) the
// 'wholeUsbDevice' variable will be null indicating this is
// an interface of a device; it does not require or support
// configuration and interface selection.
IUsbDevice wholeUsbDevice = MyUsbDevice as IUsbDevice;
if (!ReferenceEquals(wholeUsbDevice, null))
{
// This is a "whole" USB device. Before it can be used,
// the desired configuration and interface must be selected.

// Select config #1
wholeUsbDevice.SetConfiguration(1);

// Claim interface #0.
wholeUsbDevice.ClaimInterface(0);
}

// open read endpoint 1.
var reader = MyUsbDevice.OpenEndpointReader(ReadEndpointID.Ep01);


byte[] readBuffer = new byte[1024];
while (ec == Error.Success)
{
int bytesRead;

// If the device hasn't sent data in the last 5 seconds,
// a timeout error (ec = IoTimedOut) will occur.
ec = reader.Read(readBuffer, 5000, out bytesRead);

if (bytesRead == 0) throw new Exception(string.Format("{0}:No more bytes!", ec));
Console.WriteLine("{0} bytes read", bytesRead);

// Write that output to the console.
Console.Write(Encoding.Default.GetString(readBuffer, 0, bytesRead));
}

Console.WriteLine("\r\nDone!\r\n");
return readBuffer;
}
catch (Exception ex)
{
Console.WriteLine();
Console.WriteLine((ec != Error.Success ? ec + ":" : String.Empty) + ex.Message);
}
finally
{
if (MyUsbDevice != null)
{
if (MyUsbDevice.IsOpen)
{
// If this is a "whole" usb device (libusb-win32, linux libusb-1.0)
// it exposes an IUsbDevice interface. If not (WinUSB) the
// 'wholeUsbDevice' variable will be null indicating this is
// an interface of a device; it does not require or support
// configuration and interface selection.
IUsbDevice wholeUsbDevice = MyUsbDevice as IUsbDevice;
if (!ReferenceEquals(wholeUsbDevice, null))
{
// Release interface #0.
wholeUsbDevice.ReleaseInterface(0);
}

MyUsbDevice.Close();
}
MyUsbDevice = null;
}

}
}
return null;
}
}

}

Continue reading...
 

Similar threads

K
Replies
0
Views
62
kaveh rahimi123456789
K
K
Replies
0
Views
193
kaveh rahimi123456789
K
E
Replies
0
Views
121
elfenliedtopfan55
E
K
Replies
0
Views
61
kaveh rahimi123456789
K
Back
Top