pyserial ztrácí nahodile vždy jen jeden byte.

martin <[email protected]> Sat, 4 Jan 2020 18:04:39 +0100 (CET)
Newsgroups gmane.user-groups.linux.czech
Message-ID <[email protected]>
Ahoj, Programuji si aplikaci s komunikací přes BT.

Celkem už bylo hotovo až na to že win port nepodporuje BT
sokety takže smůla.

Jak je to na MacOs jsem ještě nezjištoval.Takže z5 a
přepracovat na využití BT

jako seriového portu.Ale ať zkouším cokoliv jednou za čas mi
v přijaté zprávě chybí bajt.

Nedá se použít readline protože posílá jen surová data která
parsuju.

Zatím napolo fungují jen sysex zprávy.

Inicializace

self.socket = serial.Serial(port="/dev/rfcomm0",
baudrate=2400, parity=serial.PARITY_NONE,
stopbits=serial.STOPBITS_ONE, bytesize=serial.EIGHTBITS,
timeout=None, rtscts=False, xonxoff=False)

A samotné čtení

while self.socket.isOpen(): self.socket.flushInput() byte =
self.socket.read() if byte != b"": msg = byte +
self.socket.read_until(b"\xf7", self.socket.in_waiting) try:
msg = list(unpack("75B", msg)) except struct.error: # log
error or try last action again print("ERROR unpacking: ",
msg)

za každou radu budu rád.

Díky.

Zobrazit: http://www.abclinuxu.cz/poradna/programovani/show/452082