Remove All Ads from XDA

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

1,061 posts
Thanks Meter: 877
Post Reply Email Thread
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.

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:

* 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
Attached Thumbnails
Click image for larger version

Name:	feature.jpg
Views:	22495
Size:	30.1 KB
ID:	929053   Click image for larger version

Name:	device-2012-03-02-183839.jpg
Views:	22499
Size:	25.5 KB
ID:	929056  
The Following 4 Users Say Thank You to sztupy For This Useful Post: [ View ] Gift sztupy Ad-Free
3rd March 2012, 02:15 AM |#2  
sztupy's Avatar
OP Inactive Recognized Developer
Flag London
Thanks Meter: 877
Donate to Me
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:

* 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:

* 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!
The Following User Says Thank You to sztupy For This Useful Post: [ View ] Gift sztupy Ad-Free
3rd March 2012, 02:15 AM |#3  
sztupy's Avatar
OP Inactive Recognized Developer
Flag London
Thanks Meter: 877
Donate to Me

0.0 - 2012-03-02
* Initial version
3rd March 2012, 03:33 AM |#6  
CyberpunkDad's Avatar
Senior Member
Flag Oswego, IL
Thanks Meter: 31
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
3rd March 2012, 10:38 AM |#7  
Thanks Meter: 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
3rd March 2012, 11:20 AM |#8  
jamesd256's Avatar
Senior Member
Thanks Meter: 7
This is awesome. Thanks very much for this, and please keep going, it's going to be SO cool.
4th March 2012, 07:17 PM |#9  
Flag Saskatchewan
Thanks Meter: 3
Wow, never heard of either projects before. Very interested in testing both out as well as ML. Thanks for the hard work in development.
4th March 2012, 10:28 PM |#10  
Junior Member
Thanks Meter: 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....
5th March 2012, 12:48 AM |#11  
captainreynolds's Avatar
Senior Member
Thanks Meter: 85
Wish that Nikons had such features! Oh well. The D7000 firmware was decrypted, but no dice so far.
Post Reply Subscribe to Thread

Guest Quick Reply (no urls or BBcode)
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes