There was a thread a long time ago where I mentioned to be working on a
way to control our Canons with an external Android device. Since then a
lot of time has passed, and someone else (Chainfire) has already made it
possible with his app: DSLR Controller.
This hasn't stopped me though :), so today I release a very initial
release of ML Controller (with version number 0.0), that is already able
to do a few things on it's own:
* Continuous LiveView, even while recording
* Controlling the menus of Magic Lantern.
This is not too much, so consider this application nothing much than an
very initial proof-of-concept release. I do plan on improving it of
course, and while doing that I also want your opinions on what features
you's like to have in it. While DSLR Controller is mainly aimed at
photographers, I mainly plan on supporting movie making functions, and
ML integration. I'm eager to hear what features you'd like to have
(ideas like: GPS geotagging, or wirelessly controlling multiple cameras
at once)
Currently you can use it as an "external monitor", if you don't mind the
low FPS count and the slight lag (my initial testing shows 5 FPS and a
lag of 1/5 seconds in the optimal case).
Here is a small video demonstrating it:
http://www.youtube.com/watch?v=7w9dFvIDOYw
The Tablet I use is a cheap 7' Android tablet from China. You can get
one of these from around 120$/90€ incl. shipping, exl. taxes, which is
cheaper than most (if not all) small HDMI monitors. Though you won't get
the same performance for sure. I did try to use both, and it's working,
so it's possible you both use a HDMI monitor and this application side
by side. The image you get from the USB is not really high resolution
(720x480), but it's uncompressed and not an overlay, which might come in
handy sometime.
If you don't have an Android device with USB host support I tested the
app with the latest Android-x86 build inside VMWare Player and it works,
so you might try that. And I also added a few simple ruby scripts to the
source you can use on both Windows and Linux (and probably OS X) with
libusb-0.1 to control ML. They don't have liveview support though. For
Windows folks I made a zip including everything needed (except
libusb-win32):
http://android.sztupy.hu/dl/mlcontroller/MLctrl_shoes_windows.zip
Downloads / links:
ML with USB-PTP additions
Source: http://bitbucket.org/sztupy/magic-lantern
Binary:
http://android.sztupy.hu/dl/mlcontroller/magiclantern-2012Mar3.usb.sztupy.zip
(You currently need to use this version of ML. It is based on the latest
code of alex)
MLController:
from Market:
https://market.android.com/details?id=hu.sztupy.android.mlcontroller
from the Web: http://android.sztupy.hu/dl/mlcontroller/MLController-0.0.apk
MLController forum at XDA:
http://forum.xda-developers.com/showthread.php?t=1527773
Feel free to ask me here and/or the XDA thread.
Development notices:
To add the ML features I made the following changes to the source code:
- Added a new field to the menu and menu_entry structs called .id. It is
filled in with auto-incremented values by default, but one can set them
to a fixed value (so some commands can be "pinned" by a fixed ID, so
they won't change in subsequent ML updates)
- Split the ptp* files into three parts: ptp.[ch] contains the base ptp
stuff, ptp-chdk.[ch] contains a PTP handler for chdk (operation 0x9999)
and ptp-ml.[ch] contains a PTP handler for ML (operation 0xA1E8 = alex
:) ). They are separate, so adding commands to one won't interfere with
the other.
- The few commands I added to the ML PTP handler are used to query the
menu structure of ML. If you try out the app you wil see that most of
the times this is not enough, as a lot of menu entries have special
"display" codes, that will display the correct value of that menu entry
to the screen. (That's why you get a lot of "-1" values currently in ML
Controller, that don't change, but if you check on the camera they do
change when you click on the button) The current menu API of ML doesn't
allow one to query this as string, so for external applications this
needs a bit changing. There are multiple ways to do it (I thought about
at least 4 ways), but each one means modifying most of the codebase, so
I don't want to start it without talking to alex first. Some additional
commands like querying all possible values might be also useful.
I hope my changes will get upstream :) If yes there is one more note: I
also added some bootstrap commands that will enable anyone with Ubuntu
11.10 to bootstrap a working build machine (including document
creation). For this to work I made some changes to the mkdoc.py for them
to use the base ubuntu packages instead of the python packages. This is
a spearate commit that doesn't need to be added though.
SztupY
> --
> http://magiclantern.wikia.com/
>
> To post to this group, send email to ml-d...@googlegroups.com
> To unsubscribe from this group, send email to
> ml-devel+u...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/ml-devel?hl=en
SztupY
great work� SztupY�love what youve done so far, i use DSLR Controller a lot and miss some of the functionality of ML, for me video isnt too important but being able to remote control my cam is, i think you are missing a trick if you dont implement being able to take photos with this app, this and so way in scripting commands to ml from a phone would be the ultimate tool, keep up the good work and thanks :DI will definitely implement a lot of photo features. It's just that they are not a priority for me (remote shooting, bulk mode, maybe HDR functions will be included of course). DSLR controller is there anyway, I don't want to take too much market away from chainfire :)
Do you think you could send the PTP patch to Alex for inclusion in official releases?
I'm doing some Arduino+PTP external control similar to Okii but with touch sensors, trying to integrate that in a SHAPE shoulder rig…
Thanks!
Vincent
--
SztupY
> Nice, Glad to see this initial version out, I just loaded it onto my
> tab.
> Will using a simple USB coupler word or do we need a special cable
> like the DSLR controller needs.
>
> Please post links to cables if possible.
> good work.
>
>
> On Mar 3, 10:30 am, Vincent Olivier<vinc...@up4.com> wrote:
>> Hi SztupY!
>>
>> Do you think you could send the PTP patch to Alex for inclusion in official releases?
>>
>> I'm doing some Arduino+PTP external control similar to Okii but with touch sensors, trying to integrate that in a SHAPE shoulder rig�
>>
>> Thanks!
>>
>> Vincent
>>
>> On 2012-03-02, at 9:44 PM, Sztup�k Sz. Zsolt wrote:
>>
>>
>>
>>
>>
>>
>>
>>> Hi!
>>> There was a thread a long time ago where I mentioned to be working on a way to control our Canons with an external Android device. Since then a lot of time has passed, and someone else (Chainfire) has already made it possible with his app: DSLR Controller.
>>> This hasn't stopped me though :), so today I release a very initial release of ML Controller (with version number 0.0), that is already able to do a few things on it's own:
>>> * Continuous LiveView, even while recording
>>> * Controlling the menus of Magic Lantern.
>>> This is not too much, so consider this application nothing much than an very initial proof-of-concept release. I do plan on improving it of course, and while doing that I also want your opinions on what features you's like to have in it. While DSLR Controller is mainly aimed at photographers, I mainly plan on supporting movie making functions, and ML integration. I'm eager to hear what features you'd like to have (ideas like: GPS geotagging, or wirelessly controlling multiple cameras at once)
>>> Currently you can use it as an "external monitor", if you don't mind the low FPS count and the slight lag (my initial testing shows 5 FPS and a lag of 1/5 seconds in the optimal case).
>>> Here is a small video demonstrating it:http://www.youtube.com/watch?v=7w9dFvIDOYw
>>> The Tablet I use is a cheap 7' Android tablet from China. You can get one of these from around 120$/90� incl. shipping, exl. taxes, which is cheaper than most (if not all) small HDMI monitors. Though you won't get the same performance for sure. I did try to use both, and it's working, so it's possible you both use a HDMI monitor and this application side by side. The image you get from the USB is not really high resolution (720x480), but it's uncompressed and not an overlay, which might come in handy sometime.
I'm also trying to use arduino + PTP. using a shield by
http://www.circuitsathome.com/.
They also have some information about PTP and USB camera control at
http://www.circuitsathome.com/category/camera-control
Ribeiro
No dia 6 de Março de 2012 07:14, "Sztupák Sz. Zsolt" <ma...@sztupy.hu> escreveu:
> If by "special" you mean an "OTG cable" then yes.
>
> SztupY
>
>> Nice, Glad to see this initial version out, I just loaded it onto my
>> tab.
>> Will using a simple USB coupler word or do we need a special cable
>> like the DSLR controller needs.
>>
>> Please post links to cables if possible.
>> good work.
>>
>>
>> On Mar 3, 10:30 am, Vincent Olivier<vinc...@up4.com> wrote:
>>>
>>> Hi SztupY!
>>>
>>> Do you think you could send the PTP patch to Alex for inclusion in
>>> official releases?
>>>
>>> I'm doing some Arduino+PTP external control similar to Okii but with
>>> touch sensors, trying to integrate that in a SHAPE shoulder rig…
>>>
>>> Thanks!
>>>
>>> Vincent
>>>
>>> On 2012-03-02, at 9:44 PM, Sztupák Sz. Zsolt wrote:
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>> Hi!
>>>> There was a thread a long time ago where I mentioned to be working on a
>>>> way to control our Canons with an external Android device. Since then a lot
>>>> of time has passed, and someone else (Chainfire) has already made it
>>>> possible with his app: DSLR Controller.
>>>> This hasn't stopped me though :), so today I release a very initial
>>>> release of ML Controller (with version number 0.0), that is already able to
>>>> do a few things on it's own:
>>>> * Continuous LiveView, even while recording
>>>> * Controlling the menus of Magic Lantern.
>>>> This is not too much, so consider this application nothing much than an
>>>> very initial proof-of-concept release. I do plan on improving it of course,
>>>> and while doing that I also want your opinions on what features you's like
>>>> to have in it. While DSLR Controller is mainly aimed at photographers, I
>>>> mainly plan on supporting movie making functions, and ML integration. I'm
>>>> eager to hear what features you'd like to have (ideas like: GPS geotagging,
>>>> or wirelessly controlling multiple cameras at once)
>>>> Currently you can use it as an "external monitor", if you don't mind the
>>>> low FPS count and the slight lag (my initial testing shows 5 FPS and a lag
>>>> of 1/5 seconds in the optimal case).
>>>> Here is a small video demonstrating
>>>> it:http://www.youtube.com/watch?v=7w9dFvIDOYw
>>>> The Tablet I use is a cheap 7' Android tablet from China. You can get
>>>> one of these from around 120$/90€ incl. shipping, exl. taxes, which is