After some adventures, I have the bootloader/firmwared updated via DFU.
It never worked from the IDE because the Python version can’t find the installed pyusb module even though it works when trying the Python REPL directly.
UALC02TV456HV2Q:~ jgraves$ python
Python 2.7.13 |Anaconda 4.4.0 (x86_64)| (default, Dec 20 2016, 23:05:08)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://anaconda.org
>>> import usb
>>> import usb.core
>>> exit()
I think it’s possible that the IDE is hard-coding a path to the python executable but that version of python doesn’t have the required libraries installed.
UALC02TV456HV2Q:pydfu jgraves$ which python
/anaconda/bin/python
I was able to run it directly from the command line after changing to the
/Applications/OpenMV IDE.app/Contents/Resources/pydfu
directory
UALC02TV456HV2Q:pydfu jgraves$ python pydfu.py -l
Bus 20 Device 039: ID 0483:df11
Memory Layout
0x8000000 4 pages of 16K bytes
0x8010000 1 pages of 64K bytes
0x8020000 7 pages of 128K bytes
UALC02TV456HV2Q:pydfu jgraves$ python pydfu.py -u /Users/jgraves/Downloads/firmware/OPENMV2/bootloader.dfu
File: /Users/jgraves/Downloads/firmware/OPENMV2/bootloader.dfu
DfuSe v1, image size: 13621, targets: 1
Target 0, alt setting: 0, name: "ST...", size: 13336, elements: 1
0, address: 0x08000000, size: 13328
usb: 0483:df11, device: 0x0000, dfu: 0x011a, UFD, 16, 0x25169075
Writing memory...
0x08000000 13328 [=========================] 100%
Exiting DFU...
UALC02TV456HV2Q:pydfu jgraves$
even with the new bootloader the IDE still can’t find the firmware directory.
I tried multiple times from the IDE (restart IDE, unplug/plug in board, etc)
I finally just updated from the command line.
UALC02TV456HV2Q:pydfu jgraves$ python pydfu.py -u /Users/jgraves/Downloads/firmware/OPENMV2/firmware.dfu
File: /Users/jgraves/Downloads/firmware/OPENMV2/firmware.dfu
DfuSe v1, image size: 981909, targets: 1
Target 0, alt setting: 0, name: "ST...", size: 981624, elements: 1
0, address: 0x08010000, size: 981616
usb: 0483:df11, device: 0x0000, dfu: 0x011a, UFD, 16, 0x9934b548
Writing memory...
0x08010000 981616 [=========================] 100%
Exiting DFU...
UALC02TV456HV2Q:pydfu jgraves$
I can now connect, the helloworld_1.py works without commenting out the skip_frames
call and the firmware version reports 2.5.0.