gambas-source-code/app/examples/Networking/SerialPort/.src/Module_RS232.module
Benoît Minisini c6a9cd69c2 [EXAMPLES]
* NEW: Add examples again. I hope correctly this time.


git-svn-id: svn://localhost/gambas/trunk@6726 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-12-12 19:58:52 +00:00

93 lines
2.2 KiB
Text

' Gambas module file
Public Sub EnumerateSerialInterfaces()
Dim i As Integer
With FMain
'Set operational parameters (used for testing only)
.SerialPort1.Speed = "19200"
.SerialPort1.Parity = 0
.SerialPort1.DataBits = "8"
.SerialPort1.StopBits = "1"
.SerialPort1.FlowControl = 0
'Clear Device Combo
FMain.ComboPortDeviceName.Clear()
'Standard USB Ports
For i = 0 To 8
.SerialPort1.PortName = "/dev/ttyS" & Format(i, "0")
Try .SerialPort1.Open
If Not Error
.ComboPortDeviceName.Add(.SerialPort1.PortName)
.SerialPort1.close
Endif
Next
'USB based ports
For i = 0 To 8
.SerialPort1.PortName = "/dev/ttyUSB" & Format(i, "0")
Try .SerialPort1.Open
If Not Error
.ComboPortDeviceName.Add(.SerialPort1.PortName)
.SerialPort1.close
Endif
Next
End With
End
Public Sub DisplaySerialInput(RX As String)
'This Routine displays serial data
Dim R As String
Dim i As Integer
With FMain
'Set cursor to the end of the text
.TextArea1.Pos = .TextArea1.Length
'CR is ommited because the TextArea control displays it as CR+LF
For i = 1 To Len(RX)
R = Mid$(RX, i, 1)
If R <> Chr$(13) Then
'Amend character
.TextArea1.insert(R)
Endif
Next
' 'Use the following alternatively to the above. It displays ASCII-values in [] if it is a control character (ASCII-value < 32)
' For i = 1 To Len(RX)
' R = Mid$(RX, i, 1)
' If Asc(R) > 31 Then
' .TextArea1.insert(R)
' Else
' If R <> Chr$(13) 'Ommit CR because the TextArea control display it as CR+LF
' .TextArea1.insert("[" & Format(Asc(R), "0") & "]" & R)
' Else
' .TextArea1.insert("[" & Format(Asc(R), "0") & "]")
' Endif
' Endif
' Next
End With
End
Public Sub CheckRS232Status()
'This dipslays the status of the RS232 handshake lines
With FMain.SerialPort1
FMain.CheckDSR.Value = .DSR
FMain.CheckDTR.Value = .DTR
FMain.CheckCTS.Value = .CTS
FMain.CheckRTS.Value = .RTS
FMain.CheckDCD.Value = .DCD
FMain.CheckRNG.Value = .RNG
End With
End