[APP][2.2+][USB]ML Controller 0.0 - Canon V-DSLR + Magic Lantern controller app

Search This thread

sztupy

Inactive Recognized Developer
Dec 21, 2008
1,061
877
Edinburgh
sztupy.hu
ML Controller 0.0 - Canon V-DSLR + Magic Lantern controller app

Note: This app is in an early stage of development (This is reflected in the version number). Expect crashes, freezes and lack of support.

attachment.php


attachment.php


This app will let you control some aspects of your Canon V-DSLRs with your Android device. If it has Magic Lantern installed on them, you will also have access controlling some Magic Lantern features.

Currently supported features are:

On bare Canon Firmware
* LiveView support during Movie mode, including LiveView while recording

With ML installed
* Changing any ML menu item

Tested on:

Cameras:
* Canon 60D

Android devices:
* Samsung Galaxy S i9000 phone, running CM9 with USB host kernel
* Teclast P76Ti tablet running ICS
* Android-x86 running ICS in VMWare Player

See the FAQ on compatibility with other devices

Introductory video:


FAQ: Post #2
ChangeLog: Post #3
Notes: Post #4
Download: Post #5
 

Attachments

  • feature.jpg
    feature.jpg
    30.1 KB · Views: 22,861
  • device-2012-03-02-183839.jpg
    device-2012-03-02-183839.jpg
    25.5 KB · Views: 22,856
Last edited:

sztupy

Inactive Recognized Developer
Dec 21, 2008
1,061
877
Edinburgh
sztupy.hu
FAQ

What is a VDSLR?

VDSLRs are Digital cameras that have the side functionality of recording videos, hence their name: Video Digital Single-Lens Reflex Camera

What is Magic Lantern?

Magic Lantern is an aftermarket firmware for Canon VDSLRs. It is more like like CyanogenMod is for Android devices: it brings lots of functions not available on the stock Canon Firmware.

What is this for?

This application will let you control some features of Canon VDSLRs from your Android device. Currently the available features are very slim, but that's because this is only an initial pre-release:
* Accesss to LiveView (even while recording)
* Access and set Magic Lantern menu items (if ML is installed)

Isn't there already an app for this?

Yes, Chainfire's DSLR Controller is capable of controlling Canon cameras too. Although I haven't used it, I'm sure it's much more stable, supported and has much more features.

But I think there is market for another app, that is mainly designed for videographers. Having helper code also running on the device (via Magic Lantern FW) also gives you more options avialable.

What devices are supported?

Currently the app was tested on the following devices:

Cameras:
* Canon 60D

Android devices:
* Samsung Galaxy S i9000 phone, running CM9 with USB host kernel
* Teclast P76Ti tablet running ICS
* Android-x86 running ICS in VMWare Player

It should however also work on the following devices:

Cameras:
* Any Canon DSLR camera and firmware version that is supported by the Magic Lantern unified Firmware:
* Canon 5D Mark II
* Canon 60D FW 1.1.0
* Canon 600D FW 1.0.1
* Canon 550D FW 1.0.9
* Canon 50D FW 1.0.8
* Canon 500D FW 1.1.1

Android Devices:
* Any Android devices that have USB Host functionality and have at least Froyo running on them
* It was tested on two NEON capable ARMv7 and an x86 device, but it also has code to support older ARM, NEON-less ARMv7 and MIPS based (like the Ainol Paladin) devices too.

Which versions of ML are supported?

Currently the code for accessing the device via USB is not merged upstream. I hope it will be done sometimes. Until that you need to download ML from my branch

What are "USB drivers"?

In ML Controller there are two USB Drivers avialable:
* Android API
* Native Kernel Interface

Android API is available since Honeycomb, and is an official Java based API on getting data from USB devices. It doesn't have some features (like reseting the device), and is based on Java, so it's a bit slower.

Native Kernel Interface is available on all rooted Android devices (and also on devices which have their usb permissions set wrongfully). It can access the USB devices natively without using Java, and also has a few functions that are missing from the official Android implementation. If you have a rooted device you should use this driver for performance.

What are "NEON optimizations"?

NEON is an advanced instruction set avialable on some high-end ARMv7 (Cortex-A8 and Cortex-A9) devices. Most Cortex-A8 and A9 based devices have NEON capabilities (including Samsung's Exynos, TI's OMAP, Qualcomm's Snapdragon and Allwinner's A10 processors), the most notable exception is nVidia's TEGRA 2 and TEGRA 3 processors, which unfortunately do not have this instruction set.

