Magic Lantern Forum

Developing Magic Lantern => General Development => Topic started by: PhilK on December 29, 2013, 07:35:30 PM

Title: ML parameters via libgphoto2/USB?
Post by: PhilK on December 29, 2013, 07:35:30 PM
I've just had a quick play with libgphoto2 to see what params I can access via USB, I looked at libptp a while ago and libgphoto2 seems to be much better. 

The stock Canon ones seem fine but nothing from ML seems to be coming back when I query the cameras (50D/600D).

Any ideas on this, is it possible to read/write ML params via USB? 

Title: Re: ML parameters via libgphoto2/USB?
Post by: PhilK on January 19, 2014, 11:40:23 PM
Bumping thread.

There's seems to be a lot of activity going on with remote controllers at the moment (for example:  http://petapixel.com/2014/01/16/diy-take-wireless-control-canon-dslr-using-30-router-android/ (http://petapixel.com/2014/01/16/diy-take-wireless-control-canon-dslr-using-30-router-android/)) and a couple of threads here open on this topic.

From what I've been able to find out none of the ML parameters expose themselves to PTP, it's just the raw Canon ones.

So, questions.

1.)  Does ML expose anything to PTP?
2a.)  If not, why not - what's needed?
2b.)  If it does, what am I doing wrong!
Title: Re: ML parameters via libgphoto2/USB?
Post by: a1ex on January 19, 2014, 11:44:10 PM
All you have to do is to write some custom PTP handlers: http://magiclantern.wikia.com/wiki/PTP

To expose parameters to gphoto2 for example, you also need to figure out how.
Title: Re: ML parameters via libgphoto2/USB?
Post by: PhilK on January 20, 2014, 10:34:43 AM
In ptp.c there's a few PTP functions set up already, one for starting recording (0x9997) and one to return 0xdeadbeef (0x9999).

With gphoto I'm getting nothing returned back on these - I know the code is working as I can get & set 0xd406 or named params like shutterspeed fine from both the gphoto shell and via C code.

I can't put any debug code in ML to see whats happening as I can't compile from source at the moment (lines 520/522 in shoot.c are crapping out) so at this point I'm unable to even get the existing ML PTP handlers to work!

Just getting 0x9997 working should be enough to get me started.