I'd like to control the camera and transfer files with the PTP extension from a headless ARM based Linux computer (Command line only, like a Raspberry PI or the more powerful ODROID).
I maintain builds of the chdkptp client (
https://www.assembla.com/spaces/chdkptp/wiki) for raspberry pi. Building for other similar platforms should not be difficult if you don't need the GUI.
A) If a camera is supported, does it matter whether I'm using Linux/Windows/Arm/x86 ? Just want to make sure no special drivers that only work on Windows or anything similar are also required.
No, the opposite is true, on windows you need libusb, on linux it is built in.
B) What kind of file transfer rate(Mb/sec) can I expect? Will be using top of the line Class 10 SD card.
This depends on the host device, camera, and card. Newer cameras are generally faster. In this context, s95 and s100 are both "new"
On d10 (digic IV), the absolute max transfer rate I get is about 26 mbyte/s (transferring directly from uncached RAM in one transaction). On elph130 (also digic IV, but newer), it's about 35. On a540 (digic II) it's about 15.
Note the above numbers are direct from RAM, if you are reading files from the SD card, it will be slower (hmm, we could file IO happen in parallel with USB transfer, but we currently don't). If you use remote capture, it will be over RAM, but there is some overhead.
I want to send a shoot command via the PTP extension, take a 10 Mega Pixel photo and transfer it back to the Linux computer. I want to run this sequence over and over.
C) What's the best rate I can get?
This depends on a lot of factors. Are you planning to use jpeg only, or raw?
Camera settings can make a significant difference too, for example higher ISOs often involve extra processing, and if you need to autofocus between each shot that can slow things down.
From a CHDK point of view, the fastest option is cameras that have "remote capture" functionality implemented. See the "filewritetask" column in
http://chdk.wikia.com/wiki/CameraFeatureTableNote that if your camera isn't on that list, there is a fair chance someone will be willing to implement it for you.
There is some discussion of shooting speed in these threads
http://chdk.setepontos.com/index.php?topic=6231.msg98677#msg98677http://chdk.setepontos.com/index.php?topic=10488.msg103780#msg103780D) Would running a continuous shooting script instead of sending a command via PTP be faster?
I'm aiming for 1-2 pictures per seconds.
In general, the absolute maximum will be close to the values given in the Canon specs. Most will not do 2 FPS indefinitely at full resolution.
The remote capture system can be used in continuous mode, though some scripting would be required if you want any control while the sequence is in progress.
In my testing, remote capture in continuous mode gives fairly similar performance to shooting to SD card.