Sub Process_Globals
Private usbserial As felUsbSerial
Private manager As UsbManager
Private UsbPid As Int = 0xa
Private UsbVid As Int = 0x4D8
Private bc As ByteConverter
End Sub
Sub Globals
End Sub
Sub Activity_Create(FirstTime As Boolean)
If FirstTime Then
manager.Initialize
End If
Dim btnConnect As Button
btnConnect.Initialize("btnConnect")
btnConnect.Text = "Connect"
Activity.AddView(btnConnect, 10dip, 10dip, 100dip, 100dip)
End Sub
Sub btnConnect_Click
Dim UsbDevices() As UsbDevice
UsbDevices = manager.GetDevices
If UsbDevices.Length = 0 Then
ToastMessageShow("No connected usb devices.", True)
Else
For z = 0 To UsbDevices.Length - 1
Dim UsbDvc As UsbDevice
UsbDvc = UsbDevices(z)
Log("USBDeviceNr. " & z & " --- UsbPid = " & UsbDvc.ProductId)
If (UsbDvc.ProductId = UsbPid) And (UsbDvc.VendorId = UsbVid) Then
If manager.HasPermission(UsbDvc) = False Then
ToastMessageShow("Please allow connection and click again.", True)
manager.RequestPermission(UsbDvc)
Else
If usbserial.IsInitialized Then usbserial.Close
Log("Initialize USBDeviceNr. " & z )
usbserial.Initialize("serial", UsbDvc, -1) <-- Line55
usbserial.BaudRate = 57600
usbserial.DataBits = usbserial.DATA_BITS_8
Set232(usbserial, True, False)
usbserial.StartReading
End If
Exit
End If
Next
End If
End Sub
Private Sub serial_DataAvailable (Buffer() As Byte)
Log("New data: " & bc.HexFromBytes(Buffer))
End Sub
Sub Waitms(ms As Int)
Dim Ti As Long
Ti = DateTime.Now + (ms)
Do While DateTime.Now < Ti
DoEvents
Loop
End Sub
Sub Set232(USB As felUsbSerial, RTSBool As Boolean, DTRBool As Boolean)
Dim r As Reflector
r.Target = USB
r.Target = r.getField("driver")
r.RunMethod2("setRTS", RTSBool, "java.lang.boolean")
r.RunMethod2("setDTR", DTRBool, "java.lang.boolean")
Waitms(2000)
End Sub