On 25Sep2017 09:29, Phil <phil_...@bigpond.com> wrote:
On 25/09/17 07:26, Cameron Simpson wrote:
I don't understand why this works from the pyqt IDE but not when run from the console. I suppose the IDE is adding the correct encoding.

I'm guessing the IDE is python 2 and not doing any encoding at all. In python 2 str _is_ effectively bytes and if you stay in ASCII you just get away with it.

No, the IDE is Eric and as far as I know it's python3 only.

Weird. What if you put your code in try/except in the IDE:

 try:
   your code here
 except BaseException as e:
   print("exception: %s" % (e,))
   raise

just in case some esoteric exception is being swallowed silently by the IDE. Not that the error you cite should act that way...

Just for interest I amended my code to use what you provided and tried it under IDLE. There aren't any errors but but my Arduino is not responding.

Weird indeed. Try the try/except above and see if it reveals anything at all.

However, if I enter python3 mycode.py then it works perfectly. I'm sure there's an explanation for this. I have thoney, another python IDE, on a raspberrypi I'll try that later and see what the result is. Anyway, it works from Eric and from the command prompt.

So you need to know what your serial device expects. ASCII only?

As it turns out, it doesn't matter if the data is ASCII or UTF-8.

If you're only using ASCII valid characters then the byte sequences are the same, so you don't really know yet.

 mytext = "Fred"
 mytext = mytext + "\n"
 mybytes = mytext.encode('utf-8')
 ser.write(mybytes)

Notice that I've appended the newline _before_ converting to bytes,

Thank you for the code and the explanation, it's greatly appreciated.

It's all a bit of an anticlimax really. Now that it works I don't know what to do with it. Like so many of my projects.

Control something? As a remote to control a TV or PVR, using an IR adapter? The weather? Courier delivery times? So many possibilities...

Cheers,
Cameron Simpson <c...@cskk.id.au> (formerly c...@zip.com.au)
_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor

Reply via email to