I'd like to get the USB remote high precision timer code into the 1.3.0 trunk before its gets too far out of sync. Some discussion is here :
and probably a few other places.
This patch adds all the functionality listed in the thread quoted above but does not enable actual operation for any camera (at least not yet). Note that while the option is not enabled for any camera in the build, almost all the code is included anyway (it's not a lot) to avoid adding camera specific stuff to core code. Unless
#define CAM_REMOTE_USB_HIGHSPEED 1 is enabled in platform_camera.h for a custom build, using the new
enable_highspeed_usb() function simply results in nothing happening. I know that's probably not desirable long term but I'd like to think the long term intention is to enable the option by default.
This does not address concerns about overloading the camera using the function, or trying to read the USB remote 5V status directly without going through kbd_read_keys_r2(). But it does capture something workable in the trunk - much like the precision sync code - for advanced users to experiment with.
Getting this in now will allow me to also test and submit a generic patch for "3rd battery terminal" triggering without stepping in my own changes. The 3rd battery terminal trigger, in addition to freeing up the USB port for ptp, let's you build remote switches that do not require a battery or other source of power.