If NEON optimizations are enabled image processing tasks are processed natively using libjpeg-turbo for jpeg decompression and some self written asm code for YUV422->RGB conversion. If these optimizations are disabled then Java APIs will be used for JPEG decompression.

LiveView Image is grayscale while recording, why?

Color image rendering is currently only avialable if you enable "NEON optimizations". Java is too slow to process color information, and ATM I've made no native alternatives to support non-NEON capable processors.

LiveView Image colors are off while recording, why?

The code is based on Wikipedia's YUV422->RGB article. In a later version you will be able to fine tune the parameters.

After selecting the device in the device list nothing happens, what should I do?

Try shutting off the camera and turning it on again. Also try to use Movie mode on the Camera. You can also try switching "USB drivers".

The camera hanged, now it won't even turn off, what should I do?

Take the battery out and put it back again.

I hate you!

This is not a question. But you're welcome!
 
Last edited:
  • Like
Reactions: manleyaudio

CyberpunkDad

Senior Member
Nov 29, 2011
175
31
Oswego, IL
This looms cool. 550d ML user here. Would the primary use be to use phone lime an external monitor for video like some of the rigs I've seen pictures of?

Sent from my SGH-I777 using xda premium
 

heartbeat.rulez

Senior Member
Apr 19, 2008
73
1
i have a 550d with ml and a htc hd2 with android mod

and i will use this feature

is it possible

otherwise i use dslr remote pro with my netbook
 

jamesd256

Senior Member
Feb 10, 2007
230
7
This is awesome. Thanks very much for this, and please keep going, it's going to be SO cool.
 

ivan1071

New member
Aug 20, 2010
1
0
550d+ Ainol Novo 7Advanced II

Hi, good job... worked perfect with ML and native kernel... but I had to stop testing cause the battery drained after a couple of days of testing DSLRController... without any result....
 

pigdog237

New member
May 24, 2010
3
0
Bristol
Thanks to sztupy!

I haven't yet got it to work with my Galaxy SII and 550D, but will persevere as it's such a great idea.

If I can get it to work I'll find it very useful as I video using my 550D in a frame, which makes it awkward to get to the video "record" button. I'll have to find a safe way of attaching my phone to the frame though.
 

jamesd256

Senior Member
Feb 10, 2007
230
7
Sztupy,

Still haven't found the time to try it, but love the direction, and also love the work you've done with LUA and PTP for others to build on..big stuff.

Will be sure to donate once I get round to trying it.

BTW: you're invited to join us at freenode #magiclantern

It's a bit quiet normally, but Alex can be found in there most days & there have been some great chats.
 

druckgott

Member
Aug 2, 2008
20
0
Hallo, I will use it with my galacy ace, but if I press refresh and my cam (eos 500d) is connected nothing happens (ML newest version)

I also change the driver, but do not work.

thx
druckgott
 

JCobra72

Senior Member
Sep 15, 2010
118
42
51
Middlesbrough
ML user

Started using ML on my 500D a few weeks ago and liking it a lot, glad to see you deving for android aswell, yes i bought chainfire's app and use that but i also like were you are taking this Great work
 

goofyme

New member
Mar 20, 2012
2
0
First of all,
great idea.
I have a nikon D600 and a yarvik tab 210 android 2.2 an tab 211 android 2.3, but it crahst when I connect my camera with the app.

Does somebody have the same problem?​
 
Last edited:

jamesd256

Senior Member
Feb 10, 2007
230
7
First of all,
great idea.
I have a nikon D600 and a yarvik tab 210 android 2.2 an tab 211 android 2.3, but it crahst when I connect my camera with the app.

Does somebody have the same problem?​

The only problem you have is that you didn't read the topic of the thread. Or the first post. Or the faq.

Actually that's 3 problems.

