Arduino Programming with Python 3.7

Home Forums Getting Started Arduino Programming with Python 3.7

Viewing 1 post (of 1 total)
  • Author
    Posts
  • #36887
    Anonymous
    Inactive

    Hi there – It would seem as though the Arduino Programmer is written for Python 2.7….. I have gone through and updated alot of the tkMessageBox from Python2.x to the tkinter.messagebox in Python3.x standard

    After changing these i then get errors errors when i run the filechooser.py script to do with the way the code handles the serial comms…..

    on line 118 <span style=”color: #99cc00;”>arduinoSerialData.write(“do_check_id”)</span> causes this….

    error messages:-
    **********************************************************************************
    File “E:\Program Files\Python\Python37\lib\tkinter\__init__.py”, line 1705, in __call__
    return self.func(*args)
    File “filechooser.py”, line 118, in check_id_callback
    arduinoSerialData.write(“do_check_id”)
    File “E:\Program Files\Python\Python37\lib\site-packages\pyserial-3.4-py3.7.egg\serial\serialwin32.py”, line 308, in write
    data = to_bytes(data)
    File “E:\Program Files\Python\Python37\lib\site-packages\pyserial-3.4-py3.7.egg\serial\serialutil.py”, line 63, in to_bytes
    raise TypeError(‘unicode strings are not supported, please encode to bytes: {!r}’.format(seq))
    TypeError: unicode strings are not supported, please encode to bytes: ‘do_check_id’

    *********************************************************************************

    Changing to

    <span style=”color: #99cc00;”>arduinoSerialData.write(“do_check_id”.encode())</span> sorts this

    I had to change all arduinoSerialData.write to include the .encode() statement

     

    When i now press the “Check Device ID”

    button i get an endless loop of:-

     

    COM10 – USB-SERIAL CH340 (COM10)
    In Check ID function
    Using port: COM10

    I received: do_check_id
    Bottom of ReadDeviceID
    Before inital pwrapper
    Device ID = 01 2B 80 43
    I received: do_check_iddo_check_iddo_check_iddo_check_id
    I received: do_check_id
    Bottom of ReadDeviceID
    Before inital pwrapper
    Device ID = 01 2B 80 43
    I received: do_check_iddo_check_iddo_check_iddo_check_id

    As you can see the Device ID is being read ok.

    If i send the the ‘do_check_id’ via the serial monitor in the Arduino IDE I get the following return which suggest the Arduino and Fipsy are talking to each other ok.

    I received: do_check_id
    Bottom of ReadDeviceID
    Before inital pwrapper
    Device ID = 01 2B 80 43

    after selecting the Complied Jed file and pressing Program device is get the following where it just repeats ‘Beginning file stream’

    /FipsyBaseline_Implementation.jed
    In Programming ID
    Using port: COM10
    Beginning file stream
    Beginning file stream
    ……
    Beginning file stream

    The LED on the Fipy does go out after pressing this and the Arduino TX and RX led do blink occasionally….

    Do you have a Paython3.7 compatible filechooser.py file?? or some pointers as to where things might be going wrong as my debugging skill are nearing their limit??

    cheers

Viewing 1 post (of 1 total)
  • You must be logged in to reply to this topic.