I’m going to come on Friday. I’d love to take a look and figure out what’s going on. Macs have been giving me troubles with the bootloader and the issues change from one OS version to the next as well as with Python versions.
(sorry don’t how to reach you otherwise: I live nearby if you need a place to crash since I know you are far away)
controversial opinion alert:
Python is far more headache and less portable than plain C; Dave from XESS also went Python crazy with XuLA which made it completely impossible to interface to anything not based on Python - even stuff based on Python was a pain because of the eternal mess incompatible Python versions and Python packages.
I still don’t know if tinyfpga (once programmed) shows up as USB Serial port or if I need to use a python script to communicate with it. I’d encourage you to add that to the basic guide (perhaps along with a minimal serial echo design).
Update: using a different(*) USB cable I do see a difference. lsusb now lists a
Bus 020 Device 043: ID 1209:2100 1209 Communication Device
and tinyprog --update-bootloader behaves differently:
Traceback (most recent call last): File "/usr/local/bin/tinyprog", line 11, in <module> sys.exit(main()) File "/usr/local/lib/python2.7/site-packages/tinyprog/__main__.py", line 214, in main active_boards = get_ports(device) + get_ports("1209:2100") File "/usr/local/lib/python2.7/site-packages/tinyprog/__init__.py", line 33, in get_ports if not d.is_kernel_driver_active(1) File "/usr/local/lib/python2.7/site-packages/tinyprog/__init__.py", line 71, in __init__ usb_interface = device.configurations().interfaces() AttributeError: 'Device' object has no attribute 'configurations'
It worked on Linux (once I killed ModemManager) and I upgraded the firmware from 1.0.0 to 1.0.1.
(*) I guess tinyfpga does double duty as a USB cable tester. This one went straight to the trash.