Canon 40D

Started by dichterDichter, July 18, 2012, 08:55:06 AM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

jplxpto

Quote from: TTS on December 05, 2012, 12:19:21 AM
I've got 2 x 40D, therefore following this development with a smile :-)

Thank you!

When there is life there is hope ... do not give up.
Sometimes dreams do come true. If not I give you this, others will certainly do it!

tanninety

I crossed the T4i off my Christmas list. Still holding on to my 40D :)

jplxpto

Quote from: tanninety on December 08, 2012, 12:44:14 AM
I crossed the T4i off my Christmas list. Still holding on to my 40D :)

Unfortunately, I've been a little tired and busy with other tasks. Soon I hope to dedicate myself more time to this port. The good news I have to give you is that in principle we have more developers to work with me on this port. We have verified that there are still very users interested in having ML this camera so, you'll spend more time. This of course depends on our available time.

RenatoPhoto

Unfortunately I just sold my 40D!  But I root for your success!  Nice work.
http://www.pululahuahostal.com  |  EF 300 f/4, EF 100-400 L, EF 180 L, EF-S 10-22, Samyang 14mm, Sigma 28mm EX DG, Sigma 8mm 1:3.5 EX DG, EF 50mm 1:1.8 II, EF 1.4X II, Kenko C-AF 2X

jplxpto

Quote from: RenatoPhoto on December 08, 2012, 01:57:08 AM
Unfortunately I just sold my 40D!  But I root for your success!  Nice work.

Thank you and good Christmas

moodoki

newbie developer on the block and willing to help, just had my toolchain setup and looking for a place to start :)

I have a 40D and i'm more than willing to help with the porting effort.

jplxpto

Quote from: moodoki on December 08, 2012, 05:10:15 AM
newbie developer on the block and willing to help, just had my toolchain setup and looking for a place to start :)

I have a 40D and i'm more than willing to help with the porting effort.

You are welcome to our team.

http://www.magiclantern.fm/develop

"
Become developer
Our development capacity is limited. A lot of time goes into bugfixing and working towards a stable version.

If you'd like to help, here are the steps for getting started:

Step 1. Get the source code
hg clone -r unified https://bitbucket.org/hudson/magic-lantern

Step 2. Setup the compiler
http://magiclantern.wikia.com/wiki/Build_instructions/Unified

Step 3. Start hacking
http://magiclantern.wikia.com/wiki/For_Developers

If you get stuck, ask here.
"

You can do: make clean; make 40D

There are some methods to launch ML but have not yet been published. You need to activate the bootflag.
I suggest you start with me to spend a few hours reading documentation. And I did that and still did not stop.
You can also look at the source code.

Thou shalt also read:

http://wiki.magiclantern.fm/install

http://wiki.magiclantern.fm/userguide

You should know that you can turn your camera into a brick. We take great care with the development but we are not free from danger.

We CAN NOT be responsible for something bad to happen to your camera.

Good Luck


jplxpto


I found a stub with an interesting name (BugDetect).

One of two ... or Canon admits may have bugs in the firmware, or they implemented some functionality to help take pictures of wildlife :)

40d111

NSTUB(0xFFD3E2FC, BugDetect)

moodoki

@jplxpto

thanks for all the links:)

got everything setup correctly (hopefully) and managed to build a version and have it run successfully on a borrowed 550D.

Now to get working on 40D..

jplxpto

Quote from: moodoki on December 09, 2012, 03:41:50 PM
@jplxpto

thanks for all the links:)

got everything setup correctly (hopefully) and managed to build a version and have it run successfully on a borrowed 550D.

Now to get working on 40D..

You have to check if your camera has installed the FIR version 1.1.1

Good Luck

mrcornelia

Nice work jplxpto and associates! I'm so happy to see the amazing job you guys have done so far! I'll be following with great interest!! :)

Faxe

Keep it up!
As much as I want new features on the 40d I have to admit the largest problem with taking nice shots is the head behind the camera.  ::)

jplxpto

Thank you!
Our team likes to know that you value our work and support us. Your words are always welcome lovable.

I'm a little busy but I still work in this port. In recent days I devoted some time to the forum and other matters of our development team. Soon I hope to have time and can get the intervalometer working. I've invested some time in this feature.

It is with pleasure that I announce you that we have another developer in the team.The 0xAF from 400dplus.
He has already started working on the port of 5DC.

There is much in common between the 40D and 5DC.
I will work in partnership with him. He is a good developer and already has much experience in this type of projects.

I hope to soon have the collaboration of Chucho.
He helped me a lot earlier this port. I hope your life, possible to devote a little more to this project.

samacochan

Sounds good. Now more developers will be jumping in to explore the world of 40D ML and help to make our dream come true one day. I will not be selling my 40D definitely. I may be able to get $300 for the selling of it but keeping the camera and keep coming back to this thread everyday is like waiting for the birth of my baby and it's a lot of joy and fun.

Thank you guys.

jplxpto

Quote from: samacochan on December 11, 2012, 07:26:20 PM
Sounds good. Now more developers will be jumping in to explore the world of 40D ML and help to make our dream come true one day. I will not be selling my 40D definitely. I may be able to get $300 for the selling of it but keeping the camera and keep coming back to this thread everyday is like waiting for the birth of my baby and it's a lot of joy and fun.

Thank you guys.

Hi

Thank you for your kind words.

I have the same dream and that is why I have registered in this forum.

I never thought of creating an application to run on my little princess.
I almost killed my little baby, but little by little it grows and and gaining some maturity.

