I'm working on getting a version of this into the trunk. This will mostly be mweerden's proposal, with a few adjustments
- PTP is a build time option. If OPT_PTP is set in build conf, it is built for those cameras that have it enabled in camera.h
- PTP task starting is reworked so it requires no camera specific code.
- reboot stuff is merged with my reboot code.
- add_ptp_handler is added to sigs. This is the only thing strictly required for minimal PTP operation, so most cameras should be able to support PTP just by adding CAM_CHDK_PTP to camera.h. However, many will also need additional code to allow switching to rec and shooting.
- on dryos cameras, reboot_fw_update is also added to sigs. if reboot() is passed a filename that ends in .FI*, it will be loaded with this function. I haven't got around to adding the equivalent for vxworks, so reboot with an .FI* file it will just return.
OPT_PTP will be disabled by default initially. I don't see this as the definitive PTP implementation, rather as a starting point to get this moving again. Some outstanding issues
- I would really like to see ewavrs tool, or something like it compatible with the final version. The live view streaming is worthwhile, and should be supported in the core features somehow. Generally, it looks like we just need a way of returning the video buffer configuration. I think there could be default weak functions that work with most layouts based on existing lib.c functions, and cameras with different configurations could override them. Or maybe there's a native canon way to do it.
- the play/rec switching stuff should be unified, and if possible a portable way of doing this on newer cameras should be found. Maybe the pb2rec etc functions can be added to the sig finder, or maybe there are some event procs we can use. I'll be working on this since it applies to D10.
- scripting should be made a bit more flexible somehow, so you don't have to put the entire script in each command line.
Since this will be disable by default, I plan to commit it as soon as I've verified that there are no build-breaking sig finder failures. I haven't added all the individual camera specific patches yet, so initially only D10, A540 and ixus870_sd880 will be enabled in camera.h. I'll try to add the others later. For cameras that don't need specific mode switching code, just enabling it in camera.h may be enough. I probably won't go through and verify all the sig finder matches, so caution is advised before enabling it on your camera.
edit:
Checked in
changeset 957 . I have not verified all the stubs, but I sampled a range of new and old cameras and all I checked were fine, including some low matches for reboot_fw_update