Doesn't work on Nikons and never ever will.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 4
    ML Controller 0.0 - Canon V-DSLR + Magic Lantern controller app

    Note: This app is in an early stage of development (This is reflected in the version number). Expect crashes, freezes and lack of support.

    attachment.php


    attachment.php


    This app will let you control some aspects of your Canon V-DSLRs with your Android device. If it has Magic Lantern installed on them, you will also have access controlling some Magic Lantern features.

    Currently supported features are:

    On bare Canon Firmware
    * LiveView support during Movie mode, including LiveView while recording

    With ML installed
    * Changing any ML menu item

    Tested on:

    Cameras:
    * Canon 60D

    Android devices:
    * Samsung Galaxy S i9000 phone, running CM9 with USB host kernel
    * Teclast P76Ti tablet running ICS
    * Android-x86 running ICS in VMWare Player

    See the FAQ on compatibility with other devices

    Introductory video:


    FAQ: Post #2
    ChangeLog: Post #3
    Notes: Post #4
    Download: Post #5
    1
    FAQ

    What is a VDSLR?

    VDSLRs are Digital cameras that have the side functionality of recording videos, hence their name: Video Digital Single-Lens Reflex Camera

    What is Magic Lantern?

    Magic Lantern is an aftermarket firmware for Canon VDSLRs. It is more like like CyanogenMod is for Android devices: it brings lots of functions not available on the stock Canon Firmware.

    What is this for?

    This application will let you control some features of Canon VDSLRs from your Android device. Currently the available features are very slim, but that's because this is only an initial pre-release:
    * Accesss to LiveView (even while recording)
    * Access and set Magic Lantern menu items (if ML is installed)

    Isn't there already an app for this?

    Yes, Chainfire's DSLR Controller is capable of controlling Canon cameras too. Although I haven't used it, I'm sure it's much more stable, supported and has much more features.

    But I think there is market for another app, that is mainly designed for videographers. Having helper code also running on the device (via Magic Lantern FW) also gives you more options avialable.

    What devices are supported?

    Currently the app was tested on the following devices:

    Cameras:
    * Canon 60D

    Android devices:
    * Samsung Galaxy S i9000 phone, running CM9 with USB host kernel
    * Teclast P76Ti tablet running ICS
    * Android-x86 running ICS in VMWare Player

    It should however also work on the following devices:

    Cameras:
    * Any Canon DSLR camera and firmware version that is supported by the Magic Lantern unified Firmware:
    * Canon 5D Mark II
    * Canon 60D FW 1.1.0
    * Canon 600D FW 1.0.1
    * Canon 550D FW 1.0.9
    * Canon 50D FW 1.0.8
    * Canon 500D FW 1.1.1

    Android Devices:
    * Any Android devices that have USB Host functionality and have at least Froyo running on them
    * It was tested on two NEON capable ARMv7 and an x86 device, but it also has code to support older ARM, NEON-less ARMv7 and MIPS based (like the Ainol Paladin) devices too.

    Which versions of ML are supported?

    Currently the code for accessing the device via USB is not merged upstream. I hope it will be done sometimes. Until that you need to download ML from my branch

    What are "USB drivers"?

    In ML Controller there are two USB Drivers avialable:
    * Android API
    * Native Kernel Interface

    Android API is available since Honeycomb, and is an official Java based API on getting data from USB devices. It doesn't have some features (like reseting the device), and is based on Java, so it's a bit slower.

    Native Kernel Interface is available on all rooted Android devices (and also on devices which have their usb permissions set wrongfully). It can access the USB devices natively without using Java, and also has a few functions that are missing from the official Android implementation. If you have a rooted device you should use this driver for performance.

    What are "NEON optimizations"?

    NEON is an advanced instruction set avialable on some high-end ARMv7 (Cortex-A8 and Cortex-A9) devices. Most Cortex-A8 and A9 based devices have NEON capabilities (including Samsung's Exynos, TI's OMAP, Qualcomm's Snapdragon and Allwinner's A10 processors), the most notable exception is nVidia's TEGRA 2 and TEGRA 3 processors, which unfortunately do not have this instruction set.

    If NEON optimizations are enabled image processing tasks are processed natively using libjpeg-turbo for jpeg decompression and some self written asm code for YUV422->RGB conversion. If these optimizations are disabled then Java APIs will be used for JPEG decompression.

    LiveView Image is grayscale while recording, why?

    Color image rendering is currently only avialable if you enable "NEON optimizations". Java is too slow to process color information, and ATM I've made no native alternatives to support non-NEON capable processors.

    LiveView Image colors are off while recording, why?

    The code is based on Wikipedia's YUV422->RGB article. In a later version you will be able to fine tune the parameters.

    After selecting the device in the device list nothing happens, what should I do?

    Try shutting off the camera and turning it on again. Also try to use Movie mode on the Camera. You can also try switching "USB drivers".

    The camera hanged, now it won't even turn off, what should I do?

    Take the battery out and put it back again.

    I hate you!

    This is not a question. But you're welcome!
    1
    Doesn't work on Nikons and never ever will.

    It might sometime in the future. Without ML of course.