pySerial works in miniterm but not in my app
Dario
d.corti at gmail.com
Thu Oct 30 15:42:20 EDT 2014
Python 2.7.6 on Mint, pySerial 2.6
I'm trying to write a console app to control a certain device via a usb com port.
In miniterm (-p /dev/ttyUSB0 -e -b 19200), I can communicate correctly with this configuration:
--- Settings: /dev/ttyUSB0 19200,8,N,1
--- RTS: inactive DTR: inactive BREAK: inactive
--- CTS: inactive DSR: inactive RI: inactive CD: inactive
--- software flow control: inactive
--- hardware flow control: inactive
--- data escaping: raw linefeed: CR
sw o01 + <--- I send this
sw o01 + Command OK <--- device does what it should *and* I receive this
Now my code:
----
import serial
s = serial.serial_for_url(
'/dev/ttyUSB0',
19200,
bytesize = 8,
parity = 'N',
stopbits = 1,
rtscts = False,
dsrdtr = False,
xonxoff = False,
timeout = 1 # tried without
)
s.close() # tried without
s.open()
s.write('sw o01 +\r')
s.flush() # tried without
s.close() # tried with a sleep before close
----
With this I don't receive anything (tried with readline etc, omitted for readability), and the device doesn't react. Also, if I connect again with miniterm and issue the command, I first receive a "wrong command" message, as if some garbage was actually sent by my app, then it works again.
Isn't my config equivalent to the one in miniterm? Anything missing?
Thanks
More information about the Python-list
mailing list