I started this project by insistence.
Everyone told me that this camera has VxWorks and this made it almost impossible one day ML support this equipment.
I've always been hurt by this statement.
I thought ... why my camera need be excluded from this wonderful world that is ML.

I wanted to learn a bit more and one day be able to have ML on my camera that I decided to start learning about ML. Past few days I've registered in the forum I was admitted as a developer for this fantastic team. I'm very grateful, they all welcomed me in the best way. Until today, always helped me whenever I needed. My free time is not much but I have learned a lot. I hope one day give you this happiness. Do not worry, I'm hoping to achieve ... if not me, another member will do it for me. Keep on dreaming ... maybe one day wake up and have a surprise in our forum :)

jp

jplxpto

I was examining some stubs that allow register, search and call functions by name.

I already knew them almost all but this time I found one that sounded interesting.
Some time ago I wanted to, at runtime, get the list of all registered functions.
I intend to write code that creates in the memory card, a file (registered_stubs.S) with all stubs registered by name.

I found the stub GetListOfName which I believe to be part of the tasks necessary to accomplish this goal.
When I have an opportunity I will analyze the firmware in more detail the firmware and do some testing.


40D111


NSTUB(0xFFD45DE0, GetListOfName)

NSTUB(0xFFD3E320, call);

NSTUB(0xFFD45CB8, FindName)

NSTUB(0xFFD4ECC0, Register_Func_with_Name)
NSTUB(0xFFD3E45C, Register_Func_with_Name_sub_1)

jplxpto

As I mentioned in a previous post, I'm trying to put the intervalometer working.
I've been examining the firmware and found some strings that can help me find the STUB that take photos.
I suspect the FA_Release stub is that I need to take pictures.
Once I have the opportunity I will try.

NSTUB(0xFF84768C, FA_Release)

ff811130 FA_Release
ff83ebc8 FA_Release
ff83ebd4 FA_ClearReleaseModeForLV
ff83ebf0 FA_SetReleaseModeForLV

ff83edec [FA] FA_CaptureTestImage

ff8478fc Remote
ff847a58 this
ff847a60 ../Remote.c
ff847a6c rmtRelease
ff847a78 rmtSaveToPC

ff84c148 RssRemoteReleaseQue
ff84c15c [RSS]FAReleaseExecute:%lx,%lx,%lx
ff84c180 [RSS]rssFAReleaseEnd:%lx

ff84c19c FA_RemoteRelease
ff84c1b0 FA_FinishRemoteRelease
ffb64a38 PtpDpsRmtReleaseEventFlag


The strings rmtRelease and rmtSaveToPC should be used to make the registration by name but i still unknown where on the registration is done. Maybe a solution is to list all the functions that are registered by name at runtime. Maybe.....

0xAF

Quote from: jplxpto on December 12, 2012, 03:27:05 AM
I was examining some stubs that allow register, search and call functions by name.

In 400d most of these registered (by name) functions are only for eventproc stuff and the internal console (the shell) stuff.
Not all functions are registered there, and I believe that they wont help you.
In 400d there is a list with strings for the functions,
let's say for example "Function1, Function2, Function3, ..."
These strings are pointing to the real functions which are:
eventproc_Function1, eventproc_Function2, eventproc_Function3, ...

So finding this list with pointers, may only help you to name the real functions (if you haven't done it so far).
But if you need to call suck function, you can directly call the eventproc_Function1(), instead of call_function("Function1");
// AF

jplxpto

Quote from: 0xAF on December 12, 2012, 10:00:28 AM
In 400d most of these registered (by name) functions are only for eventproc stuff and the internal console (the shell) stuff.
Not all functions are registered there, and I believe that they wont help you.
In 400d there is a list with strings for the functions,
let's say for example "Function1, Function2, Function3, ..."
These strings are pointing to the real functions which are:
eventproc_Function1, eventproc_Function2, eventproc_Function3, ...

So finding this list with pointers, may only help you to name the real functions (if you haven't done it so far).
But if you need to call suck function, you can directly call the eventproc_Function1(), instead of call_function("Function1");

Thank you

jplxpto

I used a button to call the stub FA_Release.
I could take pictures inside and outside the LV mode but it always opens and closes the shutter and this should not be proper operation for the intervalometer.

0xAF

Quote from: jplxpto on December 15, 2012, 04:21:16 AM
I used a button to call the stub FA_Release.
I could take pictures inside and outside the LV mode but it always opens and closes the shutter and this should not be proper operation for the intervalometer.

I'm not sure how it works on LV cameras, but in 400d it is always moving the mirror, even when MLU (Mirror Lock Up) is set. This is expected behavior.
Perhaps what you want to do is not calling the "Release". Which is basically the shutter button press. Perhaps you wanted to take snapshot of the LV screen, but then you wont have the resolution you need ?
// AF

jplxpto

Quote from: 0xAF on December 15, 2012, 02:52:26 PM
I'm not sure how it works on LV cameras, but in 400d it is always moving the mirror, even when MLU (Mirror Lock Up) is set. This is expected behavior.
Perhaps what you want to do is not calling the "Release". Which is basically the shutter button press. Perhaps you wanted to take snapshot of the LV screen, but then you wont have the resolution you need ?

You are right. After writing this post I read a bit more and this seems to be the expected behavior.

jplxpto

I have news.

After a few days away from development ... I came back to dedicate a few hours to the 40D port.

I managed to carry one more feature. The intervalometer is already working on my 40D.

I still can not decide which will be the new feature, maybe start by getting a list of all properties (or more important).

Crowler

Hello jplxpto ! Focus assist will be work in ML for 40D ? I need it very much !
Thank You !