Pymate not working



  • Hi,

    I think I'm doing everything correctly and following Roberto's tutorial to a T.

    I am getting errors when I try both reading and writing virtual pins.
    I am using a wipy 2.0 running firmware 1.18.2.r4

    Here Is my process:

    1. set up pymate
    2. safe boot device, download files.
    3. edit pymate_basic.py in lib with code under "# Initialize Virtual Pins and Terminal Pins Here"
    4. restart, add widgets to app, and it always returns errors. Here are two examples of errors:
      a)
      When I try Roberto's first example of writing, I add the following code under "# Initialize Virtual Pins and Terminal Pins Here" to pymate_basic.py:
    # Initialize Virtual Pins and Terminal Pins Here
    import pycom
    def set_led_color(params):
        val = int(params[0])
        if (val < 256):
            val = val & 0xFF
        elif (val > 255 and val < 512):
            val = (val << 8) & 0xFF00
        elif (val > 511):
            val = (val << 16) & 0xFF0000
        pycom.rgbled(val)
    
    pymate_library.add_virtual_pin(1,None, set_led_color)
    

    After uploading, and setting up a widget type slider with pin V1, and range 0-750, I slide the slider and get one of the following errors:

    1. "Error calling provided virtual method"
      2)"Traceback (most recent call last):
      File "boot.py", line 39, in <module>
      File "/flash/lib/pymate_basic.py", line 25, in <module>
      File "/flash/lib/pymate_library.py", line 414, in run
      File "/flash/lib/simple.py", line 202, in wait_msg
      File "/flash/lib/pymate_library.py", line 352, in _recv_msg_callback
      File "/flash/lib/pymate_library.py", line 278, in _handle_hardware_msg
      KeyError: 32"
      3)Warning: Virtual write to unregistered pin 1

    b) When I try Roberto's second example of reading, I add the following code under "# Initialize Virtual Pins and Terminal Pins Here"

    from uos import urandom
    def read_random():
        val = int(urandom(1)[0])
        return val
    
    pymate_library.add_virtual_pin(1,read_random, None)
    

    After setting up the widget type to Display, pin V1, pin Mode INPUT, refresh Rate 500ms, I hit play, and I get the following error:

    Traceback (most recent call last):
    File "boot.py", line 39, in <module>
    File "/flash/lib/pymate_basic.py", line 19, in <module>
    File "/flash/lib/pymate_library.py", line 414, in run
    File "/flash/lib/simple.py", line 202, in wait_msg
    File "/flash/lib/pymate_library.py", line 352, in _recv_msg_callback
    File "/flash/lib/pymate_library.py", line 278, in _handle_hardware_msg
    KeyError: 32

    Please help. There is very little documentation to go off of, and I can't find anything wrong with what I'm doing.

    Thanks


Log in to reply
 

Pycom on Twitter