Go Down

Topic: Some help with Serial connection (Read 3756 times) previous topic - next topic


Ah, I see. Well, what can I say ? I'm interested too :P


In this instance, it looks like V-USB is being used to emulate a USB keyboard. If this is your goal, a Leonardo makes this functionality quite simple, as it has keyboard and mouse emulation libraries supplied in the IDE.


...so it would inject the data in whatever app has _focus_ at the moment, right ? If that's the case, the there's a chance that having the "wrong" app in focus while the data comes in would make "strange" things happen...



And does in fact happen if you have say an image maker open


And does in fact happen if you have say an image maker open

hmmm.... scary!  :P


Ahh.. Ok. Yes I've done this in the past - again in VB on windows. I had to find the process ID of the window I was looking for and use a windows API function to activate that window, then the vb.net sendkeys() function to send individual keystrokes to the app. Not sure if you can apply the same thing on linux or not, but here's what I did:

Private Function FindApp() As Int32
        ' Loop through process table, return process id of process named 'Notepad.exe'
        Dim proptr() As Process
        Dim Pid As Process
        proptr = Process.GetProcesses()     ' Get an array filled with all process IDs
        For Each Pid In proptr
                If Pid.MainModule.ModuleName = "Notepad.EXE" Then
                    Return Pid.Id           ' Notepad found, return process ID
                End If
            Catch ex As System.ComponentModel.Win32Exception
            Catch ex As InvalidOperationException
            End Try
    End Function

    Private Function ActivateApp() As Boolean
        ' Gives Notepad focus to receive HID keys
       Dim AppID as integer = FindAPP()

        If AppID <> 0 Then ' We found our application!
            Return True
        Else : Return False ' Not running??
        End If
    End Function

To use:
   SendKeys.SendWait("Keys to appear in notepad...")


This might be interesting (just saw it mentioned in another thread somewhere):



Not exactly what you're looking for, but on Linux a way to capture data coming in from the serial port is this:

minicom -D /dev/ttyUSB1 -b 115200 -o -C dump.txt

where /dev/ttyUSB1 must be changed to the actual device (e.g. ttuUSB0, etc.), and 115200 must be equal to the value given in Serial.begin() on the Arduino.

Go Up

Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

via Egeo 16
Torino, 10131