HI,
lt. pb-Hilfe werden serial port Namen mit z.B. "/dev/ttySx" (x=ziffer) angesprochen. Auf meinem Mac gibt's solche Portnamen nicht (10.10. yosemite) was es gibt ist "/dev/tty.irgendwastext.yxz".
Wie kann ich denn nun solche Namen finden? Ziel ist, diese ports in ein spin Gadget einzubauen. Dazu brauche ich dann wohl die Portnamen als String.
Auf win ist das ja einfach. "COM" +str(zahl)
serial port name finden
- NicTheQuick
- Ein Admin
- Beiträge: 8679
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 32 GB DDR4-3200
Ubuntu 22.04.3 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
- Kontaktdaten:
Re: serial port name finden
Hast Du schon einmal die beiden Beispiele von Dave Houston aus dem englischen Forum ausprobiert?
Re: serial port name finden
HI,
@nicthequick: ja, das krieg ich hin, ist ein Auflisten nach Suchkriterien in der Konsole. Ich sehe derzeit nicht, wie ich das so umsetzten kann, dass in pb die ports automatisch gefunden werden. Die Benamungssystematik endet nach meinem bisherigen Amateur-Blick mit dem "." hinter "/dev/tty". Alles was nach dem "." kommt - so meine googelei - entbehrt jeglicher Festlegung.
@shardik: ah, in directories suchen erscheint mir logisch. So müßte ich die Namen als Text kriegen, die da drin liegen. Danke für den Tip. Probier ich mal aus.
@nicthequick: ja, das krieg ich hin, ist ein Auflisten nach Suchkriterien in der Konsole. Ich sehe derzeit nicht, wie ich das so umsetzten kann, dass in pb die ports automatisch gefunden werden. Die Benamungssystematik endet nach meinem bisherigen Amateur-Blick mit dem "." hinter "/dev/tty". Alles was nach dem "." kommt - so meine googelei - entbehrt jeglicher Festlegung.
@shardik: ah, in directories suchen erscheint mir logisch. So müßte ich die Namen als Text kriegen, die da drin liegen. Danke für den Tip. Probier ich mal aus.
Re: serial port name finden
Hi,
guter Tip. So funktioniert bei mir:
Habe dhouston's code aus dem oben referenzierten Beispiel für den "Mac-Ast" genommen. Findet alle Geräte in /dev/ und filtert nur die in die ComboBox, die auch seriell geöffnet werden können. Für mich eine sehr gute Lösung.
Merci.
guter Tip. So funktioniert bei mir:
Code: Alles auswählen
ClearGadgetItems(Combo_hd)
CompilerSelect #PB_Compiler_OS
CompilerCase #PB_OS_Windows
For i=1 To 256
If OpenSerialPort(0,"COM"+Str(I),57600,#PB_SerialPort_NoParity,8,2,#PB_SerialPort_NoHandshake,1024,1024);port erfolgreich geöffnet ?
AddGadgetItem(Combo_hd, -1, "COM"+Str(i))
CloseSerialPort(0)
EndIf
Next i
CompilerCase #PB_OS_MacOS
If ExamineDirectory(0,"/dev/","tty.*")
While NextDirectoryEntry(0)
If DirectoryEntryType(0) = #PB_DirectoryEntry_File
If OpenSerialPort(0,"/dev/"+DirectoryEntryName(0),57600,#PB_SerialPort_NoParity,8,2,#PB_SerialPort_NoHandshake,1024,1024);port erfolgreich geöffnet ?
AddGadgetItem(Combo_hd, -1, "/dev/"+DirectoryEntryName(0))
CloseSerialPort(0)
EndIf
EndIf
Wend
FinishDirectory(0)
EndIf
CompilerEndSelect
SetGadgetState(Combo_hd,0)
Merci.