Seite 1 von 1

Pyserial problem unter Cygwin/bash

Verfasst: Montag 26. Juli 2010, 22:05
von coca
Hallo,

ich kann mir eine Sache nicht genau erklären, vieleicht gibt es jemanden der den entscheidenden hint hat :)

Wenn ich mit python 2.7 unter Windows arbeite und mich zu einem target mittels serial port verbinde und das target mir Daten schickt, funktioniert alles prima. Die print und readlines purzeln Quasi in echtzeit raus und die Welt ist in Ordnung.
Code Ausschnitt:

Code: Alles auswählen

while not fileLoad:
      for lines in s.readlines():
         print lines,
         if lines.find('DrvOpen: link Major is:') >= 0:
            s.write('e')
Beim gleichen unter Cygwin mit Python 6.5 (+ pyserial) in ner bash shell, sieht die Sache anders aus. Es kommt der ganze kram über die serial schnittstelle Rx Tx mit einer riesigen Latenz, teilweiese 5 sec daher bis überhaupt etwas passiert. So kann man damit nicht arbeiten ...

Meine Frage weiß jemand woran das liegt ?
Meine Vermutung liegt irgendwie an Bash, aber ick wess nich mehr so recht weiter.

Falls das noch wichtig ist, zum Cygwin bash connecte ich mittels puttycyg.
Habe pyserial 2.5 rc1 und rc2 getestet. Meine Initialisierung für win und cygwin sieht so aus:

Code: Alles auswählen

s = serial.Serial(COM, BAUD, timeout=1)

Re: Pyserial problem unter Cygwin/bash

Verfasst: Dienstag 27. Juli 2010, 13:33
von mkesper
Hmm, da scheint eventuell Kompression eingeschaltet zu sein oder Nagles Algorithmus wird nicht deaktiviert.
Gibt's eventuell eine andere Lösung?
Was willst du denn genau erreichen?

Re: Pyserial problem unter Cygwin/bash

Verfasst: Dienstag 27. Juli 2010, 14:46
von coca
Hi,

erreichen eigentlich nur das ich komplett mit meinem Projekt unter Python Cygwin arbeiten wollte.
Aber ich kann es ja auch genauso gut unter Windows tun. Es sind ja letzlich alles nur Prozesse ob win oder cygwin.
Lösung ist das ich mit python unter windows arbeite, da funktionert es ja.
Mich intressiert einfach nur, ob jemand eine lösung für das geschilderte Problem kennt. Habe etwas längere Zeit verbracht (erfolglos :( ) den Grund zu finden, warum rX tX mit riesen latenzen daher kommen, unter cygwin python.

Re: Pyserial problem unter Cygwin/bash

Verfasst: Dienstag 27. Juli 2010, 15:21
von BlackJack
@coca: Hast Du dass den auch mal mit Cygwin direkt auf dem Rechner ausgeführt. Ich denke ja eher dass die Netzverbindung über Putty die Verzögerungen bei der Übertragung reinbringt. Wenn Du über eine Remoteverbindung einfach ein 'e' schreibst, dann wird das nicht zwangsläufig sofort gesendet, sondern es wird gewartet bis mehr zum Senden zusammengekommen ist, oder eine Zeitüberschreitung auftritt.

Re: Pyserial problem unter Cygwin/bash

Verfasst: Dienstag 27. Juli 2010, 19:36
von coca
Zur info:
http://code.google.com/p/puttycyg/

Hm, grundsätzlich bin ich nicht via Netzwerk Remote verbunden. Ich bin mittels Puttycyg zum Bash connected lokal auf dem Rechner. Aber was ich mal testen könnte, mit der DOS Konsole und dann mich zum Bash verbinden (lokal). Das habe ich bisher noch gar nicht getestet in der Aufregung :D.
Aber es funktioniert ja mit der idle python shell unter windows, nur nicht via puttycyg zu cygwin bash connected.

thx schon mal fuer eure Mitthilfe soweit ...

:)