serial.Serial() - read_until() timeout problem

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Die Funktionen sind fundamental inkompatibel zueinander. Da der timeout das wichtigere ist, kannst du nur den beibehalten, und musst einfach lesen, was reinkommt. Das dann in einen Buffer speichern, und selbst darauf analysieren, of LF vorkommt. Das Kommando rausloesen, den Buffer verkleinern, und Kommando abarbeiten, und weiter gucken, ob noch vollstaendige Kommandos drin sind. Denn es koennte ja sein, dass mal auf einen Schwall mehrerere kommen.
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Wenn es nur um das beenden geht, kannst du auch den Thread auf daemon=True stellen, dann haelt der das beenden nicht auf.

Und den timeout stellst du doch ein, dann setz ihn doch auf None?
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Dann wirst du eben mit einem Timeout arbeiten muessen, und ohne read_until auskommen. Wie im ersten Beitrag beschrieben. Das kommt sich nunmal in die Quere.
Antworten