Magic Lantern Forum

Developing Magic Lantern => Camera-specific Development => Topic started by: akkotyni on July 12, 2014, 02:48:26 PM

Title: Canon 1200D
Post by: akkotyni on July 12, 2014, 02:48:26 PM
I have bought a Canon 1200D. Someone tell me when ML will be available for this camera? Thanks!
Title: Re: Canon 1200D
Post by: dmilligan on July 12, 2014, 07:45:32 PM
As soon as you finish porting it. (http://wiki.magiclantern.fm/faq#when_will_you_release_the_next_version)
Title: Re: Canon 1200D
Post by: drvector on August 15, 2014, 11:30:09 AM
I also have a 1200d and would like to have ML in it, but i do not know much about coding and things like that, that's black magic to me :)
My question is whether there's any possibility to have only Intervalometer (for now of course) in the 1200d? For now I do not need all the features of the ML, at this moment I would be happy to have only this one feature without buying the remote control.
Title: Re: Canon 1200D
Post by: comandosg2310 on August 17, 2014, 05:10:17 PM
Quote from: dmilligan on July 12, 2014, 07:45:32 PM
As soon as you finish porting it. (http://wiki.magiclantern.fm/faq#when_will_you_release_the_next_version)
I did not bought the.1200d it was a gift. I would. prefer The Nikon 3200 in the same price range but at less ildI would 've magic lantern but apparently I don't. So is there some kind of guide for me to help somehow bring magic lantern to the Canon eos 1200 d.
My apologies for my English , Spanish guy here. And thank you for your time.
Title: Re: Canon 1200D
Post by: Walter Schulz on August 17, 2014, 05:14:45 PM
Start reading here:
http://magiclantern.fm/forum/index.php?board=25.0
Title: Re: Canon 1200D
Post by: seriouska on September 14, 2014, 09:52:32 AM
I have a 1200D too, i dont think waiting is a solution...if all the owner cant code it (like me)
So the right question is, does someone tried it ? (i know that work on a 1100d...why not on a 1200d...but iam a bit affraid..^^)
Title: Re: Canon 1200D
Post by: requin on October 31, 2014, 04:11:13 PM
I, too would like to see this happen and am willing to put a small donation if there would be a dev interested in this project.
Title: Re: Canon 1200D
Post by: vanbov on November 20, 2014, 01:19:03 PM
+1 for suport 1200D. I also want to make small donation to support this awsome firmware. Is it possible to donate via PayPal? On site I see only BTC.
Title: Re: Canon 1200D
Post by: rodolfgonzales_1997 on November 28, 2014, 05:47:49 PM
+1 Support
i have EOS 1200D/ T5
Make some hacks with this Camera Thanks :)
Title: Re: Canon 1200D
Post by: googledgoogle on December 02, 2014, 11:15:44 PM
Hi. Sorry, is there some chances to see ML on this piece of metal?
Title: Re: Canon 1200D
Post by: escobar2012 on December 04, 2014, 07:42:34 AM
Plz i need ML in the canon 1200d
Title: Re: Canon 1200D
Post by: Riffer on December 04, 2014, 06:14:45 PM
Hi, I have a new 1200d. I am taking the forum advice and getting to know the camera first before thinking about ML. I am not sure how much, and what risks, and kind of work is involved in porting ML to the 1200d? Could someone send me a link? Thank you.
Title: Re: Canon 1200D
Post by: dmilligan on December 04, 2014, 07:34:37 PM
Getting started with development (http://www.magiclantern.fm/forum/index.php?topic=991.0)
Title: Re: Canon 1200D
Post by: joshk132 on December 07, 2014, 09:27:48 PM
I would love it for my T5 (1200D), I will try to get around to porting it but not sure when I will get time to so if someone else is able to make it that would be great.
Title: Re: Canon 1200D
Post by: brickleberry on December 12, 2014, 07:49:36 PM
A 1200D port would be frickin' awsome!
Title: Re: Canon 1200D
Post by: Harryb28 on January 08, 2015, 08:14:48 PM
Will ML be released for the 1200D?
Title: Re: Canon 1200D
Post by: Walter Schulz on January 08, 2015, 08:17:20 PM
See reply 12.
Title: Re: Canon 1200D
Post by: Harryb28 on January 08, 2015, 08:48:14 PM
Would anyone be interested in developing ML for the 1200D?
Title: Re: Canon 1200D
Post by: vanbov on January 10, 2015, 01:15:30 PM
Quote from: Walter Schulz on January 08, 2015, 08:17:20 PM
See reply 12.
Sorry, is this mean that developers of previous versions will not port it?
Title: Re: Canon 1200D
Post by: Walter Schulz on January 10, 2015, 01:26:44 PM
No, that means I would like to see more people starting to become developers.
Title: Re: Canon 1200D
Post by: artur_d on January 11, 2015, 05:27:36 PM
I need explanations how to do dumping of firmware from 1200d and 100d. Could somebody help me, please?
Title: Re: Canon 1200D
Post by: fjriosp on January 21, 2015, 02:00:58 PM
I also want to help porting ML to the 1200D, but I can't find info about to dump the firmware.
Title: Re: Canon 1200D
Post by: artur_d on January 23, 2015, 12:26:56 PM
We have to wait for a dumper or maybe (the best) somebody (ex. A1ex) can here explain the way we have to create the dumper (or give us the link into such way).
There is a dumper to canon 100d: http://www.magiclantern.fm/forum/index.php?topic=5529.msg131657#msg131657
I do not know how it is working, but with my 100d after using this I have a file with the name "(NULL)" (33554432 B)
Title: Re: Canon 1200D
Post by: MASlivak on January 25, 2015, 01:50:59 PM
Do you know if is still possible to use Scripts on new cameras, like before with CHDK ?
See links below... Maybe you can dump this way....

Canon BASIC: http://chdk.wikia.com/wiki/Canon_Basic

Canon Basic/Scripts/Dumper:

http://chdk.wikia.com/wiki/Canon_Basic/Scripts/Dumper

Title: Re: Canon 1200D
Post by: dmilligan on January 25, 2015, 03:24:13 PM
AFAIK, you can't use scripts. You have to craft a FIR file that will do it. There is source code in the ML repo for actually dumping the firmware. You will have to compile that and then make a FIR file with it (there maybe other changes you have to make to the code, IDK). FIR files are encrypted and the keys cannot be shared (Canon's IP), so you will have to break the encryption yourself or get someone who has to build the FIR for you. Then you run firmware update in the camera which will execute the code you've embedded in the FIR.

http://magiclantern.wikia.com/wiki/Firmware_file
http://magiclantern.wikia.com/wiki/Fir_Security
https://bitbucket.org/hudson/magic-lantern/src/04a1daf09786ab5b7deff1e733344d6a9c87bebc/src/debug.c

Unless you really know what you are doing you will probably just have to wait for one of the main devs who knows how, to craft a dumper FIR for you. I would get in touch via PM.
Title: Re: Canon 1200D
Post by: a1ex on February 04, 2015, 04:37:22 PM
Here's the dumper for 1200D, not tested, instructions here (http://www.magiclantern.fm/forum/index.php?topic=8419.msg130475#msg130475).

dumper-1200D-qemu.fir (http://a1ex.magiclantern.fm/bleeding-edge/blind-dumper/dumper-1200D-qemu.fir)

From the release date, it should be fairly similar to 70D/700D/100D, so it's a good idea to follow these ports and look for similarities.
Title: Re: Canon 1200D
Post by: artur_d on February 05, 2015, 12:23:41 AM
dmilligan:  thank you for the important explanations.

a1ex: thank you very much. After using this file I have new file on my card with the name "AS" (33.554.432 Bytes).
Is it good way? (because on Canon 100D with dumper to Canon 100D the name was "(NULL)")
Title: Re: Canon 1200D
Post by: a1ex on February 05, 2015, 08:51:34 AM
That's correct.
Title: Re: Canon 1200D
Post by: blakekibo on February 17, 2015, 01:33:59 AM
If it helps I can test it on 3 different 100D of 3 different regions lol. I got a white one from Korea, a black one from Hong Kong, and another black one from Europe.
Title: Re: Canon 1200D
Post by: dan.solati on February 20, 2015, 10:11:57 PM
Hi everyone. I'm new in the forum and also to the ML world.
I just got a 1200d and I'm very interested in having ML on it, specially for the intervalometer.
I'm not a coder but have often written scripting for different uses, and I'd love to help get it done if I can be useful in some way. The thing is that I don't understand the steps ahead. I don't know enough about ML to even know what questions I should ask. Is there any basic tutorial or could someone give me a basic guide of the steps to port ML to a new camera? (A basic explanation about the steps in the process)
What comes next after dumping the firmware with the fir dumper?
Thank you all.

Daniel
Title: Re: Canon 1200D
Post by: Drbunn on February 24, 2015, 10:39:57 AM
Any word on the progress of the port? I heard it was started, but I've yet to hear of any word on it.
Title: Re: Canon 1200D
Post by: BigMikeD on February 24, 2015, 09:44:50 PM
I too am interested in MagicLantern for the T5.  i feel the camera is a great value but is somewhat lacking without the intervalometer functions.  Anything i can do to help the process along please let me know. 
Title: Re: Canon 1200D
Post by: Karlos_01 on March 04, 2015, 08:59:18 PM
What good it is already working on the 1200d :D, I'll be watching to upgrade my canon ... 8)
Title: Re: Canon 1200D
Post by: Drbunn on March 07, 2015, 05:42:31 AM
Quote from: Karlos_01 on March 04, 2015, 08:59:18 PM
What good it is already working on the 1200d :D, I'll be watching to upgrade my canon ... 8)

Karlos_01 is it working? i don't understand your statement...
Title: Re: Canon 1200D
Post by: matija on April 04, 2015, 02:27:48 PM
The problem I have is that there is no clear explanation what has to be done. I cant really know how much work it is. I do have 1200D and I do make living as a (python) dev, so I am willing to spend some time on this.
I did look at the bitbucket, again, same issue.
Title: Re: Canon 1200D
Post by: dmilligan on April 04, 2015, 06:25:11 PM
step 0: setup the toolchain (http://www.magiclantern.fm/forum/index.php?topic=991.0) (you can also do it like this (http://www.magiclantern.fm/forum/index.php?topic=14725.0))
step 1: dump the firmware (see a couple posts back)
step 2: analyze/decompile the firmware dump to find function stubs (http://www.magiclantern.fm/forum/index.php?topic=12177.0)
step 3: run it in QEMU (https://bitbucket.org/hudson/magic-lantern/branch/qemu)
step 4: if you get this far, get in touch with a1ex to create a bootflag fir, so you can run on actual camera

see also: some of the porting work done by recently for 70D (look at the commit history and diffs):
https://bitbucket.org/hudson/magic-lantern/branch/70d-support
https://bitbucket.org/hudson/magic-lantern/pull-request/620/add-support-for-eos-70d-111-both-revisions/diff#
Title: Re: Canon 1200D
Post by: matija on April 04, 2015, 09:24:36 PM
@dmilligan
Thank you ... it does look simpler when you have the main steps in one place.
I disassembled it. I am not sure how to proceed, I have following files:


-rw-r--r--  1 matija matija  33554432 Tra  4 20:09 ROM1.BIN
-rw-rw-r--  1 matija matija 399838361 Tra  4 21:17 ROM1.BIN.dis
-rw-rw-r--  1 matija matija  33554942 Tra  4 21:10 ROM1.BIN.elf
-rw-rw-r--  1 matija matija   3422646 Tra  4 21:13 ROM1.BIN.labels
-rw-rw-r--  1 matija matija   2676549 Tra  4 21:10 ROM1.BIN.strings


Do I go to step 3 (your link is to the branch, not instructions, a sentence or two might help.
Thank you
Title: Re: Canon 1200D
Post by: dmilligan on April 04, 2015, 11:04:39 PM
So now you need to analyze the disassembly and find the addresses of functions in the Canon firmware that ML uses. Please refer to the tutorial in step 2.
Title: Re: Canon 1200D
Post by: fjriosp on April 19, 2015, 11:10:49 AM
Hi all,

I've dumped the firmware of my 1200d, disassembled and now I'm starting to find some stubs, but.. which could be the correct start address?

The dump is ROM0+ROM1 and starts at 0xF7000000??

I also have a 700d and i've using that dump to guide to find the stubs on the 1200d firmware. Almost all the stubs on the 700d port have an address like 0xFFxxxxxx.

What are the correct base address for ROM0 and ROM1?

Thanks a lot!
Title: Re: Canon 1200D
Post by: fjriosp on April 19, 2015, 12:43:51 PM
Hi again,

I've found all the FIO stubs:


/** File I/O **/
NSTUB(0xFF2A2930,  FIO_CloseFile)
NSTUB(0xFF2A3900,  FIO_FindClose)                           // FindClose
NSTUB(0xFF2A3820,  FIO_FindNextEx)
NSTUB(0xFF2A26E0,  FIO_ReadFile)
NSTUB(0xFF2A2790,  FIO_SeekSkipFile)
NSTUB(0xFF2A2880,  FIO_WriteFile)
NSTUB(0xFF2A316C, _FIO_CreateDirectory)
NSTUB(0xFF2A258C, _FIO_CreateFile)
NSTUB(0xFF2A372C, _FIO_FindFirstEx)
NSTUB(0xFF2A2AAC, _FIO_GetFileSize)
NSTUB(0xFF2A24D0, _FIO_OpenFile)
NSTUB(0xFF2A2638, _FIO_RemoveFile)
NSTUB(0xFF2A2fA4, _FIO_RenameFile)


Should I create a new directory under platform on the unified branch to upload the changes?

And could somebody give me a recommendation to find out 'cstart' and other difficult stubs?

Thanks a lot
Title: Re: Canon 1200D
Post by: a1ex on April 19, 2015, 05:05:56 PM
Yep, good start.

From 70D:
Quote from: a1ex on October 04, 2014, 08:30:21 AM
It dumps 32 MB from 0xF7000000, which covers both ROM0 and ROM1 - that's what you need to run ML in QEMU. For analyzing the code, you can load ROM1 (the second half of that file) at 0xFF000000.

So, split the dump in two parts and load the second half at 0xFF000000.

Why we use this trick?
To make QEMU load a single dump (from a single file) covering both ROMs.

Why does it work?
http://www.magiclantern.fm/forum/index.php?topic=2864.msg30367#msg30367
http://www.magiclantern.fm/forum/index.php?topic=6785.msg58899#msg58899

To find cstart, look for a function that calls bzero32 and then launches init_task. Usually, cstart is the first function ever called in Canon code (after initializing a bunch of stuff).
Title: Re: Canon 1200D
Post by: fjriosp on April 19, 2015, 07:41:56 PM
Perfect,

I've look at the 700d asm code and the cstart calls to bzero32 and create_init_task.

In the 1200d I've found the bzero32 function but I don't know how to find init_task, create_init_task or cstart.

There is some other way?

Thanks a lot!
Title: Re: Canon 1200D
Post by: fjriosp on April 20, 2015, 08:50:31 AM
Ok,

I think I have found the cstart.
Title: Re: Canon 1200D
Post by: fjriosp on April 21, 2015, 11:32:41 AM
Hi again,

I have more than the 50% of the stubs located. Could some one create the structure under platform for the 1200d?

How can I check if the stubs are correct or not? Could be simulated with qemu or in camera?

Thanks a lot!
Title: Re: Canon 1200D
Post by: fjriosp on April 21, 2015, 07:17:36 PM
Ok,

I have almost all the stubs located: http://pastebin.com/cStunbD2

Could someone give me a trick to find:

SetNextASIFADCBuffer
SetNextASIFDACBuffer
LiveViewApp_handler_end
LiveViewShutterApp_handler
sd_device
task_max
task_dispatch_hook
task_trampoline

I have search all the stubs found on the 700D port, if there is some other stub that could be interesting to find, please, tell me.

What's the next step?
Title: Re: Canon 1200D
Post by: nikfreak on April 21, 2015, 07:22:20 PM
are you familar with QEMU? You should compile from qemu branch and follow instructions to boot up your ROM.BIN. If successfull keep us informed about your progress. I will try to helpwherevever I can. The best thing would be to set up a bitbucket account and fork the ML repo. In the end you will need it anyways to create a pull request.

How many dumps exist for 1200D. Like 70D / 100D at least 2 different revisions or actually only one???
Title: Re: Canon 1200D
Post by: fjriosp on April 22, 2015, 01:14:55 AM
I've used qemu to run linux virtual machines in the past, but never a canon firmware. xD

I have the dump of a 700D 1.1.3 and another one of the 1200D 1.0.0.

I think that 1200D only have the version 1.0.0.

I have try to run the firmware with qemu and I only have got a black screen. If I run the ml-1200 firmware i got the ML menu. But i don't know what to do. Can I check thw stubs in qemu?
Title: Re: Canon 1200D
Post by: nikfreak on April 22, 2015, 08:02:44 AM
So you got 1200D fw dump working in QEMU? Don't spend too much time on stubs. We can solve that always in post. First undefine state_objects + prop_request_changes in internals.h.
How about consts.h?? These are important too. As far as I know the 1200D has digic4 so probably it's just an updated 1100D. You should take a look at the 1100D platform tree ahh and btw send me your fw by PM (no public link). I will try to lead you a hand in hope that there are no other fw revisions...
Title: Re: Canon 1200D
Post by: fjriosp on April 22, 2015, 10:19:36 AM
I think that I have qemu working. I got a white noise screen with the 'help' and with 'del' key I got the magic lantern menu.

I've copy the address of 1100d on the eos.c, but I also check another address and also works... really I dont know if works or not. I can navigate across the menu, but if I try to adjust ISO or WB y get some red messages and the log outputs a lot of text, after few seconds I got again the control of the menu.

Then, the next steps are internals.h and consts.h? Some help about that files? What contains? How to fill them? How to match with the 1200d firmware?

Thanks a lot!
Title: Re: Canon 1200D
Post by: nikfreak on April 22, 2015, 10:25:19 AM
Ok you are fine with most stubs if you got that far.
yes in internals.h you can undefine most of the stuff first or better use what 1100D has. Just be sure to start with
#undef CONFIG_PROP_REQUEST_CHANGE

I can help you if you provide me your dump in PM (not public). You may also have a look at my 70D-merge branch on bitbucket and check out 70D platform tree for comments
Title: Re: Canon 1200D
Post by: Falfrir on April 23, 2015, 08:54:13 PM
QuoteI think that 1200D only have the version 1.0.0.
Confirm.
Ukraine, canon 1200d fw v. 1.0.0
Title: Re: Canon 1200D
Post by: nikfreak on April 23, 2015, 09:04:16 PM
On 100D / 70D there's also only one version but different revisions.
Title: Re: Canon 1200D
Post by: Falfrir on April 23, 2015, 10:27:00 PM
Where i can got rev. number?
I'm bad in C an *nix, but want to help.
Title: Re: Canon 1200D
Post by: fjriosp on April 24, 2015, 11:02:47 PM
 I think it's in the rom.

Look some posts back, dump your rom and send it me by mp.
I'll check if it's the same model than mine.
Title: Re: Canon 1200D
Post by: a1ex on April 25, 2015, 07:20:43 PM
Here's the portable display test (http://www.magiclantern.fm/forum/index.php?topic=14732) binary, signed as FIR for 1200D. It should print detailed version info, among other things. Tested in QEMU.

TEST1200.FIR (http://a1ex.magiclantern.fm/bleeding-edge/1200D/TEST1200.FIR)
Title: Re: Canon 1200D
Post by: fjriosp on April 25, 2015, 09:07:33 PM
Great!

Tonight I'll try it with my 1200d.

I'll post some photos.

Thanks a1ex!
Title: Re: Canon 1200D
Post by: fjriosp on April 26, 2015, 12:46:33 AM
There is my camera's output.

(http://picload.org/thumbnail/idoawil/img_20150426_004143.jpg) (http://picload.org/view/idoawil/img_20150426_004143.jpg.html)
Title: Re: Canon 1200D
Post by: Jordi on May 04, 2015, 12:18:56 PM
something new about how to start the 1200d Magic Lantern?
Title: Re: Canon 1200D
Post by: fjriosp on May 05, 2015, 04:03:14 PM
I'm working on it, I hope I'll have good news soon.
Title: Re: Canon 1200D
Post by: wandgrab on May 05, 2015, 05:13:50 PM
@Jordi You can always see the state of development on bitbucket, it seems to be pretty far :) https://bitbucket.org/fjriosp/1200d-dev (https://bitbucket.org/fjriosp/1200d-dev)

@fjriosp if you need alpha testers or whatever, I would love to be one :) I've checked the state of development a few times each day since you've started to port it.
Title: Re: Canon 1200D
Post by: fjriosp on May 13, 2015, 10:53:12 PM
And we have a Hello World!!!

(http://picload.org/thumbnail/iacplcr/img_20150514_195641.jpg) (http://picload.org/view/iacplcr/img_20150514_195641.jpg.html)

Thanks A1ex!!!

You are a crack!
Title: Re: Canon 1200D
Post by: jayhawker on May 14, 2015, 04:12:13 AM
Awesome work! I've been following the progress. I have some coding experience, but haven't delved into ML development yet. However, if you need testers I'd be happy help out.
Title: Re: Canon 1200D
Post by: totalmichel on May 16, 2015, 07:44:30 PM
Hi, i tried to make zip, using the git, of this port (1200d-dev), but it dosent works, any chance of getting the fir file, so i can try it?
Title: Re: Canon 1200D
Post by: totalmichel on May 20, 2015, 03:23:24 PM
Abandoned build? No news or reply here or in git repository.
Is there an step by step guide in how to port ml?
I know c, c+ and c#
Title: Re: Canon 1200D
Post by: wandgrab on May 21, 2015, 08:28:51 PM
@totalmichel It's been 8 days since fjriosp post the hello work. I dont know, maybe you should have some patience. The last time he was online was on yesterday. I quite sure he is on it.
Title: Re: Canon 1200D
Post by: totalmichel on May 22, 2015, 11:52:31 AM
didn't meant it as an offense, its just that i would like to try to port it, and the git repository have not been updated lately (this hello world file ain't there)
sometimes people abandon a project because they don't have time, or other reason.
so i asked for an step by step guide, so that i could try to port it by myself
Title: Re: Canon 1200D
Post by: dmilligan on May 23, 2015, 01:29:05 AM
It's been 2 weeks, I would hardly call that "abandoned". ML itself has seen months without commit activity. Commit activity isn't even necessarily an indication of actual progress, esp when talking about reverse engineering projects like this one, where much of the work is investigation and research.

All of the code to run the hello world is there in the repo, however, actually running it on camera requires a signed fir (this is a hack after all and you have to "get in" somehow, the way in for ML is through a specially crafted fir file that allows us to execute our own code, creating such a fir requires breaking Canon's encryption)

If you want to know what you need to do to proceed yourself, just read this very thread, there's lots of good information. Especially starting at my reply #36
Title: Re: Canon 1200D
Post by: Uqbar on May 24, 2015, 05:22:52 PM
@dmilligan Thank you for the great patience with us all! Really!
Title: Re: Canon 1200D
Post by: Mexxmovies on May 26, 2015, 08:21:18 PM
Hi, i'm kinda new to all of this... But I was wondering when there will be a Nightly Build for the 1200D?

Thanks.
Title: Re: Canon 1200D
Post by: Walter Schulz on May 26, 2015, 08:28:32 PM
It will be ready when it is ready. ML development has no deadline to meet. It took about 3 years to make 7D run with ML.
I'm quite sure you will not have to wait that long (there were some technical issues to solve for 7D not existing in 1200D) but - please - never ever ask for a timeline again.
FAQ -> Troll questions section -> Last entries.
Title: Re: Canon 1200D
Post by: MustangXPress7 on May 27, 2015, 08:08:22 PM
Quote from: Walter Schulz on May 26, 2015, 08:28:32 PM
It will be ready when it is ready. ML development has no deadline to meet. It took about 3 years to make 7D run with ML.
I'm quite sure you will not have to wait that long (there were some technical issues to solve for 7D not existing in 1200D) but - please - never ever ask for a timeline again.
FAQ -> Troll questions section -> Last entries.

I am aware of all the hard work and I even don't mind to wait as much as ML gets ready for 1200D, but it's a bit annoying not to be aware of the progress or even the day it gets released. Is there any way to get an email or similar when ML for 1200D gets released? (apart from looking at the forums and the bitbucket every day for anything similar to an update)
Title: Re: Canon 1200D
Post by: Walter Schulz on May 27, 2015, 09:03:38 PM
There is no such thing like mailing lists for new cam ports. https://twitter.com/autoexec_bin is coming close. So you might want to become a follower.
Title: Re: Canon 1200D
Post by: Karlos_01 on July 09, 2015, 06:07:33 AM
someone has news, continues or is stopped
Title: Re: Canon 1200D
Post by: m1k6 on July 18, 2015, 09:50:33 AM
fjriosp made the inital porting for the 1200d (see some posts back), but unfortunately he was last online days ago.
Hopefully another member can finish what he had started.
Title: Re: Canon 1200D
Post by: jjrizzy on August 03, 2015, 09:46:07 PM
Hello Everyone...I am certainly new to all of this...
I would like for there to be a program for 1200D/T5.
I am willing to LEARN ANything that I need to learn Please point me in the right direction....
Thanks
Title: Re: Canon 1200D
Post by: dmilligan on August 03, 2015, 10:24:18 PM
Do you know C? Embedded programming? ARM assembly language? If not, those would be good places to start. If you do, then start digging into the ML code base (see reply #36), and post any specific questions you might have.
Title: Re: Canon 1200D
Post by: BigMikeD on August 23, 2015, 03:37:04 AM
To all those working on this..THANK YOU!!! 
Title: Re: Canon 1200D
Post by: epiclegotyler on September 08, 2015, 11:05:36 PM
My head is spinning, does ML work for the T5 or not? Is it 100% or some kind of beta. That's all I want to know.
Oh and if it does work is it really complicated? Why is there no sticky?
Title: Re: Canon 1200D
Post by: dmilligan on September 09, 2015, 01:27:18 AM
No. It's in an extremely early stage of porting, nothing you would consider remotely "usable", and there doesn't seem to be anyone actively working on it.
Title: Re: Canon 1200D
Post by: BigMikeD on September 23, 2015, 04:07:00 PM
shameless bump!
Title: Re: Canon 1200D
Post by: mbit on September 24, 2015, 12:51:31 AM
+1 Big Thanks for all involved on developing ML for 1200D.


I was used to work with chdk on my SXs and realized i made a huge mistake acquiring the 1200D before checking ML support list.
I do know a little bit of programming (academic level).
Willing and available for some betatesting  :D
Title: Re: Canon 1200D
Post by: artur_d on September 24, 2015, 02:13:17 PM
@dmilligan wrote about 100d:
>What's next:
>
> Receive the body done.
> Order a lens
> Ask a1ex to do the fir installers (we got at least 2 fw revisions)   :D
> Bring "da magic" to 100D

@a1ex:
Can You do the firmware installer for our 1200d?
What do you need to do this?
If do You have not enough time, maybe there is some way, You can write about? Probably it is too difficult, but I think about some kind of tutorial, some kind of tools.
Title: Re: Canon 1200D
Post by: BallisticHugs on October 13, 2015, 10:50:38 AM
I need this so bad guys... :( If anyone is still working on it, I appreciate it!
Title: Re: Canon 1200D
Post by: Bcordeiro on October 21, 2015, 08:24:33 PM
to all who are working on this project my thanks! I am eager and hopeful to get my hands on the Magic Lanternet in my 1200D!  :) :) :)
Title: Re: Canon 1200D
Post by: Walter Schulz on October 21, 2015, 08:36:40 PM
I suppose no one is working on this right now.
See replies 77 and 78.
Title: Re: Canon 1200D
Post by: BigMikeD on November 07, 2015, 07:19:55 PM
can anyone explain the differences (from a programming standpoint) between the T3 and the T5?  both digic 4 and what appears to be the same button layout.  was curious as to the difficulty of using the t3 build on the T5.  anyone care to elaborate for me?
Title: Re: Canon 1200D
Post by: dmilligan on November 08, 2015, 03:24:00 PM
ML works by calling functions that were found in the Canon firmware by disassembling it. We have to hardcode the specific addresses of these functions where they are stored in ROM (or in some cases RAM), because there is no API or linking faculties. In other words we only have an ABI, not an API. The locations of these functions are different for different cameras and even different revisions of firmware for the same camera. This is because when Canon compiles their firmware, the compiler is just going to put functions wherever it sees fit, so if Canon changed anything about the code at all (even something as simple as changing a single string literal) all the function locations are going to shift around. Therefore an ML build will only work on a specific camera and firmware version. It can't work on anything else, because it doesn't know the location of any functions it needs to work. ML actually does a checksum of the Canon firmware at startup to make sure it is the correct one and refuses to boot otherwise.
Title: Re: Canon 1200D
Post by: BigMikeD on November 08, 2015, 06:57:17 PM
that was all greek to me but thank you for the reply none the less.  i was hoping it was simpler than that but oh well.  does give my curiosity some reading material though.
Title: Re: Canon 1200D
Post by: alfonsofernandezyf on November 14, 2015, 11:53:41 PM
I'd love to help make this happen, I just got a Rebel T5.

What can I do to help bring Magic Lantern to the T5s and 1200Ds of the world?

Title: Re: Canon 1200D
Post by: Walter Schulz on November 15, 2015, 02:20:00 AM
See reply #75.
+ Willing to spend several hundred hours to make it work.
Title: Re: Canon 1200D
Post by: Phant on November 15, 2015, 10:19:09 PM
Quote from: Walter Schulz on November 15, 2015, 02:20:00 AM
See reply #75.
+ Willing to spend several hundred hours to make it work.
I've got some stuff to learn, but count me in!
Title: Re: Canon 1200D
Post by: axelcine on November 26, 2015, 05:32:02 PM
There is a perfectly beautiful ML for T5 - see downloads > 700d114. Be awestruck. Good luck

Ah... ignore this. I guess I slept through this class. Sorry.
Title: Re: Canon 1200D
Post by: BigMikeD on November 26, 2015, 07:21:51 PM
t5i and the t5 are nothing alike.  i dont think that will work.
Title: Re: Canon 1200D
Post by: Andy12 on December 01, 2015, 05:26:21 PM
I hope ML development gets rollin on this model. Another vote from my side.
Thanks
Title: Re: Canon 1200D
Post by: Mafketel on December 05, 2015, 06:14:36 PM
Quote from: dmilligan on November 08, 2015, 03:24:00 PM
ML works by calling functions that were found in the Canon firmware by disassembling it. We have to hardcode the specific addresses of these functions where they are stored in ROM (or in some cases RAM), because there is no API or linking faculties. In other words we only have an ABI, not an API. The locations of these functions are different for different cameras and even different revisions of firmware for the same camera. This is because when Canon compiles their firmware, the compiler is just going to put functions wherever it sees fit, so if Canon changed anything about the code at all (even something as simple as changing a single string literal) all the function locations are going to shift around. Therefore an ML build will only work on a specific camera and firmware version. It can't work on anything else, because it doesn't know the location of any functions it needs to work. ML actually does a checksum of the Canon firmware at startup to make sure it is the correct one and refuses to boot otherwise.
Luckily no greek in sight here, very well explained thank you.
Makes me want to get the firmware and let the computer find the fingerprints for those functions.....
But I assume that if that was possible that would have been done already.
How do you check for the functions? write a script to test each memory location and see what happens on your camera?
Title: Re: Canon 1200D
Post by: Andy12 on December 06, 2015, 02:21:29 PM
It close to 2 years since the release  of 1200D & since there seems to be no active development, I fear the ML port is never going to see the light of day.

My budget only allows to buy a 1200D & I would have gotten it in a jiffy even if the development was in (slow) progress (to which I could have contributed, though I am a noob). However, since this seems to be a dead end for now, I will simply wait for 700d prices to get down or switch to something else.
Title: Re: Canon 1200D
Post by: dmilligan on December 06, 2015, 04:39:15 PM
@Mafketel,

Yes, many functions can be found by automated scripts, other functions may vary, or may even be altogether not present, and work around must be found. Or perhaps the same function operates altogether differently. It's also not just functions that must be found, things like data structures, register addresses, and locations of various buffers must be found as well, also things like the valid range of values for registers too.

Bottom line is that there's always going to be a non trivial amount of work to do on any new port, and ultimately requires a camera in the hands of a developer to make sure things actually work, and understand and handle the unique aspects of the camera.
Title: Re: Canon 1200D
Post by: axelcine on December 06, 2015, 07:31:56 PM
The 700d price is already dropping all over the world, and the ML for this cam is really very good. The 1200 is a nice entry-level camera, but as such comes with a few restrictions compared to the more mature 700d (ISO 25600 on T5i versus 6400 on the T5, fewer video choices... read dpreview's excellent survey of both cameras. So what I'm saying: Save up a little more and get yourself a 700d. I also bought the 760d, but I'm almost certain there will never be a ML for that camera. It's OK, I have plenty use for a non-ML camera (but I'd love to get ML for the 760d.) So my next camera is probably going to be a second-hand 5dIII.
Title: Re: Canon 1200D
Post by: vanbov on December 07, 2015, 12:56:20 AM
Hi. I am trying to load dumped ML firmware to qemu, but have some issue. I dumped it with dumper-1200D-qemu.fir (32M). BTW I can confirm that my firmware version showed in  TEST1200.FIR is also 1.0.0/4.4.2 5A(19). I used qemu script https://bitbucket.org/hudson/magic-lantern/src/c295d34b1fc40b7d7f4f25c9cd66d654b814ccd3/contrib/qemu/install.sh?at=unified&fileviewer=file-view-default to build qemu.
There are no 1200d or 1100d in supported machines:

~/ml/qemu$ qemu-1.6.0/arm-softmmu/qemu-system-arm -M ?
Supported machines are:
none                 empty machine
collie               Collie PDA (SA-1110)
ML-50D               Magic Lantern on Canon EOS 50D
ML-60D               Magic Lantern on Canon EOS 60D
ML-600D              Magic Lantern on Canon EOS 600D
ML-500D              Magic Lantern on Canon EOS 500D
ML-5D2               Magic Lantern on Canon EOS 5D2
ML-5D3               Magic Lantern on Canon EOS 5D3
ML-650D              Magic Lantern on Canon EOS 650D
ML-100D              Magic Lantern on Canon EOS 100D
ML-7D                Magic Lantern on Canon EOS 7D
ML-550D              Magic Lantern on Canon EOS 550D
ML-6D                Magic Lantern on Canon EOS 6D
50D                  Canon EOS 50D
60D                  Canon EOS 60D
600D                 Canon EOS 600D
500D                 Canon EOS 500D
5D2                  Canon EOS 5D2
5D3                  Canon EOS 5D3
650D                 Canon EOS 650D
100D                 Canon EOS 100D
7D                   Canon EOS 7D
550D                 Canon EOS 550D
6D                   Canon EOS 6D
nuri                 Samsung NURI board (Exynos4210)
smdkc210             Samsung SMDKC210 board (Exynos4210)
connex               Gumstix Connex (PXA255)
verdex               Gumstix Verdex (PXA270)
highbank             Calxeda Highbank (ECX-1000)
midway               Calxeda Midway (ECX-2000)
integratorcp         ARM Integrator/CP (ARM926EJ-S) (default)
kzm                  ARM KZM Emulation Baseboard (ARM1136)
mainstone            Mainstone II (PXA27x)
musicpal             Marvell 88w8618 / MusicPal (ARM926EJ-S)
n800                 Nokia N800 tablet aka. RX-34 (OMAP2420)
n810                 Nokia N810 tablet aka. RX-44 (OMAP2420)
sx1                  Siemens SX1 (OMAP310) V2
sx1-v1               Siemens SX1 (OMAP310) V1
cheetah              Palm Tungsten|E aka. Cheetah PDA (OMAP310)
realview-eb          ARM RealView Emulation Baseboard (ARM926EJ-S)
realview-eb-mpcore   ARM RealView Emulation Baseboard (ARM11MPCore)
realview-pb-a8       ARM RealView Platform Baseboard for Cortex-A8
realview-pbx-a9      ARM RealView Platform Baseboard Explore for Cortex-A9
akita                Akita PDA (PXA270)
spitz                Spitz PDA (PXA270)
borzoi               Borzoi PDA (PXA270)
terrier              Terrier PDA (PXA270)
lm3s811evb           Stellaris LM3S811EVB
lm3s6965evb          Stellaris LM3S6965EVB
tosa                 Tosa PDA (PXA255)
versatilepb          ARM Versatile/PB (ARM926EJ-S)
versatileab          ARM Versatile/AB (ARM926EJ-S)
vexpress-a9          ARM Versatile Express for Cortex-A9
vexpress-a15         ARM Versatile Express for Cortex-A15
xilinx-zynq-a9       Xilinx Zynq Platform Baseboard for Cortex-A9
z2                   Zipit Z2 (PXA27x)


So, I tried to use 60D machine, which are also DIGIC4 according to  https://ru.wikipedia.org/wiki/DIGIC#DIGIC_4

But qemu shows only black screen. and some output:
~/ml/qemu$ ./run_canon_fw.sh 60D

make: Entering directory `/home/user/ml/qemu/qemu-1.6.0'
make  all-recursive
Making all in pixman
make  all-am
make[4]: Nothing to be done for `all-am'.
Making all in test
make[3]: Nothing to be done for `all'.
LEX convert-dtsv0-lexer.lex.c
make[1]: flex: Command not found
BISON dtc-parser.tab.c
make[1]: bison: Command not found
LEX dtc-lexer.lex.c
make[1]: flex: Command not found
CHK version_gen.h
make: Leaving directory `/home/user/ml/qemu/qemu-1.6.0'
00000000 - 00000FFF: eos.tcm_code
40000000 - 40000FFF: eos.tcm_data
00001000 - 3FFFFFFF: eos.ram
40001000 - 7FFFFFFF: eos.ram_uncached
F0000000 - F0FFFFFF: eos.rom0
F1000000 - F1FFFFFF: eos.rom0_mirror_F1
F2000000 - F2FFFFFF: eos.rom0_mirror_F2
F3000000 - F3FFFFFF: eos.rom0_mirror_F3
F4000000 - F4FFFFFF: eos.rom0_mirror_F4
F5000000 - F5FFFFFF: eos.rom0_mirror_F5
F6000000 - F6FFFFFF: eos.rom0_mirror_F6
F7000000 - F7FFFFFF: eos.rom0_mirror_F7
F8000000 - F8FFFFFF: eos.rom1
F9000000 - F9FFFFFF: eos.rom1_mirror_F9
FA000000 - FAFFFFFF: eos.rom1_mirror_FA
FB000000 - FBFFFFFF: eos.rom1_mirror_FB
FC000000 - FCFFFFFF: eos.rom1_mirror_FC
FD000000 - FDFFFFFF: eos.rom1_mirror_FD
FE000000 - FEFFFFFF: eos.rom1_mirror_FE
FF000000 - FFFFFFFF: eos.rom1_mirror_FF
C0000000 - CFFFFFFF: eos.iomem
[EOS] loading 'ROM-60D.BIN' to 0xF0000000-0xF1FFFFFF
[EOS] loading 'ROM-60D.BIN' to 0xF8000000-0xF9FFFFFF

I also tried 7D. So question is do I need some specific machine to run It or may be there are some issues with dump? I am able to disassemble second 16M (ROM1) from dump and have next files:
$ ls -lh
total 266M
-rwxrwx--- 1 user user  32M гру  6 14:42 AS
-rw-rw-r-- 1 user user 5,2K гру  6 16:21 disassemble.pl
-rw-rw-r-- 1 user user  16M гру  6 17:05 ROM0.bin
-rw-rw-r-- 1 user user  16M гру  6 17:05 ROM1.bin
-rw-rw-r-- 1 user user 181M гру  6 17:09 ROM1.bin.dis
-rw-rw-r-- 1 user user  17M гру  6 17:07 ROM1.bin.elf
-rw-rw-r-- 1 user user 3,2M гру  6 17:07 ROM1.bin.labels
-rw-rw-r-- 1 user user 2,5M гру  6 17:07 ROM1.bin.strings

PS. Thanks to team for help, and especially for detailed explanations for non-obvious things, it helps alot.
Title: Re: Canon 1200D
Post by: vanbov on December 07, 2015, 03:10:07 PM
I found 1200D machine in fjriosp repository, but it throws some exception,

user@user-VirtualBox:~/ml/code_1200d/qemu$ ./run_canon_fw.sh 1200D
make: Entering directory `/home/user/ml/code_1200d/qemu/qemu-1.6.0'
make  all-recursive
Making all in pixman
make  all-am
make[4]: Nothing to be done for `all-am'.
Making all in test
make[3]: Nothing to be done for `all'.
    LEX convert-dtsv0-lexer.lex.c
make[1]: flex: Command not found
    BISON dtc-parser.tab.c
make[1]: bison: Command not found
    LEX dtc-lexer.lex.c
make[1]: flex: Command not found
   CHK version_gen.h
make: Leaving directory `/home/user/ml/code_1200d/qemu/qemu-1.6.0'
00000000 - 00000FFF: eos.tcm_code
40000000 - 40000FFF: eos.tcm_data
00001000 - 3FFFFFFF: eos.ram
40001000 - 7FFFFFFF: eos.ram_uncached
F0000000 - F0FFFFFF: eos.rom0
F1000000 - F1FFFFFF: eos.rom0_mirror_F1
F2000000 - F2FFFFFF: eos.rom0_mirror_F2
F3000000 - F3FFFFFF: eos.rom0_mirror_F3
F4000000 - F4FFFFFF: eos.rom0_mirror_F4
F5000000 - F5FFFFFF: eos.rom0_mirror_F5
F6000000 - F6FFFFFF: eos.rom0_mirror_F6
F7000000 - F7FFFFFF: eos.rom0_mirror_F7
F8000000 - F8FFFFFF: eos.rom1
F9000000 - F9FFFFFF: eos.rom1_mirror_F9
FA000000 - FAFFFFFF: eos.rom1_mirror_FA
FB000000 - FBFFFFFF: eos.rom1_mirror_FB
FC000000 - FCFFFFFF: eos.rom1_mirror_FC
FD000000 - FDFFFFFF: eos.rom1_mirror_FD
FE000000 - FEFFFFFF: eos.rom1_mirror_FE
FF000000 - FFFFFFFF: eos.rom1_mirror_FF
C0000000 - CFFFFFFF: eos.iomem
[EOS] loading 'ROM-1200D.BIN' to 0xF0000000-0xF1FFFFFF
[EOS] loading 'ROM-1200D.BIN' to 0xF8000000-0xF9FFFFFF
[FlashIF] at [0xFF0C000C]: 'Write enable' enabled
[] [0x00000001] -> [0xC020010C] PC: 0xFF0C000C
[] [0x000000FF] -> [0xC020000C] PC: 0xFF0C000C
[] [0x000000FF] -> [0xC020001C] PC: 0xFF0C000C
[] [0x000000FF] -> [0xC020002C] PC: 0xFF0C000C
[] [0x000000FF] -> [0xC020003C] PC: 0xFF0C000C
[] [0x000000FF] -> [0xC020004C] PC: 0xFF0C000C
[] [0x000000FF] -> [0xC020005C] PC: 0xFF0C000C
[] [0x000000FF] -> [0xC020006C] PC: 0xFF0C000C
[] [0x000000FF] -> [0xC020007C] PC: 0xFF0C000C
[] [0x000000FF] -> [0xC020008C] PC: 0xFF0C000C
[] [0x000000FF] -> [0xC020009C] PC: 0xFF0C000C
[] [0x000000FF] -> [0xC02000AC] PC: 0xFF0C000C
[] [0x000000FF] -> [0xC02000BC] PC: 0xFF0C000C
[] [0x000000FF] -> [0xC02000CC] PC: 0xFF0C000C
[] [0x000000FF] -> [0xC02000DC] PC: 0xFF0C000C
[] [0x000000FF] -> [0xC02000EC] PC: 0xFF0C000C
[] [0x000000FF] -> [0xC02000FC] PC: 0xFF0C000C
[Basic] at [0xFF0C000C] [0x00430005] -> [0xC0400008]
[] [0x00000000] <- [0xC0242010] PC: 0xFF0C000C
[] [0x00000001] -> [0xC0242010] PC: 0xFF0C000C
[Int] Write to Int space [0x43210DCB] -> [0xC0201100] PC: [0xFF0C5244]
[Int] Write to Int space [0xFEA98765] -> [0xC0201104] PC: [0xFF0C5244]
[Int] Write to Int space [0x00000001] -> [0xC0201200] PC: [0xFF0C5244]
[] [0x00000008] -> [0xC0203008] PC: 0xFF0C5314
[Int] Enabled interrupt ID 0x0A PC: [0xFF0C5294]
[Basic] at [0xFF0C0AAC] [0x00000000] -> [0xC0400018]
[Basic] at [0xFF0C53D0] [0x00000000] <- [0xC0400008]
[Basic] at [0xFF0C53D0] [0x00001000] -> [0xC0400008]
[Basic] at [0xFF0C0ABC] [0x00000000] <- [0xC0400000]
[Timer] at [0xFF0C5354] [0x80000000] -> [0xC0210200]
[Timer] at [0xFF0C5374] [0x00000002] -> [0xC0210204]
[Timer] at [0xFF0C5374] [0x00000003] -> [0xC0210214]
[Timer] at [0xFF0C0AEC] [0x0000270F] -> [0xC0210208]
[Timer] at [0xFF0C53AC] [0x00000001] -> [0xC0210210]
[Timer] at [0xFF0C53AC] Starting triggering
[EOS] trigger int 0x0A (delayed!)
[Timer] at [0xFF0C53AC] [0x00000001] -> [0xC0210200]
[Int] Enabled interrupt ID 0x2E PC: [0xFF0C5274]
[Int] Enabled interrupt ID 0x3A PC: [0xFF0C5274]
[] [0x00000000] <- [0xC05000D0] PC: 0xFF12B4F4
[] [0x00000000] -> [0xC05000D0] PC: 0xFF12B4F4
[] [0x40016900] -> [0xC05000C0] PC: 0xFF12B4F4
[] [0x00000080] -> [0xC05000C4] PC: 0xFF12B4F4
[] [0x40016900] -> [0xC05000C8] PC: 0xFF12B4F4
[] [0x00000080] -> [0xC05000CC] PC: 0xFF12B4F4
[] [0x00000000] -> [0xC05000D4] PC: 0xFF12B4F4
[] [0x00000017] -> [0xC05000D8] PC: 0xFF12B4F4
[] [0x00010023] -> [0xC05000D0] PC: 0xFF12B4F4
[TIO] Reset RX indicator
K327 READY
[GPIO] at [0xFF0C241C] [0x00000010] -> [0xC0222004]
[GPIO] at [0xFF119C00] [0x00000025] -> [0xC0221300]
[] [0x00000004] -> [0xC020302C] PC: 0xFF119C00
[GPIO] at [0xFF119C00] [0x00000024] -> [0xC0221304]
[] [0x00000004] -> [0xC0203030] PC: 0xFF119C00
[GPIO] at [0xFF119C00] [0x00000007] -> [0xC0221308]
[GPIO] at [0xFF119C00] [0x0000004F] -> [0xC022130C]
[] [0x00000004] -> [0xC0203038] PC: 0xFF119C00
[GPIO] at [0xFF119C00] [0x0000004E] -> [0xC0221310]
[GPIO] at [0xFF119C00] [0x0000000D] -> [0xC0221314]
[Int] Write to Int space [0x43210DCB] -> [0xC0201100] PC: [0xFF0C5244]
[Int] Write to Int space [0xFEA98765] -> [0xC0201104] PC: [0xFF0C5244]
[Int] Write to Int space [0x00000001] -> [0xC0201200] PC: [0xFF0C5244]
[] [0x00000000] -> [0xC0243110] PC: 0xFF2B2098
[] [0x00000000] -> [0xC0243214] PC: 0xFF2B20E8
[] [0x00000000] <- [0xC0243214] PC: 0xFF2B20E8
[] [0x00000000] -> [0xC024321C] PC: 0xFF2B20FC
[] [0x00000000] <- [0xC024321C] PC: 0xFF2B20FC
[] [0x00000000] -> [0xC0243120] PC: 0xFF2B2098
[] [0x00000000] -> [0xC0243224] PC: 0xFF2B20E8
[] [0x00000000] <- [0xC0243224] PC: 0xFF2B20E8
[] [0x00000000] -> [0xC024322C] PC: 0xFF2B20FC
[] [0x00000000] <- [0xC024322C] PC: 0xFF2B20FC
[] [0x00000000] -> [0xC0243130] PC: 0xFF2B2098
[] [0x00000000] -> [0xC0243234] PC: 0xFF2B20E8
[] [0x00000000] <- [0xC0243234] PC: 0xFF2B20E8
[] [0x00000000] -> [0xC024323C] PC: 0xFF2B20FC
[] [0x00000000] <- [0xC024323C] PC: 0xFF2B20FC
[] [0x00000000] -> [0xC0243140] PC: 0xFF2B2098
[] [0x00000000] -> [0xC0243244] PC: 0xFF2B20E8
[] [0x00000000] <- [0xC0243244] PC: 0xFF2B20E8
[] [0x00000000] -> [0xC024324C] PC: 0xFF2B20FC
[] [0x00000000] <- [0xC024324C] PC: 0xFF2B20FC
[] [0x00000000] -> [0xC0243150] PC: 0xFF2B2098
[] [0x00000000] -> [0xC0243254] PC: 0xFF2B20E8
[] [0x00000000] <- [0xC0243254] PC: 0xFF2B20E8
[] [0x00000000] -> [0xC024325C] PC: 0xFF2B20FC
[] [0x00000000] <- [0xC024325C] PC: 0xFF2B20FC
[] [0x00000000] -> [0xC0243160] PC: 0xFF2B2098
[] [0x00000000] -> [0xC0243264] PC: 0xFF2B20E8
[] [0x00000000] <- [0xC0243264] PC: 0xFF2B20E8
[] [0x00000000] -> [0xC024326C] PC: 0xFF2B20FC
[] [0x00000000] <- [0xC024326C] PC: 0xFF2B20FC
[] [0x00000000] -> [0xC0243170] PC: 0xFF2B2098
[] [0x00000000] -> [0xC0243274] PC: 0xFF2B20E8
[] [0x00000000] <- [0xC0243274] PC: 0xFF2B20E8
[] [0x00000000] -> [0xC024327C] PC: 0xFF2B20FC
[] [0x00000000] <- [0xC024327C] PC: 0xFF2B20FC
[] [0x00000000] -> [0xC0243180] PC: 0xFF2B2098
[] [0x00000000] -> [0xC0243284] PC: 0xFF2B20E8
[] [0x00000000] <- [0xC0243284] PC: 0xFF2B20E8
[] [0x00000000] -> [0xC024328C] PC: 0xFF2B20FC
[] [0x00000000] <- [0xC024328C] PC: 0xFF2B20FC
[] [0x00000000] -> [0xC0243190] PC: 0xFF2B2098
[] [0x00000000] -> [0xC0243294] PC: 0xFF2B20E8
[] [0x00000000] <- [0xC0243294] PC: 0xFF2B20E8
[] [0x00000000] -> [0xC024329C] PC: 0xFF2B20FC
[] [0x00000000] <- [0xC024329C] PC: 0xFF2B20FC
[] [0x00000000] -> [0xC02431A0] PC: 0xFF2B2098
[] [0x00000000] -> [0xC02432A4] PC: 0xFF2B20E8
[] [0x00000000] <- [0xC02432A4] PC: 0xFF2B20E8
[] [0x00000000] -> [0xC02432AC] PC: 0xFF2B20FC
[] [0x00000000] <- [0xC02432AC] PC: 0xFF2B20FC
[] [0x00000000] -> [0xC02431B0] PC: 0xFF2B2098
[] [0x00000000] -> [0xC02432B4] PC: 0xFF2B20E8
[] [0x00000000] <- [0xC02432B4] PC: 0xFF2B20E8
[] [0x00000000] -> [0xC02432BC] PC: 0xFF2B20FC
[] [0x00000000] <- [0xC02432BC] PC: 0xFF2B20FC
[] [0x00000000] -> [0xC02431C0] PC: 0xFF2B2098
[] [0x00000000] -> [0xC02432C4] PC: 0xFF2B20E8
[] [0x00000000] <- [0xC02432C4] PC: 0xFF2B20E8
[] [0x00000000] -> [0xC02432CC] PC: 0xFF2B20FC
[] [0x00000000] <- [0xC02432CC] PC: 0xFF2B20FC
[] [0x00000000] -> [0xC02431D0] PC: 0xFF2B2098
[] [0x00000000] -> [0xC02432D4] PC: 0xFF2B20E8
[] [0x00000000] <- [0xC02432D4] PC: 0xFF2B20E8
[] [0x00000000] -> [0xC02432DC] PC: 0xFF2B20FC
[] [0x00000000] <- [0xC02432DC] PC: 0xFF2B20FC
[] [0x00000000] -> [0xC02431E0] PC: 0xFF2B2098
[] [0x00000000] -> [0xC02432E4] PC: 0xFF2B20E8
[] [0x00000000] <- [0xC02432E4] PC: 0xFF2B20E8
[] [0x00000000] -> [0xC02432EC] PC: 0xFF2B20FC
[] [0x00000000] <- [0xC02432EC] PC: 0xFF2B20FC
[] [0x00000000] -> [0xC0202000] PC: 0xFF2B2138
[] [0x00000000] -> [0xC0242200] PC: 0xFF2B2160
[] [0x00000000] -> [0xC0242204] PC: 0xFF2B2170
[] [0x00000000] -> [0xC0202004] PC: 0xFF2B2138
[] [0x00000000] -> [0xC0242210] PC: 0xFF2B2160
[] [0x00000000] -> [0xC0242214] PC: 0xFF2B2170
[] [0x00000000] -> [0xC0202008] PC: 0xFF2B2138
[] [0x00000000] -> [0xC0242220] PC: 0xFF2B2160
[] [0x00000000] -> [0xC0242224] PC: 0xFF2B2170
[] [0x00000000] -> [0xC020200C] PC: 0xFF2B2138
[] [0x00000000] -> [0xC0242230] PC: 0xFF2B2160
[] [0x00000000] -> [0xC0242234] PC: 0xFF2B2170
[] [0x00000000] -> [0xC0202010] PC: 0xFF2B2138
[] [0x00000000] -> [0xC0242240] PC: 0xFF2B2160
[] [0x00000000] -> [0xC0242244] PC: 0xFF2B2170
[] [0x00000000] -> [0xC0202014] PC: 0xFF2B2138
[] [0x00000000] -> [0xC0242250] PC: 0xFF2B2160
[] [0x00000000] -> [0xC0242254] PC: 0xFF2B2170
[] [0x00000000] -> [0xC0202018] PC: 0xFF2B2138
[] [0x00000000] -> [0xC0242260] PC: 0xFF2B2160
[] [0x00000000] -> [0xC0242264] PC: 0xFF2B2170
[] [0x00000000] -> [0xC020201C] PC: 0xFF2B2138
[] [0x00000000] -> [0xC0242270] PC: 0xFF2B2160
[] [0x00000000] -> [0xC0242274] PC: 0xFF2B2170
[] [0x00000000] -> [0xC0243700] PC: 0xFF2B2200
[] [0x00000000] -> [0xC0243710] PC: 0xFF2B2200
[] [0x00000001] -> [0xC024311C] PC: 0xFF2B21A4
[] [0x00000001] -> [0xC024312C] PC: 0xFF2B21A4
[] [0x00000001] -> [0xC024313C] PC: 0xFF2B21A4
[] [0x00000001] -> [0xC024314C] PC: 0xFF2B21A4
[] [0x00000001] -> [0xC024315C] PC: 0xFF2B21A4
[] [0x00000001] -> [0xC024316C] PC: 0xFF2B21A4
[] [0x00000001] -> [0xC024317C] PC: 0xFF2B21A4
[] [0x00000001] -> [0xC024318C] PC: 0xFF2B21A4
[] [0x00000001] -> [0xC024319C] PC: 0xFF2B21A4
[] [0x00000001] -> [0xC02431AC] PC: 0xFF2B21A4
[] [0x00000001] -> [0xC02431BC] PC: 0xFF2B21A4
[] [0x00000001] -> [0xC02431CC] PC: 0xFF2B21A4
[] [0x00000001] -> [0xC02431DC] PC: 0xFF2B21A4
[] [0x00000001] -> [0xC02431EC] PC: 0xFF2B21A4
[] [0x00000000] -> [0xC0243800] PC: 0xFF2B2214
[] [0x00000000] -> [0xC0243804] PC: 0xFF2B2214
[] [0x00000000] -> [0xC0243808] PC: 0xFF2B2214
[] [0x00000000] -> [0xC024380C] PC: 0xFF2B2214
[] [0x00000000] -> [0xC0243810] PC: 0xFF2B2214
[] [0x00000000] -> [0xC0243814] PC: 0xFF2B2214
[] [0x00000000] -> [0xC0243818] PC: 0xFF2B2214
[] [0x00000000] -> [0xC024381C] PC: 0xFF2B2214
[] [0x00000000] -> [0xC0243820] PC: 0xFF2B2214
[] [0x00000000] -> [0xC0243824] PC: 0xFF2B2214
[] [0x00000000] -> [0xC0243828] PC: 0xFF2B2214
[] [0x00000000] -> [0xC024382C] PC: 0xFF2B2214
[] [0x00000000] -> [0xC0243830] PC: 0xFF2B2214
[] [0x00000000] -> [0xC0243834] PC: 0xFF2B2214
[] [0x00000000] -> [0xC0243838] PC: 0xFF2B2214
[] [0x00000000] -> [0xC024383C] PC: 0xFF2B2214
[] [0x00000000] -> [0xC0243840] PC: 0xFF2B2214
[] [0x00000000] -> [0xC0243844] PC: 0xFF2B2214
[] [0x00000000] -> [0xC0243848] PC: 0xFF2B2214
[] [0x00000000] -> [0xC024384C] PC: 0xFF2B2214
[] [0x00000000] -> [0xC0243850] PC: 0xFF2B2214
[] [0x00000000] -> [0xC0243854] PC: 0xFF2B2214
[] [0x00000000] -> [0xC0243858] PC: 0xFF2B2214
[] [0x00000000] -> [0xC024385C] PC: 0xFF2B2214
[] [0x00000000] -> [0xC0243860] PC: 0xFF2B2214
[] [0x00000000] -> [0xC0243864] PC: 0xFF2B2214
[] [0x00000000] -> [0xC0243868] PC: 0xFF2B2214
[] [0x00000000] -> [0xC024386C] PC: 0xFF2B2214
[] [0x00000000] -> [0xC0243870] PC: 0xFF2B2214
[] [0x00000000] -> [0xC0243874] PC: 0xFF2B2214
[] [0x00000000] -> [0xC0243878] PC: 0xFF2B2214
[] [0x00000000] -> [0xC024387C] PC: 0xFF2B2214
[] [0x00000000] -> [0xC0243880] PC: 0xFF2B2214
[] [0x00000000] -> [0xC0243884] PC: 0xFF2B2214
[] [0x00000000] -> [0xC0243888] PC: 0xFF2B2214
[] [0x00000000] -> [0xC024388C] PC: 0xFF2B2214
[Int] Enabled interrupt ID 0x1A PC: [0xFF0C5274]
[Int] Enabled interrupt ID 0x1B PC: [0xFF0C5274]
[Int] Enabled interrupt ID 0x1C PC: [0xFF0C5274]
[Int] Enabled interrupt ID 0x1D PC: [0xFF0C5274]
[Int] Enabled interrupt ID 0x1E PC: [0xFF0C5274]
[Int] Enabled interrupt ID 0x1F PC: [0xFF0C5274]
[Int] Enabled interrupt ID 0x10 PC: [0xFF0C5274]
[Int] Enabled interrupt ID 0x20 PC: [0xFF0C5274]
[Int] Enabled interrupt ID 0x21 PC: [0xFF0C5274]
[Int] Enabled interrupt ID 0x22 PC: [0xFF0C5274]
[Int] Enabled interrupt ID 0x23 PC: [0xFF0C5274]
[Int] Enabled interrupt ID 0x24 PC: [0xFF0C5274]
[Int] Enabled interrupt ID 0x25 PC: [0xFF0C5274]
[Int] Enabled interrupt ID 0x26 PC: [0xFF0C5274]
[Int] Enabled interrupt ID 0x27 PC: [0xFF0C5274]
[] [0x00000000] -> [0xC0243160] PC: 0xFF2B2098
[] [0x00000000] -> [0xC0243264] PC: 0xFF2B20E8
[] [0x00000000] <- [0xC0243264] PC: 0xFF2B20E8
[] [0x00000000] -> [0xC0243170] PC: 0xFF2B2098
[] [0x00000000] -> [0xC0243274] PC: 0xFF2B20E8
[] [0x00000000] <- [0xC0243274] PC: 0xFF2B20E8
[] [0x00000000] -> [0xC0243180] PC: 0xFF2B2098
[] [0x00000000] -> [0xC0243284] PC: 0xFF2B20E8
[] [0x00000000] <- [0xC0243284] PC: 0xFF2B20E8
[] [0x00000000] -> [0xC0243190] PC: 0xFF2B2098
[] [0x00000000] -> [0xC0243294] PC: 0xFF2B20E8
[] [0x00000000] <- [0xC0243294] PC: 0xFF2B20E8
[] [0x00000000] -> [0xC02431A0] PC: 0xFF2B2098
[] [0x00000000] -> [0xC02432A4] PC: 0xFF2B20E8
[] [0x00000000] <- [0xC02432A4] PC: 0xFF2B20E8
[] [0x00000000] -> [0xC02431B0] PC: 0xFF2B2098
[] [0x00000000] -> [0xC02432B4] PC: 0xFF2B20E8
[] [0x00000000] <- [0xC02432B4] PC: 0xFF2B20E8
[] [0x00000000] -> [0xC02431C0] PC: 0xFF2B2098
[] [0x00000000] -> [0xC02432C4] PC: 0xFF2B20E8
[] [0x00000000] <- [0xC02432C4] PC: 0xFF2B20E8
[] [0x00000000] -> [0xC02431D0] PC: 0xFF2B2098
[] [0x00000000] -> [0xC02432D4] PC: 0xFF2B20E8
[] [0x00000000] <- [0xC02432D4] PC: 0xFF2B20E8
[] [0x40000401] -> [0xC0242010] PC: 0xFF2B2000
[Basic] at [0xFF1264C0] [0x00000000] <- [0xC0400008]
[Basic] at [0xFF1264C0] [0x00200000] -> [0xC0400008]
[Basic] at [0xFF126BB0] [0x00000000] <- [0xC0400008]
[Basic] at [0xFF126BB0] [0x01000000] -> [0xC0400008]
[DMA1] [0x00000001] -> [0xC0A10000]
[DMA2] [0x00000001] -> [0xC0A20000]
[DMA3] [0x00000001] -> [0xC0A30000]
[DMA4] [0x00000001] -> [0xC0A40000]
[GPIO] at [0xFF0C29D8] [0x00000012] -> [0xC0222004]
[GPIO] at [0xFF0C27E0] [0x00000012] -> [0xC0222000]
[DMA1] [0x00000000] -> [0xC0A10004]
[DMA1] [0x00000000] -> [0xC0A10010]
[DMA1] [0xF8CA0000] -> [0xC0A10018]
[DMA1] [0x403D3500] -> [0xC0A1001C]
[DMA1] [0x0026BBAC] -> [0xC0A10020]
[DMA1] [0x00000007] -> [0xC0A10014]
[Int] Enabled interrupt ID 0x2F PC: [0xFF0C5274]
[DMA1] Copy [0xF8CA0000] -> [0x403D3500], length [0x0026BBAC], flags [0x00030001]
[DMA1] OK
[EOS] trigger int 0x2F
[Int] Requested int reason [0x000000BC] <- [0xC0201004] PC: [0x0000050C]
[DMA1] [0x00000000] -> [0xC0A10010]
ASSERT : Startup\Startup.c, Task = Startup, Line 364
ASSERT : Multicast\PropertyMgr.c, Task = Startup, Line 452
... more same asserts
[DM] ASSERT! TryPostEvent() fail.ASSERT : Multicast\PropertyMgr.c, Task = Startup, Line 452
ASSERT : Multicast\PropertyMgr.c, Task = Startup, Line 452
... more same asserts
ASSERT : Multicast\PropertyMgr.c, Task = Startup, Line 452
ASSERT : Multicast\PropertyMgr.c, Task = , Line 452
... more same asserts
< Error Exception>
TYPE        : 4
ISR         : 0
TASK IDSR   : 453
TASK Name   : (null)
R 0         : 0
R 1         : 0
R 2         : 0
R 3         : 0
R 4         : 0
R 5         : 0
R 6         : 0
R 7         : 0
R 8         : 0
R 9         : 0
R10         : 0
R11         : 0
R12         : 0
R13         : 1603c
R14         : 0
PC          : 0
CPSR        : 0
[DM] Fail!!! DM_WriteLogToFROM< Error Exception>
TYPE        : 4
ISR         : 0
TASK IDSR   : 453
TASK Name   : (null)
R 0         : 0
R 1         : 0
R 2         : 0
R 3         : 1
R 4         : 0
R 5         : 0
R 6         : 0
R 7         : 0
R 8         : 0
R 9         : 0
R10         : 0
R11         : 0
R12         : 0
R13         : 20f000
R14         : ff0c71b0
PC          : 4
CPSR        : 60000093
qemu: fatal: Trying to execute code outside RAM or ROM at 0xeeeeeeee


R00=00000000 R01=00000000 R02=00000000 R03=00000001
R04=eeeeeeee R05=eeeeeeee R06=eeeeeeee R07=00000000
R08=00000000 R09=00000000 R10=00000000 R11=00000000
R12=00000000 R13=0020f010 R14=ff0c71b0 R15=eeeeeeee
PSR=60000013 -ZC- A svc32
FPSCR: 00000000./run_canon_fw.sh: line 5: 20357 Aborted                 (core dumped) $QEMU_PATH/arm-softmmu/qemu-system-arm -M $1


So reason in DM_WriteLogToFROM, interesting it function from firmware or from qemu itself.
Title: Re: Canon 1200D
Post by: Rapier on December 28, 2015, 08:39:31 AM
If anyone needs the latest firmware [1.0.1] it's up on Canons support page.

https://www.usa.canon.com/internet/portal/us/home/support/details/cameras/dslr/eos-rebel-t5-ef-s-18-55-is-ii-kit/ (https://www.usa.canon.com/internet/portal/us/home/support/details/cameras/dslr/eos-rebel-t5-ef-s-18-55-is-ii-kit/)
Title: Re: Canon 1200D
Post by: AneMotion on December 30, 2015, 10:07:38 PM
It's a pity. Looks like THIS endeavor is going nowhere very slowly. Looks like we'd have to use the 1200D with the standard Canon Firmware until we can buy proper cameras.
Title: Re: Canon 1200D
Post by: BigMikeD on January 01, 2016, 12:29:13 AM
well...  it is a volunteer project provided free of cost.  to anyone who has contributed, thank you!  as far as the rebel t5 not being a real camera i say nay nay.  yes the 5d or the rebel 'I' models have more features,  i find the t5 is a great camera.  just dont have the intervalometer that i want.  i wish i knew more about coding so i could at least chip in a little.  either way,  hopefully this post will serve as a shameless bump to keep this up top for all of us.
Title: Re: Canon 1200D
Post by: mujebhafiz_5 on January 18, 2016, 09:47:14 PM
Is someone working on it? [emoji53]
Title: Re: Canon 1200D
Post by: Walter Schulz on January 18, 2016, 09:49:46 PM
No
Title: Re: Canon 1200D
Post by: arod79sae on February 05, 2016, 01:29:14 PM
Hello everyone, I recently purchased a 1200D and am sad to see that there is no 1200D ML for it . Are there any others that have interest in working on this ? I have some coding experience and am willing to work on this but just need some general guidance on where to start and also if any work has been done that can be shared in order to speed the process up .

Thank you all in advanced for any help.

Arod79sae
Title: Re: Canon 1200D
Post by: Walter Schulz on February 05, 2016, 01:33:16 PM
Experience with embedded controllers (preferable ARM), assembler, C?
Title: Re: Canon 1200D
Post by: ToXiCRising on May 07, 2016, 03:34:09 PM
Hey
I am a young aspiring photographer and i just recently found out about ML. I was hooked from the first seccond of reading about it. But then i noticed that there is no support for my camera the EOS 1200D. And now i am writing this reply in the hope of any developers noticing it so that even beginners with beginner cameras can have this awesome add on.
Let`s hope that this idea will work and someone notices us.
Title: Re: Canon 1200D
Post by: mathias on May 11, 2016, 06:32:19 PM
Hello photographers!

I'm new at forum, and I want to keep moving the port for 1200d
I've been reading a bit about this, I see there's a lot of information distributed across the thread.
fjriosp has started the porting, but seems he stoped to work. Does anyone knows the work already done, what's missing, next steps and so on, in order not to start from zero again...


I know there's a lot of threads about developing, but gets confusing between ML developing and Porting developing. Whats needed for porting?
As far as I read, first, based on reverse engenieering find out STUBS. Ok, which are really important? all of them? After getting all stubs, then what's next? If there is already a post for this information and i didn't see it, please let me know!

Thanks to all!
Title: Re: Canon 1200D
Post by: arthurdebarros on May 11, 2016, 10:15:37 PM
Hi, I also would like to contribute to the 1200D port, but I have poor skills in embedded programing and all these reverse engineering stuff.
But I know work has been done already by some developers here, and I know how time consuming theses projects may be. So, I've got one idea of how everyone can contribute a little bit:

What if we suggest developers who already started this port to create a crowdfunding project (it could be kickstarter, indiegogo, another one I don't know...), where they define a team, the goal (port magic lantern to the 1200d) and budget, so we can make donations?  The 1200d is a very popular model. I'm sure there must be a lot of people interested in the ml port for this device. The more people contributing the more diluted the risk of the donation tends to become (in the case the goal could not be achieved).

So, lets do this  :) ?
Title: Re: Canon 1200D
Post by: Stedda on May 11, 2016, 11:15:14 PM
The developers have said on many occasions that they are against money being involved all you have to do is search to see that...

The project needs time, dedication, and people with experience not money.
Title: Re: Canon 1200D
Post by: mathias on May 12, 2016, 04:22:08 AM
I think a lot of people with experience would like to participate and as my experience, we need to be leaded.
This means to know what was already done, what is needed to do for porting and with this information, define tasks so work can be easily distrubuted.

Many programers want to help, we need guidance on what to do...
Title: Re: Canon 1200D
Post by: dmilligan on May 12, 2016, 04:58:36 PM
Reply #35:
Quote
step 0: setup the toolchain (http://www.magiclantern.fm/forum/index.php?topic=991.0)
step 1: dump the firmware (see a couple posts back)
step 2: analyze/decompile the firmware dump to find function stubs (http://www.magiclantern.fm/forum/index.php?topic=12177.0)
step 3: run it in QEMU (https://bitbucket.org/hudson/magic-lantern/branch/qemu)
step 4: if you get this far, get in touch with a1ex to create a bootflag fir, so you can run on actual camera

see also: some of the porting work done by recently for 70D (look at the commit history and diffs):
https://bitbucket.org/hudson/magic-lantern/branch/70d-support
https://bitbucket.org/hudson/magic-lantern/pull-request/620/add-support-for-eos-70d-111-both-revisions/diff#


Title: Re: Canon 1200D
Post by: mathias on May 17, 2016, 12:20:30 AM
Help is needed

I've prepared a vmware with ubuntu lastest version
Cloned magic lantern
downloaded 4.8.3 toolchain  gcc-arm-none-eabi-4_8-2013q4-20131204-linux.tar.bz2 and unpaked at HOME
but now I am getting a werid error like file not found, this is my terminal output:

matias@ubuntu:~/magic-lantern/platform/1100D.105$ make
[ VERSION  ]   ../../platform/1100D.105/version.bin
[ AS       ]   entry.o
/bin/sh: 1: /home/matias/gcc-arm-none-eabi-4_8-2013q4/bin/arm-none-eabi-gcc-4.8.3: not found
../../Makefile.filerules:31: recipe for target 'entry.o' failed
make: *** [entry.o] Error 127
matias@ubuntu:~/magic-lantern/platform/1100D.105$ ls /home/matias/gcc-arm-none-eabi-4_8-2013q4/bin/arm-none-eabi-gcc-4.8.3 -l
-rwxr-xr-x 2 matias matias 621860 Dec  3  2013 /home/matias/gcc-arm-none-eabi-4_8-2013q4/bin/arm-none-eabi-gcc-4.8.3

Thanks a lot!
Title: Re: Canon 1200D
Post by: mk11174 on May 17, 2016, 01:33:14 PM
Quotebut now I am getting a werid error like file not found, this is my terminal output:

(http://s32.postimg.org/8rh9i4ys5/Capture1.jpg)
Set toolchain up so folders are like this. Notice the directory these are in at top.

(http://s32.postimg.org/sb0jzgzkl/Capture2.jpg)
Create a Makefile.user file and add these line to it and make sure lines 3 to 6 are in yours, adjust other lines as you need for your setup. Don't touch Makefile.user.default file.

If you did everything else correctly, this should get it going.

I have used the prebuilt VM and it is great, only advantage of setting up your own seems to be you can choose a bigger hard drive size which you will need if you are experimenting alot like I was, you can resize it later on, but if done wrong, you will lose all your work. Also, another advantage is newest version of UBUNTU, but I dont notice any differ with newer versions.

I am using my own built version now just cause I wanted to start fresh when I got going again and saved my old VM just in case, but I dont see any differences, just more time setting it up then prebuilt, as a beginner, maybe best to start with prebuilt, but maybe not, cause it helps you learn your way around a bit.
Title: Re: Canon 1200D
Post by: mathias on May 17, 2016, 06:44:37 PM
Same problem...  :'( :'(

(http://s32.postimg.org/ppxziam39/Screenshot_from_2016_05_17_09_36_42.png)
Title: Re: Canon 1200D
Post by: mk11174 on May 17, 2016, 06:49:04 PM
did u run the scripts prepare.ubuntu.sh  and summon-arm

If no luck, I think it has something to do with the new version of UBUNTU, just get the 12.04 version and all should be fine if you run the scripts, I think theres an error during the summon-arm script with newer UBUNTU versions, it doesnt ever finish.
Title: Re: Canon 1200D
Post by: mathias on May 18, 2016, 12:55:33 PM
So I finally donwloaded the VM...

Then I was able to build everything, ML, dumped and dissaslebmed firmware and now i want to run it in qemu
So i downloaded qemu 1.6, but when I try to build it says, please configure first. but when running configure it throws error saying zlib is missing.
I tried to install them, with
sudo apt-get --no-install-recommends build-dep qemu

but also gets a lot of 404 errors while donwloading...

help!!   :'( :'(

(http://s32.postimg.org/uhsbysfph/Screenshot_05182016_01_48_53_PM.png)






UPDATE:

I am far away of being a linux expert, in fact I don't even consider me as user  :P
Trying to use it with ubuntu was not posible, I reported those errors in previous post.
Downloaded vm (xubuntu 12) neither work, since ubuntu repositories were archived for this version, I can not install zlib...

Can any good guy sendme or re upload your already working vm? would be really useful!
I am spending more time trying to get a working environment than testing/developing!

Thanks and please send your working vm, wil save a lot of time!
Title: Re: Canon 1200D
Post by: mk11174 on May 19, 2016, 04:26:14 AM
I still have the build I was working on last year, it still loads in QEMU, just retested it.

But no idea what to do with it from there, I dont even have that model, I was just helping out last year.

(http://s32.postimg.org/tha7v0f9h/Capture3.jpg)
Title: Re: Canon 1200D
Post by: olivierrobespierre on May 19, 2016, 12:53:24 PM
Hey there, i just have read, that there might be some hands on a version for the 1200D?
If there is a nightly build i would like to test it. Do i need also the Qemu?
I have a OSX as standard-system. Does that run the tools to build a version, too?
Title: Re: Canon 1200D
Post by: mathias on May 19, 2016, 03:20:26 PM
mk11174

the version of xubuntu of this is deprecated, so it's  imposible to download and install missing packages, can you upload your vm? I only need to have the environment working and all libs installed.

Would you upload it (compressed) to gdrive and share it? I'll download it asap so you can delete it from your drive, or just use other file sharing

Thanks a lot!
Title: Re: Canon 1200D
Post by: mk11174 on May 19, 2016, 03:51:19 PM
Yeah, there was many packages to google to get this one going in ubuntu 12.0.4 to, took awhile, lol. But still works, I did upgrade ubuntu once, but was much slower, version 10 and 12 seemed to be the best for this when going through virtual box. I will clone this one and clean my clutter out and see if I can send it.
Title: Re: Canon 1200D
Post by: mk11174 on May 20, 2016, 12:32:26 AM
I made a clone of it and zipped it up to try to keep send as small as possible, but its still 9gigs, that would be to big for me to send, it would take me days on my connection.

Maybe its best to just go new like I did, use ubuntu 12.0.4 32bit set it up for magic-lantern and when you go to install qemu, just pay attention to the warnings and errors, you will just need to good things you need as you go, and then install them.

Doing all this will be good practice for when you go to work on your camera port to figure things out.

Sorry though, I tried.  :(
Title: Re: Canon 1200D
Post by: TIGU1200D on May 20, 2016, 06:25:23 AM
So excited to see that's somebody is working on this! Cheers from Argentina, hope you can solve the problem with that VM and ubuntu. You are our hero!
Title: Re: Canon 1200D
Post by: mk11174 on May 20, 2016, 09:46:27 PM
Hey, I could not zip up the VM because of filesize, but was able to create a tutorial step by step that should get you running.
https://www.youtube.com/playlist?list=PLJH5EmJ4Peqcd2rJ3krs15Sg_HBTbcduY (https://www.youtube.com/playlist?list=PLJH5EmJ4Peqcd2rJ3krs15Sg_HBTbcduY)
Title: Re: Canon 1200D
Post by: olivierrobespierre on May 21, 2016, 05:32:08 PM
Well, isn't it easy to compile some kind of "nightly build" for the 1200D and share that?
Title: Re: Canon 1200D
Post by: mk11174 on May 22, 2016, 04:38:40 AM
No, cant make a build for the camera until it is configured for the model and firmware,  I have the first stage ready, but it needs someone with the camera to do the rest and test it. Long way from that, my tutorial was to help get a new user going with qemu to make things go quicker, but it may never be finished if you dont have someone with experience with coding and actually has the camera. Every camera has uses different adddresses for everything,  so only a build for that camera and that firmware will work on that camera.
Title: Re: Canon 1200D
Post by: mathias on May 23, 2016, 05:28:22 AM
Thanks a lot Mathew!

I could build ml and also qemu, dumped my 1200D firmware, downloaded fjriosp fork and tryed to load it with qemu but i'm getting this error:

./qemu-1.6.0/arm-softmmu/qemu-system-arm -M ML-1200D
00000000 - 00000FFF: eos.tcm_code
40000000 - 40000FFF: eos.tcm_data
Failed to allocate 1073737728 B: Cannot allocate memory

I am sending you my firmware by pm if you can helpme.

Thanks again!
Title: Re: Canon 1200D
Post by: mk11174 on May 23, 2016, 01:02:13 PM
No problem Mathias,  if u use my 1200d repo, you wont get the error,  it will get you into qemu so u can see magic lantern menu. I dont know how much he did or didnt do on his version, but on mine, its enough to get magic lantern going, so maybe its best to start there.  Then you can start  double checking stubs between both of ours, and your finds and double checking everything else. Its going to be lots of work you will need to do to get it going no matter what, but at least on my version, it gets you started in magic lantern.
Title: Re: Canon 1200D
Post by: mathias on May 23, 2016, 03:16:31 PM
Thank you Matt! You are amazing!
I could run in qemu your branch and also fjriosp branch. So as you recommended I'll continue with this one.

Alex as far as I know you were helping fjriosp with 1200D porting, looks like he gave up, i've tried to contact him (facebook, twitter, etc) but no luck. Can you helpme on what's next step?

(http://s33.postimg.org/iiotu0m6j/Screenshot_from_2016_05_23_06_05_17.jpg) (http://postimg.org/image/iiotu0m6j/)
Title: Re: Canon 1200D
Post by: nikfreak on May 23, 2016, 04:11:28 PM
where's the bitbucket repo for this work? Next steps could be:


a1ex might assist otherwise I can do if the ID for 1200D is added to the signer and you share your repo.
Title: Re: Canon 1200D
Post by: mk11174 on May 23, 2016, 04:16:26 PM
No problem, if you want it to look correctly in qemu, just go get a nightly from say 700D and unzip its contents into the sdcard folder you should of created during one of the steps in the tutorial I made for you. You can tell your missing them cause its not finding them when qemu loads. Bascially you mainly need the ML folder in the sdcard folder you created.
Title: Re: Canon 1200D
Post by: mk11174 on May 24, 2016, 10:19:41 PM
Guess I should add my repo here for 1200D https://bitbucket.org/mk11174/1200d for anyone that wants to start working on it, it is from fjriosp repo, but up to date with ML unified. Better starting point. It loads in QEMU at Hello World and is ready to move on. Sorry I can't help out anymore since I don't have that camera.
Title: Re: Canon 1200D
Post by: Axel Esteban on May 29, 2016, 02:43:40 PM
Good morning, any news from ML for 1200? I have one and would like to use it with ML for my videos. Just don´t know how to program but if I can be of some help please let me know. I´m from Argentina and use the camera mostly for photographic jobs, but if I would have ML could make use of HDR that is what interest me the most. Sorry about my spanish. Thanks a lot!
Title: Re: Canon 1200D
Post by: mathias on June 05, 2016, 03:24:04 AM
Soon I will be running hello world in my T5, already requested a fir file to alex, this is the First step to run ml in this camera

I verifyed stubs and are ok, so I am very exited to move foward.


How can I run ml without having a fir file (wich seems to need encryption)?

Is posible to make sd card bootable with EOScard.exe and add ml files inside? I am wondering about this in order not to keep asking other developers to get a .fir file for me.

Thanks
Title: Re: Canon 1200D
Post by: ToXiCRising on June 19, 2016, 11:38:01 AM
i would also like to help but sadly i cant code
so if there is anything i can do to help i will
Title: Re: Canon 1200D
Post by: a1ex on June 20, 2016, 11:37:00 AM
Progress: QEMU is now able to boot Canon GUI :)

You will need the qemu branch to try it.

http://www.magiclantern.fm/forum/index.php?topic=2864.msg168603#msg168603

(http://a1ex.magiclantern.fm/bleeding-edge/qemu/1200D-qemu.png)

Unfortunately, mathias' autoexec doesn't boot yet.
Title: Re: Canon 1200D
Post by: mathias on June 28, 2016, 02:03:55 AM
Well, new little step, hello world working in my camera.

(https://s32.postimg.org/b3hwzowox/IMG_20160627_205143870.jpg) (https://postimg.org/image/b3hwzowox/)

Title: Re: Canon 1200D
Post by: nikfreak on June 28, 2016, 02:09:22 PM
congrats. Keep up your work. I know exactly how it feels like  ;D
Title: Re: Canon 1200D
Post by: marcotonet on June 28, 2016, 02:42:32 PM
Hi guys, i'm totally new in Canon and i'm looking everywhere for any news about ML for 1200D. Are you working on it? I've tried it on a 600d and it's amazing!
Title: Re: Canon 1200D
Post by: Walter Schulz on June 29, 2016, 07:59:33 AM
See messages above yours.
But do not expect to see ML for 1200D anytime soon. My advice: If your cam is not supported by ML now act like there will be no ML port ever.
Title: Re: Canon 1200D
Post by: mathias on July 03, 2016, 05:46:40 AM
I was able to run boot loader in my camera, but can't open ML menu, looks like delete button is not mapped so not handled to open ML Menu. How can I check/debug button press? or where to look?

Thanks!
Title: Re: Canon 1200D
Post by: nikfreak on July 03, 2016, 09:30:49 AM
Where's your source repository located? I think if you cloned magic-lantern\platform\1100D.105\gui.h then it should work in terms of button mapping. It's also a good idea to clone magic-lantern\platform\1100D.105\internals.h but herein you want to uncomment "#define CONFIG_PROP_REQUEST_CHANGE" to be rest assured that you don't brick your cam on early porting stage. Better create a bitbucket repo now. You can't get merged into nightlies if you don't do so,

Normally you can visually check the button codes within debug ML menu with a delay set to 300ms.

If the menu doesn't come up it might be something else (especially in stubs.S and consts.h).

You can disable most of the features or internals and uncomment the lines within code which then would cause a few compile errors and start with a minimal autoexec.bin just to see if you can then bring up ML menu. Guess it would be also a good idea to merge your source into dmspy-experiments branch to be able to create log files. Within them you can trace some useful adresses for vram and such.
Title: Re: Canon 1200D
Post by: mathias on July 03, 2016, 05:54:35 PM
Hi nikfreak,

I already cloned into   https://bitbucket.org/matias82/magic-lantern/

Also cloned all 1100D stuff in 1200D platform, fjriosp has added almost all stubs ( I verified them based in my dump) and alex added/modified son const and internals.

I also removed everything in features to strat testing one by one.

About what you said

uncomment "#define CONFIG_PROP_REQUEST_CHANGE"

You mean to undefine? I got confused cause the commentary above this line says opposite, undef this line in early ports...

I am learning magic lantern code every day but still very new... patience needed here!!!

Actually I think I need to know is where to look and how to test my buttons

Thans you all, as far as I keep learning I cant believe how far did this project grow.
Title: Re: Canon 1200D
Post by: nikfreak on July 03, 2016, 06:25:55 PM
Yes i meant undefine it
Title: Re: Canon 1200D
Post by: mathias on July 04, 2016, 06:26:58 PM
with almost no features I run it in qemu 1.6 (can not run in 2.5 file missing error is still showing) and i get this error:

tcc: error: invalid option -nostdlib


what do i am missing, i gues is a problem compileing

--- edit ---
well, diggin deeper, I found that this could the cause of file not found error.
Title: Re: Canon 1200D
Post by: nikfreak on July 04, 2016, 07:55:49 PM
Took a look at your repo and now you go and check both a1ex's and my answer to your post:

http://magiclantern.fm/forum/index.php?topic=2864.msg169155#msg169155

Afterwards take a look at your source, especially:

https://bitbucket.org/matias82/magic-lantern/src/b1edd388fe90dd71e001462de0e7a844484e6c16/platform/1200D.100/Makefile.platform.default?at=unified&fileviewer=file-view-default

here's my example how we solved it for 100D (=SL1) in terms of .sym file:
https://bitbucket.org/nikfreak/magic-lantern/src/df13e791f150c1cc142e888498b3906cd07d2922/platform/100D.100A/Makefile.platform.default?at=100D-new&fileviewer=file-view-default

Add this to your file:

ML_MODULES_SYM_NAME=x70_$(FW_VERSION).sym
Title: Re: Canon 1200D
Post by: mathias on July 04, 2016, 11:14:13 PM
That just renamed the sym file, but problem persist
Error loading 'ML/MODULES/x70_100.sym': File does not exist


I am still having this error

tcc: error: invalid option -nostdlib

maybe my compile is kinda broken? I am missing a file? some wrong config for tiny c complier?
Title: Re: Canon 1200D
Post by: nikfreak on July 05, 2016, 06:34:01 AM
Tried it only in qemu? Give it a go in your cam
Title: Re: Canon 1200D
Post by: mathias on July 05, 2016, 01:59:32 PM
In my cam I don t have error but neither ml menu opens, no log files...
Title: Re: Canon 1200D
Post by: nikfreak on July 05, 2016, 04:08:13 PM
Ok now you could blink your LED to see where the cam gets a problem. I suppose "hello world" is running on your cam and the cam is able to do the ROM dumps into ML\LOGS, right?

Check src\boot-hack.c:

You can copy led blink code "info_led_blink(1, 500, 500);" and place it further down in code for analyzing where in the init task your cam gets stuck. Hope that sheds some light into your issue. I would do it step by step. For e.g. it is a good idea to place it after

_find_ml_card();
_info_led_blink(1, 500, 500);


If that works then redo your change and retry after


_load_fonts();
_info_led_blink(1, 500, 500);


Redo above procedure moving down in code until the led doesn't blink any more and you found a sign for the root cause of your issue...

You probably either got one of the FIO stubs wrong if the camera doesn't do a ROM backup or maybe BFNT consts are wrong in platform dir etc etc etc or whatever  8)  ;D  8). Happy Hacking!

The led blink code will help you analyze your issue.
Title: Re: Canon 1200D
Post by: mathias on July 06, 2016, 03:44:14 AM
You gonna killme, but my sd card was not booteable (I thought that the fir file wich a1ex gave have setted sd card bootable), sorry my bad!

After all I enabled by code the console so I could see the same error from qemu in my cam

tcc invalid option -nostdlib

whats the problem with tcc???
Title: Re: Canon 1200D
Post by: nikfreak on July 06, 2016, 07:45:37 AM
No clue what's wrong with your qemu repo or why you get the error you mentioned. Again in your case, I would try it on the cam and do it like described in my previous post with the LED blink code to find out where you get stuck.
Probably a1ex's fir only enabled cam's bootflag so move on and check http://pel.hu/eoscard/ and make your card bootable with EOSCARD again. Afterwards try it out on your cam and report back your results. Don't forget about the 8.3 "sym.file" naming like mentioned earlier, too.
Title: Re: Canon 1200D
Post by: gulwantgill on July 11, 2016, 05:30:47 AM
Hi guys i also have canon 1200d .So if i can help in any way please tell me.i urgently need magic lantern for my camera.  ;) ;)
Title: Re: Canon 1200D
Post by: Walter Schulz on July 11, 2016, 07:54:30 AM
If there is no ML for your cam (which is the case right now): Act like there will be no ML for your cam ever.
ML project does not have timetables, milestones or any way to predict progress. It's a project done by highly skilled people in their spare time and sometimes there are priorities in things like work/family/health ...

If you do know C and assembler for embedded devices (preferable ARM architecture): Dig in.
Title: Re: Canon 1200D
Post by: gulwantgill on July 11, 2016, 01:14:10 PM
Ok so i have setup everything properly so can you tell me were are files so i don't have to start from scratch???? i am taking about ML for 1200d and i also have that camera.Please guide me...
Title: Re: Canon 1200D
Post by: a1ex on July 19, 2016, 01:14:37 AM
Looks like there are two firmware versions: 1.0.0 and 1.0.1. I wasn't able to find any code difference between them, other than version number and build date, so I think we can simply run the same ML build on both firmware versions.

The 1200D would be the first camera requiring this trick.


Please find:

1200HELO.FIR (http://a1ex.magiclantern.fm/bleeding-edge/1200D/1200HELO.FIR): Hello World
1200BOOT.FIR (http://a1ex.magiclantern.fm/bleeding-edge/1200D/1200BOOT.FIR): Enables boot flag, so you can run your own autoexec.bin.

These two tools run on both firmware versions. You will also need the data files (in particular, fonts); just copy them from a nightly build.

I've also copied the latest source here: https://bitbucket.org/hudson/magic-lantern/branch/1200D
Title: Re: Canon 1200D
Post by: Greg on July 19, 2016, 01:30:20 AM
1.0.1 -> http://www.canon-europe.com/support/consumer_products/products/cameras/digital_slr/eos_1200d.aspx?type=firmware
Title: Re: Canon 1200D
Post by: a1ex on July 19, 2016, 01:58:35 AM
Even better, let's stick to 1.0.1 then. Updated the source code.
Title: Re: Canon 1200D
Post by: mk11174 on July 20, 2016, 04:14:51 PM
Success!!! 1200D.101 confirmed loading on cam and Trashcan loaded ML menu fine!
Title: Re: Canon 1200D
Post by: Sergio de la Torre on July 20, 2016, 05:43:52 PM
Great news! Let me know if i can help with the progresses.
Title: Re: Canon 1200D
Post by: a1ex on July 20, 2016, 07:56:55 PM
At this point, anyone with basic command-line skills can compile ML from source code and start tweaking it. Uncomment CONFIG_DUMPER_BOOTFLAG from features.h to get a bare-bones ML with menu enabled, then start adding actual features (see all-features.h).

See also the other platform-dependent files that might need fixes (internals.h, consts.h, gui.h and so on).

You can debug your code either by printing on the screen (printf, bmp_printf), and you can also test your autoexec.bin in QEMU (see the current limitations here (http://magiclantern.fm/forum/index.php?topic=2864.msg169517#msg169517)).

Before committing your changes regarding new features, don't forget to check whether they are actually working ;)

Happy hacking.
Title: Re: Canon 1200D
Post by: bakersdozen on July 21, 2016, 01:13:54 AM
Great news, I will be watching progress. Happy to help once available. Thanks for looking at this

Sent from my E6653 using Tapatalk

Title: Re: Canon 1200D
Post by: Sergio de la Torre on July 21, 2016, 11:36:10 AM
I had a look and it's more tricky than I thought. For the moment I can do nothing, because of the processor of my desktop PC that is an Intel Q6600 (No VT-X for VirtualBox)  :'( Now I'm waiting for a part for repairing my laptop (i5)
Title: Re: Canon 1200D
Post by: gulwantgill on July 21, 2016, 11:52:29 AM
UPDATE 1200D ML :   8) 8) 8)

ML Overlays now can be seen in live view mode of both manual picture and video. :D :D :D

(https://s31.postimg.org/e74u1bupn/IMG_20160721_143816.jpg)

Problems :  :( :( :(

It is repeatedly crashing due to low malloc memory.Is there any way to increase malloc memory?

(https://s31.postimg.org/q7gof1vuz/IMG_20160721_143744.jpg)

BUGS :    ??? ??? ???

When ever camera is turn of and turn on again , It fails to do so.(When i turn off the camera red light turns on and no matter i turn it off or on that red light dose not goes.)To make the camera functional again i have to restart the camera by pulling out the battery.

When ever camera is turn on and no button is pressed for 5 sec the error 70 comes up.If i press any button with in 5 sec of boot it dose not shows error 70.Everything opens and ml menu also works.

When camera is turn on and i press button to load ml menu , it lodes up with no problem.I can view all settings and close it successfully and i can do it every time i want to without failing.Same in live view.But when ever i change a function in ml menu and go back to live view without any problem.But ml menu dose not load after that.Pressing delete button nothing happens.So i have to take the battery out and pt it in to make it work again.

Keep in mind that we have lode very less modules and as the modules will increase there will be more bugs.

Please help us solving these problems. Thanks to mk11174 for helping me out
Title: Re: Canon 1200D
Post by: a1ex on July 21, 2016, 01:23:56 PM
Yep, looks like you need to use CONFIG_ALLOCATE_MEMORY_POOL, like on 1100D.

See also http://www.magiclantern.fm/forum/index.php?topic=5071.msg169044#msg169044 - there is a memory block that appears to be unused.

You need to test whether that memory is actually unused - see https://bitbucket.org/hudson/magic-lantern/commits/b3d5ba372dcbd9a30f6afaa8c1744b9ef1af8d84?at=unified for some test code you can use. With this test code enabled, try to use use and abuse the camera for a while (take burst pictures to fill the buffer, record movies, take pictures while recording movies, review pictures/movies, edit them in camera... whatever actions you could think for exercising most of Canon code). Make sure the test code works by checking some memory range that you know it is used.

Once you are sure that block of memory is unused, feel free to merge the RscMgr_memory branch into 1200D and enable that memory block as seen here: https://bitbucket.org/hudson/magic-lantern/pull-requests/731/rscmgr-memory-60d-todo-7d-maybe-also-50d/diff
Title: Re: Canon 1200D
Post by: mk11174 on July 22, 2016, 04:14:59 AM
Good News!  Got more memory enabling CONFIG_ALLOCATE_MEMORY_POOL.
(https://s32.postimg.org/j744ksdb9/Capture.jpg)

But, did not stop crash when going into ML Menu, selecting something and then crash will happen when leaving ML menu and trying to come back.

Will not crash just going in and out of ML Menu or moving around it, you have to select an item, I only have Intervalometer in there for now and Free Memory checker, but thats it until I figure out the crash issue?

I also tried starting with limited tasks, by editing boot-hack.c
        // for debugging: uncomment this to start only some specific tasks
        // tip: use something like grep -nr TASK_CREATE ./ to find all task names
        #if 1
        if (
                //~ streq(task->name, "audio_meter_task") ||
                //~ streq(task->name, "audio_level_task") ||
                //~ streq(task->name, "bitrate_task") ||
                //~ streq(task->name, "cartridge_task") ||
                //~ streq(task->name, "cls_task") ||
                //~ streq(task->name, "console_task") ||
                streq(task->name, "debug_task") ||
                //~ streq(task->name, "dmspy_task") ||
                //~ streq(task->name, "focus_task") ||
                //~ streq(task->name, "focus_misc_task") ||
                //~ streq(task->name, "fps_task") ||
                //~ streq(task->name, "iso_adj_task") ||
                //~ streq(task->name, "joypress_task") ||
                //~ streq(task->name, "light_sensor_task") ||
                //~ streq(task->name, "livev_hiprio_task") ||
                //~ streq(task->name, "livev_loprio_task") ||
                streq(task->name, "menu_task") ||
                streq(task->name, "menu_redraw_task") ||
                //~ streq(task->name, "morse_task") ||
                //~ streq(task->name, "movtweak_task") ||
                //~ streq(task->name, "ms100_clock_task") ||
                //~ streq(task->name, "notifybox_task") ||
                //~ streq(task->name, "seconds_clock_task") ||
                //~ streq(task->name, "shoot_task") ||
                //~ streq(task->name, "tweak_task") ||
                //~ streq(task->name, "beep_task") ||
                //~ streq(task->name, "crash_log_task") ||
            0 )



Finally got some kind of debug report from QEMU
[DM] FROM Write Complete!!!
< Error Exception>
TYPE        : 4
ISR         : 0
TASK IDSR   : 50397259
TASK Name   : menu_task
R 0         : 0
R 1         : c47f8
R 2         : 10e200
R 3         : 0
R 4         : cc42e0
R 5         : 42100074
R 6         : cbaeb0
R 7         : c8209c
R 8         : 0
R 9         : cbaf50
R10         : 19980218
R11         : 19980218
R12         : 103b64
R13         : 1603c
R14         : ff2be274
PC          : ff2be274
CPSR        : 20000093


[   CtrlSrv:ff44ff18 ] (83:02) DlgShootOlc.c LOCAL_DIALOG_REFRESH
[   CtrlSrv:ff44ff18 ] (83:02) DlgShootOlc.c LOCAL_DIALOG_REFRESH
[   CtrlSrv:ff44ff18 ] (83:02) DlgShootOlc.c LOCAL_DIALOG_REFRESH
[   CtrlSrv:ff44ff18 ] (83:02) DlgShootOlc.c LOCAL_DIALOG_REFRESH
[   CtrlSrv:ff44ff18 ] (83:02) DlgShootOlc.c LOCAL_DIALOG_REFRESH
[   CtrlSrv:ff44ff18 ] (83:02) DlgShootOlc.c LOCAL_DIALOG_REFRESH
[   CtrlSrv:ff44ff18 ] (83:02) DlgShootOlc.c LOCAL_DIALOG_REFRESH
[   CtrlSrv:ff44ff18 ] (83:02) DlgShootOlc.c LOCAL_DIALOG_REFRESH
[menu_redraw_task:ff126194 ] register_interrupt(null, 0x34, 0xff12602c, 0x1)
[menu_redraw_task:ff11ae48 ] (00:16) [RTC] !! RTC_REGISTER_XST_BIT ERROR !!

[menu_redraw_task:ff126194 ] register_interrupt(null, 0x34, 0xff12602c, 0x1)
[menu_redraw_task:ff11ae48 ] (00:16) [RTC] !! RTC_REGISTER_XST_BIT ERROR !!

[menu_redraw_task:ff126194 ] register_interrupt(null, 0x34, 0xff12602c, 0x1)
[menu_redraw_task:ff11ae48 ] (00:16) [RTC] !! RTC_REGISTER_XST_BIT ERROR !!

[menu_redraw_task:ff126194 ] register_interrupt(null, 0x34, 0xff12602c, 0x1)
[menu_redraw_task:ff11ae48 ] (00:16) [RTC] !! RTC_REGISTER_XST_BIT ERROR !!

[menu_redraw_task:ff126194 ] register_interrupt(null, 0x34, 0xff12602c, 0x1)
[menu_redraw_task:ff11ae48 ] (00:16) [RTC] !! RTC_REGISTER_XST_BIT ERROR !!

[menu_redraw_task:ff126194 ] register_interrupt(null, 0x34, 0xff12602c, 0x1)
[menu_redraw_task:ff11ae48 ] (00:16) [RTC] !! RTC_REGISTER_XST_BIT ERROR !!

[   CtrlSrv:ff44ff18 ] (83:02) DlgShootOlc.c LOCAL_DIALOG_REFRESH
[   CtrlSrv:ff44ff18 ] (83:02) DlgShootOlc.c LOCAL_DIALOG_REFRESH
[   CtrlSrv:ff44ff18 ] (83:02) DlgShootOlc.c LOCAL_DIALOG_REFRESH
[   CtrlSrv:ff44ff18 ] (83:02) DlgShootOlc.c LOCAL_DIALOG_REFRESH
[   CtrlSrv:ff44ff18 ] (83:02) DlgShootOlc.c LOCAL_DIALOG_REFRESH
[   CtrlSrv:ff44ff18 ] (83:02) DlgShootOlc.c LOCAL_DIALOG_REFRESH
[   CtrlSrv:ff44ff18 ] (83:02) DlgShootOlc.c LOCAL_DIALOG_REFRESH
[   CtrlSrv:ff44ff18 ] (83:02) DlgShootOlc.c LOCAL_DIALOG_REFRESH
[   CtrlSrv:ff44ff18 ] (83:02) DlgShootOlc.c LOCAL_DIALOG_REFRESH
[menu_redraw_task:ff126194 ] register_interrupt(null, 0x34, 0xff12602c, 0x1)
[menu_redraw_task:ff11ae48 ] (00:16) [RTC] !! RTC_REGISTER_XST_BIT ERROR !!

[menu_redraw_task:ff126194 ] register_interrupt(null, 0x34, 0xff12602c, 0x1)
[menu_redraw_task:ff11ae48 ] (00:16) [RTC] !! RTC_REGISTER_XST_BIT ERROR !!

[menu_redraw_task:ff126194 ] register_interrupt(null, 0x34, 0xff12602c, 0x1)
[menu_redraw_task:ff11ae48 ] (00:16) [RTC] !! RTC_REGISTER_XST_BIT ERROR !!

[menu_redraw_task:ff126194 ] register_interrupt(null, 0x34, 0xff12602c, 0x1)
[menu_redraw_task:ff11ae48 ] (00:16) [RTC] !! RTC_REGISTER_XST_BIT ERROR !!

[menu_redraw_task:ff126194 ] register_interrupt(null, 0x34, 0xff12602c, 0x1)
[menu_redraw_task:ff11ae48 ] (00:16) [RTC] !! RTC_REGISTER_XST_BIT ERROR !!

[menu_redraw_task:ff126194 ] register_interrupt(null, 0x34, 0xff12602c, 0x1)
[menu_redraw_task:ff11ae48 ] (00:16) [RTC] !! RTC_REGISTER_XST_BIT ERROR !!

[   INT-50h:ff125eb0 ] (00:01) [PM] DisablePowerSave (Counter = 3)
[   INT-50h:ff125f20 ] (00:01) [PM] EnablePowerSave (Counter = 2)
[   INT-36h:ff297934 ] mpu_recv( 06 05 06 04 01 00 )
[  MainCtrl:ff0ce43c ] (9c:01) ID:4(27)
[  MainCtrl:ff0cc05c ] (89:03) bindReceiveSwitch (4, 1)
[  MainCtrl:ff0d14b4 ] (85:03) GUI_Control:13 0x0
[   PropMgr:ff0d4740 ] (8d:02) emAutoPowerOffRequestChangeCBR (3)
[   PropMgr:ff10f9b0 ] mpu_send( 06 05 03 11 03 00 )
[   PropMgr:ff125eb0 ] (00:01) [PM] DisablePowerSave (Counter = 3)
[   PropMgr:ff125f20 ] (00:01) [PM] EnablePowerSave (Counter = 2)
[   INT-50h:ff125eb0 ] (00:01) [PM] DisablePowerSave (Counter = 3)
[   INT-50h:ff125f20 ] (00:01) [PM] EnablePowerSave (Counter = 2)
[ menu_task:ff0d14b4 ] (85:03) GUI_Control:-7 0x0
[GuiMainTask:ff403020 ] (04:02), refresh partly  x=120 y=30 w=720 h=480
[   CtrlSrv:ff44ff18 ] (83:02) DlgShootOlc.c LOCAL_DIALOG_REFRESH
[   CtrlSrv:ff44ff18 ] (83:02) DlgShootOlc.c LOCAL_DIALOG_REFRESH
[   CtrlSrv:ff44ff18 ] (83:02) DlgShootOlc.c LOCAL_DIALOG_REFRESH
[   CtrlSrv:ff44ff18 ] (83:02) DlgShootOlc.c LOCAL_DIALOG_REFRESH
[   CtrlSrv:ff44ff18 ] (83:02) DlgShootOlc.c LOCAL_DIALOG_REFRESH
[   CtrlSrv:ff44ff18 ] (83:02) DlgShootOlc.c LOCAL_DIALOG_REFRESH
[   CtrlSrv:ff44ff18 ] (83:02) DlgShootOlc.c LOCAL_DIALOG_REFRESH
[   CtrlSrv:ff44ff18 ] (83:02) DlgShootOlc.c LOCAL_DIALOG_REFRESH
[   CtrlSrv:ff44ff18 ] (83:02) DlgShootOlc.c LOCAL_DIALOG_REFRESH
[    RscMgr:ff0d8ebc ] (80:02) srmEventDispatch: Current = 0, dwEventID = 0, dwParam = 15 S
[    RscMgr:ff183af0 ] (80:01) AllocateMEM3 15 80
[    RscMgr:ff17eb18 ] (80:01) ###### AllocateMemoryFromShootMemoryObject 10308
[    RscMgr:ff17ebf4 ] (80:01) ###### 0 0x84303C 0x84303C
[    RscMgr:ff17ebf4 ] (80:01) ###### 1 0x843044 0x842F44
[    RscMgr:ff17ec1c ] (80:01) ###### 1 pMemoryUnit 0x842F44 0x86A60
[    RscMgr:ff17ec78 ] (80:01) AllocatableSizeOfPackHeap 32505728, 16384, 16384
[    RscMgr:ff17eee0 ] (80:01) !!AllocateMemory 16384
[    RscMgr:ff17ee8c ] (80:01) AllocateMemoryFromShootMemoryObject 1 78675456 16384 0x000c47f8
[    RscMgr:ff17eea8 ] (80:01) ###### VirtualXXXFreeSize1 78675456 1866960
[    RscMgr:ff17f0f4 ] (80:01) ###### VirtualXXXFreeSize2 78659056 1866960
[    RscMgr:ff17f108 ] (80:01) ###### !! AllocateMemoryFromShootMemoryObject hMemSuite 0xC47F8
[    RscMgr:ff17f758 ] (80:01) ###### ShrinkMemoryToShootMemoryObject 0xC47F8 0x2844 0x4000
[    RscMgr:ff17f38c ] (80:01) VirtualAllocFreeMemory 0xC47F8 0x84303C 0x0
[    RscMgr:ff17f420 ] (80:01) ###### ChunkSize 16400
[    RscMgr:ff17f44c ] (80:01) ###### VIRTUAL_FREE pMemoryUnit->VirtualFreeSize[0] 32505728
[    RscMgr:ff17f478 ] (80:01) ######    +pMemoryObject->Virtual1stFreeSize 78675456
[    RscMgr:ff17f664 ] (80:01) ######    +pMemoryObject->Virtual2ndFreeSize 1866960
[    RscMgr:ff17f38c ] (80:01) VirtualAllocFreeMemory 0xC47F8 0x84303C 0x0
[    RscMgr:ff17f420 ] (80:01) ###### ChunkSize 16400
[    RscMgr:ff17f624 ] (80:01) ###### VIRTUAL_ALLOC pMemoryUnit->VirtualFreeSize[0] 32489328
[    RscMgr:ff17f650 ] (80:01) ######    -pMemoryObject->Virtual1stFreeSize 78659056
[    RscMgr:ff17f664 ] (80:01) ######    -pMemoryObject->Virtual2ndFreeSize 1866960
[    RscMgr:ff1841fc ] (80:01), OK AllocDev[2] C47F8 2844 50 1 4CCBAC0 4CCBAC0 4CCFAD0
[    RscMgr:ff0d90c4 ] (80:02) srmEventDispatch: Current = 0, dwEventID = 0, dwParam = 15 E
[ menu_task:ff126194 ] register_interrupt(null, 0x34, 0xff12602c, 0x1)
[ menu_task:ff11ae48 ] (00:16) [RTC] !! RTC_REGISTER_XST_BIT ERROR !!

[ menu_task:ff5b129c ] (23:01) sdWriteBlk: st=2784, num=1, buf=0x402c8000
[ menu_task:ff5b0f74 ] (23:01) sdDMAWriteBlk: st=2784, num=1
[ menu_task:ff5b129c ] (23:01) sdWriteBlk: st=100, num=1, buf=0x40298000
[ menu_task:ff5b0f74 ] (23:01) sdDMAWriteBlk: st=100, num=1
[ menu_task:ff5b129c ] (23:01) sdWriteBlk: st=162, num=1, buf=0x40298000
[ menu_task:ff5b0f74 ] (23:01) sdDMAWriteBlk: st=162, num=1
[ menu_task:ff5b129c ] (23:01) sdWriteBlk: st=512, num=1, buf=0x40211200
[ menu_task:ff5b0f74 ] (23:01) sdDMAWriteBlk: st=512, num=1
[ menu_task:ff5b129c ] (23:01) sdWriteBlk: st=100, num=1, buf=0x40298000
[ menu_task:ff5b0f74 ] (23:01) sdDMAWriteBlk: st=100, num=1
[ menu_task:ff5b129c ] (23:01) sdWriteBlk: st=162, num=1, buf=0x40298000
[ menu_task:ff5b0f74 ] (23:01) sdDMAWriteBlk: st=162, num=1
[ menu_task:ff5b129c ] (23:01) sdWriteBlk: st=2784, num=1, buf=0x402c8000
[ menu_task:ff5b0f74 ] (23:01) sdDMAWriteBlk: st=2784, num=1
[ menu_task:ff0c2364 ] (8b:06) ASSERT : 0\9F\E5, Task = menu_task
[ menu_task:ff0c2378 ] (8b:06) ASSERT : Line 0
[ menu_task:ff0c238c ] (8b:06) ASSERT : m_pfAllocMovPlayWorkCBR
[   PropMgr:ff0c2744 ] (8b:16) startupErrorRequestChangeCBR (0x1d)
[   PropMgr:ff0c2794 ] (8b:16) startupErrorRequestChangeCBR : ErrorSend (101, ABORT)
[   PropMgr:ff10f9b0 ] mpu_send( 08 06 03 03 65 01 00 )
[   PropMgr:ff125eb0 ] (00:01) [PM] DisablePowerSave (Counter = 3)
[   PropMgr:ff125f20 ] (00:01) [PM] EnablePowerSave (Counter = 2)
[   INT-50h:ff125eb0 ] (00:01) [PM] DisablePowerSave (Counter = 3)
[   INT-50h:ff125f20 ] (00:01) [PM] EnablePowerSave (Counter = 2)
[ menu_task:ff0c23f4 ] (8b:16), ASSERT : Time 2000/1/1 0:7:56
[   CtrlSrv:ff44ff18 ] (83:02) DlgShootOlc.c LOCAL_DIALOG_REFRESH
[    DbgMgr:ff125eb0 ] (00:01) [PM] DisablePowerSave (Counter = 3)
(gdb)
Title: Re: Canon 1200D
Post by: a1ex on July 22, 2016, 08:16:45 AM
Looks like it might be crashing when saving the config file (which happens after you close the menu, but only if you select some item). It should help if you disable config saving (create a file named AUTOSAVE.NEG under ML/SETTINGS).

Then you could narrow down by trying some basic file I/O, e.g. from don't click me.
Title: Re: Canon 1200D
Post by: mk11174 on July 22, 2016, 09:20:57 AM
Ok, will try, at a stand still right now, all of a sudden its only loading to that first menu when I press delete, the Magic Lantern screen thats all black with text saying press any key to enter magic lantern.

Its alive and going back and forth between canon and that one, but its not going into the full menu for some reason, I re cloned repo from scratch, that didnt help, now, I am re compiling qemu, hopefully that fixes it, weird.
Title: Re: Canon 1200D
Post by: mk11174 on July 22, 2016, 10:21:15 AM
Well, I was able to get menu back, I guess one of the crashes screwed the mounted sd image cause the files would not unlock.

Anyways, I did as you said with the AUTOSAVE.NEG and it fixed the crash leaving the menu.

So, since you brought up saving the config file, I went right to Config menu and click Save Config now, and it crashed right away.
Title: Re: Canon 1200D
Post by: mk11174 on July 23, 2016, 07:33:48 AM
Tracked Save Config Now crash down to fio_free(msg) in config.c
here: and if I comment it out in these 2 places depending if I have a cfg file already on card, no crash when I use Save config now, but not sure where to look from there, gets a bit confusing????
int config_save_file(const char *filename)
{
    int count = 0;

    DebugMsg( DM_MAGIC, 3, "%s: saving to %s", __func__, filename );
   
    #define MAX_SIZE 10240
    char* msg = fio_malloc(MAX_SIZE);
    msg[0] = '\0';
 
    snprintf( msg, MAX_SIZE,
        "# Magic Lantern %s (%s)\n"
        "# Built on %s by %s\n",
        build_version,
        build_id,
        build_date,
        build_user
    );

    struct tm now;
    LoadCalendarFromRTC( &now );

    snprintf(msg + strlen(msg), MAX_SIZE - strlen(msg),
        "# Configuration saved on %04d/%02d/%02d %02d:%02d:%02d\n",
        now.tm_year + 1900,
        now.tm_mon + 1,
        now.tm_mday,
        now.tm_hour,
        now.tm_min,
        now.tm_sec
    );

    for(struct config_var *var = _config_vars_start; var < _config_vars_end ; var++ )
    {
        if (*(int*)var->value == var->default_value)
            continue;

        snprintf(msg + strlen(msg), MAX_SIZE - strlen(msg) - 1,
            "%s = %d\r\n",
            var->name,
            *(int*) var->value
        );

        count++;
    }
   
    FILE * file = FIO_CreateFile( filename );
    if(!file)
    {
        //fio_free(msg);
        return -1;
    }
   
    FIO_WriteFile(file, msg, strlen(msg));

    FIO_CloseFile( file );
   
   //fio_free(msg)
   
    return count;
}


I double checked all /** File I/O **/ stubs, and /** Memory allocation **/ stubs, all were fine.


UPDATE!!!!, that MAX_SIZE caught my eye, I figured since I am in QEMU, no big deal playing, I changed it to 1024, no more crash???????
Title: Re: Canon 1200D
Post by: mk11174 on July 23, 2016, 11:54:37 AM
Another Issue, most likely related to this crash, is when I go to view memory from config menu, it crashes, it will stay for a few seconds, but does crash and never finds any SRM, shoot contig, or shoot total. Maybe cause of the crash as I enter the Memory menu. In qemu I can use it for a bit, but I can see it crashing in the terminal. This is all replicated on the real camera as well.

Def some sort of memory issue, with or without Allocate_Memory_Pool, no features used except Free_Memory, everything to minimum.

[   CtrlSrv:ff44ff18 ] (83:02) DlgShootOlc.c LOCAL_DIALOG_REFRESH
[ guess_mem:00c818f8 ] task_create(stack_try, prio=1e, stack=82800, entry=c813a4, arg=82800)
[   CtrlSrv:ff44ff18 ] (83:02) DlgShootOlc.c LOCAL_DIALOG_REFRESH
[ guess_mem:00c818f8 ] task_create(stack_try, prio=1e, stack=82c00, entry=c813a4, arg=82c00)
[    RscMgr:ff0d8ebc ] (80:02) srmEventDispatch: Current = 0, dwEventID = 0, dwParam = 15 S
[    RscMgr:ff183af0 ] (80:01) AllocateMEM3 15 80
[    RscMgr:ff17eb18 ] (80:01) ###### AllocateMemoryFromShootMemoryObject 8388608
[    RscMgr:ff17ebf4 ] (80:01) ###### 0 0x84305C 0x84305C
[    RscMgr:ff17ebf4 ] (80:01) ###### 1 0x843064 0x842F64
[    RscMgr:ff17ec1c ] (80:01) ###### 1 pMemoryUnit 0x842F64 0x86A60
[    RscMgr:ff17ec78 ] (80:01) AllocatableSizeOfPackHeap 32505728, 16384, 8388608
[    RscMgr:ff17eee0 ] (80:01) !!AllocateMemory 8388608
[    RscMgr:ff17ee8c ] (80:01) AllocateMemoryFromShootMemoryObject 1 78675456 8388608 0x000c48e8
[    RscMgr:ff17eea8 ] (80:01) ###### VirtualXXXFreeSize1 78675456 1866960
[    RscMgr:ff17f0f4 ] (80:01) ###### VirtualXXXFreeSize2 70286832 1866960
[    RscMgr:ff17f108 ] (80:01) ###### !! AllocateMemoryFromShootMemoryObject hMemSuite 0xC48E8
[    RscMgr:ff17f758 ] (80:01) ###### ShrinkMemoryToShootMemoryObject 0xC48E8 0x800000 0x800000
[    RscMgr:ff1841fc ] (80:01), OK AllocDev[2] C48E8 800000 50 1 44CFAC0 44CFAC0 4CCFAD0
[    RscMgr:ff0d90c4 ] (80:02) srmEventDispatch: Current = 0, dwEventID = 0, dwParam = 15 E
[    RscMgr:ff0d8ebc ] (80:02) srmEventDispatch: Current = 0, dwEventID = 0, dwParam = 15 S
[    RscMgr:ff183af0 ] (80:01) AllocateMEM3 15 80
[    RscMgr:ff17eb18 ] (80:01) ###### AllocateMemoryFromShootMemoryObject 4194304
[    RscMgr:ff17ebf4 ] (80:01) ###### 0 0x84305C 0x842F64
[    RscMgr:ff17ec1c ] (80:01) ###### 0 pMemoryUnit 0x842F64 0x86A60
[    RscMgr:ff17ec78 ] (80:01) AllocatableSizeOfPackHeap 24117104, 16384, 4194304
[    RscMgr:ff17eee0 ] (80:01) !!AllocateMemory 4194304
[    RscMgr:ff17ee8c ] (80:01) AllocateMemoryFromShootMemoryObject 1 70286832 4194304 0x000c4948
[    RscMgr:ff17eea8 ] (80:01) ###### VirtualXXXFreeSize1 70286832 1866960
[    RscMgr:ff17f0f4 ] (80:01) ###### VirtualXXXFreeSize2 66092512 1866960
[    RscMgr:ff17f108 ] (80:01) ###### !! AllocateMemoryFromShootMemoryObject hMemSuite 0xC4948
[    RscMgr:ff17f758 ] (80:01) ###### ShrinkMemoryToShootMemoryObject 0xC4948 0x400000 0x400000
[    RscMgr:ff1841fc ] (80:01), OK AllocDev[2] C4948 400000 50 1 40CFAB0 40CFAB0 4CCFAD0
[    RscMgr:ff0d90c4 ] (80:02) srmEventDispatch: Current = 0, dwEventID = 0, dwParam = 15 E
[ guess_mem:ff0c1d60 ] (8b:16) ###exceptionhandlercbr 0x0 0
[ guess_mem:ff0c1e90 ] (8b:16) #####exceptionhandlercbr 0x0
[ guess_mem:ff0c1ea0 ] (8b:03) < Error Exception>

[ guess_mem:ff0c1eb4 ] (8b:03) TYPE        : 4

[ guess_mem:ff0c1ec8 ] (8b:03) ISR         : 0

[ guess_mem:ff0c1edc ] (8b:03) TASK IDSR   : 51445849

[ guess_mem:ff0c1ef0 ] (8b:03) TASK Name   : guess_mem

[ guess_mem:ff0c1f04 ] (8b:03) R 0         : c4948

[ guess_mem:ff0c1f18 ] (8b:03) R 1         : 400000

[ guess_mem:ff0c1f2c ] (8b:03) R 2         : c48e8

[ guess_mem:ff0c1f40 ] (8b:03) R 3         : 0

[ guess_mem:ff0c1f54 ] (8b:03) R 4         : 0

[ guess_mem:ff0c1f68 ] (8b:03) R 5         : cbe570

[ guess_mem:ff0c1f7c ] (8b:03) R 6         : 400000

[ guess_mem:ff0c1f90 ] (8b:03) R 7         : c8c944

[ guess_mem:ff0c1fa4 ] (8b:03) R 8         : 0

[ guess_mem:ff0c1fb8 ] (8b:03) R 9         : 19980218

[ guess_mem:ff0c1fcc ] (8b:03) R10         : 19980218

[ guess_mem:ff0c1fe0 ] (8b:03) R11         : 19980218

[ guess_mem:ff0c1ff4 ] (8b:03) R12         : 0

[ guess_mem:ff0c2008 ] (8b:03) R13         : 1603c

[ guess_mem:ff0c2244 ] (8b:03) R14         : 0

[ guess_mem:ff0c2258 ] (8b:03) PC          : 0

[ guess_mem:ff0c226c ] (8b:03) CPSR        : 20000093

[ guess_mem:ff0c22b0 ] (8b:16), Exception : Time 2000/1/1 0:0:31
[   CtrlSrv:ff44ff18 ] (83:02) DlgShootOlc.c LOCAL_DIALOG_REFRESH
[    DbgMgr:ff125eb0 ] (00:01) [PM] DisablePowerSave (Counter = 3)
Title: Re: Canon 1200D
Post by: a1ex on July 23, 2016, 12:37:08 PM
Indeed, looks like an issue with the RscMgr (exmem) memory routines, so it's probably worth double-checking those stubs.
Title: Re: Canon 1200D
Post by: mk11174 on July 23, 2016, 12:46:13 PM
Ok, worth a shot!
And thanks, as usual! lol
Title: Re: Canon 1200D
Post by: mk11174 on July 23, 2016, 01:38:10 PM
(https://s31.postimg.org/kdbvzt8nf/Capture.jpg)

NSTUB(0xFF127ACC,  FreeMemoryResource)  WAS  NSTUB(0xFF127AAC,  FreeMemoryResource)
Title: Re: Canon 1200D
Post by: mk11174 on July 23, 2016, 01:44:53 PM
Gotta love Alex and his QEMU with debug log!!!!
Title: Re: Canon 1200D
Post by: mk11174 on July 23, 2016, 02:20:59 PM
(https://s31.postimg.org/hb6v1157v/Capture.jpg)
Loaded non RAW features and 2 modules, working fine in QEMU, no more crash so far!
Title: Re: Canon 1200D
Post by: gulwantgill on July 23, 2016, 06:24:55 PM
PROGRESS SO FAR   8) 8) 8)

The progress of this project is going very good so far we were able to get most of the modules in Magic Lantern menu  without any type of crash or freezing camera (But its not possible to predict if its stable yet or not).I have also included pictures to show the progress of this project.This Is just a quick post to keep you guys updated about the project.Keep supporting guys so that Magic Lantern can be made possible for Canon 1200D.

(https://s5.postimg.org/9akoqxder/IMG_20160723_205712.jpg) (https://postimg.org/image/9akoqxder/) (https://s5.postimg.org/a1dewpfs3/IMG_20160723_205804.jpg) (https://postimg.org/image/a1dewpfs3/) (https://s5.postimg.org/r368ysun7/IMG_20160723_205827.jpg) (https://postimg.org/image/r368ysun7/)

(https://s5.postimg.org/daru363vn/IMG_20160723_205845.jpg) (https://postimg.org/image/daru363vn/) (https://s5.postimg.org/q3fy33fhf/IMG_20160723_205858.jpg) (https://postimg.org/image/q3fy33fhf/) (https://s5.postimg.org/vsw6nelnn/IMG_20160723_205931.jpg) (https://postimg.org/image/vsw6nelnn/)

(https://s5.postimg.org/qvim2ajoj/IMG_20160723_205956.jpg) (https://postimg.org/image/qvim2ajoj/) (https://s5.postimg.org/a911t7qqr/IMG_20160723_210015.jpg) (https://postimg.org/image/a911t7qqr/)

Next:

After properly checking all features if they are working or not.We will try to add raw module , so that you guys can record raw videos.As soon as it will start working I will update you guys here in this forum.

A big thanks to Matt (Mk11174) and Alex (a1ex)
Title: Re: Canon 1200D
Post by: bakersdozen on July 24, 2016, 02:23:38 AM
Well done guys. Great progress so far. Thankyou!

Sent from my E6653 using Tapatalk

Title: Re: Canon 1200D
Post by: mk11174 on July 24, 2016, 04:04:49 AM
Updated repository with changes of what we have so far, in case anyone is interested in compiling and building themselves for testing stuff.

Makes sure to report things that work or don't work, because it's still a guessing game. I don't have this camera, so I can't test myself.

But good news is, it works in QEMU and also confirmed working on the actual camera by "gulwantgill"

No RAW VIDEO until the testing phase is complete.

Compile the selftest module and run tests from there, especially Stubs API test.

https://bitbucket.org/hudson/magic-lantern/commits/a1fa773fa8d7e88ad18a23676ce055cb1de5d448?at=1200D (https://bitbucket.org/hudson/magic-lantern/commits/a1fa773fa8d7e88ad18a23676ce055cb1de5d448?at=1200D)
Title: Re: Canon 1200D
Post by: ToXiCRising on July 24, 2016, 03:59:56 PM
Guys I really have to thank you for doing this. I am so looking forward to using ML on my 1200D
:) :) :)
Title: Re: Canon 1200D
Post by: gulwantgill on July 24, 2016, 05:47:43 PM
Quick update

There is a sad news , for now we have stopped working on this project.This is because there are not enough people who want it and at this point the most hard thing to do is remaining.We have not seen many people in-trusted who want ml for 1200d.It take down our confidence , working hard and then seeing no one is there who wants it at this time.Its not like there will be no ml for 1200d forever , but not know when.Lets see how many people are crazy behind it , may be we can start working again  ::) ::) !! All is in your hands !!  :-\ :-\

Only thing i wanna say :

Do it now

Sometimes
'Later'
Becomes
'Never'
Title: Re: Canon 1200D
Post by: Walter Schulz on July 24, 2016, 06:03:22 PM
?
@mk11174 & a1ex: What is going on here?
Title: Re: Canon 1200D
Post by: Steso90 on July 24, 2016, 06:20:29 PM
Im very intrested in ml for my canon 1200d and have been following this thread for a Long time but never write anything because i dont know any hacking or programming so i cant contribute. And when i saw this project was started up again i was very happy. So if the project is closed again im sad about it. I think you guys are doing a great job and i Hope you will continue with it. If i can do anything that will help you just say ask. Sorry for my bad English and i whish you all a Good day
Title: Re: Canon 1200D
Post by: a1ex on July 24, 2016, 06:51:59 PM
No idea why @gulwantgill is announcing progress and stuff, since I did not see a single line of code written by him. To my knowledge, mk11174 did the latest work (https://bitbucket.org/hudson/magic-lantern/commits/branch/1200D), continuing the early port done by @fjriosp, asking me for help every now and then. His changes were tested on a real camera and probably also in QEMU by @mathias and then by @gulwantgill.

Now, it's true that mk11174 helped a lot kickstarting the port, but I don't think people should expect him to do all the work. He doesn't have an 1200D, and I doubt he wants one (he just wanted to help). Porting ML should be done by somebody who has the camera in his hands and can actually code (longer answer (http://chdk.wikia.com/wiki/FAQ#Q._My_camera_isn.27t_ported_yet._Is_a_port_planned.C2.A0.3F_When_will_it_be_ready.C2.A0.3F_How_can_I_help.C2.A0.3F)).

In my opinion, the port seems to be in fairly good shape for early adopters, so everybody interested should feel free to compile it from source, report what works, what not, and fill in the missing bits. Most of the information you need is linked right here in this thread, so be sure to read it before asking how to compile from source ;)
Title: Re: Canon 1200D
Post by: Sergio de la Torre on July 24, 2016, 07:41:21 PM
I can give a hand beta-testing the modifications but as I said I'm limited by hardware for compiling (Virtualbox: VT-x not compatible with my CPU). Could you send me the binaries?

Thanks
Title: Re: Canon 1200D
Post by: gulwantgill on July 24, 2016, 07:48:22 PM
See Alex I know I have not written a single like of code because I don't know coding.I was here to test different modules in camera.But mk told that he will be busy in coming time.You tell if I dont know coding and after mk left there is nothing to test then what I am supposed to do? If mk send me file to test I will not care how much time it will take to test but I will make sure that it works perfect.No one here seems to be intrusted in 1200d cam and that's what I see when I came here so I tried my best to get ml working on camera if not all featurs. Today he told me that its very hard to do raw thing and he sed maybe he could not have time for this project.So I posted that progress is stopped for now , so they could at least know what's happening to project.
Title: Re: Canon 1200D
Post by: m1k6 on July 24, 2016, 08:39:16 PM
I don't think that there is no interest in ML for the 1200D.
I own a 1200D and could help testing code and stuff. I would really like so see ML for my camera available!

Maybe someone can tell me what I have to do to get the latest ML running on my camera.
I got the VM from this (http://www.magiclantern.fm/forum/index.php?topic=991.0) thread (2b).
Title: Re: Canon 1200D
Post by: ropra7645 on July 24, 2016, 09:02:31 PM
I'm so sad hearing that.
I'm very interested in this project for the 1200d and i've been following your steps and I would love to help you to develope ML, but I don't know how to help (yet).
I'm a 1200d owner and after following you by months, now i hear that bad news...

I hope you recover the project as soon as possible.

Just like m1k6, if you need someone to test and you tell us how to do it, I can write here all that i see.
Title: Re: Canon 1200D
Post by: a1ex on July 24, 2016, 09:04:19 PM
Quote from: Sergio de la Torre on July 24, 2016, 07:41:21 PM
I'm limited by hardware for compiling (Virtualbox: VT-x not compatible with my CPU).

To my knowledge, you should be able to run a 32-bit Linux system without VT-x. If you are running Windows or Mac, you should be able to compile ML directly on these operating systems (though I'm not sure about QEMU). Windows may be a little tricky to set up, never tried it myself.

Quote from: m1k6 on July 24, 2016, 08:39:16 PM
Maybe someone can tell me what I have to do to get the latest ML running on my camera.

Refer to this post (http://www.magiclantern.fm/forum/index.php?topic=12627.msg169867#msg169867):

- try the "Hello world" FIR from there
- enable the boot flag in the camera using the second FIR from the same post
- make the card bootable (see ML install guide)
- hg clone -u 1200D https://bitbucket.org/hudson/magic-lantern/
- run "make install" from platform/1200D.101 (or, "make zip" followed by manual copying to the card)
- have fun 8)
Title: Re: Canon 1200D
Post by: BigMikeD on July 24, 2016, 10:25:30 PM
to all who have helped thank you.  i have a camera but i am very new at this. (no coding experience what so ever).  am trying to read all the previous posts to compile from source so hopefully tonight i can get this rig up and running on my t5.  i cant freaking wait!  thank you so damn much guys!
Title: Re: Canon 1200D
Post by: Danne on July 24, 2016, 11:02:44 PM
If on mac dforts thread here(link below) has some really good info about compiling. Great to see a new cam come alive.
http://magiclantern.fm/forum/index.php?topic=16012.0
Title: Re: Canon 1200D
Post by: mk11174 on July 25, 2016, 12:26:04 AM
I will always be here to help when I can with the port, so nothing has stopped, I will be busy starting next month when school starts, but I will find time to help. I think I went as far as I could in QEMU, things need to be physically tested on camera and a chart needs to be made about whats buggy, what works, what dont work, thats most important step.

Heres the build of latest, but its new port, so play safe. Any weird things happen, turn off camera and take out battery and restart and report EXACT procedure that caused it to happen in as much detail as possible.

https://bitbucket.org/mk11174/1200d_new/downloads/magiclantern-Nightly.2016Jul24.1200D101.zip (https://bitbucket.org/mk11174/1200d_new/downloads/magiclantern-Nightly.2016Jul24.1200D101.zip)

Use this to work with safer build without Magic Zoom for now.
https://bitbucket.org/mk11174/1200d_new/downloads/magiclantern-Nightly.2016Jul26.1200D101.zip (https://bitbucket.org/mk11174/1200d_new/downloads/magiclantern-Nightly.2016Jul26.1200D101.zip)

Don't use above, go to latest here: http://www.magiclantern.fm/forum/index.php?topic=12627.msg170329#msg170329

Just make sure to update to Canon 1.0.1 firmware if not already, and install FIR from alex links above to get bootflag going and make card bootable using EOSCard utilty: http://pel.hu/eoscard (http://pel.hu/eoscard)/  also link posted by alex above of ML install guide.
Title: Re: Canon 1200D
Post by: BigMikeD on July 25, 2016, 12:48:32 AM
that "hero member" designation sure rings true.  thanks!  will try it here in a bit>
Title: Re: Canon 1200D
Post by: Sergio de la Torre on July 25, 2016, 01:07:50 AM
I've tested in my VPS with this script, excepting the 3 last lines

http://pastebin.com/raw/jfVXzw1a

#!/bin/sh
cd
curl -OL https://launchpad.net/gcc-arm-embedded/4.8/4.8-2013-q4-major/+download/gcc-arm-none-eabi-4_8-2013q4-20131204-linux.tar.bz2
bzip2 -d gcc-arm-none-eabi-4_8-2013q4-20131204-linux.tar.bz2
tar -x -f gcc-arm-none-eabi-4_8-2013q4-20131204-linux.tar
curl -OL http://prdownloads.sourceforge.net/docutils/docutils-0.12.tar.gz
gzip -d docutils-0.12.tar.gz
tar -x -f docutils-0.12.tar
cd docutils-0.12
python setup.py install --prefix=~/.local
cd
export PATH="$HOME/.local/bin:$PATH"
echo "export PATH=\"\$HOME/.local/bin:\$PATH\"" >> .bash_profile
cp .local/bin/rst2html.py .local/bin/rst2html
cd workspace
hg clone -r unified https://bitbucket.org/hudson/magic-lantern
cd magic-lantern


...then...

hg clone -u 1200D https://bitbucket.org/hudson/magic-lantern/
cd magic-lantern/platform/1200d.101


...and i get from make install...

[ MKDIR    ]   ML directory structure...
[ AS       ]   entry.o
/bin/sh: 1: /home/sergio/gcc-arm-none-eabi-4_8-2013q4/bin/arm-none-eabi-gcc-4.8.3: not found
../../Makefile.filerules:31: recipe for target 'entry.o' failed
make: *** [entry.o] Error 127


Help!

ls -l  /home/sergio/gcc-arm-none-eabi-4_8-2013q4/bin/arm-none-eabi-gcc-4.8.3
-rwxr-xr-x 2 root root  621860 Dec  3  2013 arm-none-eabi-gcc-4.8.3
Title: Re: Canon 1200D
Post by: Danne on July 25, 2016, 01:32:34 AM
- delete -
Reread your answer. It was specifically about the 1200D so maybe better answered here.
Title: Re: Canon 1200D
Post by: Sergio de la Torre on July 25, 2016, 01:36:14 AM
Quote from: mk11174 on July 25, 2016, 12:26:04 AM
Heres the build of latest, but its new port, so play safe. Any weird things happen, turn off camera and take out battery and restart and report EXACT procedure that caused it to happen in as much detail as possible.

Installed and working. Tomorrow I will start the tests. Thanks a lot
Title: Re: Canon 1200D
Post by: mathias on July 25, 2016, 01:39:12 AM
Well, I tested matt build and this is my result

Magic zoom, doesn't show
Intervalometer, it works but buggy, starts when it wants and reboot the camera before start taking pictures
Focus Peak is working (even in movie mode)
Spotmeter is wokring
Histogram weveform and vectorscope works
Audio meters wokrs only while recording (stereo)
Focus trap is working also

I will keep testing and trying my own build, Matt where is your features.h?

Thanks!
Title: Re: Canon 1200D
Post by: mk11174 on July 25, 2016, 01:51:33 AM
Everything is updated and in the repo, feature.h is copied mostly from 1100d for now until chart is made so we know whats good or bad, go look and see whats undefined from all features.

Some features you cant see until propert request can be defined, cant do that until port is tested.

And things like magic zoom probably don't work cause I am probably missing a define for the camera somewhere and its registers needed, just like why hdr won't work yet either.

I would need to be refreshed on what is needed to be updated to turn those into working features, I thought it was something with Edmac address,  have not messed with thats since 550d.

https://bitbucket.org/hudson/magic-lantern/commits/a1fa773fa8d7e88ad18a23676ce055cb1de5d448?at=1200D (https://bitbucket.org/hudson/magic-lantern/commits/a1fa773fa8d7e88ad18a23676ce055cb1de5d448?at=1200D)

Also does your camera have stereo mic, or mono mic input like 1100d, its set in internals for mono mic for now since I dont know what hardware your camera has.

UPDATE! I see your camera dont have a mic input and the internal mic is mono, not stereo, so the setting in internals.h is fine then, just like 1100D.
Title: Re: Canon 1200D
Post by: mujebhafiz_5 on July 25, 2016, 09:57:12 AM
Thank you developers, I've already installed it and it looks great. How can I add dual ISO module? I want it on my 1200d

Sent from my GT-N7100 using Tapatalk

Title: Re: Canon 1200D
Post by: m1k6 on July 25, 2016, 11:42:32 AM
Thanks to all the people to make this work!

I did some testing and what I discovered was this:
When in Movie-Mode the ML menu won't show up if movie exposure is set to manual. In automatic it works.

I made some of the Self tests:
The Stubs API test gave me two fails:
[Pass] f = FIO_CreateFile("test.dat") => 0x3
[Pass] FIO_WriteFile(f, (void*)0xFF000000, 0x10000) => 0x10000
[Pass] FIO_WriteFile(f, (void*)0xFF000000, 0x10000) => 0x10000
       FIO_CloseFile(f)
[Pass] FIO_GetFileSize("test.dat", &size) => 0x0
[Pass] size => 0x20000
[Pass] p = (void*)_alloc_dma_memory(0x20000) => 0x4099737c
[Pass] f = FIO_OpenFile("test.dat", O_RDONLY | O_SYNC) => 0x3
[Pass] FIO_ReadFile(f, p, 0x20000) => 0x20000
       FIO_CloseFile(f)
       _free_dma_memory(p)
[Pass] count => 0x3a98
[Pass] buf = fio_malloc(0x1000000) => 0x422040a4
[Pass] FIO_GetFileSize_direct("test.dat") => 0x82000000
[Pass] f = FIO_OpenFile("test.dat", O_RDWR | O_SYNC) => 0x3
[Pass] FIO_SeekSkipFile(f, 0, SEEK_END) => 0x82000000
[Pass] FIO_WriteFile(f, buf, 0x10) => 0x10
[Pass] FIO_SeekSkipFile(f, -0x20, SEEK_END) => 0x81fffff0
[Pass] FIO_WriteFile(f, buf, 0x30) => 0x30
[Pass] FIO_SeekSkipFile(f, 0x20, SEEK_SET) => 0x20
[Pass] FIO_SeekSkipFile(f, 0x30, SEEK_CUR) => 0x50
[Pass] FIO_SeekSkipFile(f, -0x20, SEEK_CUR) => 0x30
[Pass] FIO_GetFileSize_direct("test.dat") => 0x82000020
[Pass] FIO_RemoveFile("test.dat") => 0x0
[Pass] SetTimerAfter(0, timer_cbr, overrun_cbr, 0) => 0x15
[Pass] timer_func => 0x2
[Pass] SetTimerAfter(1000, timer_cbr, overrun_cbr, 0) => 0x5c5a
       msleep(900)
[Pass] timer_func => 0x0
       msleep(200)
[Pass] timer_func => 0x1
[Pass] ABS((timer_time/1000 - t0) - 1000) => 0x4
[Pass] ABS((timer_arg - ta0) - 1000) => 0xa
[Pass] timer = SetTimerAfter(1000, timer_cbr, overrun_cbr, 0) => 0x5cf0
       msleep(400)
       CancelTimer(timer)
[Pass] timer_func => 0x0
       msleep(1500)
[Pass] timer_func => 0x0
[Pass] SetHPTimerAfterNow(0, timer_cbr, overrun_cbr, 0) => 0x15
[Pass] timer_func => 0x2
[Pass] SetHPTimerAfterNow(100000, timer_cbr, overrun_cbr, 0) => 0x2a0
       msleep(90)
[Pass] timer_func => 0x0
       msleep(20)
[Pass] timer_func => 0x1
[Pass] ABS(DeltaT(timer_time, t0) - 100000) => 0x163
[Pass] ABS(DeltaT(timer_arg, ta0) - 100000) => 0x119
[Pass] ABS((get_us_clock_value() - t0) - 110000) => 0xa0
[Pass] SetHPTimerAfterNow(90000, next_tick_cbr, overrun_cbr, 0) => 0x2a2
       msleep(80)
[Pass] timer_func => 0x0
       msleep(20)
[Pass] timer_func => 0x3
       msleep(80)
[Pass] timer_func => 0x3
       msleep(20)
[Pass] timer_func => 0x1
[Pass] ABS(DeltaT(timer_time, t0) - 300000) => 0x14d
[Pass] ABS(DeltaT(timer_arg, ta0) - 300000) => 0x108
[Pass] ABS((get_us_clock_value() - t0) - 310000) => 0xa1
[Pass] strlen("abc") => 0x3
[Pass] strlen("qwertyuiop") => 0xa
[Pass] strlen("") => 0x0
[Pass] strcpy(msg, "hi there") => 0x16bc90
[Pass] msg => 'hi there'
[Pass] snprintf(a, sizeof(a), "foo") => 0x3
[Pass] snprintf(b, sizeof(b), "foo") => 0x3
[Pass] strcmp(a, b) => 0x0
[Pass] snprintf(a, sizeof(a), "bar") => 0x3
[Pass] snprintf(b, sizeof(b), "baz") => 0x3
[Pass] strcmp(a, b) => 0xfffffff8
[Pass] snprintf(a, sizeof(a), "Display") => 0x7
[Pass] snprintf(b, sizeof(b), "Defishing") => 0x9
[Pass] strcmp(a, b) => 0x4
[Pass] snprintf(buf, 3, "%d", 1234) => 0x2
[Pass] buf => '12'
[Pass] memcpy(foo, bar, 6) => 0x16bc20
[Pass] foo => 'asdfghuiop'
[Pass] memset(bar, '*', 5) => 0x16bc00
[Pass] bar => '*****hjkl;'
       bzero32(bar + 5, 5)
[Pass] bar => '****'
       t0 = *(uint32_t*)0xC0242014 => 0xcf5d9
       msleep(250)
       t1 = *(uint32_t*)0xC0242014 => 0xba92
[Pass] ABS(MOD(t1-t0, 1048576)/1000 - 250) => 0x4
       LoadCalendarFromRTC( &now )
       s0 = now.tm_sec => 0x2c
       Date/time: 2016/07/24 23:49:44
       msleep(1500)
       LoadCalendarFromRTC( &now )
       s1 = now.tm_sec => 0x2d
[Pass] MOD(s1-s0, 60) => 0x1
[Pass] MOD(s1-s0, 60) => 0x1
       m0 = MALLOC_FREE_MEMORY => 0x3e168
[Pass] p = (void*)_malloc(50*1024) => 0xc6db8
[Pass] CACHEABLE(p) => 0xc6db8
       m1 = MALLOC_FREE_MEMORY => 0x31958
       _free(p)
       m2 = MALLOC_FREE_MEMORY => 0x3e168
[Pass] ABS((m0-m1) - 50*1024) => 0x10
[Pass] ABS(m0-m2) => 0x0
       m0 = GetFreeMemForAllocateMemory() => 0x144458
[Pass] p = (void*)_AllocateMemory(256*1024) => 0xba5b38
[Pass] CACHEABLE(p) => 0xba5b38
       m1 = GetFreeMemForAllocateMemory() => 0x104448
       _FreeMemory(p)
       m2 = GetFreeMemForAllocateMemory() => 0x144458
[Pass] ABS((m0-m1) - 256*1024) => 0x10
[Pass] ABS(m0-m2) => 0x0
       m01 = MALLOC_FREE_MEMORY => 0x3e168
       m02 = GetFreeMemForAllocateMemory() => 0x144458
[Pass] p = (void*)_alloc_dma_memory(256*1024) => 0x40ba5b78
[Pass] UNCACHEABLE(p) => 0x40ba5b78
[Pass] CACHEABLE(p) => 0xba5b78
[Pass] UNCACHEABLE(CACHEABLE(p)) => 0x40ba5b78
       _free_dma_memory(p)
[Pass] p = (void*)_shoot_malloc(24*1024*1024) => 0x42204084
[Pass] UNCACHEABLE(p) => 0x42204084
       _shoot_free(p)
       m11 = MALLOC_FREE_MEMORY => 0x3e168
       m12 = GetFreeMemForAllocateMemory() => 0x144458
[Pass] ABS(m01-m11) => 0x0
[Pass] ABS(m02-m12) => 0x0
[Pass] suite = shoot_malloc_suite_contig(24*1024*1024) => 0xc5608
[Pass] suite->signature => 'MemSuite'
[Pass] suite->num_chunks => 0x1
[Pass] suite->size => 0x1800000
[Pass] chunk = GetFirstChunkFromSuite(suite) => 0xc5630
[Pass] chunk->signature => 'MemChunk'
[Pass] chunk->size => 0x1800000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x42204080
[Pass] UNCACHEABLE(p) => 0x42204080
       shoot_free_suite(suite); suite = 0; chunk = 0;
[Pass] suite = shoot_malloc_suite_contig(0) => 0xc5608
[Pass] suite->signature => 'MemSuite'
[Pass] suite->num_chunks => 0x1
[Pass] suite->size => 0x1df8000
[Pass] chunk = GetFirstChunkFromSuite(suite) => 0xc5630
[Pass] chunk->signature => 'MemChunk'
[Pass] chunk->size => 0x1df8000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x42204080
[Pass] UNCACHEABLE(p) => 0x42204080
       shoot_free_suite(suite); suite = 0; chunk = 0;
[Pass] suite = shoot_malloc_suite(64*1024*1024) => 0xc5608
[Pass] suite->signature => 'MemSuite'
[Pass] suite->num_chunks => 0x4
[Pass] suite->size => 0x4000000
[Pass] chunk = GetFirstChunkFromSuite(suite) => 0xc5630
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x1df8000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x42204080
[Pass] UNCACHEABLE(p) => 0x42204080
       chunk = GetNextMemoryChunk(suite, chunk) => 0xc5690
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x29fc000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x413f8070
[Pass] UNCACHEABLE(p) => 0x413f8070
       chunk = GetNextMemoryChunk(suite, chunk) => 0xc56c8
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x2a90000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x49f68100
[Pass] UNCACHEABLE(p) => 0x49f68100
       chunk = GetNextMemoryChunk(suite, chunk) => 0xc5700
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x4000000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x48000070
[Pass] UNCACHEABLE(p) => 0x48000070
       chunk = GetNextMemoryChunk(suite, chunk) => 0x0
[Pass] total => 0x4000000
       shoot_free_suite(suite); suite = 0; chunk = 0;
[Pass] suite = shoot_malloc_suite(0) => 0xc5608
[Pass] suite->signature => 'MemSuite'
[Pass] suite->num_chunks => 0x4
[Pass] suite->size => 0x4700000
[Pass] chunk = GetFirstChunkFromSuite(suite) => 0xc5630
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x1df8000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x42204080
[Pass] UNCACHEABLE(p) => 0x42204080
       chunk = GetNextMemoryChunk(suite, chunk) => 0xc5690
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x29fc000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x413f8070
[Pass] UNCACHEABLE(p) => 0x413f8070
       chunk = GetNextMemoryChunk(suite, chunk) => 0xc56c8
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x2a90000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x49f68100
[Pass] UNCACHEABLE(p) => 0x49f68100
       chunk = GetNextMemoryChunk(suite, chunk) => 0xc5700
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x4700000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x48000070
[Pass] UNCACHEABLE(p) => 0x48000070
       chunk = GetNextMemoryChunk(suite, chunk) => 0x0
[Pass] total => 0x4700000
       shoot_free_suite(suite); suite = 0; chunk = 0;
       EngDrvOut(LCD_Palette[0], 0x1234)
[Pass] shamem_read(LCD_Palette[0]) => 0x1234
       call("TurnOnDisplay")
[Pass] DISPLAY_IS_ON => 0x1
       call("TurnOffDisplay")
[Pass] DISPLAY_IS_ON => 0x0
       call("TurnOnDisplay")
[Pass] DISPLAY_IS_ON => 0x1
       SetGUIRequestMode(1); msleep(1000);
[Pass] CURRENT_DIALOG_MAYBE => 0x1
       SetGUIRequestMode(2); msleep(1000);
[Pass] CURRENT_DIALOG_MAYBE => 0x2
       SetGUIRequestMode(0); msleep(1000);
[Pass] CURRENT_DIALOG_MAYBE => 0x0
[Pass] display_idle() => 0x1
       GUI_Control(BGMT_PLAY, 0, 0, 0); msleep(1000);
[Pass] PLAY_MODE => 0x1
[Pass] MENU_MODE => 0x0
       GUI_Control(BGMT_MENU, 0, 0, 0); msleep(1000);
[Pass] MENU_MODE => 0x1
[Pass] PLAY_MODE => 0x0
[FAIL] MEM(dialog->type) => 0x6e4944
       GUI_Control(BGMT_MENU, 0, 0, 0); msleep(500);
[Pass] MENU_MODE => 0x0
[Pass] PLAY_MODE => 0x0
       task_create("test", 0x1c, 0x1000, test_task, 0) => 0x78200c0
[Pass] test_task_created => 0x1
[Pass] get_task_name_from_id(get_current_task()) => 'run_test'
[Pass] task_max => 0x68
[Pass] task_max => 0x68
[Pass] mq = mq ? mq : (void*)msg_queue_create("test", 5) => 0x7840096
[Pass] msg_queue_post(mq, 0x1234567) => 0x0
[Pass] msg_queue_receive(mq, (struct event **) &m, 500) => 0x0
[Pass] m => 0x1234567
[Pass] msg_queue_receive(mq, (struct event **) &m, 500) => 0x9
[Pass] sem = sem ? sem : create_named_semaphore("test", 1) => 0x786031c
[Pass] take_semaphore(sem, 500) => 0x0
[Pass] take_semaphore(sem, 500) => 0x9
[Pass] give_semaphore(sem) => 0x0
[Pass] take_semaphore(sem, 500) => 0x0
[Pass] give_semaphore(sem) => 0x0
[Pass] rlock = rlock ? rlock : CreateRecursiveLock(0) => 0x788008e
[Pass] AcquireRecursiveLock(rlock, 500) => 0x0
[Pass] AcquireRecursiveLock(rlock, 500) => 0x0
[Pass] ReleaseRecursiveLock(rlock) => 0x0
[Pass] ReleaseRecursiveLock(rlock) => 0x0
[Pass] ReleaseRecursiveLock(rlock) => 0xf
       SW1(1,100)
[FAIL] HALFSHUTTER_PRESSED => 0x0
       SW1(0,100)
[Pass] HALFSHUTTER_PRESSED => 0x0


The "Quick test" worked without an error or crash.

I also executed the SRM memory test. When it said that I should take pictures I did so. After some pictures I got a ERR 70.
VRAM1.PPM (http://marvins-homepage.de/ML/VRAM1.PPM)
Crash-Log:
ASSERT: FALSE
at ASIF\ASIF.c:486, task ASIF
lv:0 mode:3


Magic Lantern version : Nightly.2016Jul24.1200D101
Mercurial changeset   : d0ffefa7d840+ (1200D) tip
Built on 2016-07-24 10:15:12 UTC by mathew@mathew-VirtualBox-15.
Free Memory  : 247K + 1274K


Update:
I made some more self tests.
When running the "random tests" the camera will crash after some time. Sometimes ML detects the error.
It is always the same error as above (ASIF.c:486).

I don't know if this is a bug/error or not: When I executed the EDMAC screen test and after some time pressed a button, for example ISO or WB the whole camera crashed. Turn OFF and ON did not work. I needed to take the battery out.

Other tests (Menu backend test, Redraw test, Rectangle test, Small-block malloc, Memory leak) worked without problems.
Title: Re: Canon 1200D
Post by: Sergio de la Torre on July 25, 2016, 11:55:42 AM
Overlay Menu:

Works:

Doesn't work:

(https://s31.postimg.org/g1mevpiyf/photo_2016_07_25_11_51_27.jpg) (https://postimg.org/image/g1mevpiyf/)

(https://s31.postimg.org/hvz9dg5yv/photo_2016_07_25_11_51_23.jpg) (https://postimg.org/image/hvz9dg5yv/)

(https://s32.postimg.org/yphy5kpv5/photo_2016_07_25_11_55_01.jpg) (https://postimg.org/image/yphy5kpv5/)


PD: There is another graphic (lux over time?) that seems to work ok
Title: Re: Canon 1200D
Post by: Sergio de la Torre on July 25, 2016, 12:08:50 PM
Possible scenarios after screen timeout:


It's required to take out the battery after block
Title: Re: Canon 1200D
Post by: a1ex on July 25, 2016, 02:43:02 PM
@early testers: please do not enable Magic Zoom at this time. This feature writes to the LiveView image buffer, which is not correct, so it might overwrite something important in Canon code/data areas. Since we don't have a MMU, and the settings are saved to the flash ROM at shutdown, there is a small chance for this to cause permanent damage to the camera.

I've updated the source code to disable the features that I consider risky after current reports.
Title: Re: Canon 1200D
Post by: mk11174 on July 25, 2016, 03:09:52 PM
I will update the build I have in thread. Thanks Alex for catching this.
Title: Re: Canon 1200D
Post by: Sergio de la Torre on July 25, 2016, 03:40:58 PM
Video doesn't record when (faulty) histogram, vectorscope and/or spotmeter are on.

Vu Meter only works in REC mode (doesn't in Stand by)

If I disable these tools the VU Meter goes to the bottom, rec is ok. No red circle displayed.

(https://s31.postimg.org/3qg4py9rr/photo_2016_07_25_15_40_19.jpg) (https://postimg.org/image/3qg4py9rr/)

Title: Re: Canon 1200D
Post by: mk11174 on July 25, 2016, 04:00:25 PM
I dont get why it is displaying 2 audio meters here, #define CONFIG_MONO_MIC is set in internals.h????
Title: Re: Canon 1200D
Post by: m1k6 on July 25, 2016, 04:50:06 PM
Interestingly it shows:
"L EXT" and
"R EXT"
Maybe EXT means external mic? The 1200D can only record via the internal mic.
(http://marvins-homepage.de/ML/extlvl.jpg)
Title: Re: Canon 1200D
Post by: Sergio de la Torre on July 25, 2016, 05:01:03 PM
Quote from: m1k6 on July 25, 2016, 04:50:06 PM
Maybe EXT means external mic? The 1200D can only record via the internal mic.
Maybe, but the VU meter works fine, so internal mic is measured
Title: Re: Canon 1200D
Post by: mk11174 on July 25, 2016, 05:30:59 PM
should only show 1 meter though as far as i know for mono.
Title: Re: Canon 1200D
Post by: m1k6 on July 25, 2016, 06:00:12 PM
The newest nightly contains the modules raw_rec.mo and silent.mo. But none of them is working.
Did they sneak in?

Also the help files can not be found.
Title: Re: Canon 1200D
Post by: Sergio de la Torre on July 25, 2016, 06:06:06 PM
Quote from: mk11174 on July 25, 2016, 05:30:59 PM
should only show 1 meter though as far as i know for mono.

Audio is duplicated in 2 channels in the final file. Could be possible to free 0,7mbps of bitrate?
(https://s32.postimg.org/oph4j5m1x/sound.gif)
Title: Re: Canon 1200D
Post by: mk11174 on July 25, 2016, 06:21:56 PM
yeah, just ignore them, they were compiled, so they snuck in the zip, raw is not enabled yet
so wont work.

I updated ZIP
Title: Re: Canon 1200D
Post by: m1k6 on July 25, 2016, 11:22:50 PM
What are the next steps to be done and what information do you need?
As I read before there are some features disabled.
I made some tests with selftest.mo. See some posts back if you want to.

As always a big thanks for helping!
Title: Re: Canon 1200D
Post by: Sergio de la Torre on July 26, 2016, 12:49:01 AM
Stubs test. 2 or 6 FAILS (here 6)

[Pass] f = FIO_CreateFile("test.dat") => 0x3
[Pass] FIO_WriteFile(f, (void*)0xFF000000, 0x10000) => 0x10000
[Pass] FIO_WriteFile(f, (void*)0xFF000000, 0x10000) => 0x10000
       FIO_CloseFile(f)
[Pass] FIO_GetFileSize("test.dat", &size) => 0x0
[Pass] size => 0x20000
[Pass] p = (void*)_alloc_dma_memory(0x20000) => 0x40997148
[Pass] f = FIO_OpenFile("test.dat", O_RDONLY | O_SYNC) => 0x3
[Pass] FIO_ReadFile(f, p, 0x20000) => 0x20000
       FIO_CloseFile(f)
       _free_dma_memory(p)
[Pass] count => 0x3a98
[Pass] buf = fio_malloc(0x1000000) => 0x422040a4
[Pass] FIO_GetFileSize_direct("test.dat") => 0x82000000
[Pass] f = FIO_OpenFile("test.dat", O_RDWR | O_SYNC) => 0x3
[Pass] FIO_SeekSkipFile(f, 0, SEEK_END) => 0x82000000
[Pass] FIO_WriteFile(f, buf, 0x10) => 0x10
[Pass] FIO_SeekSkipFile(f, -0x20, SEEK_END) => 0x81fffff0
[Pass] FIO_WriteFile(f, buf, 0x30) => 0x30
[Pass] FIO_SeekSkipFile(f, 0x20, SEEK_SET) => 0x20
[Pass] FIO_SeekSkipFile(f, 0x30, SEEK_CUR) => 0x50
[Pass] FIO_SeekSkipFile(f, -0x20, SEEK_CUR) => 0x30
[Pass] FIO_GetFileSize_direct("test.dat") => 0x82000020
[Pass] FIO_RemoveFile("test.dat") => 0x0
[Pass] SetTimerAfter(0, timer_cbr, overrun_cbr, 0) => 0x15
[Pass] timer_func => 0x2
[Pass] SetTimerAfter(1000, timer_cbr, overrun_cbr, 0) => 0x2bd2
       msleep(900)
[Pass] timer_func => 0x0
       msleep(200)
[Pass] timer_func => 0x1
[Pass] ABS((timer_time/1000 - t0) - 1000) => 0x7
[Pass] ABS((timer_arg - ta0) - 1000) => 0xa
[Pass] timer = SetTimerAfter(1000, timer_cbr, overrun_cbr, 0) => 0x2bf8
       msleep(400)
       CancelTimer(timer)
[Pass] timer_func => 0x0
       msleep(1500)
[Pass] timer_func => 0x0
[Pass] SetHPTimerAfterNow(0, timer_cbr, overrun_cbr, 0) => 0x15
[Pass] timer_func => 0x2
[Pass] SetHPTimerAfterNow(100000, timer_cbr, overrun_cbr, 0) => 0x258
       msleep(90)
[Pass] timer_func => 0x0
       msleep(20)
[Pass] timer_func => 0x1
[Pass] ABS(DeltaT(timer_time, t0) - 100000) => 0x158
[Pass] ABS(DeltaT(timer_arg, ta0) - 100000) => 0x113
[FAIL] ABS((get_us_clock_value() - t0) - 110000) => 0x3767
[Pass] SetHPTimerAfterNow(90000, next_tick_cbr, overrun_cbr, 0) => 0x25a
       msleep(80)
[Pass] timer_func => 0x0
       msleep(20)
[Pass] timer_func => 0x3
       msleep(80)
[Pass] timer_func => 0x3
       msleep(20)
[Pass] timer_func => 0x1
[FAIL] ABS(DeltaT(timer_time, t0) - 300000) => 0x3847
[FAIL] ABS(DeltaT(timer_arg, ta0) - 300000) => 0x3803
[FAIL] ABS((get_us_clock_value() - t0) - 310000) => 0x2925
[Pass] strlen("abc") => 0x3
[Pass] strlen("qwertyuiop") => 0xa
[Pass] strlen("") => 0x0
[Pass] strcpy(msg, "hi there") => 0x16bc90
[Pass] msg => 'hi there'
[Pass] snprintf(a, sizeof(a), "foo") => 0x3
[Pass] snprintf(b, sizeof(b), "foo") => 0x3
[Pass] strcmp(a, b) => 0x0
[Pass] snprintf(a, sizeof(a), "bar") => 0x3
[Pass] snprintf(b, sizeof(b), "baz") => 0x3
[Pass] strcmp(a, b) => 0xfffffff8
[Pass] snprintf(a, sizeof(a), "Display") => 0x7
[Pass] snprintf(b, sizeof(b), "Defishing") => 0x9
[Pass] strcmp(a, b) => 0x4
[Pass] snprintf(buf, 3, "%d", 1234) => 0x2
[Pass] buf => '12'
[Pass] memcpy(foo, bar, 6) => 0x16bc20
[Pass] foo => 'asdfghuiop'
[Pass] memset(bar, '*', 5) => 0x16bc00
[Pass] bar => '*****hjkl;'
       bzero32(bar + 5, 5)
[Pass] bar => '****'
       t0 = *(uint32_t*)0xC0242014 => 0x7b4ab
       msleep(250)
       t1 = *(uint32_t*)0xC0242014 => 0xb78a9
[Pass] ABS(MOD(t1-t0, 1048576)/1000 - 250) => 0x4
       LoadCalendarFromRTC( &now )
       s0 = now.tm_sec => 0x37
       Date/time: 2016/07/25 22:39:55
       msleep(1500)
       LoadCalendarFromRTC( &now )
       s1 = now.tm_sec => 0x38
[Pass] MOD(s1-s0, 60) => 0x1
[Pass] MOD(s1-s0, 60) => 0x1
       m0 = MALLOC_FREE_MEMORY => 0x3df10
[Pass] p = (void*)_malloc(50*1024) => 0xc6e08
[Pass] CACHEABLE(p) => 0xc6e08
       m1 = MALLOC_FREE_MEMORY => 0x31700
       _free(p)
       m2 = MALLOC_FREE_MEMORY => 0x3df10
[Pass] ABS((m0-m1) - 50*1024) => 0x10
[Pass] ABS(m0-m2) => 0x0
       m0 = GetFreeMemForAllocateMemory() => 0x1443c4
[Pass] p = (void*)_AllocateMemory(256*1024) => 0xba5864
[Pass] CACHEABLE(p) => 0xba5864
       m1 = GetFreeMemForAllocateMemory() => 0x1043b4
       _FreeMemory(p)
       m2 = GetFreeMemForAllocateMemory() => 0x1443c4
[Pass] ABS((m0-m1) - 256*1024) => 0x10
[Pass] ABS(m0-m2) => 0x0
       m01 = MALLOC_FREE_MEMORY => 0x3df10
       m02 = GetFreeMemForAllocateMemory() => 0x1443c4
[Pass] p = (void*)_alloc_dma_memory(256*1024) => 0x40ba58a4
[Pass] UNCACHEABLE(p) => 0x40ba58a4
[Pass] CACHEABLE(p) => 0xba58a4
[Pass] UNCACHEABLE(CACHEABLE(p)) => 0x40ba58a4
       _free_dma_memory(p)
[Pass] p = (void*)_shoot_malloc(24*1024*1024) => 0x4229c0b4
[Pass] UNCACHEABLE(p) => 0x4229c0b4
       _shoot_free(p)
       m11 = MALLOC_FREE_MEMORY => 0x3df10
       m12 = GetFreeMemForAllocateMemory() => 0x1443c4
[Pass] ABS(m01-m11) => 0x0
[Pass] ABS(m02-m12) => 0x0
[Pass] suite = shoot_malloc_suite_contig(24*1024*1024) => 0xc5860
[Pass] suite->signature => 'MemSuite'
[Pass] suite->num_chunks => 0x1
[Pass] suite->size => 0x1800000
[Pass] chunk = GetFirstChunkFromSuite(suite) => 0xc5888
[Pass] chunk->signature => 'MemChunk'
[Pass] chunk->size => 0x1800000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x4229c0b0
[Pass] UNCACHEABLE(p) => 0x4229c0b0
       shoot_free_suite(suite); suite = 0; chunk = 0;
[Pass] suite = shoot_malloc_suite_contig(0) => 0xc5860
[Pass] suite->signature => 'MemSuite'
[Pass] suite->num_chunks => 0x1
[Pass] suite->size => 0x1d60000
[Pass] chunk = GetFirstChunkFromSuite(suite) => 0xc5888
[Pass] chunk->signature => 'MemChunk'
[Pass] chunk->size => 0x1d60000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x4229c0b0
[Pass] UNCACHEABLE(p) => 0x4229c0b0
       shoot_free_suite(suite); suite = 0; chunk = 0;
[Pass] suite = shoot_malloc_suite(64*1024*1024) => 0xc5860
[Pass] suite->signature => 'MemSuite'
[Pass] suite->num_chunks => 0x4
[Pass] suite->size => 0x4000000
[Pass] chunk = GetFirstChunkFromSuite(suite) => 0xc5888
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x1d60000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x4229c0b0
[Pass] UNCACHEABLE(p) => 0x4229c0b0
       chunk = GetNextMemoryChunk(suite, chunk) => 0xc58e8
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x2964000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x413f8070
[Pass] UNCACHEABLE(p) => 0x413f8070
       chunk = GetNextMemoryChunk(suite, chunk) => 0xc5920
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x29f8000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x4bf68100
[Pass] UNCACHEABLE(p) => 0x4bf68100
       chunk = GetNextMemoryChunk(suite, chunk) => 0xc5958
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x4000000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x4a000070
[Pass] UNCACHEABLE(p) => 0x4a000070
       chunk = GetNextMemoryChunk(suite, chunk) => 0x0
[Pass] total => 0x4000000
       shoot_free_suite(suite); suite = 0; chunk = 0;
[Pass] suite = shoot_malloc_suite(0) => 0xc5860
[Pass] suite->signature => 'MemSuite'
[Pass] suite->num_chunks => 0x4
[Pass] suite->size => 0x4700000
[Pass] chunk = GetFirstChunkFromSuite(suite) => 0xc5888
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x1d60000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x4229c0b0
[Pass] UNCACHEABLE(p) => 0x4229c0b0
       chunk = GetNextMemoryChunk(suite, chunk) => 0xc58e8
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x2964000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x413f8070
[Pass] UNCACHEABLE(p) => 0x413f8070
       chunk = GetNextMemoryChunk(suite, chunk) => 0xc5920
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x29f8000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x4bf68100
[Pass] UNCACHEABLE(p) => 0x4bf68100
       chunk = GetNextMemoryChunk(suite, chunk) => 0xc5958
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x4700000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x4a000070
[Pass] UNCACHEABLE(p) => 0x4a000070
       chunk = GetNextMemoryChunk(suite, chunk) => 0x0
[Pass] total => 0x4700000
       shoot_free_suite(suite); suite = 0; chunk = 0;
       EngDrvOut(LCD_Palette[0], 0x1234)
[Pass] shamem_read(LCD_Palette[0]) => 0x1234
       call("TurnOnDisplay")
[Pass] DISPLAY_IS_ON => 0x1
       call("TurnOffDisplay")
[Pass] DISPLAY_IS_ON => 0x0
       call("TurnOnDisplay")
[Pass] DISPLAY_IS_ON => 0x1
       SetGUIRequestMode(1); msleep(1000);
[Pass] CURRENT_DIALOG_MAYBE => 0x1
       SetGUIRequestMode(2); msleep(1000);
[Pass] CURRENT_DIALOG_MAYBE => 0x2
       SetGUIRequestMode(0); msleep(1000);
[Pass] CURRENT_DIALOG_MAYBE => 0x0
[Pass] display_idle() => 0x1
       GUI_Control(BGMT_PLAY, 0, 0, 0); msleep(1000);
[Pass] PLAY_MODE => 0x1
[Pass] MENU_MODE => 0x0
       GUI_Control(BGMT_MENU, 0, 0, 0); msleep(1000);
[Pass] MENU_MODE => 0x1
[Pass] PLAY_MODE => 0x0
[FAIL] MEM(dialog->type) => 0x6e4944
       GUI_Control(BGMT_MENU, 0, 0, 0); msleep(500);
[Pass] MENU_MODE => 0x0
[Pass] PLAY_MODE => 0x0
       task_create("test", 0x1c, 0x1000, test_task, 0) => 0x70200c0
[Pass] test_task_created => 0x1
[Pass] get_task_name_from_id(get_current_task()) => 'run_test'
[Pass] task_max => 0x68
[Pass] task_max => 0x68
[Pass] mq = mq ? mq : (void*)msg_queue_create("test", 5) => 0x7040096
[Pass] msg_queue_post(mq, 0x1234567) => 0x0
[Pass] msg_queue_receive(mq, (struct event **) &m, 500) => 0x0
[Pass] m => 0x1234567
[Pass] msg_queue_receive(mq, (struct event **) &m, 500) => 0x9
[Pass] sem = sem ? sem : create_named_semaphore("test", 1) => 0x706031e
[Pass] take_semaphore(sem, 500) => 0x0
[Pass] take_semaphore(sem, 500) => 0x9
[Pass] give_semaphore(sem) => 0x0
[Pass] take_semaphore(sem, 500) => 0x0
[Pass] give_semaphore(sem) => 0x0
[Pass] rlock = rlock ? rlock : CreateRecursiveLock(0) => 0x708005a
[Pass] AcquireRecursiveLock(rlock, 500) => 0x0
[Pass] AcquireRecursiveLock(rlock, 500) => 0x0
[Pass] ReleaseRecursiveLock(rlock) => 0x0
[Pass] ReleaseRecursiveLock(rlock) => 0x0
[Pass] ReleaseRecursiveLock(rlock) => 0xf
       SW1(1,100)
[FAIL] HALFSHUTTER_PRESSED => 0x0
       SW1(0,100)
[Pass] HALFSHUTTER_PRESSED => 0x0


At the end crashes

ASSERT: FALSE
at ASIF\ASIF.c:486, task ASIF
lv:0 mode:3


Magic Lantern version : Nightly.2016Jul25.1200D101
Mercurial changeset   : a1fa773fa8d7+ (1200D)
Built on 2016-07-25 13:19:30 UTC by mathew@mathew-VirtualBox-15.
Free Memory  : 238K + 1296K

Title: Re: Canon 1200D
Post by: a1ex on July 26, 2016, 11:00:55 AM
The two failing tests are nothing to worry about; for the first one, merge this PR (https://bitbucket.org/hudson/magic-lantern/pull-requests/743/misc-cleanups-some-gui-button-codes/diff), and for the second one, you need to enable properties (changing Canon settings), but this should be done once the current feature set works well, without crashes (because properties are persistent, and not all of them have proper error checks in Canon code => there is risk of soft-bricking the camera).

For the ASIF errors, try disabling CONFIG_BEEP in internals.h.
Title: Re: Canon 1200D
Post by: mk11174 on July 26, 2016, 01:55:12 PM
I have updated link to current test build on will add here so it dont get lost back there.

With the help of tester Gulwant, I coded in the fps values, so ML fps should be normal now.

I also added in the lv buffer addresses from alex, but did not enable anything because Alex has not approved that yet. But screenshot should not record your live view and not scrambled image behind ML overlays.

Also disabled the beep in internals.

Dont use: https://bitbucket.org/mk11174/1200d_new/downloads/magiclantern-Nightly.2016Jul26.1200D101.zip (https://bitbucket.org/mk11174/1200d_new/downloads/magiclantern-Nightly.2016Jul26.1200D101.zip)

GOTO Latest here:
http://www.magiclantern.fm/forum/index.php?topic=12627.msg170329#msg170329
Title: Re: Canon 1200D
Post by: mk11174 on July 26, 2016, 03:33:39 PM
Tester Gulwant recorded his first RAW Video on 1200D. Looks like it is setup like the 1100D, was not able to record Raw Video at 1280x720 @24p, it was asking for 36.7mb/s it only did a couple seconds, he had to lower fps to get continuous recording, I think it was 10fps was pretty stable.

He played it back on camera fine too!

Dont want to publish that version until Alex approves though, just wanted to update anyone hoping for 1280x720@24p Raw Video
Title: Re: Canon 1200D
Post by: Sergio de la Torre on July 26, 2016, 03:43:59 PM
26Jul16 15:43

Overlay Menu:

Works:

Doesn't work:

Stub test fails. no crashes after finishing the test
[FAIL] MEM(dialog->type) => 0x6e4944
       GUI_Control(BGMT_MENU, 0, 0, 0); msleep(500);
[FAIL] HALFSHUTTER_PRESSED => 0x0
       SW1(0,100)

Title: Re: Canon 1200D
Post by: abodione on July 26, 2016, 03:45:50 PM
hello iam abdalrhman from oman
i downloaded the ML alpha for 1200D and i tried to install it but looks like there is no any FIR file in  the zip
Title: Re: Canon 1200D
Post by: Walter Schulz on July 26, 2016, 03:55:04 PM
@mk11174: For 650D it is essential to use ExFAT filesystem to make 720p24 happen.
(Proven for 650D, not confirmed for 1200D, yet): Cards < 64 GB: Use computer to format. Redo installation (make card bootable, copy ML stuff to card). Cam will apply ExFAT format for cards > 32 GB only.
Not sure if 1200D limited to 50 MByte/s SD-card interface or 25. Real world limits for write are around 40/20, though.
Title: Re: Canon 1200D
Post by: mk11174 on July 26, 2016, 05:34:37 PM
Hi Walter, it seems he is having issues with his card, he did use another card and got 21mb/s like 1100D using benchmark module, but def would not hurt to see if your process will help him, thanks.
Title: Re: Canon 1200D
Post by: mk11174 on July 26, 2016, 05:46:16 PM
GREAT NEWS!!!

Magic Zoom also confirmed working by my personal tester!

But scared to post without Alex OK!

Also just confirmed Exposure Override worked to get him the manual control of ISO to make HDR work in movie mode because you cant have AUTO ISO when using HDR.
Title: Re: Canon 1200D
Post by: a1ex on July 26, 2016, 06:55:14 PM
Since Magic Zoom now appears on the screen, that means the image is written in the display buffer area (not outside it), so it's fine now (safe to enable).

I've cross-checked the image buffer addresses found by Matt with the ones from RscMgr memory map (http://www.magiclantern.fm/forum/index.php?topic=5071.msg169044#msg169044), and they look fine.

You'll want to check two things regarding image buffers:
- whether the false color overlay is properly aligned with the image (if yes, the same will be true about most other overlays).
- whether the focus peaking marks are properly aligned, with "Image buffer: High-res" (it's not the default setting)

If the above tests look OK, you can try to enable the display filters as well (anamorphic preview, fisheye correction, raw video preview...)
Title: Re: Canon 1200D
Post by: Sergio de la Torre on July 26, 2016, 11:38:16 PM
Focus peaking/False colour seem to be well placed  ;)
Title: Re: Canon 1200D
Post by: mk11174 on July 27, 2016, 01:06:10 AM
I will post updated version soon since I got ok from alex for those of u that cant compile,  plus repo not updated yet, I will add those changes to it unless alex gets to it before me.
Title: Re: Canon 1200D
Post by: mathias on July 27, 2016, 02:41:35 AM
Thanks Matt for your help

I found out that when increase bright via LV, screen becomes green semi transparent instead of more bright.
this also happens with dicig focus peaking with the last 2 options (now i don't remember those options)

Title: Re: Canon 1200D
Post by: a1ex on July 27, 2016, 07:57:37 AM
@mathias: can you take screenshots?
Title: Re: Canon 1200D
Post by: mk11174 on July 27, 2016, 08:54:01 AM
Ok, sorry, here is the updated version, you wont be able to do HDR yet because I will wait for Alex to say good to go on Property Request so you can get exposure override to manually set ISO, only way HDR will work.

Dont Use, buggy with Magic Zoom
https://bitbucket.org/mk11174/1200d_new/downloads/magiclantern-Nightly.2016Jul27.1200D101.zip (https://bitbucket.org/mk11174/1200d_new/downloads/magiclantern-Nightly.2016Jul27.1200D101.zip)

Use this instead.
http://www.magiclantern.fm/forum/index.php?topic=12627.msg170329#msg170329
Title: Re: Canon 1200D
Post by: m1k6 on July 27, 2016, 01:05:17 PM
@a1ex: Here is a link to the screenshot from the camera, taken by ML: VRAM2.PPM (http://marvins-homepage.de/ML/VRAM2.PPM)

In "reality" it looks like this:
(http://marvins-homepage.de/ML/greendis.jpg)

Btw... is the clock always shown in UTC? In canon menu it is set to "Paris" (UTC+1) with DST enabled. (Overall +2 hours)
Title: Re: Canon 1200D
Post by: a1ex on July 27, 2016, 03:57:04 PM
Heh, interesting. What setting did you use to get this green display?

Quote from: m1k6 on July 27, 2016, 01:05:17 PM
Btw... is the clock always shown in UTC? In canon menu it is set to "Paris" (UTC+1) with DST enabled. (Overall +2 hours)

I think LoadCalendarFromRTC is at FF11AEE0.
Title: Re: Canon 1200D
Post by: mk11174 on July 27, 2016, 04:55:55 PM
So original value was right then? It did not look like it was in same spot comparing it to other firmware like 600D and 550D, only reason I changed it.

I could change and post test build for that.

http://www.magiclantern.fm/forum/index.php?topic=12627.msg170329#msg170329
Title: Re: Canon 1200D
Post by: mathias on July 27, 2016, 05:31:56 PM
I made a video showing:

No Magic Zoom
Greenesh screen

https://youtu.be/kc2OUZ6QUjo

this is with the version previous to
https://bitbucket.org/mk11174/1200d_new/downloads/Test_LoadCalendarFromRTC_change.zip

Title: Re: Canon 1200D
Post by: mk11174 on July 27, 2016, 05:40:20 PM
Thats interesting, I am asking my tester right now to confirm if Magic Zoom was really working for his test.
Title: Re: Canon 1200D
Post by: Sergio de la Torre on July 27, 2016, 05:49:04 PM
I can confirm magic zoom works ok and that problem with green LV. Contrast adjust also gives a green (low contrast) to magenta cast (high contrast)

Mk11174 version
Title: Re: Canon 1200D
Post by: gulwantgill on July 27, 2016, 05:51:00 PM
UPDATE

Confirmed magic zoom working on Canon 1200D with the latest built.No problem at all.(mk11174 Latest Built)

https://www.youtube.com/watch?v=66JC-QiO7sk&
Title: Re: Canon 1200D
Post by: mk11174 on July 27, 2016, 05:59:22 PM
Im going over this issue with my tester, the build in here is not working with Magic Zoom, but his is obviously, let me see what he has enabled at this point compared to forum version.
Title: Re: Canon 1200D
Post by: mk11174 on July 27, 2016, 06:03:17 PM
Does magic zoom work in the build with the timer test for anyone?
http://www.magiclantern.fm/forum/index.php?topic=12627.msg170298#msg170298 (http://www.magiclantern.fm/forum/index.php?topic=12627.msg170298#msg170298)

This one is to see if the clock I guess still works, testing a stub change for Alex.

That is all up to date, just timer stub changed.

Maybe something compiled wrong with the July 27 version, that was where I first enabled Magic Zoom.
Title: Re: Canon 1200D
Post by: Sergio de la Torre on July 27, 2016, 06:08:57 PM
More tests - with canon kit card (body + 18-55II + bag + card)

(https://s32.postimg.org/f7gv6fxip/photo_2016_07_27_18_10_03.jpg) (https://postimg.org/image/f7gv6fxip/)

(https://s32.postimg.org/y2h7almy9/photo_2016_07_27_18_09_56.jpg) (https://postimg.org/image/y2h7almy9/)

(https://s32.postimg.org/kx1p4ht2p/photo_2016_07_27_18_10_00.jpg) (https://postimg.org/image/kx1p4ht2p/)

Title: Re: Canon 1200D
Post by: mathias on July 27, 2016, 06:15:08 PM
Matt, yes, it works with your lastest version
Title: Re: Canon 1200D
Post by: mk11174 on July 27, 2016, 06:16:59 PM
Hmmm, wonder what the heck happened to that July 27 one, I better get that off there.

I guess it didnt help ur green tint issue by chance right, lol?
Title: Re: Canon 1200D
Post by: mathias on July 27, 2016, 06:21:25 PM
haha, green screen is still happening...
Title: Re: Canon 1200D
Post by: mk11174 on July 27, 2016, 06:24:16 PM
Figured, but does anyone know if it did anything for the clock in this new build with stub fix for Alex?

http://www.magiclantern.fm/forum/index.php?topic=12627.msg170290#msg170290 (http://www.magiclantern.fm/forum/index.php?topic=12627.msg170290#msg170290)
Title: Re: Canon 1200D
Post by: DaGeek on July 27, 2016, 06:25:24 PM
For some reason, I cannot for the love of god get Magic Lantern to work on my 1200D. Am I just doing something incorrectly? (I first format the card in Camera, then move the files onto root, then make it bootable with EOSCard.)

Thanks.

(Once I can get it booting, I can help test)
Title: Re: Canon 1200D
Post by: Sergio de la Torre on July 27, 2016, 06:58:56 PM
Quote from: mk11174 on July 27, 2016, 06:03:17 PM
Does magic zoom work in the build with the timer test for anyone?
http://www.magiclantern.fm/forum/index.php?topic=12627.msg170298#msg170298 (http://www.magiclantern.fm/forum/index.php?topic=12627.msg170298#msg170298)
Quote from: mk11174 on July 27, 2016, 06:24:16 PM
Figured, but does anyone know if it did anything for the clock in this new build with stub fix for Alex?


Modules tab disappeared so I cant test ::) Time is OK (was -2h in GMT+1)
Title: Re: Canon 1200D
Post by: Sergio de la Torre on July 27, 2016, 07:06:05 PM
A very stupid question: Can I invoke ML menu in Video mode? I can't do it via AV-Comp-Trash button
Title: Re: Canon 1200D
Post by: mk11174 on July 27, 2016, 07:16:22 PM
When ur modules tab dissapeared, was it telling you a message about not shutting down properly, if so, just restart, it will not load modules after a crash.

And I would assume you should be able to load ML menu in all modes if working properly. But there is some new button code for this cam and 1100D because of the combine of Trash and AV, that might need some tweaking?
Title: Re: Canon 1200D
Post by: Sergio de la Torre on July 27, 2016, 07:22:13 PM
I don't have this tab (red square) in the new version. Didnt saw messages

(https://s32.postimg.org/yag08fgr9/MLmenu.jpg)

ML menu button is used for set aperture in video
Title: Re: Canon 1200D
Post by: mk11174 on July 27, 2016, 07:35:14 PM
do u have any modules in the modules folder besides t5_101.sym file

If not copy the self_test or bench module from one of the other builds to it
Title: Re: Canon 1200D
Post by: Sergio de la Torre on July 27, 2016, 08:03:32 PM
Modules files copied from previous version

[FAIL] MEM(dialog->type) => 0x6e4944
       GUI_Control(BGMT_MENU, 0, 0, 0); msleep(500);
[FAIL] HALFSHUTTER_PRESSED => 0x0
       SW1(0,100)


As said, now the time is ok (was -2h before)
Title: Re: Canon 1200D
Post by: mk11174 on July 27, 2016, 08:23:20 PM
Ok, Good, so there was no problem, just need to have modules in the folder to have it show menu.

Good time is OK now.

Ok, lets start fresh.

Here is a build where I just fixed LV addresses and turned on MZ, it also includes Calender Stub Fix.

Also for public release, best to disable features that cause green tint bug, leave that fix for developer with camera. see here: http://www.magiclantern.fm/forum/index.php?topic=12627.msg170332#msg170332

Lets see how this build goes for a bit, check for that green tint issue and what alex asked a few posts ago, making sure things are aligned on focus peaking, and any other crashes.

Hopefully MZ works in this version and time is good, and maybe tint issue not happening???

1200D Build July 27 2016: Correct LV Buffer Addresses, Enable MZ, Calender Stub Fix, Disable FEATURE_LV_BRIGHTNESS_CONTRAST(green tint bug) and added selftest and bench modules.
https://bitbucket.org/mk11174/1200d_new/downloads/Latest_Build.zip

This is NOT the latest build anymore just to be clear, see Below at UPDATE:

Not going to update anymore until this version is 100% stable, or unless a bug is found and fixable. It gets way to confusing not knowing who is using what build when crashes happen.

Lets all confirm exactly what build you use when there is an issue, this way we can keep tracked of bugs.

Also, if you run selftest, dont worry about the 2 failing tests, ignore them for now, more details here: http://www.magiclantern.fm/forum/index.php?topic=12627.msg170221#msg170221

Thanks!


UPDATE! Since users are saying they cant reproduce live view freeze, I will move forward  for you to play, but please remember this is still a new port, Bugs must be reported in detail, any issues, turn off camera right away and take out battery and start over.

Also best to start with cleaned memory card, delete any old ML folder and bin file first so no conflicts with module linking happen.
https://bitbucket.org/mk11174/1200d_new/downloads/Latest_Build_July_30.zip
Title: Re: Canon 1200D
Post by: Sergio de la Torre on July 27, 2016, 08:35:58 PM
Test
[FAIL] MEM(dialog->type) => 0x6e4944
       GUI_Control(BGMT_MENU, 0, 0, 0); msleep(500);
[FAIL] HALFSHUTTER_PRESSED => 0x0
       SW1(0,100)


Peaking / False color alignment: OK
Magic zoom: OK
LV tint: Not resolved
Title: Re: Canon 1200D
Post by: mk11174 on July 27, 2016, 08:42:30 PM
Ok thank you, you can ignore selftest Fails, see here :http://www.magiclantern.fm/forum/index.php?topic=12627.msg170221#msg170221

So, now, as long as MZ is good with not causing cam to crash or do weird things, then right now, the Tint issue is the PRIORITY!

Would like more confirms about MZ, Time and Peaking though, making sure its not gonna be one of those random, it works it dont work deals.

New Build Here: http://www.magiclantern.fm/forum/index.php?topic=12627.msg170329#msg170329

What about the ML Menu issue??? Does it open in all modes?
Title: Re: Canon 1200D
Post by: a1ex on July 27, 2016, 08:47:05 PM
For the green tint, you have two options:
- check the registers used by the features that cause it (see tweaks.c) with CONFIG_DIGIC_POKE (documented at http://magiclantern.wikia.com/wiki/Register_Map/Brute_Force ) and understand their meaning (something was changed on Canon's side, not sure what exactly)
- disable those features that cause it (FEATURE_LV_BRIGHTNESS_CONTRAST, FEATURE_LV_SATURATION, any others?)
Title: Re: Canon 1200D
Post by: m1k6 on July 27, 2016, 08:48:53 PM
I can confirm MZ working. Clock is now correct, too.
@a1ex: LV Brightness and LV Contrast are causing the green tint. Saturation is working normally.
Title: Re: Canon 1200D
Post by: mk11174 on July 27, 2016, 09:09:47 PM
OK Alex, for public version, I disabled that feature that was causing green tint, and will do so with any other feature reporting green tint bug.

That can be left for a developer with camera.

Go here for latest build with features that cause green tint disabled. Please report any other features that cause green tint to live view.
http://www.magiclantern.fm/forum/index.php?topic=12627.msg170329#msg170329

Also, is anyone having issues in any mode, opening the ML Menu, turn your Knob to every mode and test to see if ML menu opens and closes.

When you guys fully test this version and feel no more bugs, I can add silent pictures and raw video for more tests, my personal tester already confirmed they are working, but I want to be sure the bugs are free from this version before it moves onto something new.

And then eventually you can have EXP menu added for manual control of ISO in movie mode, which will also allow HDR video to work, because you need manual control of ISO to use HDR feature, which does work, already tested, I just dont want to add features when other bugs are being reported.

Or you can compile yourself from this repo: https://bitbucket.org/hudson/magic-lantern/commits/branch/1200D and test that way, which is great.
Title: Re: Canon 1200D
Post by: m1k6 on July 27, 2016, 11:48:35 PM
I did some testing about the ML-Menu (not) showing:
You can open the ML-Menu in P, Av, Tv, M and in Movie Mode.
However, in Movie Mode, the ML-Menu can only be opened, when in Canon Menu the movie exposure is set to auto. If it is set to manual it won't open.

2nd, but rather minor: The help files cannot be found.

Apart from this I did not find any error with the newest build (but I'm still testing ;) )
Title: Re: Canon 1200D
Post by: Sergio de la Torre on July 28, 2016, 12:31:29 AM
I confirm that about ML Menu.

When auto exposure in Video is disabled you can invoke the menu via the Av Button (also you can compensate expo +dial), but in manual mode this button only works for aperture.

Build 27Jul16 19:01 UTC
Title: Re: Canon 1200D
Post by: mathias on July 28, 2016, 01:09:24 AM
In my lastest vídeo I showed that when in Manual mode in LiveView you whant to chage mode the imagen freezes and camera freezes, batery remove is requeired to boot again, can you guys verify this in your cameras?
Title: Re: Canon 1200D
Post by: mk11174 on July 28, 2016, 01:31:28 AM
I wonder if the button was set on purpose like this so it did not interfere with manual aperture control, cause if its set for ml menu, how would you control your aperture, so maybe it was done on purpose. These values are copied from 1100D.
Title: Re: Canon 1200D
Post by: a1ex on July 28, 2016, 09:49:13 AM
Quote from: mathias on July 28, 2016, 01:09:24 AM
In my lastest vídeo I showed that when in Manual mode in LiveView you whant to chage mode the imagen freezes and camera freezes, batery remove is requeired to boot again, can you guys verify this in your cameras?

To troubleshoot this one (or other similar problems):

- Start the camera by holding SET pressed at startup (ML loads and reserves memory for it, but other than that, it's inactive). Does the image freeze when you switch modes?

- Reset ML to defaults. Is the image still freezing when you switch modes?

- If yes, turn off whatever you can find in the menus. Does it help?

- If not, start enabling things until you find the setting that causes the error.
Title: Re: Canon 1200D
Post by: mk11174 on July 28, 2016, 02:28:06 PM
Just for anyone curios, my tester and I just found out, that once we turn on ML Exposure Override, you will have manual control of ISO in Movie Mode even when your Exposure control in Canon is set to Auto.

So you wont need to worry about the ML Menu once Exp feature is added, because you can just leave Canon set to Auto for Movie Exposure control which is the setting you can get into ML Menu on.

This way you just use ML to change your ISO in Movie Mode, and we confirmed settings are really changing the Analog ISO, not digital.

I did jot down the gui events for the differ modes, maybe it can be coded to work regardless of what mode your in, but at least once exposure override is added to your build, you will have Manual control and be able to access menu.

So this at least is not a bug, just the way its coded for now.

These are the values changing per mode in case alex would like to look?
Manual Exposure  Movie Mode
61  = 1010006/75006098/25500301
61  = 3010006/75006098/25500101
4c

Auto Exposure  Movie Mode
61  = 3010040/0/0
61  = 1010040/0/0
4c



Here is code in gui.h
#define BGMT_AV (event->type == 0 && event->param == 0x61 && ( \
(is_movie_mode() && event->arg == 0xa) || \
(shooting_mode == SHOOTMODE_P && event->arg == 0xa) || \
(shooting_mode == SHOOTMODE_ADEP && event->arg == 0xa) || \
(shooting_mode == SHOOTMODE_AV && event->arg == 0xf) || \
(shooting_mode == SHOOTMODE_M && event->arg == 0xe) || \
(shooting_mode == SHOOTMODE_TV && event->arg == 0x10)) )




Title: Re: Canon 1200D
Post by: mk11174 on July 28, 2016, 10:53:42 PM
Anyone get to testing what Alex said to track Image freeze bug? Maybe once this bug is figured out, we can move on if no more complaints with the build as is.

Confirmed Raw Video, Silent Pictures, Exposure override, and Dual ISO all working and ready for testing once we get this Image Freeze bug worked out.

I did update the repo with all the things needed to get MLV_REC, RAW_REC and DUAL_ISO, for personal testing, but would be nice to publicly keep this port moving and get rid of these bugs.

My personal tester and I are on opposite sleeping hours, we have been testing the cooler features to keep you guys pumped about whats to come with the port.

But I will have to work on this bug with him as we get time to connect, but don't know how much free time we will get to do this.

So if anyone can please go through the procedure alex mentioned here: http://www.magiclantern.fm/forum/index.php?topic=12627.msg170362#msg170362  that will be great.

PLEASE UPDATE in as much detail as possible, videos are useful as well.
Title: Re: Canon 1200D
Post by: Sergio de la Torre on July 28, 2016, 11:19:40 PM
I can't reproduce the frozen screen bug, but  A1ex' procedure (startup pressing SET) doesn't boot ML
Title: Re: Canon 1200D
Post by: m1k6 on July 29, 2016, 12:33:20 AM
With the current build I cannot reproduce this bug.
In the video he was using a older version, with the wrong liveview address, I think.
Correct me, if I'm wrong.
Title: Re: Canon 1200D
Post by: mk11174 on July 29, 2016, 12:45:45 AM
Yeah, thats what it is suppose to do, not load ML, it does but basically not the menu, he wanted to see if the bug was a memory thing, barely loading stuff to not use memory as much, then switching modes to try to make it crash, if it doesnt crash this way, but crashes when everything loaded, that would mean it was a memory thing.

He is trying to narrow the bug down this way.

But if you cant reproduce the issue while magic lantern is fully loaded, then its not going to help track bug down. So hopefully Mathias will test more, and see if its crashing everytime when he switches modes, only testing using latest version in this forum, not older ones or custom ones he might be compiling himself, only way to track this down if its really a problem.

Try fully loading ML with features, use MZ on and off, play with FPS a bit, then while in PHOTO Live view mode, switch modes like M, TV, AV, etc.. see if it freezes LV image, if so, go back, take battery out restart, try again, loading ML, testing MZ a few times, then switch modes again, if it doesnt Freeze, could mean its something with FPS feature, if it does freeze, the FPS is not the issue since you did not touch it this run.

The do this all again to see if its a MZ issue, this time load all features, plat with FPS feature, but not MZ, if it doesnt freeze, means its probably MZ, if it does freeze still, it means its neither MZ or FPS features, could be another feature loaded, try loading everything, except Histogram, play with MZ and FPS, etc.. keep doing this, taking one thing out each time until something stops it from freezing, thats how you will track down the bug. But none of it will help, unless its something that can be reproduced everytime.

If this turns out to be not an issue, I will start loading other things to get this port moving for testing of RAW and Dual ISO.

Yes, very possible could of been an old build with wrong LV address, not sure, or that buggy July 27th version, I have no idea what was up with that build, should not of been buggy like that.

Maybe if Mathias can confirm this, and all is fine now, I will move foward????
Title: Re: Canon 1200D
Post by: Sergio de la Torre on July 29, 2016, 02:30:24 AM
Finally I have a working compiler

About last build:
- ETTR hint at histogram disappeared
- Dual ISO video doesn't work
- Not enough memory if lua module is enabled
Title: Re: Canon 1200D
Post by: mk11174 on July 29, 2016, 02:38:57 AM
For Dual ISO video to work, you need to define Property Request at your own risk, this will give you EXP menu, you will then need to turn on Exposure Override feature and set the ISO with ML to say 100, then DUAL ISO in video mode will work, it needs Manual control of ISO to work.

And if your compiling, did you enable the correct things in Internals? Everything in the Repo is up to date with the build in here, except I didn't add the modules for RAW Video or MLV because Raw Video was disabled in Internals until we got this build stable, also did not include Dual ISO module because it could not be used without Property Request defined because of needing manual control of ISO, but property request is the last thing you want to enable on the list.

As far as not enough memory, just undefine some of the stuff your not interested in inside all-features.h  undef them in your platform directory in features.h. This will help.

Also you can just remove some of the scripts from the Scripts folder, this will def help, just add one at a time until it runs out of memory, then take 1 or 2 out.
Title: Re: Canon 1200D
Post by: mk11174 on July 29, 2016, 03:07:27 AM
Moved forward since you guys decided to anyway, want to make sure the right things get enabled so when bugs are reported, you will have a build that is known, you can't report bugs on a custom build if you want help because it will be to hard to know where bug came from if random things are enabled and disabled on each build.

http://www.magiclantern.fm/forum/index.php?topic=12627.msg170329#msg170329
Title: Re: Canon 1200D
Post by: BigMikeD on July 29, 2016, 04:06:52 AM
been away for a while and still getting my feet wet.  with these posted builds will i still have to use the 1200BOOT.FIR to set the boot flag?  i read that the MLinstaller does this but wasnt sure if your builds were far enough along to have this included.  as always thank you guys so much!  just reading the progress is awesome.
Title: Re: Canon 1200D
Post by: mk11174 on July 29, 2016, 06:23:54 AM
Yes, use the boot1200D.fir file if you have not done so already, then for whatever card you use, use EOScard utility to make card bootable, then install ML from the zip file onto card.

It does not have the regular FIR file like the main model cameras have that does it all.
Title: Re: Canon 1200D
Post by: MustangXPress7 on July 29, 2016, 11:20:45 AM
So as I'm testing ML on my 1200D and it happened to crash, here is my .LOG for the people working on it!
I was testing RAW video and it just reached 1728 of resolution with my SD Card (1920 is Full HD res, to have a reference) and just 2 sec of clip, due to a "frame skipping" issue.
Here is the .LOG (Tested on 28 July nightly, as shown on the code):

[5] raw_rec_task: NULL PTR (4,e1a00000)
pc=   c5c88 lr=  ceb98c stack=163d68+0x1000
entry=badfc8(0)
e1a00000   350014 3b28281c  100c031
  d33600 e1a00000 e59ff010 e59ff010


Magic Lantern version : Nightly.2016Jul28.1200D101
Mercurial changeset   : a1fa773fa8d7+ (1200D)
Built on 2016-07-29 01:42:29 UTC by mathew@mathew-VirtualBox-15.
Free Memory  : 155K + 1067K


(I also have a 1MB .DAT but I don't know if you also need it. I'll keep it for safety)

Thanks to all the people involved in this project as always!
Title: Re: Canon 1200D
Post by: mk11174 on July 29, 2016, 01:24:46 PM
I would not even try 1728 res, the card writing hardware in camera is was to slow, Raw video might not really be fun at all with the camera unless your maybe doing low fps timelapse video.

But anyways, we would need more info, like were you using complete default settings of ML or did you disable any features or enable any features before or during using it.

You would need to try disabling features one by one and keep testing same way until crash hopefully stops, then if it does, turn on other features besides the one that made it stop crashing and try to see if maybe its a certain feature making it crash, or maybe one to many features loaded while using it.

This camera runs out of memory fast, so dont turn any modules on unless you need them, like mlv_rec mlv_snd, dual_iso, lua, ettr turn set all these to off in the modules menu if your doing raw_rec only.

Try lower resolution, Canon should be set to 1920x1080 24p in canon menu for best results, my tester recorded fine setting the res in Raw Video menu to 1280x720 and in the FPS override menu he was able to set that to 10fps and it recorded for a good while.

Test with and without Dual ISO.

Also inside Raw_Rec, try disable small_hacks option, try with and without, see what happens, try mlv_rec, see if that one works with more success.

Also, after a crash, go to debug menu and go to free memory, so if any errors there, maybe get screenshot of it.

Thanks for testing!

For any Developers: I have the correct Dialog Refresh address set at same spot 550D, 600D, and 700D have it set to. In case you were wondering.
Highlighted in pictures.
(https://s31.postimg.org/t7u3047uz/Capture.jpg)
Title: Re: Canon 1200D
Post by: Sergio de la Torre on July 29, 2016, 02:08:47 PM
Do you know what's the maximum write speed of the card interface?
Title: Re: Canon 1200D
Post by: mk11174 on July 29, 2016, 02:22:27 PM
No idea exactly, but from the bench test it dont look any faster then 21mb/s most time seems to be worse. but no lower then 11mb/s.  Seems to be like the 1100D.

Formatting with Exfat didnt seem to help either, I just think the hardware is very limited on this one when it comes to recording raw frames, or because of low buffer to hold frames before writing.

Try silent picture, use End Trigger, how many are being held in memory while holding half shutter, if its less then 41, thats not good, it would mean you would not faster writing speed to make up for it I guess, and your bench test does not show very good speeds.

Give an example, on my T5i/700D I get 41 frames held in buffer while holding half shutter in End Trigger mode with silent pictures, my writing speed is around 40mb/s so I just reach the limit for 1280x720@24fps Raw Video. I also use 95mb/s card, so shows card has nothing to do with it, its all in the hardware. You can see mine is 16M from picture.
(https://s31.postimg.org/y8bdo8q97/BENCH1.jpg)

Title: Re: Canon 1200D
Post by: Sergio de la Torre on July 29, 2016, 02:33:33 PM
From my test along with my SD Card from kit, I think is about 16-17Mb/s so I gess the limit will be at 864x486 or 960x540 at 24/25fps. Similar to 500D, 550D, 600D and 60D
Title: Re: Canon 1200D
Post by: mk11174 on July 29, 2016, 02:38:07 PM
Maybe, depends on buffer though, if it doesn't hold many frames, I think it has to write faster to keep up.

Refer to this post about silent trigger test.
http://www.magiclantern.fm/forum/index.php?topic=12627.msg170427#msg170427
Title: Re: Canon 1200D
Post by: mk11174 on July 29, 2016, 03:10:41 PM
Before this thread gets crazy, I dont want this issue to get lost, lets focus on this: http://www.magiclantern.fm/forum/index.php?topic=12627.msg170413#msg170413

Here is my recommendation : http://www.magiclantern.fm/forum/index.php?topic=12627.msg170424#msg170424
Title: Re: Canon 1200D
Post by: Sergio de la Torre on July 29, 2016, 05:15:40 PM
I was testing the last changes and I've seen two problems:

The zebra/focus peaking is misaligned at image review mode (immediately after shooting). Even if the image is displayed with canon histogram and photo info the orverlay covers all the screen (not only the thumbnail)

(https://s32.postimg.org/j6l28np75/photo_2016_07_29_17_11_33.jpg) (https://postimg.org/image/j6l28np75/)

Using my CZ Distagon 28/2 (C/Y mount + adapter + AF chip) I have ~ -3 stops at LV screen compared to the actual photo, so zebras, histogram and image references are useless. That's for photo, Movie mode (manual, same parameters) LV looks correct.

I've tested also with and old 28-80 USM without problems with LV (overlay problem persists). I don't have my L lenses here and the other two Zeiss primes for testing now
Title: Re: Canon 1200D
Post by: mk11174 on July 29, 2016, 06:12:34 PM
Looks like I need to come in just a tad more on the skip values, can you send me a decent silent DNG, the one I had to work with was hard to check. I got as close as I thought, but may of had to chop off a few more.
Title: Re: Canon 1200D
Post by: gulwantgill on July 29, 2016, 06:39:43 PM
Finally we are at this point.Just recorded first raw video form 1200D at 720p 15 fps with dual iso.Because of slow writing speed , It is as high as it can go.

Without DUAL ISO Filtered

https://www.youtube.com/watch?v=hGpsCeIxAHQ&feature=youtu.be

With DUAL ISO Filtered

https://www.youtube.com/watch?v=k7iTfV0-C1w&feature=youtu.be

Bugs :

We are getting pink frames at every 23rd frame or better say last frame.It happen every time we record raw video.All modules off and still , pink frame dose not go away.


Big thanks to mk11174 and alex!
Title: Re: Canon 1200D
Post by: a1ex on July 29, 2016, 07:07:37 PM
Quote from: Sergio de la Torre on July 29, 2016, 05:15:40 PM
Using my CZ Distagon 28/2 (C/Y mount + adapter + AF chip) I have ~ -3 stops at LV screen compared to the actual photo, so zebras, histogram and image references are useless. That's for photo, Movie mode (manual, same parameters) LV looks correct.

Sounds like the "well-known" LiveView underexposure bug (http://www.dvxuser.com/V6/showthread.php?247001-Still-photo-Live-View-LCD-drastically-underexposed-WHY) (Canon issue with manual lenses).

If you have an AF chip, the issue might go away if you try to change the aperture back and forth a few times. Otherwise, attach a Canon lens and set the aperture to widest position before removing it. Or, enable exposure override in ML menu.

@gulwantgill: please watch your font.
Title: Re: Canon 1200D
Post by: mk11174 on July 29, 2016, 08:48:51 PM
If someone can please send me a Full Res Silent picture so I can adjust the settings to align focus and zebra in photo review mode.

Instructions, get build here: http://www.magiclantern.fm/forum/index.php?topic=12627.msg170329#msg170329

Enable silent.mo and restart camera.

Go to Photo Live view mode, and go in the silent feature settings and set top one to Full Res, make sure bottom is DNG.

Now make sure in Canon, Review is set to something other then OFF, so you can see it took one.

Now just aim, expose at something even lit, and half press shutter button, it will tell you it took one.

Send me that image please? Only way I can fix it.
Title: Re: Canon 1200D
Post by: Sergio de la Torre on July 30, 2016, 02:17:11 AM
Raw error. No file created  :-[


Title: Re: Canon 1200D
Post by: mk11174 on July 30, 2016, 03:17:48 AM
I updated build, can you download it once more and see if you still get raw_error for full res silent picture?
Title: Re: Canon 1200D
Post by: Audionut on July 30, 2016, 07:18:14 AM
mk11174,

Since you seem to have taken this port under your wing, it's probably best if you control the OP. 
Feel free to start a new thread when you have some time.

Cheers.
Title: Re: Canon 1200D
Post by: mk11174 on July 30, 2016, 08:11:22 AM
I was actually thinking that would make it easier to control the updated test builds, but School is starting here soon, so my efforts will probably have to end at that point, which is why I might seem rushy trying to get testers to help out sooner rather then later in case noone else can come along in the future to work things out.

I don't know much more I will be able to do at this point since I don't have this camera, I really just wanted to get this full res silent picture just so I can finally get those Raw Photo skip values in as maybe one last final deed to tidy everything up, I hate knowing something so simple to fix is incomplete right now just cause of one picture, LOL!
Title: Re: Canon 1200D
Post by: Sergio de la Torre on July 30, 2016, 11:17:04 AM
Quote from: mk11174 on July 30, 2016, 03:17:48 AM
I updated build, can you download it once more and see if you still get raw_error for full res silent picture?
Same error  :-\
Title: Re: Canon 1200D
Post by: mk11174 on July 30, 2016, 11:56:46 AM
hmm, weird, if you in Photo Mode and switch to Live View, and have your knob set to M so camera can be in Manual control, and your have your picture quality in Canon set to RAW, or RAW+jpg, or jpg, Just RAW, and try a shutter of say 1/10 and aperture whatever and iso at 100, this should work, just press half shutter once and release, still nothing?

If still dont work, I am not sure what the deal is?
Title: Re: Canon 1200D
Post by: Sergio de la Torre on July 30, 2016, 12:04:48 PM
M 1/10 f2.0  ISO 100 RAW LV Full-Res DNG

Title: Re: Canon 1200D
Post by: mk11174 on July 30, 2016, 12:26:09 PM
Well that stinks  :-\

Thanks for trying at least.

Is Image Review off by chance in Canon, if so, try making it anything but Off, like 2 seconds, or Hold.
Title: Re: Canon 1200D
Post by: Sergio de la Torre on July 30, 2016, 01:37:45 PM
All I could get it's a black DNG (RGB values 0 or 1)

And then...

(https://s31.postimg.org/o5tc6l8x3/photo_2016_07_30_13_35_23.jpg) (https://postimg.org/image/o5tc6l8x3/)

I cannot repeat this behavior

I'm trying with simple (not full-res) and half shutter works fine in LV, but it closes the review mode.
Title: Re: Canon 1200D
Post by: Sergio de la Torre on July 30, 2016, 01:43:04 PM
I didn't see another DNG generated with the misalignment (corrupted)

https://drive.google.com/file/d/0B2UvFnfao5GKQ3RDMTlhcEtaTmM/view?usp=sharing

(https://s31.postimg.org/5ezx6vcev/01670000.jpg) (https://postimg.org/image/5ezx6vcev/)
Title: Re: Canon 1200D
Post by: mk11174 on July 30, 2016, 05:03:39 PM
Cool, thats what I needed!

And wait, this was from simple????

This is what you want to select if your doing it right, but whatever you did, gave you the correct text on screen and image at one point. You by chance try with and without Exp Override to see if you have more success, or with histo and waveform and other things off, just to see if you have better luck, I will need another test when I set the settings in new build to make sure they are correct.
(https://s32.postimg.org/4yfplppth/VRAM0.jpg)

(https://s32.postimg.org/w5wj8jzb9/VRAM1.jpg)
Title: Re: Canon 1200D
Post by: mk11174 on July 30, 2016, 05:18:10 PM
Ok, updated it, can you check again, also check if the overlay for Histogram and focus peaking in Photo Review mode are aligned since that is what this test was really for?

Just upload from Latest link again : http://www.magiclantern.fm/forum/index.php?topic=12627.msg170329#msg170329
Title: Re: Canon 1200D
Post by: Sergio de la Torre on July 30, 2016, 05:26:06 PM
Quote from: mk11174 on July 30, 2016, 05:03:39 PM
And wait, this was from simple???
No, it's from full-res. With simple parameter it seems that there is no problem.

Quote from: mk11174 on July 30, 2016, 05:18:10 PM
Ok, updated it, can you check again, also check if the overlay for Histogram and focus peaking in Photo Review mode are aligned since that is what this test was really for?

Review mode overlay it's aligned.
Silent.mo gives error at full-res

Thanks a lot for your time :)
Title: Re: Canon 1200D
Post by: mk11174 on July 30, 2016, 05:42:38 PM
Great!, good to hear regular silent is working fine.

Am curious why you got the one picture the one time but cant repeat?

Maybe Alex will see this and save the day? LOL

At least you got the one shot to get overlay aligned, so thats good news!
Title: Re: Canon 1200D
Post by: mk11174 on July 30, 2016, 08:36:58 PM
Ran this in debug: In hopes it will help a developer see why Full_Res gives raw error and seemed to take a picture at one point and only one successful image another time, most of the time its a raw error.

Thanks Sergio de la Torre for running test.

static void run_test()
{
    msleep(2000);

    void debug_intercept();
    debug_intercept();
    info_led_on();
    void* job = (void*) call("FA_CreateTestImage");
    call("FA_CaptureTestImage", job);
    call("FA_DeleteTestImage", job);
    info_led_off();
    debug_intercept();
}


DM.LOG
http://dropcanvas.com/052mi/1
Title: Re: Canon 1200D
Post by: islonina on July 31, 2016, 08:22:33 PM
Hi

I tested the ML for 1200d and love it but now i need to uninstall it. The only problem is that i cant do that. On the other camera 5dII when i install firmware there is a option for change mode <P AV M >to disable bootdisk flag on the camera. On the 1200d there is no option for that.
Title: Re: Canon 1200D
Post by: BallisticHugs on August 03, 2016, 12:32:08 AM
I have the 1200D Camera. Is there anyway I can help as far as testing, and if I can what are the risk for the camera?
Title: Re: Canon 1200D
Post by: mathias on August 03, 2016, 06:23:23 PM
You just can remove bootable flag from your sd card using http://pel.hu/down/EOScard.exe

I don't know if fomratting sd card from the camera removes this flag. If does, you should turn off-on your camera again. This port is still in beta.
Title: Re: Canon 1200D
Post by: canonlover on August 11, 2016, 03:26:25 AM
it is not yet safe installation ? You could always test and when my camera is not affected since I hold for my studies. :-\ :'(
Title: Re: Canon 1200D
Post by: liquidfiretibby on August 15, 2016, 01:36:51 AM
Hey guys,

First off, THANK YOU for all the work in porting this.

However, I cant seem to get it to install. I've downloaded you most stable build from you link, formatted my card in camera, made sure firmware was up to date, put ML files on sd, but when I go to the update firmware screen to install ML, it tells me there is no FW on the card.

Using a lexar class 10 64 gb if it helps
Title: Re: Canon 1200D
Post by: Walter Schulz on August 15, 2016, 05:06:11 PM
See reply #156
Title: Re: Canon 1200D
Post by: canonlover on August 16, 2016, 04:56:08 AM
I have tested in canon ML 1200D , my focus is the video recording , recorded in raw . 960,1152,1280,1920,3584 .

when the video finishes processing the posteare .

a problem is that in the video mode menu can not enter the magic lantern as the assigned button has a function in ML

in all modes fps going very slow 960 can be recorded continuously in 1152 also in 1280 the recording is cut to approximately 12 seconds in 1920 lasts seconds and in 3584 only captures 2 frames when you upload the videos can see in better detail .

__________________________________________________________________________________________________________
En español

he testeado ML en canon 1200D, mi foco es la grabacion de video, grabe in raw. 960,1152,1280,1920,3584.

cuando termine de procesar los videos los posteare.

un problema es que en el modo video no puedo ingresar al menu de magic lantern ya que el boton asignado tiene una funcion en ML

en todos los modos los fps van muy lento en 960 se puede grabar continuo en 1152 tambien en 1280 se corta la grabacion a los 12 segundos aproximadamente en 1920 dura segundos y en 3584 solo captura 2 fotogramas cuando suba los videos podran ver con mejor detalle.
Title: Re: Canon 1200D
Post by: nikfreak on August 16, 2016, 01:14:55 PM
don't expect miracles regarding write speed and continuous raw recording resolutions on 1200D.
1x00D (4-digit) EOS bodies are THE entry level cameras and those got crippled hardware specs.
Title: Re: Canon 1200D
Post by: BallisticHugs on August 17, 2016, 01:13:54 AM
Quote from: liquidfiretibby on August 15, 2016, 01:36:51 AM
Hey guys,

First off, THANK YOU for all the work in porting this.

However, I cant seem to get it to install. I've downloaded you most stable build from you link, formatted my card in camera, made sure firmware was up to date, put ML files on sd, but when I go to the update firmware screen to install ML, it tells me there is no FW on the card.

Using a lexar class 10 64 gb if it helps

I was able to install it on my 1200d. I believe I downloaded the July 30th build, the one without the 1200d firmware file. I grabbed the firmware file from another build and I had trouble installing it until I ran EOSCardUtility for Linux and after that I tried installing and it worked.
Title: Re: Canon 1200D
Post by: liquidfiretibby on August 18, 2016, 03:42:11 AM
Quote from: Walter Schulz on August 15, 2016, 05:06:11 PM
See reply #156

Thank you. Do I need to use the ML-setup.FIR from one of the other nightly builds? Do these two files first, the format and put on ml-setup.fir with the ML data files from this build?
Title: Re: Canon 1200D
Post by: liquidfiretibby on August 18, 2016, 03:56:47 AM
ok so I ran the 1200BOOT.FIR and it gave me a rom dump msg over my last picture and then a ":)"

But I cant find a ML menu. Tried the ml-setup.fir from a nightly build and it froze my camera saying there was no boot/firmware file
Title: Re: Canon 1200D
Post by: Beda Luh on August 18, 2016, 02:13:24 PM
hey guys.
At first, thanks to all that help to port ml for the Canon eos 1200d.
Ok but I have an question.
When I install the Firmware there are 4 titles there is "Please wait..." than "ROM Backup..." than "EnalbeBootDisk" at least the is an smylie.
And thats it after that my camera do nothing.
Can somebody help me?
Title: Re: Canon 1200D
Post by: marcotonet on August 19, 2016, 03:50:32 PM
Hi guys, i've the latest firmware on my 1200D, anyone can tell me where to download and how to install ML? I read some users have already done and it's working..thanks!
Title: Re: Canon 1200D
Post by: BallisticHugs on August 19, 2016, 08:40:04 PM
Quote from: liquidfiretibby on August 18, 2016, 03:56:47 AM
ok so I ran the 1200BOOT.FIR and it gave me a rom dump msg over my last picture and then a ":)"

But I cant find a ML menu. Tried the ml-setup.fir from a nightly build and it froze my camera saying there was no boot/firmware file


That's the same thing that happened to me. Have you ran the card with EOSCardUtility.exe?

EOSCardUtility: http://pel.hu/eoscard/ (http://pel.hu/eoscard/)

YouTube video to help with EOSCardUtility: https://www.youtube.com/watch?v=XEBSUUeoA4Y (https://www.youtube.com/watch?v=XEBSUUeoA4Y)

Here's the link from mk11174 to download the July 30th build that I used. https://bitbucket.org/mk11174/1200d_new/downloads/Latest_Build_July_30.zip (https://bitbucket.org/mk11174/1200d_new/downloads/Latest_Build_July_30.zip)

Here's the filesystem of my working SDcard with Magic Lantern that I used. (http://i.imgur.com/gZkQxGU.png)
Title: Re: Canon 1200D
Post by: Sergio de la Torre on August 21, 2016, 09:49:04 PM
After my holydays I'm here again to help testing :)
Title: Re: Canon 1200D
Post by: marcotonet on August 23, 2016, 08:15:14 PM
Here i am, i downoaded the 1200BOOT.FIR, i've putted it on the rood of the sd with autoexec.bin and ML folder that i downloaded with "Latest_Buid_July_30". Then i get:
please wait...
ROM Backup...
EnableBootDisk...
:)

and then nothing. The screen goes black and then if i try to click on the bin nothing new happen.

Where i do any mistake?
Title: Re: Canon 1200D
Post by: MASlivak on August 27, 2016, 05:29:16 PM
Hi there,
I cant download the build, everytime i try i get a access denied...

From this url:  https://bitbucket.org/mk11174/1200d_new/downloads/Latest_Build_July_30.zip (https://bitbucket.org/mk11174/1200d_new/downloads/Latest_Build_July_30.zip)

Ahhh! I'm downloading from Brazil, is there any restriction?



Enviado de meu XT1563 usando Tapatalk
Title: Re: Canon 1200D
Post by: Walter Schulz on August 28, 2016, 12:05:15 PM
No problem here (Germany).
Are you able to access this directory (https://bitbucket.org/mk11174/1200d_new/downloads/)?
Title: Re: Canon 1200D
Post by: VMS-studio on August 28, 2016, 01:30:12 PM
Alright guys, first post here and this whole thread is looking awesome. Thanks to everyone spending time on porting ML for 1200D.

I've read half of the thread and have done a few attempts at installing ML but so far I'm having the same issue as the few guys above.

What I've done:

1. Low Format the Card (tried both 2gb and 32gb cards, Got only those)
2. Put ML files from the latest build (july 30)
3. Add 1200D.fir from a few pages back
4. Used EOSboot utility linked above on Windows. Tried the same on Mac with the mac utility.
5. I also tried doing the same steps except doing step number 4 before tep 2 and 3
6. Turned on the camera with the card in it.
7. Firmware update>it proceeds to update, then jumps out of the update screen, shows the regular screen for a few mins, then goes to the photo view screen and shows a few steps (same as the guys from above were getting). It ends with a :) . It doesn't freeze the camera. All I can do is hit the shutter button or the play/preview button and it'll continue working all fine.

Now I've done this with full battery on as well as with the newest firmware installed before starting these steps (1.0.1 firmware)


What am I missing? What am I doing wrong? Could someone explain it a little more thoroughly? Step by step? I think what we all are doing wrong is the EOS step. The video didn't help as he uses it to download and place the files for already working builds. Not our case.

Cheers,

VVA at http://www.vms-studio.com
Title: Re: Canon 1200D
Post by: MASlivak on August 29, 2016, 01:53:17 AM
Quote from: Walter Schulz on August 28, 2016, 12:05:15 PM
No problem here (Germany).
Are you able to access this directory (https://bitbucket.org/mk11174/1200d_new/downloads/)?
Thanks Walter, Today i got download the file. Maybe it was a temporary problem.

Enviado de meu XT1563 usando Tapatalk

Title: Re: Canon 1200D
Post by: BallisticHugs on August 29, 2016, 09:15:01 AM
For everyone having trouble installing Magic Lantern on the 1200D, I will do my best to try and explain how I installed it again.
I Unchecked low format and formatted the card on the camera and started from scratch to hopefully help some people, so here goes nothing.

Step 1: Formatted the card.
Step 2: Put ML files from latest build (July 30th). {ML+autoexec.bin}
Step 3: I Added the 1200BOOT.fir file to the main directory of the card.
(http://i.imgur.com/LrRACY6.png)
Step 4: I ran the update from the camera without running the script that makes the card bootable and I got the ":)" error. (http://i.imgur.com/CqGksDX.jpg)
Step 5: I then put the card in my chromebook without adding/removing any files and I ran the script that makes the card bootable.
(http://i.imgur.com/I4QLqsC.png)
Step 6: I ejected my card and inserted into my camera and as soon as I turned it on It booted up showing the size of the card in the bottom right of the screen. If you hit the delete button the menu should show.
(http://i.imgur.com/y3oxdP7.jpg)

Here's a link for the make_bootable.sh file I used: make_bootable.sh (http://www119.zippyshare.com/v/IWapuU5E/file.html)
You can also download it from: https://bitbucket.org/hudson/magic-lantern/src/tip/contrib/make-bootable/ (https://bitbucket.org/hudson/magic-lantern/src/tip/contrib/make-bootable/)

July 30th Build: https://bitbucket.org/mk11174/1200d_new/downloads/Latest_Build_July_30.zip (https://bitbucket.org/mk11174/1200d_new/downloads/Latest_Build_July_30.zip)

I hope this helps guys I tried my best to explain it and recreate the problem y'all are having. If y'all have any questions or problems let me know.

Don't skip any steps and run the script with sudo.

Title: Re: Canon 1200D
Post by: bakersdozen on August 29, 2016, 09:37:26 AM
Thank you for the detailed  explanation.

Sent from my E6653 using Tapatalk

Title: Re: Canon 1200D
Post by: VMS-studio on August 29, 2016, 11:30:08 AM
Alrighty thanks! That works! What I did is instead of the .sh file you linked (cause that didn't work for me ) I used the Macboot java app and ticked make Canon Bootable or something along those lines.

Once I booted I could get into the ML menu by clicking the bin button.

My only three comments are:
1. it's a little bugy, the visual draw of the elements in live view sometimes glitches. Ahhh, just like I remember ML to be. (used it on T4i back in the days)
2. I couldn't find my way to get into ML from movie mode. Any tips? I remember reading something baout this thru the thread but don't wanna go reread all 13 pages.
3. Setting Iso thru the flash button (enabled it in Cfn menu in Canon menu) is glitchy, the iso numbers disappear and you have to switch the iso to have them come back again.

Thanks guys, this is some great news!


EDIT: Just so that I get a better grasp of how ML works. Well at least this edition we got here. If I go to firmware update and try to uninstall it the way ML instructions go, I still get the Enable Boot disk :) etc. No way to disable it. Is this a type of a ML install that doesn't set boot disk enabled on the Camera? Also, will using a different SD card result in totally stock settings? Including the boot times. ML takes a little longer to boot. Does the time reduce if you're using non ML SD card?
Title: Re: Canon 1200D
Post by: BSTi on August 29, 2016, 07:20:10 PM
Quote2. I couldn't find my way to get into ML from movie mode. Any tips? I remember reading something baout this thru the thread but don't wanna go reread all 13 pages.

Found a way around it..

Set in Canon Menu Movie Exposure to Auto
and use Expo. Lock and Overide in Magiclantern..
Title: Re: Canon 1200D
Post by: BallisticHugs on August 29, 2016, 09:25:19 PM
Quote from: VMS-studio on August 29, 2016, 11:30:08 AM
EDIT: Just so that I get a better grasp of how ML works. Well at least this edition we got here. If I go to firmware update and try to uninstall it the way ML instructions go, I still get the Enable Boot disk :) etc. No way to disable it. Is this a type of a ML install that doesn't set boot disk enabled on the Camera? Also, will using a different SD card result in totally stock settings? Including the boot times. ML takes a little longer to boot. Does the time reduce if you're using non ML SD card?

Glad to hear you got it installed.

If you format the card it removes it. I've switched cards before and it runs normally like if ML was never installed it seems to me.
Title: Re: Canon 1200D
Post by: Sergio de la Torre on August 29, 2016, 09:29:24 PM
Quote from: BallisticHugs on August 29, 2016, 09:25:19 PM
If you format the card it removes it. I've switched cards before and it runs normally like if ML was never installed it seems to me.
You must to format it in the PC, the camera will left the ML files
Title: Re: Canon 1200D
Post by: VMS-studio on August 29, 2016, 11:20:16 PM
Ahh gotcha guys. That's what I thought but I also read something about setting the boot flag on on the actual camera. Any tips on how to disable that? Or I shouldn't sweat it at all?

PS. I'm not gonna uninstall it> Just wanna get to know all the aspects about it
Title: Re: Canon 1200D
Post by: bakersdozen on August 30, 2016, 01:46:14 AM
Do we have intervalomter working yet?

Sent from my E6653 using Tapatalk

Title: Re: Canon 1200D
Post by: MASlivak on August 30, 2016, 12:11:40 PM
Quote from: bakersdozen on August 30, 2016, 01:46:14 AM
Do we have intervalomter working yet?

Sent from my E6653 using Tapatalk
Work for me.

Enviado de meu XT1563 usando Tapatalk

Title: Re: Canon 1200D
Post by: BallisticHugs on August 30, 2016, 10:35:33 PM
Quote from: Sergio de la Torre on August 29, 2016, 09:29:24 PM
You must to format it in the PC, the camera will left the ML files

Ahhh Good to know, thanks.

Quote from: bakersdozen on August 30, 2016, 01:46:14 AM
Do we have intervalomter working yet?

Sent from my E6653 using Tapatalk



Works for me too.
Title: Re: Canon 1200D
Post by: liquidfiretibby on September 05, 2016, 04:06:35 AM
Thank you all for the help. I was soo close before. But now I'm still stuck. I can't get the make_bootable.sh to run
I've installed cygwin. When I run the .sh in that console, it tells me I need to mount my sd card. I can't figure out how :(
I've tried the eoscard app but it says, "exfatVBR load failed" 
I'm using a class 10 64gb lexar
Title: Re: Canon 1200D
Post by: Walter Schulz on September 05, 2016, 05:09:28 AM
Format card in cam.
Retry EOScard.
Delete contents from card (autoexec.bin, *.FIR, ML directory).
Copy extracted zip content (for 1200D) to card.
If you have another card (32 GB or less) you should go with this one.
Title: Re: Canon 1200D
Post by: liquidfiretibby on September 05, 2016, 08:37:25 AM
Quote from: Walter Schulz on September 05, 2016, 05:09:28 AM
Format card in cam.
Retry EOScard.
Delete contents from card (autoexec.bin, *.FIR, ML directory).
Copy extracted zip content (for 1200D) to card.
If you have another card (32 GB or less) you should go with this one.

Found on another forum that it was my built in sd reader the was not reading the vbr. used a usb reader and it worked great.
Thanks again!
Title: Re: Canon 1200D
Post by: seamaniac81 on September 06, 2016, 04:50:29 AM
I am trying to get into more professional time lapsing and I would like to if i could save some money on a intervalometer, could this do that for me or not? Other than that has anyone ported over ML to the T5 (1200D)??? If so can you link it? Thanks!
Title: Re: Canon 1200D
Post by: BallisticHugs on September 07, 2016, 12:02:35 AM
Quote from: liquidfiretibby on September 05, 2016, 08:37:25 AM
Found on another forum that it was my built in sd reader the was not reading the vbr. used a usb reader and it worked great.
Thanks again!

Glad to hear you got it working.  :)
Title: Re: Canon 1200D
Post by: Lucas Figueiredo on September 07, 2016, 12:58:45 AM
Hi guys, I'm new here, and I can't find a link with the ML to Canon 1200D in this topic  ::) ... Can everyone send or reply this comment with the link ( if he exist ) :D ? thank uuuuuu  :D
Title: Re: Canon 1200D
Post by: sDaveCZ on September 10, 2016, 01:45:33 AM
Do you guys have a download link for the 1200D.fir? I cant seem to find it anywhere. Thanks!
Title: Re: Canon 1200D
Post by: Walter Schulz on September 10, 2016, 09:07:34 AM
Read page 13 ...
Title: Re: Canon 1200D
Post by: vjklein on September 13, 2016, 05:40:30 PM
where is it in page 13, i have the same problem and I don't speak English well... thanks
Title: Re: Canon 1200D
Post by: adel.gaming29 on September 13, 2016, 10:31:58 PM
hey guys i just need help to open the settings menu when i'm in movie mode  :(
Title: Re: Canon 1200D
Post by: BallisticHugs on September 17, 2016, 09:14:37 AM
Quote from: vjklein on September 13, 2016, 05:40:30 PM
where is it in page 13, i have the same problem and I don't speak English well... thanks

This is the link for the build on July 30th:

https://bitbucket.org/mk11174/1200d_new/downloads/Latest_Build_July_30.zip
Title: Re: Canon 1200D
Post by: pratikshirdhanka on September 17, 2016, 06:37:26 PM
Yo guys.
I im trying my best to install magic lantern on my canon 1200d but im not been able to do it. Can you please tell me exact process with download links?

Sent from my Moto G 2014 using Tapatalk

Title: Re: Canon 1200D
Post by: bakersdozen on September 19, 2016, 03:13:05 AM
Quote from: pratikshirdhanka on September 17, 2016, 06:37:26 PM
Yo guys.
I im trying my best to install magic lantern on my canon 1200d but im not been able to do it. Can you please tell me exact process with download links?

Sent from my Moto G 2014 using Tapatalk
Look at page 32 or post #319 from ballistichugs

They have posted step by step.

Sent from my E6653 using Tapatalk

Title: Re: Canon 1200D
Post by: pratikshirdhanka on September 19, 2016, 10:55:29 AM
Actually now the .sh file is saying eos_digital card should be mounted before running the script.
And as im using cygwin. Can you please give me the exact commands for running the script?

Sent from my Moto G 2014 using Tapatalk

Title: Re: Canon 1200D
Post by: pratikshirdhanka on September 19, 2016, 11:02:19 AM
Quote from: BallisticHugs on August 29, 2016, 09:15:01 AM
For everyone having trouble installing Magic Lantern on the 1200D, I will do my best to try and explain how I installed it again.
I Unchecked low format and formatted the card on the camera and started from scratch to hopefully help some people, so here goes nothing.

Step 1: Formatted the card.
Step 2: Put ML files from latest build (July 30th). {ML+autoexec.bin}
Step 3: I Added the 1200BOOT.fir file to the main directory of the card.
(http://i.imgur.com/LrRACY6.png)
Step 4: I ran the update from the camera without running the script that makes the card bootable and I got the ":)" error. (http://i.imgur.com/CqGksDX.jpg)
Step 5: I then put the card in my chromebook without adding/removing any files and I ran the script that makes the card bootable.
(http://i.imgur.com/I4QLqsC.png)
Step 6: I ejected my card and inserted into my camera and as soon as I turned it on It booted up showing the size of the card in the bottom right of the screen. If you hit the delete button the menu should show.
(http://i.imgur.com/y3oxdP7.jpg)

Here's a link for the make_bootable.sh file I used: make_bootable.sh (http://www119.zippyshare.com/v/IWapuU5E/file.html)
You can also download it from: https://bitbucket.org/hudson/magic-lantern/src/tip/contrib/make-bootable/ (https://bitbucket.org/hudson/magic-lantern/src/tip/contrib/make-bootable/)

July 30th Build: https://bitbucket.org/mk11174/1200d_new/downloads/Latest_Build_July_30.zip (https://bitbucket.org/mk11174/1200d_new/downloads/Latest_Build_July_30.zip)

I hope this helps guys I tried my best to explain it and recreate the problem y'all are having. If y'all have any questions or problems let me know.

Don't skip any steps and run the script with sudo.
Bro. Im running the script with cygwin. Can you give me the exact commands please.

Sent from my Moto G 2014 using Tapatalk

Title: Re: Canon 1200D
Post by: Walter Schulz on September 19, 2016, 12:57:02 PM
Dear Lord of Full Quotes!
Just run EOScard. Delete all content from card after and copy files to card and you are done.
Title: Re: Canon 1200D
Post by: pratikshirdhanka on September 19, 2016, 12:59:20 PM
Are you sure? Coz i tried it earlier and that didnt work

Sent from my Moto G 2014 using Tapatalk

Title: Re: Canon 1200D
Post by: Walter Schulz on September 20, 2016, 04:57:20 AM
EOScard was standard procedure to create bootable cards on Windows for years ...
If EOScard doesn't work (whatever that may mean) there is a good chance the script won't work either.
Try a different card with less capacity. If you still have troubles come back and describe in detail the steps you followed through and results.
Title: Re: Canon 1200D
Post by: bakersdozen on September 20, 2016, 05:21:18 AM
Just to confirm, I followed BallisticHugs steps and worked great first time for me on OSX. After the =) I opened terminal, entered sudo -s. Then dragged the make_bootable.sh file onto the terminal window. Watched the magic happen. Thanks to all involved, very much appreciated. Intervalomter works great for me, which is my main request.

Sent from my E6653 using Tapatalk

Title: Re: Canon 1200D
Post by: pratikshirdhanka on September 20, 2016, 06:13:58 AM
Ok guys. Ill try it out again today in the evening. Thankyou all.

Sent from my Moto G 2014 using Tapatalk

Title: Re: Canon 1200D
Post by: BallisticHugs on September 20, 2016, 07:48:47 AM
Quote from: pratikshirdhanka on September 20, 2016, 06:13:58 AM
Ok guys. Ill try it out again today in the evening. Thankyou all.

Sent from my Moto G 2014 using Tapatalk



Yea... I'm not sure if the script will work on cygwin... You could try running a virtual linux machine maybe... or just try the EOSCard again.
Title: Re: Canon 1200D
Post by: pratikshirdhanka on September 20, 2016, 09:59:27 AM
Ok bro. I'll try both of those methods.

Sent from my Moto G 2014 using Tapatalk

Title: Re: Canon 1200D
Post by: pratikshirdhanka on September 20, 2016, 10:40:19 PM
Quote from: BallisticHugs on September 20, 2016, 07:48:47 AM
Yea... I'm not sure if the script will work on cygwin... You could try running a virtual linux machine maybe... or just try the EOSCard again.
Thanks bro. I tried it today again and it worked *enjoying in joy* the. Intervalomenter is quite awesome. Thanks to all of you guys. Also, if anyone of you guys made an updated version i would really be happy to test it. Good day guys. [emoji111] [emoji41]

Sent from my Moto G 2014 using Tapatalk

Title: Re: Canon 1200D
Post by: NikeTyson on September 22, 2016, 11:57:06 PM
Having the same button for aperture and ML menu is frustrating, you always got to go to the ML menu to control aperture in movie mode. In M mode you can press AV and use the main dial for controlling aperture, but if you just click once in AV without dialing you enter ML menu.
Also with the kit lens I can´t control aperture in the ML menu. Others working fine. Is it because of variable aperture?
Title: Re: Canon 1200D
Post by: NicolasElCruz on September 25, 2016, 12:48:04 AM
Hello every.. I can't find the file .fir for booting the installation of magic lantern... Help me please.. Soon

Can every send 1200BOOT.fir .. I cant find on any files :/ !
Title: Re: Canon 1200D
Post by: ropra7645 on September 27, 2016, 01:11:45 PM
Hi!
Excuse me, but where can I find the 1200BOOT.fir???
Title: Re: Canon 1200D
Post by: Hawkeye97 on September 27, 2016, 04:26:32 PM
http://a1ex.magiclantern.fm/bleeding-edge/1200D/1200BOOT.FIR
Title: Re: Canon 1200D
Post by: bakersdozen on September 28, 2016, 06:07:04 AM
Quote from: NikeTyson on September 22, 2016, 11:57:06 PM
Having the same button for aperture and ML menu is frustrating, you always got to go to the ML menu to control aperture in movie mode. In M mode you can press AV and use the main dial for controlling aperture, but if you just click once in AV without dialing you enter ML menu.
Also with the kit lens I can´t control aperture in the ML menu. Others working fine. Is it because of variable aperture?
For me, I can't seem to access the ML menu while in Movie mode. The Av button does not send me into ML settings.

Is anyone else getting pink/magenta cast on full res silent pictures?
.DNG format. They look fine in camera viewed with ML file viewer, but appear with the cast on computer. Haven't tried mlv yet - don't know how to convert to DNG.

Sent from my E6653 using Tapatalk
Title: Re: Canon 1200D
Post by: Varashilov on September 28, 2016, 09:08:23 AM
Quote from: bakersdozen on September 28, 2016, 06:07:04 AM
For me, I can't seem to access the ML menu while in Movie mode. The Av button does not send me into ML settings.


Use two buttons AV+SET, work for me ;)
Title: Re: Canon 1200D
Post by: bakersdozen on September 29, 2016, 04:12:29 AM
Perfect, thanks. Confirmed working.

Sent from my E6653 using Tapatalk
Title: Re: Canon 1200D
Post by: charger95 on October 02, 2016, 05:59:13 AM
hello, im new in the ML forum. I want to film in .raw, with my 1200D, someone wants to recommend me any setting? i got Sony 32GB Class 10 UHS-1/U3 SDHC up to 94MB/s Memory Card. Any format option, that i can use?
Thanks.

PD: Sorry for my bad english.
Title: Re: Canon 1200D
Post by: Walter Schulz on October 02, 2016, 08:39:22 AM
According to Camera Memory Speed (http://www.cameramemoryspeed.com/reviews/sd-cards/sony-32gb-sdhc-memory-card/) this card has performance issues with some (not all!) Canon DSLRs. I don't know if 1200D is affected or not.
Whatever card you use you want to have it formatted with ExFAT file system.
Title: Re: Canon 1200D
Post by: bakersdozen on October 02, 2016, 10:41:52 AM
Personally have not had much success with .raw video on ML with my 1200d..only get a few frames then recording fails. Be interested to see how others fair.

Sent from my E6653 using Tapatalk

Title: Re: Canon 1200D
Post by: walter_schulz on October 02, 2016, 03:57:52 PM
You tried very low resolutions? Card is formatted using ExFAT?
Title: Re: Canon 1200D
Post by: jayhawker on October 02, 2016, 06:42:22 PM
Just wanted to report that I was able to get the latest build (July 30) working on my 1200D. Since it took me a little searching through the thread to figure out what to do, I'll post my steps to hopefully help others.

I'm running Windows 10 and was successful in using both a 2gb & 32gb card.

1. Ensure your camera is running the 1.0.1 firmware. I wasn't at first and ran into issues. Once I updated, I had no problems.
2. Format memory card using in-camera menu.
3. Remove card and put in computer.
4. Copy the unzipped contents of the latest (July 30) build into the ROOT directory of the card (leave the others folders intact). This should be the 'ML' folder and 'autoexec.bin' file
5. Copy '1200BOOT.fir' into the root directory as well.
6. Run EOScard.exe
7. Click 'refresh' and make sure your card is detected
8. Click the ML logo and then click 'Save'. You should receive a confirmation message at the bottom.
9. Close EOScard and eject the memory card from your computer.
10. Put the card in your camera and turn it on.
11. 'Install' using the firmware update menu

Thanks to everyone that contributed, your hard work is much appreciated!
Title: Re: Canon 1200D
Post by: charger95 on October 02, 2016, 11:57:21 PM
Quote from: Walter Schulz on October 02, 2016, 08:39:22 AM
According to Camera Memory Speed (http://www.cameramemoryspeed.com/reviews/sd-cards/sony-32gb-sdhc-memory-card/) this card has performance issues with some (not all!) Canon DSLRs. I don't know if 1200D is affected or not.
Whatever card you use you want to have it formatted with ExFAT file system.
Did you? I got this one actually: http://www.cameramemoryspeed.com/reviews/sd-cards/sony-95mbs-32gb-sdhc-memory-card
Its formated Ex-FAT, but i dont know which clusher size i need to use to optimize the SDCard.

Quote from: walter_schulz on October 02, 2016, 03:57:52 PM
You tried very low resolutions? Card is formatted using ExFAT?
Yes i do, but i want to film at least HD(1280x720).

Quote from: bakersdozen on October 02, 2016, 10:41:52 AM
Personally have not had much success with .raw video on ML with my 1200d..only get a few frames then recording fails. Be interested to see how others fair.

Sent from my E6653 using Tapatalk


Any interesting option that i can try? i mean, could you recommend me any option, i'm new with ML.
Title: Re: Canon 1200D
Post by: bakersdozen on October 03, 2016, 05:35:20 AM
Quote from: charger95 on October 02, 2016, 11:57:21 PM
Did you? I got this one actually: http://www.cameramemoryspeed.com/reviews/sd-cards/sony-95mbs-32gb-sdhc-memory-card
Its formated Ex-FAT, but i dont know which clusher size i need to use to optimize the SDCard.
Yes i do, but i want to film at least HD(1280x720).
Any interesting option that i can try? i mean, could you recommend me any option, i'm new with ML.
Have a play around with the intervalometer, silent pics and fps override. Has been fun for me.

Sent from my E6653 using Tapatalk

Title: Re: Canon 1200D
Post by: bakersdozen on October 03, 2016, 05:37:30 AM
Low fps values enable a Timelapse style movie, in 1080 with small file size. I can get about 110 minutes with my battery so far. Depending fps value will be final duration of movie. At the lowest setting 110 minutes compresses to about 1 minute for me.

Sent from my E6653 using Tapatalk

Title: Re: Canon 1200D
Post by: mujebhafiz on October 04, 2016, 09:27:18 AM
Has anybody tried editing dual iso files?

Sent from my GT-N7100 using Tapatalk

Title: Re: Canon 1200D
Post by: charger95 on October 05, 2016, 11:09:03 PM
Quote from: bakersdozen on October 03, 2016, 05:35:20 AM
Have a play around with the intervalometer, silent pics and fps override. Has been fun for me.

Sent from my E6653 using Tapatalk



How its works silent pics?

Title: Re: Canon 1200D
Post by: bakersdozen on October 06, 2016, 09:04:47 AM
Quote from: charger95 on October 05, 2016, 11:09:03 PM
How its works silent pics?
The camera pulls the image from the sensor rather than actuate the shutter. Have a look at the user guide / wiki for the best explanation. So far I've only gotten results from simple. High res look fine, for me, in camera however have a pink cast when I bring them up on computer [emoji15]

Sent from my E6653 using Tapatalk

Title: Re: Canon 1200D
Post by: droidente on October 09, 2016, 04:34:47 AM
Hi!
Do you have help files for this build?
He said he does not have them
(http://zupimages.net/up/16/40/0bgk.jpg)
Title: Re: Canon 1200D
Post by: BSTi on October 09, 2016, 08:00:42 AM
Quote from: mujebhafiz on October 04, 2016, 09:27:18 AM
Has anybody tried editing dual iso files?

Yes, but CR2HDR.exe works really slow for me. i had to process 240 Images for a timelapse, took over 1 hour.
Title: Re: Canon 1200D
Post by: Walter Schulz on October 09, 2016, 01:59:54 PM
Don't know which options you used and which OS you are running.
My 5.5 year old computer performs 100 7D files in about 23 minutes. Windows 7 and single thread. See http://magiclantern.fm/forum/index.php?topic=7139.0 for postprocessing options.
Title: Re: Canon 1200D
Post by: BSTi on October 09, 2016, 05:03:54 PM
Usually i drag & drop the files right onto the exe.
active options are --amaze edge --cs2x2 and --wb=graymax.
Im on an older AMD System with an FX6350 and 4GB RAM on Win10.
Title: Re: Canon 1200D
Post by: mujebhafiz on October 09, 2016, 06:17:21 PM
I can't edit dual ISO photos whenever I put dng files in Photoshop or lightroom it shows error

Sent from my GT-N7100 using Tapatalk

Title: Re: Canon 1200D
Post by: Walter Schulz on October 09, 2016, 06:19:44 PM
Give VBScript (found in Dual-ISO post) a chance. And SSD gives a serious kick ...
Title: Re: Canon 1200D
Post by: BSTi on October 11, 2016, 12:20:06 PM
Cant get VBScript to run. Everytime i get an error and the same log.

Quote
Started: 11.10.2016 12:14:53

Input folder is C:\cr2hdr\Neuer Ordner

Searching for .CR2 files
Queued "C:\cr2hdr\cr2hdr.exe" --compress "IMG_6330.CR2"

Converting Dual ISO .CR2 files
Executing: "C:\cr2hdr\cr2hdr.exe" --compress "IMG_6330.CR2"
No DNG files created. Check script options and log.

Title: Re: Canon 1200D
Post by: Walter Schulz on October 11, 2016, 12:24:35 PM
Keep it simple: Avoid using blanks in folder names.
Retry and - in case it doesn't work - post first section of script.
Title: Re: Canon 1200D
Post by: BSTi on October 11, 2016, 12:57:08 PM
Same error as before.
First Section:

'------------------------------------------------------------------
'last update: 3/30/2014

cr2hdrpath="C:\cr2hdr\" 'ends with a slash \
cr2hdrexe="cr2hdr.exe"
cr2hdrargs="--compress"

exiftoolpath="C:\cr2hdr\exiftool\" 'ends with a slash \
inputfolder="C:\pictures\" 'dialog will start at this folder if set (ends with a slash \)

dualisocr2dir="Dual ISO CR2"
regularcr2dir="Regular CR2"
dngoutputdir="Dual ISO DNG"

organize=true 'sort files into subdirectories when done processing
correcttint=false

maxprocs=4 'Number of simultaneous processes
windowtype=7
'0 Hide the window and activate another window.
'1 Activate and display the window. (restore size and position) Specify this flag when displaying a window for the first time.
'2 Activate & minimize.
'3 Activate & maximize.
'4 Restore. The active window remains active.
'5 Activate & Restore.
'6 Minimize & activate the next top-level window in the Z order.
'7 Minimize. The active window remains active.
'------------------------------------------------------------------


I have only edited the paths..
Title: Re: Canon 1200D
Post by: Walter Schulz on October 11, 2016, 01:22:49 PM
CR2 are located in C:\Pictures\ and you are able to copy\delete CR2 files there without UAC popping up?
Where is DCRAW.EXE located?
Any log created?

Title: Re: Canon 1200D
Post by: BSTi on October 11, 2016, 01:46:00 PM
Yes, the files are in c:\pictures\
DCRAW.EXE is located at c:\cr2hdr\
and UAC is completly disabled. Only the same log file as before.
Quote
Started: 11.10.2016 13:45:18

Input folder is C:\pictures

Searching for .CR2 files
Queued "C:\cr2hdr\cr2hdr.exe" --compress "IMG_6330.CR2"

Converting Dual ISO .CR2 files
Executing: "C:\cr2hdr\cr2hdr.exe" --compress "IMG_6330.CR2"
No DNG files created. Check script options and log.
Title: Re: Canon 1200D
Post by: Walter Schulz on October 11, 2016, 08:09:22 PM
I think I found the error. You have to place VBscript file somewhere else. If located in the EXEs folder it will fail.
Title: Re: Canon 1200D
Post by: bakersdozen on October 12, 2016, 01:59:48 AM
Can anyone please point me in the right direction for correcting pink cast over full res silent pics? Thankyou, I have tried to search for this issue but unable to find the answer.

Sent from my E6653 using Tapatalk
Title: Re: Canon 1200D
Post by: DeafEyeJedi on October 12, 2016, 08:45:08 AM
Thanks @bakersdozen for the orignal DNG's from FRSP. Took a look at them and it definitely shows the pink cast which reminds me of White Levels possible being off?

(https://c1.staticflickr.com/6/5589/29643618744_29acf91735.jpg) (https://flic.kr/p/Mavi5U)

So I decided to take a dive with exiftool and here's what shows up:

======== /Users/appleuser/Downloads/FRSP TEST 1200D/35670000.DNG
ExifTool Version Number         : 10.05
File Name                       : 35670000.DNG
Directory                       : /Users/appleuser/Downloads/FRSP TEST 1200D
File Size                       : 31 MB
File Modification Date/Time     : 2016:10:11 22:48:34-07:00
File Access Date/Time           : 2016:10:11 22:52:05-07:00
File Inode Change Date/Time     : 2016:10:11 22:48:34-07:00
File Permissions                : rw-r--r--
File Type                       : DNG
File Type Extension             : dng
MIME Type                       : image/x-adobe-dng
Exif Byte Order                 : Little-endian (Intel, II)
Image Description               :
Make                            : Canon
Camera Model Name               : Canon EOS 1200D
Orientation                     : Horizontal (normal)
Software                        : Magic Lantern
Modify Date                     :
Artist                          :
Subfile Type                    : Full-resolution Image
Image Width                     : 5344
Image Height                    : 3516
Bits Per Sample                 : 14
Compression                     : Uncompressed
Photometric Interpretation      : Color Filter Array
Strip Offsets                   : 33792
Samples Per Pixel               : 1
Rows Per Strip                  : 3516
Strip Byte Counts               : 32881632
X Resolution                    : 180
Y Resolution                    : 180
Planar Configuration            : Chunky
Resolution Unit                 : inches
CFA Repeat Pattern Dim          : 2 2
CFA Pattern 2                   : 0 1 1 2
Black Level                     : 2046
White Level                     : 13083
Default Crop Origin             : 0 0
Default Crop Size               : 5199 3464
Active Area                     : 52 145 3516 5344
Opcode List 1                   : (Binary data 28 bytes, use -b option to extract)
Copyright                       :
Exposure Time                   : 0
F Number                        : 0
Exposure Program                : Not Defined
ISO                             : 0
Exif Version                    : 0221
Date/Time Original              :
Shutter Speed Value             : 1
Aperture Value                  : 1.0
Exposure Compensation           : 0
Max Aperture Value              : 1.0
Metering Mode                   : Unknown
Flash                           : No Flash
Focal Length                    : 0.0 mm
Sub Sec Time                    :
Sub Sec Time Original           :
Focal Length In 35mm Format     : 0 mm
TIFF-EP Standard ID             : 1 0 0 0
Serial Number                   :
Lens Model                      :
DNG Version                     : 1.3.0.0
DNG Backward Version            : 1.3.0.0
Unique Camera Model             : Canon EOS 1200D
Color Matrix 1                  : 0.6444 -0.0904 -0.0893 -0.4563 1.2308 0.2535 -0.0903 0.2016 0.6728
Analog Balance                  : 1 1 1
As Shot Neutral                 : 0.473635 1 0.624
Baseline Exposure               : undef
Baseline Noise                  : 1
Baseline Sharpness              : 1.333333333
Linear Response Limit           : 1
Calibration Illuminant 1        : D65
Frame Rate                      : 25
CFA Pattern                     : [Red,Green][Green,Blue]
Image Size                      : 5344x3516
Megapixels                      : 18.8
Shutter Speed                   : 0
Focal Length                    : 0.0 mm


======== /Users/appleuser/Downloads/FRSP TEST 1200D/35670001 (1)9.DNG
ExifTool Version Number         : 10.05
File Name                       : 35670001 (1)9.DNG
Directory                       : /Users/appleuser/Downloads/FRSP TEST 1200D
File Size                       : 31 MB
File Modification Date/Time     : 2016:10:11 22:48:34-07:00
File Access Date/Time           : 2016:10:11 22:57:44-07:00
File Inode Change Date/Time     : 2016:10:11 22:48:34-07:00
File Permissions                : rw-r--r--
File Type                       : DNG
File Type Extension             : dng
MIME Type                       : image/x-adobe-dng
Exif Byte Order                 : Little-endian (Intel, II)
Image Description               :
Make                            : Canon
Camera Model Name               : Canon EOS 1200D
Orientation                     : Horizontal (normal)
Software                        : Magic Lantern
Modify Date                     :
Artist                          :
Subfile Type                    : Full-resolution Image
Image Width                     : 5344
Image Height                    : 3516
Bits Per Sample                 : 14
Compression                     : Uncompressed
Photometric Interpretation      : Color Filter Array
Strip Offsets                   : 33792
Samples Per Pixel               : 1
Rows Per Strip                  : 3516
Strip Byte Counts               : 32881632
X Resolution                    : 180
Y Resolution                    : 180
Planar Configuration            : Chunky
Resolution Unit                 : inches
CFA Repeat Pattern Dim          : 2 2
CFA Pattern 2                   : 0 1 1 2
Black Level                     : 2046
White Level                     : 13083
Default Crop Origin             : 0 0
Default Crop Size               : 5199 3464
Active Area                     : 52 145 3516 5344
Opcode List 1                   : (Binary data 28 bytes, use -b option to extract)
Copyright                       :
Exposure Time                   : 0
F Number                        : 0
Exposure Program                : Not Defined
ISO                             : 0
Exif Version                    : 0221
Date/Time Original              :
Shutter Speed Value             : 1
Aperture Value                  : 1.0
Exposure Compensation           : 0
Max Aperture Value              : 1.0
Metering Mode                   : Unknown
Flash                           : No Flash
Focal Length                    : 0.0 mm
Sub Sec Time                    :
Sub Sec Time Original           :
Focal Length In 35mm Format     : 0 mm
TIFF-EP Standard ID             : 1 0 0 0
Serial Number                   :
Lens Model                      :
DNG Version                     : 1.3.0.0
DNG Backward Version            : 1.3.0.0
Unique Camera Model             : Canon EOS 1200D
Color Matrix 1                  : 0.6444 -0.0904 -0.0893 -0.4563 1.2308 0.2535 -0.0903 0.2016 0.6728
Analog Balance                  : 1 1 1
As Shot Neutral                 : 0.473635 1 0.624
Baseline Exposure               : undef
Baseline Noise                  : 1
Baseline Sharpness              : 1.333333333
Linear Response Limit           : 1
Calibration Illuminant 1        : D65
Frame Rate                      : 25
CFA Pattern                     : [Red,Green][Green,Blue]
Image Size                      : 5344x3516
Megapixels                      : 18.8
Shutter Speed                   : 0
Focal Length                    : 0.0 mm


I don't own a 1200D so could someone please shed some light on what are the 'normal' Black/White levels coming from this particular DSLR or better yet at least a reminder on how to run exiftool to manually adjust them via Terminal?

It's been awhile since I fiddled with this stuff...
Title: Re: Canon 1200D
Post by: bakersdozen on October 12, 2016, 11:58:25 AM
Thanks @DeafEyeJedi for taking a look at this.

For anyone else who is interested in investigating the files, please find them here;

https://dl.dropboxusercontent.com/u/2106031/35670000.DNG
https://dl.dropboxusercontent.com/u/2106031/35670001.DNG

For reference a 'normal' .cr2 from the camera can be found here;

https://dl.dropboxusercontent.com/u/2106031/Mordy.CR2

I tried to pull the exiftool data from this file, however could not find a white/black level entry in there. Maybe I am not using the correct exiftool tag?

ExifTool Version Number         : 10.29
File Name                       : Mordy.CR2
Directory                       : /Volumes/SCRATCH/Raw Photots
File Size                       : 20 MB
File Modification Date/Time     : 2016:03:31 10:54:16+11:00
File Access Date/Time           : 2016:10:12 20:30:06+11:00
File Inode Change Date/Time     : 2016:04:01 15:11:42+11:00
File Permissions                : rwxrwxrwx
File Type                       : CR2
File Type Extension             : cr2
MIME Type                       : image/x-canon-cr2
Exif Byte Order                 : Little-endian (Intel, II)
Image Width                     : 5184
Image Height                    : 3456
Bits Per Sample                 : 8 8 8
Compression                     : JPEG (old-style)
Make                            : Canon
Camera Model Name               : Canon EOS 1200D
Preview Image Start             : 64392
Orientation                     : Horizontal (normal)
Preview Image Length            : 1029200
X Resolution                    : 72
Y Resolution                    : 72
Resolution Unit                 : inches
Modify Date                     : 2016:03:31 10:54:14
Artist                          :
Rating                          : 0
Copyright                       :
Exposure Time                   : 1/250
F Number                        : 2.8
Exposure Program                : Manual
ISO                             : 100
Sensitivity Type                : Recommended Exposure Index
Recommended Exposure Index      : 100
Exif Version                    : 0230
Date/Time Original              : 2016:03:31 10:54:14
Create Date                     : 2016:03:31 10:54:14
Components Configuration        : Y, Cb, Cr, -
Shutter Speed Value             : 1/256
Aperture Value                  : 2.8
Flash                           : Off, Did not fire
Focal Length                    : 24.0 mm
Macro Mode                      : Normal
Self Timer                      : 2 s
Quality                         : RAW
Canon Flash Mode                : Off
Continuous Drive                : Single
Focus Mode                      : One-shot AF
Record Mode                     : CR2+JPEG
Canon Image Size                : Large
Easy Mode                       : Manual
Digital Zoom                    : None
Contrast                        : Normal
Saturation                      : Normal
Camera ISO                      : Auto
Metering Mode                   : Evaluative
Focus Range                     : Not Known
Canon Exposure Mode             : Manual
Lens Type                       : Canon EF-S 24mm f/2.8 STM
Max Focal Length                : 24 mm
Min Focal Length                : 24 mm
Focal Units                     : 1/mm
Max Aperture                    : 2.8
Min Aperture                    : 23
Flash Activity                  : 0
Flash Bits                      : (none)
Zoom Source Width               : 0
Zoom Target Width               : 0
Manual Flash Output             : n/a
Color Tone                      : Normal
SRAW Quality                    : n/a
Auto ISO                        : 100
Base ISO                        : 100
Measured EV                     : 11.00
Target Aperture                 : 2.8
Target Exposure Time            : 1/256
Exposure Compensation           : 0
White Balance                   : Auto
Slow Shutter                    : None
Shot Number In Continuous Burst : 0
Optical Zoom Code               : n/a
Camera Temperature              : 36 C
Flash Guide Number              : 0
Flash Exposure Compensation     : 0
Auto Exposure Bracketing        : Off
AEB Bracket Value               : 0
Control Mode                    : Camera Local Control
Measured EV 2                   : 10.5
Bulb Duration                   : 0
Camera Type                     : EOS High-end
ND Filter                       : n/a
Canon Image Type                : Canon EOS 1200D
Canon Firmware Version          : Firmware Version 1.0.0
Firmware Version                : 1.0.0
Contrast Standard               : 0
Sharpness Standard              : 3
Saturation Standard             : 0
Color Tone Standard             : 0
Contrast Portrait               : 0
Sharpness Portrait              : 2
Saturation Portrait             : 0
Color Tone Portrait             : 0
Contrast Landscape              : 0
Sharpness Landscape             : 4
Saturation Landscape            : 0
Color Tone Landscape            : 0
Contrast Neutral                : 0
Sharpness Neutral               : 0
Saturation Neutral              : 0
Color Tone Neutral              : 0
Contrast Faithful               : 0
Sharpness Faithful              : 0
Saturation Faithful             : 0
Color Tone Faithful             : 0
Contrast Monochrome             : 0
Sharpness Monochrome            : 3
Filter Effect Monochrome        : None
Toning Effect Monochrome        : None
Contrast Auto                   : 0
Sharpness Auto                  : 3
Saturation Auto                 : 0
Color Tone Auto                 : 0
Filter Effect Auto              : n/a
Toning Effect Auto              : n/a
Contrast User Def 1             : -4
Sharpness User Def 1            : 0
Saturation User Def 1           : 0
Color Tone User Def 1           : 0
Filter Effect User Def 1        : None
Toning Effect User Def 1        : None
Contrast User Def 2             : 0
Sharpness User Def 2            : 3
Saturation User Def 2           : 0
Color Tone User Def 2           : 0
Filter Effect User Def 2        : None
Toning Effect User Def 2        : None
Contrast User Def 3             : 0
Sharpness User Def 3            : 3
Saturation User Def 3           : 0
Color Tone User Def 3           : 0
Filter Effect User Def 3        : None
Toning Effect User Def 3        : None
User Def 1 Picture Style        : PC 1
User Def 2 Picture Style        : Auto
User Def 3 Picture Style        : Auto
Canon Model ID                  : EOS Rebel T5 / 1200D / Kiss X70
Thumbnail Image Valid Area      : 0 159 7 112
AF Area Mode                    : Flexizone Single
Num AF Points                   : 9
Valid AF Points                 : 1
Canon Image Width               : 5184
Canon Image Height              : 3456
AF Image Width                  : 5184
AF Image Height                 : 3456
AF Area Widths                  : 512 0 0 0 0 0 0 0 0
AF Area Heights                 : 684 0 0 0 0 0 0 0 0
AF Area X Positions             : 0 0 0 0 0 0 0 0 0
AF Area Y Positions             : 70 0 0 0 0 0 0 0 0
AF Points In Focus              : (none)
AF Points Selected              : 0
Time Zone                       : +10:00
Time Zone City                  : Sydney
Daylight Savings                : Off
Bracket Mode                    : Off
Bracket Value                   : 0
Bracket Shot Number             : 0
Raw Jpg Size                    : Large
Long Exposure Noise Reduction 2 : Off
WB Bracket Mode                 : Off
WB Bracket Value AB             : 0
WB Bracket Value GM             : 0
Live View Shooting              : On
Focus Distance Upper            : inf
Focus Distance Lower            : 6.31 m
Flash Exposure Lock             : Off
Internal Serial Number          : MA1267450
Dust Removal Data               : (Binary data 1024 bytes, use -b option to extract)
Crop Left Margin                : 0
Crop Right Margin               : 0
Crop Top Margin                 : 0
Crop Bottom Margin              : 0
Exposure Level Increments       : 1/3 Stop
ISO Expansion                   : Off
Flash Sync Speed Av             : Auto
Long Exposure Noise Reduction   : Off
High ISO Noise Reduction        : Off
Highlight Tone Priority         : Disable
AF Assist Beam                  : Emits
Shutter Button AF On Button     : Metering + AF start/AF stop
Set Button When Shooting        : Normal (disabled)
Flash Button Function           : Raise built-in flash
LCD Display At Power On         : Display
Aspect Ratio                    : 3:2
Cropped Image Width             : 5184
Cropped Image Height            : 3456
Cropped Image Left              : 0
Cropped Image Top               : 0
Tone Curve                      : Standard
Sharpness                       : 0
Sharpness Frequency             : n/a
Sensor Red Level                : 0
Sensor Blue Level               : 0
White Balance Red               : 0
White Balance Blue              : 0
Color Temperature               : 5200
Picture Style                   : Neutral
Digital Gain                    : 0
WB Shift AB                     : 0
WB Shift GM                     : 0
Measured RGGB                   : 377 1024 1024 861
VRD Offset                      : 0
Sensor Width                    : 5344
Sensor Height                   : 3516
Sensor Left Border              : 152
Sensor Top Border               : 56
Sensor Right Border             : 5335
Sensor Bottom Border            : 3511
Black Mask Left Border          : 0
Black Mask Top Border           : 0
Black Mask Right Border         : 0
Black Mask Bottom Border        : 0
Color Data Version              : 10 (600D/1200D)
WB RGGB Levels As Shot          : 2310 1024 1024 1301
Color Temp As Shot              : 7049
WB RGGB Levels Auto             : 2310 1024 1024 1301
Color Temp Auto                 : 7049
WB RGGB Levels Measured         : 2310 1024 1024 1301
Color Temp Measured             : 7049
WB RGGB Levels Daylight         : 2028 1024 1024 1547
Color Temp Daylight             : 5200
WB RGGB Levels Shade            : 2335 1024 1024 1314
Color Temp Shade                : 7000
WB RGGB Levels Cloudy           : 2180 1024 1024 1421
Color Temp Cloudy               : 6000
WB RGGB Levels Tungsten         : 1458 1024 1024 2330
Color Temp Tungsten             : 3200
WB RGGB Levels Fluorescent      : 1789 1024 1024 2217
Color Temp Fluorescent          : 3729
WB RGGB Levels Kelvin           : 2028 1024 1024 1547
Color Temp Kelvin               : 5212
WB RGGB Levels Flash            : 2265 1024 1024 1402
Color Temp Flash                : 6339
Average Black Level             : 2046 2046 2046 2046
Raw Measured RGGB               : 136295 340235 341183 288999
Per Channel Black Level         : 2045 2046 2046 2046
Normal White Level              : 12237
Specular White Level            : 12749
Linearity Upper Margin          : 10400
Picture Style User Def          : PC 1; Auto; Auto
Picture Style PC                : Neutral; None; None
Custom Picture Style File Name  :
Vignetting Corr Version         : 0
Peripheral Lighting             : Off
Chromatic Aberration Corr       : Off
Peripheral Lighting Value       : 0
Original Image Width            : 5184
Original Image Height           : 3456
Peripheral Lighting Setting     : Off
Peripheral Illumination Corr    : Off
Auto Lighting Optimizer         : Off
Ambience Selection              : Standard
User Comment                    :
Sub Sec Time                    : 54
Sub Sec Time Original           : 54
Sub Sec Time Digitized          : 54
Flashpix Version                : 0100
Color Space                     : sRGB
Exif Image Width                : 5184
Exif Image Height               : 3456
Interoperability Index          : R98 - DCF basic file (sRGB)
Interoperability Version        : 0100
Focal Plane X Resolution        : 5728.176796
Focal Plane Y Resolution        : 5808.403361
Focal Plane Resolution Unit     : inches
Custom Rendered                 : Normal
Exposure Mode                   : Manual
Scene Capture Type              : Standard
Owner Name                      :
Serial Number                   : 095073069988
Lens Info                       : 24mm f/?
Lens Model                      : EF-S24mm f/2.8 STM
Lens Serial Number              : 0000213e60
GPS Version ID                  : 2.3.0.0
Thumbnail Offset                : 56248
Thumbnail Length                : 8144
Photometric Interpretation      : RGB
Samples Per Pixel               : 3
Rows Per Strip                  : 432
Planar Configuration            : Chunky
Strip Offsets                   : 2830296
Strip Byte Counts               : 18142637
Raw Image Segmentation          : 2 1728 1888
SRaw Type                       : 1
Aperture                        : 2.8
Drive Mode                      : Self-timer Operation
Image Size                      : 5184x3456
Lens                            : 24.0 mm
Lens ID                         : Canon EF-S 24mm f/2.8 STM
Megapixels                      : 17.9
Preview Image                   : (Binary data 1029200 bytes, use -b option to extract)
Scale Factor To 35 mm Equivalent: 1.6
Shooting Mode                   : Manual
Shutter Speed                   : 1/250
Create Date                     : 2016:03:31 10:54:14.54
Date/Time Original              : 2016:03:31 10:54:14.54
Modify Date                     : 2016:03:31 10:54:14.54
Thumbnail Image                 : (Binary data 8144 bytes, use -b option to extract)
WB RGGB Levels                  : 2310 1024 1024 1301
Blue Balance                    : 1.270508
Circle Of Confusion             : 0.019 mm
Depth Of Field                  : inf (10.43 m - inf)
Field Of View                   : 51.0 deg
Focal Length                    : 24.0 mm (35 mm equivalent: 37.7 mm)
Hyperfocal Distance             : 10.77 m
Lens                            : 24.0 mm (35 mm equivalent: 37.7 mm)
Light Value                     : 10.9
Red Balance                     : 2.255859

Title: Re: Canon 1200D
Post by: BSTi on October 12, 2016, 04:42:52 PM
Quote from: Walter Schulz on October 11, 2016, 08:09:22 PM
I think I found the error. You have to place VBscript file somewhere else. If located in the EXEs folder it will fail.

didnt work. i think it is win10 or something else on my system. seems like i have to live with one instance, or reinstall win7.
thank you for your efforts.

@bakersdozen
did you have white balance on auto? if so try it with manual wb.
obsolete question. i get the same pink tint when i shot full-res silent.
the f-number is also corrupted.
Title: Re: Canon 1200D
Post by: Walter Schulz on October 12, 2016, 07:08:06 PM
Quote from: BSTi on October 12, 2016, 04:42:52 PM
didnt work. i think it is win10 or something else on my system. seems like i have to live with one instance, or reinstall win7.

I don't think it's WX related. A teamviewer session should solve this issue. What is your timezone?
Title: Re: Canon 1200D
Post by: bakersdozen on October 13, 2016, 12:38:33 AM
@BSTi I don't think FRSP captures f-number in general for any camera model.

Where to from here to rectify pink cast for 1200d on FRSP?

Sent from my E6653 using Tapatalk

Title: Re: Canon 1200D
Post by: Greg on October 13, 2016, 08:07:18 PM
Skip one line will solve this problem.

raw.c:
/* skip one line */
raw_info.buffer += width * 14/8;
height--;


(https://s14.postimg.org/3lbb271s1/1200_D.jpg)
Title: Re: Canon 1200D
Post by: DeafEyeJedi on October 13, 2016, 09:07:46 PM
Definitely did not see that one coming -- Thanks @Greg for the simple fix.  :)
Title: Re: Canon 1200D
Post by: bakersdozen on October 13, 2016, 10:19:26 PM
Wow,  thanks Greg. How do I apply that to my photos? Or can we do one better and add this into our 1200d port?

Sent from my E6653 using Tapatalk
Title: Re: Canon 1200D
Post by: Greg on October 13, 2016, 11:10:24 PM
The easiest way, compile ML with this code for the 1200D.
Take new FRSP.
Title: Re: Canon 1200D
Post by: bakersdozen on October 14, 2016, 05:15:59 AM
So i've taken 3 random .cr2 files shot on the 1200d and had a look what the black and white levels were. We can see they are BlackLevel=2046 and WhiteLevel=12749 or near enough.

Black Level                     : 2046 2046 2046 2046
White Level                     : 12749

Black Level                     : 2046 2046 2046 2046
White Level                     : 12749

Black Level                     : 2048 2048 2048 2048
White Level                     : 11222


So we can see that the FRSP is getting close or near enough black and white levels to normal .cr2 noisey files.

I'm wondering if a dev can please compile a new version of our 1200d port with the following changes to FRSP...? So we can then test again.

/* skip one line */
raw_info.buffer += width * 14/8;
height--;


Thanks to @Greg and @DeafEyeJedi for these recomendations
Title: Re: Canon 1200D
Post by: bakersdozen on October 18, 2016, 03:51:07 PM
Quote from: MastaSlyce on October 18, 2016, 08:45:21 AM
Hey I'm new and cant seem to find any download link for the firmware.
I've been through every page but my laptop is incredibly slow and jumps all over the place when I scroll down. Sorry to be asking but could somebody reply with a download link. It would be greatly appreciated. Thanks
http://www.magiclantern.fm/forum/index.php?topic=12627.msg172269.msg#172269

http://www.magiclantern.fm/forum/index.php?topic=12627.msg172566.msg#172566

Sent from my E6653 using Tapatalk
Title: Re: Canon 1200D
Post by: rvralph803 on October 23, 2016, 02:59:00 AM
Greetings,

After going through what seemed like a process some sort of wizard might use to summon the devil, I was able to get ML for the 1200D onto a 64GB memory card, with boot record. I'm on a Mac, so the process was especially convoluted.

Anyway, I've got the 1200D.FIR, the ML build from July 30th all on there in the root folder. It seems to install just fine, and without a memory card in I can use the camera as normal, however if I put my 1200D.FIR card in there I get an error:

I own a Rebel T5 for the american market:  DS126491 as the model and the error reads:

Quote
Magic Lantern
nightly.2016jul30.1200D101

Model Detection Error.

Your camera doesn't look like a 1200D 1.0.1.

My firmware definitely was 1.0.1 and my camera is, ostensibly, a 1200D.

What have I done wrong? I'm not in the business of trying to summon demons often, so this is confusing.
Title: Re: Canon 1200D
Post by: bakersdozen on October 24, 2016, 12:39:07 AM
Quote from: rvralph803 on October 23, 2016, 02:59:00 AM
Greetings,

After going through what seemed like a process some sort of wizard might use to summon the devil, I was able to get ML for the 1200D onto a 64GB memory card, with boot record. I'm on a Mac, so the process was especially convoluted.

Anyway, I've got the 1200D.FIR, the ML build from July 30th all on there in the root folder. It seems to install just fine, and without a memory card in I can use the camera as normal, however if I put my 1200D.FIR card in there I get an error:

I own a Rebel T5 for the american market:  DS126491 as the model and the error reads:

My firmware definitely was 1.0.1 and my camera is, ostensibly, a 1200D.

What have I done wrong? I'm not in the business of trying to summon demons often, so this is confusing.
Did you update the firmware first before installing ML? Did you follow all steps in the link above in the correct order? Did you get to the =) stage? Do you have another card to test it on?

Sent from my E6653 using Tapatalk

Title: Re: Canon 1200D
Post by: rvralph803 on October 25, 2016, 06:45:11 PM
Interesting...

My camera shipped to me with 1.0.1 firmware installed. After installing ML it showed as 1.0.0.

I installed 1.0.1 firmware from canon and it is working perfectly. I probably would have tried that next anyway... but this process was very taxing to get done. I have a mac and macboot was giving me some really weird issues that took me down a whole separate rabbit trail.

Thanks for the assistance!
Title: Re: Canon 1200D
Post by: bakersdozen on October 25, 2016, 11:00:49 PM
I have a Mac and it was a very simple process. I just used the terminal code (listed in prior steps) and dragged it onto the terminal window..I didnt need to use macboot.

Anyway, just to confirm you are up and running with ML now?

Sent from my E6653 using Tapatalk
Title: Re: Canon 1200D
Post by: rvralph803 on October 29, 2016, 03:59:07 AM
Yes, everything is working perfectly. ML up and running.
Title: Re: Canon 1200D
Post by: ishaanshah on October 30, 2016, 06:40:22 PM
Hello everyone,
This is my first post on this discussion.
I could successfully install magic lantern but now i want to uninstall it. I followed the steps given on the website but it boots up again. I even tried formatting the card in camera but it loads up again.Any help would be appreciated
Regards
Title: Can't manage to install
Post by: Sindel on October 31, 2016, 10:42:12 PM
Hey guys,
first post here. First of all I would like to thank all the developers and testers of this great software.  I've read the FULL discussion, and I've followed all the steps described by BallisticHugs and others to perform the installation.
Unfortunately I couldn't manage to make my SD card bootable. I'm running MAC OSX 10.9.5. I've tried the shell script method. Important factor: I had to put the script in the SD card, or the script would not even run. So, I typed sudo -s /Volumes/EOS_DIGITAL/make_bootable.sh, that gave me this error:
+ echo 'Error: /dev/disk1s1 is not a FAT16, FAT32 of EXFAT device'
Error: /dev/disk1s1 is not a FAT16, FAT32 of EXFAT device
+ echo 'Format your card in camera before using this script'
Format your card in camera before using this script
+ echo debug /dev/disk1s1
debug /dev/disk1s1
+ exit

Useless to say that I had formatted my card in camera, using low level formatting.
So I tried running MacBoot, that gave me this error: "The Java class file "MacBoot.class" could not be launched"
And I don't know the reason for this, since I have Java 1.6.0 installed.
Ultimately I tried reaching the EosCard website [http://pel.hu/eoscard/] which... can't be reached. *UPDATE: Now the website can be reached, I'll try using it when I get access to a windows machine. Anyways, the problems with the mac programs still exist.
Just to be sure, I tried the same steps for two different SD cards, a 4GB SDHC and a 32GB SDHC.

Please help.
Title: Re: Canon 1200D
Post by: a1ex on November 01, 2016, 08:39:03 PM
Quote from: Greg on October 13, 2016, 08:07:18 PM
Skip one line will solve this problem.

Here, the problem was different: skip_left was 145, must be even. Fix committed and tested in QEMU:

(http://a1ex.magiclantern.fm/bleeding-edge/qemu/qemu-1200D-frsp.png)

To fix existing pictures:


exiftool *.DNG -ActiveArea="52 142 3516 5344"
Title: Re: Canon 1200D
Post by: DeafEyeJedi on November 02, 2016, 06:22:35 AM
and I definitely did NOT see this one coming @a1ex. Thanks for sharing the temporary fix and to @Greg for jump starting this!
Title: Re: Canon 1200D
Post by: bakersdozen on November 02, 2016, 08:04:18 AM
Quote from: a1ex on November 01, 2016, 08:39:03 PM
Here, the problem was different: skip_left was 145, must be even. Fix committed and tested in QEMU:

(http://a1ex.magiclantern.fm/bleeding-edge/qemu/qemu-1200D-frsp.png)

To fix existing pictures:


exiftool *.DNG -ActiveArea="52 142 3516 5344"

Great, thank you so much @a1ex! Does committed mean that this fix will be automatically picked up for next port?

I have contacted @mk11174  but I've yet to hear back about the next stage of porting 1200d.

Is it also possible to drag multiple files onto this command in exiftool rather than use *.dng?

Sent from my E6653 using Tapatalk
Title: Re: Canon 1200D
Post by: a1ex on November 02, 2016, 08:43:14 AM
Next stage is waiting for a 1200D owner who has the skills, time and motivation to continue and maintain the port. If that describes you, feel free to jump in.
Title: Re: Canon 1200D
Post by: rickmc3280 on November 05, 2016, 03:18:32 AM
What is the "Update" for this @Alex?

I just recently purchased the T5, and already have the T5i. 

I contacted Canon and recieved the SDK, and wanted to begin to understand how the programming works as far as what all is involved with the  Magic Lantern Hack.  What does it change as far as software etc.  Does having the SDK help at all for programming the T5?  I know many basic commands are the same, and in many of the files it gives you the codes for things like ISO settings (many of them are statically defined across all cameras from what the documentation says). 

I have just started learning C++ over the last few years, but have recently started a class in it.  I have been going over the code a few times a week trying to udnerstand it (because all of the names are trash and they werent coded to make sense, either that or they were roughly translated from Japanese).   

Anyways, I will try to help how i can but it would help if we can get an update  with an accumulation of facts about what has happened, and where we are at this current state.

What are the risks of locking the camera etc. 
Title: Re: Canon 1200D
Post by: mrnewba on December 09, 2016, 03:09:33 PM
I have a t5 and 12 years of experience in software engeneering, and 8 with C. The problem is that my t5 is on warranty and I don't want it to be voided. Till november 2017 I'll be studying magic lantern code. Is there any place to get started?
Title: Re: Canon 1200D
Post by: Walter Schulz on December 09, 2016, 05:09:31 PM
Think it over about waiting/warranty: Top of page -> User Guide -> FAQ
Title: Re: Canon 1200D
Post by: hthstudios on December 21, 2016, 12:03:49 AM
attempted to install magic lantern on canon 1200D T5. on mac osx 10.10.5 using both the july 30th firmware or .fir file with autoexec.bin and ML folder. All attempts leaves the camera with
error:

Please wait...
ROM Backup...
EnableBootDisk...
:)

from there the firmware is unsuccessfully installed and the camera returns to normal stock functions.
I have preped the card using MACBOOT.class

used 3 SD cards all C10 8GB, 16GB, and 32GB (lexar and sandisk)

attempted multiple .fir firmware downloads files from multiple sources. Issue is persistent.

please advise on what i am doing wrong, as i do no see where I have made a mistake(s).


Thank you,
Title: Re: Canon 1200D
Post by: Walter Schulz on December 21, 2016, 08:49:50 AM
What happens after installation and reboot? Have you tried to press trashcan button after startup?
Title: Re: Canon 1200D
Post by: hthstudios on December 22, 2016, 08:24:45 PM
Yes I have. I restored factory settings on the camera too, removing custom configurations. After doing so, when attempting to install ML. The same:
Please wait...
ROM Backup...
EnableBOOTdisk...
🙂
I then press the trash button, nothing happens. Not until the menu button, playback button or shutter button does the camera return to the stock layout.

However after the restore, the "auto off" feature has been turned on resulting in auto off after the attempted install.
Please advise on what you or anyone may think the issue is!

Thank you in advance for your assistance and clarification!
Best,
Title: Re: Canon 1200D
Post by: dfort on January 02, 2017, 06:09:13 PM
Nice progress on the 1200D/T5.

@ItsMeLenny is looking for someone who can send him a test CR2 file from the various camera models and it looks like he's still missing this one.

http://www.magiclantern.fm/forum/index.php?topic=18452.0
Title: Re: Canon 1200D
Post by: omnesilere on January 05, 2017, 03:42:19 AM
Well I got in installed properly last night. Thanks for your efforts! I wish I had some clue when it came to programming to be of assistance, it's really remarkable the time put into making this all work as well as it does. Let's hope this year is good for Magic Lantern :)
Title: Re: Canon 1200D
Post by: Walter Schulz on January 05, 2017, 08:46:39 AM
@hthstudios: Make a video showing installation procedure. Smartphone quality should be fine.
Title: Re: Canon 1200D
Post by: webcatcher on January 06, 2017, 12:01:16 PM
Hi Guys,

I cant find the download link for the Canon 1200D Software.
Please, can anyone help me to find the LINK?
Title: Re: Canon 1200D
Post by: Konversato on January 08, 2017, 03:15:37 PM
I make this video in italian but you can understand the passage and this is work for me in 2017: https://www.youtube.com/watch?v=lQTYuo4onUI
Title: Re: Canon 1200D
Post by: gtrikk on January 12, 2017, 04:02:50 AM
Is there a reason why i cant play back audio on the camera when using Magic Lantern? i still cant hear audio when i import video files on my computer...
Title: Re: Canon 1200D
Post by: briansong on February 12, 2017, 10:02:58 PM
Hi, I'm new to this forum and I've been trying to follow along but I have 0 clue about coding and stuff like that. I'm very interested in testing magic lantern and providing feedback on any bugs that I find. I downloaded the July 30th build onto my 1200d and these were my results: It says "Please wait.... ROM Backup... EnableBootDisk... :)" and then nothing happens. Any help?
Title: Re: Canon 1200D
Post by: a1ex on February 12, 2017, 10:52:01 PM
Just added a complete test build here: http://builds.magiclantern.fm/jenkins/job/1200D.101/

The installer is untested, and I'm not sure what exactly works and what not. Therefore, please write down a menu walkthrough (see e.g. 70D and 100D for models).

I'm also looking for logs from stubs test (selftest.mo) and api_test.lua (lua.mo). These tests were updated since last time they were run.

Quote from: nikfreak on October 19, 2015, 10:41:29 PM
Bug Reporting (fill in OK / Not OK {e.g. screen flickering or camera crashed while taking a shoot or ........}:
http://www.chiark.greenend.org.uk/~sgtatham/bugs.html
Don't report bugs on the official issue tracker. We can only do so after being rest assured we got a stable release and the necessary source code changes are merged in officially.
Keep in mind: We need to list bugs in a readable and provable way.



  • Overlays
    -Zebras: ____
    -Focus Peak: ____
    - ....

  • Shoot
    -Intervalometer: ____
    -Bracketing: ____
    -.....
  • Included Modules
    - Raw_rec: ____
    - autoexpo: ____
    - ....

  • Other issues:
    _______________________________________
    ....

What's working:

  • You tell me. Don't forget to report like instructed above (fill in OK)
What's not working:

  • You tell me...
Title: Re: Canon 1200D
Post by: Onyx1640 on February 13, 2017, 04:06:27 PM
Quote from: a1ex on February 12, 2017, 10:52:01 PM
Just added a complete test build here: http://builds.magiclantern.fm/jenkins/job/1200D.101/

The installer is untested, and I'm not sure what exactly works and what not. Therefore, please write down a menu walkthrough (see e.g. 70D and 100D for models).

I'm also looking for logs from stubs test (selftest.mo) and api_test.lua (lua.mo). These tests were updated since last time they were run.



New to the forum, but I've been keeping an eye on ML since I got my T5/1200D in 2015 hoping a build would come up. I'll give it a try and write up a report when I get home from work tonight.
Title: Re: Canon 1200D
Post by: Matthewken on February 14, 2017, 03:33:48 AM
This is awesome and I've been hoping for a build for the t5. I'd be happy to help with testing/troubleshooting. I do know VBA code but I don't know C++ but I've been looking for a reason to learn more code

is there a way to make a back up of the camera's operating system if something should go horribly wrong?
Title: Re: Canon 1200D
Post by: JG1399 on February 18, 2017, 08:09:54 PM
Congratulations for the awesome work you're doing!. Magic lantern is great.
Just installed it, and I noticed that the modules section only displays the details after each one has been hovered over. Later I'll provide the full bug report.
Title: Re: Canon 1200D
Post by: a1ex on February 19, 2017, 02:37:41 PM
Quote from: Matthewken on February 14, 2017, 03:33:48 AM
is there a way to make a back up of the camera's operating system if something should go horribly wrong?

The installer should do that (not tested on 1200D, but it's working on all other models).

Quote from: JG1399 on February 18, 2017, 08:09:54 PM
I noticed that the modules section only displays the details after each one has been hovered over.

That's by design; a while ago, we were very tight on RAM. Can be changed, as storing the name of each module is not going to take a lot of RAM; however, this has a low priority.
Title: Re: Canon 1200D
Post by: Torkie on February 19, 2017, 03:45:21 PM
@a1ex: thanks for creating this. Most of the things I've tried so far do work.

I worked through the Overlay menu and tried out all settings, except for the ones involving RAW. I had the following findings

Global draw OK, all 4 settings
Zebras
- color space all 3 OK
- Under exposure  OK
- Over exposure OK
- When recording OK
- Use raw zebras
- Raw zebra under exposure
Focus peak
- Filter bias OK
- Threshold OK
- Color OK
- Grayscale image OK
Magic zoom
-Trigger Mode OK
- Size OK
- Position OK
- Magnification OK
- Focus confirm OK
Cropmarks Going into menu with Q gives error 'Duplicate menu Cropmarks (2)'
Changing settings does work when camera is restarted
- Bitmap OK
- Show in Photo mode OK
- Show in Play mode OK
Spotmeter
- Spotmeter Unit OK
- Spot position See no difference between Center and focus box
False color OK
Histogram
- Histogram type OK
- RAW EV indicator ?
- Scaling OK
- Clip warning OK
Waveform OK
Vectorscope Going into menu gives error 'Duplicate menu Vectorscope (2)'
Changed setting do work after restarting camera

What doesn't work

When I go into the Cropmarks or Vectorscope menu, I get errors 'Duplicate menu Cropmarks (2)' or 'Duplicate menu Vectorscope (2)' which are shown in a box in the bottom left of the screen. When I then switch to Live mode a box fills the left of the screen with lots of these messages and a message 'Save configs...' and the overlays don't appear. After restarting the camera it works fine again.
Title: Re: Canon 1200D
Post by: nfollmer on February 21, 2017, 10:17:38 PM
I plan on doing some extensive testing with this tonight, but just wanted to let you know everything I tried while shooting video worked pretty darn good. Here is what I turned on and played with (even all at the same time):

Vectorscope
Waveform
Zebras
False Color
Histogram
Focus Peak

You'd never use all these at once, but it worked :)

Also, and this is the only reason I wanted ML for this camera, I was able to go up to 3x CBR. I only recorded some trees for 1 minute and moved around to try and pull the need for more bits, but my buffer never went above 80%. Now, I did notice though, I got almost the exact same bitrate with 2x and 3x (2x was 84Mbps, 3x went to 85Mbps), I even went to ISO 6400 to try and generate more noise, but it never went above 85Mbps. I don't really care though, 85Mbps is fine, especially when you are considering this is a sub $400 camera. I'm using a SanDisk Extreme 90MB/s card. I'll try my 'cheap' cards later and see if I can pull 2x. This is awesome! Thanks to all who pulled this off!
Title: Re: Canon 1200D
Post by: Torkie on February 24, 2017, 09:42:43 PM
I have done some more testing

I performed the API test in LUA, and have the output attached.
The  battery stuff could be caused because I have the camera on a powersupply

The selftest.mo was not among the modules. I have built ML from the 1200D branch, and the selftest.mo was included.
Enabling it gives an error on booting the camera:
Scanning modules...
Load modules...
  [i] load: SELFTEST.MO
linking..
tcc: error: undefined symbol 'bv_toggle'
  [E] failed to link modules


Also enabling other modules in my own build gave errors while loading them.





===============================================================================
ML/SCRIPTS/API_TEST.LUA - 2017-2-24 22:22:25
===============================================================================

Strict mode tests...
Strict mode tests passed.

Generic tests...
arg = table:
  [0] = "API_TEST.LUA"
camera = table:
  shutter = table:
    raw = 0
    apex = -7.
    ms = 0
    value = 0
  aperture = table:
    raw = 75
    apex = 8.374999
    value = 18.2
    min = table:
      raw = 45
      apex = 4.624999
      value = 4.9
    max = table:
      raw = 88
      apex = 10
      value = 32
  iso = table:
    raw = 0
    apex = -4
    value = 0
  ec = table:
    raw = 0
    value = 0
  flash_ec = table:
    raw = 0
    value = 0
  kelvin = 5200
  mode = 0
  metering_mode = 3
  drive_mode = 0
  model = "Canon EOS 1200D"
  model_short = "1200D"
  firmware = "1.0.1"
  temperature = 165
  state = 0
  reboot = function: p
  burst = function: p
  shoot = function: p
  bulb = function: p
event = table:
  pre_shoot = nil
  post_shoot = nil
  shoot_task = nil
  seconds_clock = nil
  keypress = nil
  custom_picture_taking = nil
  intervalometer = nil
  config_save = nil
console = table:
  hide = function: p
  write = function: p
  show = function: p
  clear = function: p
lv = table:
  enabled = false
  paused = false
  running = false
  zoom = 1
  wait = function: p
  info = function: p
  resume = function: p
  stop = function: p
  start = function: p
  pause = function: p
lens = table:
  name = "EF-S18-55mm f/3.5-5.6 III"
  focal_length = 0
  focus_distance = 14080
  hyperfocal = 0
  dof_near = 0
  dof_far = 0
  af = false
  af_mode = 771
  focus = function: p
  autofocus = function: p
display = table:
  idle = true
  height = 480
  width = 720
  pixel = function: p
  print = function: p
  notify_box = function: p
  rect = function: p
  screenshot = function: p
  draw = function: p
  load = function: p
  circle = function: p
  on = function: p
  off = function: p
  line = function: p
  clear = function: p
key = table:
  last = 10
  wait = function: p
  press = function: p
menu = table:
  visible = false
  close = function: p
  set = function: p
  open = function: p
  new = function: p
  block = function: p
  get = function: p
movie = table:
  recording = false
  start = function: p
  stop = function: p
dryos = table:
  clock = 39
  ms_clock = 39453
  prefix = "IMG_"
  dcim_dir = table:
    exists = true
    create = function: p
    children = function: p
    files = function: p
    parent = table:
      exists = true
      create = function: p
      children = function: p
      files = function: p
      parent = table:
        exists = true
        create = function: p
        children = function: p
        files = function: p
        parent = nil
        path = "B:/"
      path = "B:/DCIM/"
    path = "B:/DCIM/100CANON/"
  config_dir = table:
    exists = true
    create = function: p
    children = function: p
    files = function: p
    parent = table:
      exists = true
      create = function: p
      children = function: p
      files = function: p
      parent = table:
        exists = true
        create = function: p
        children = function: p
        files = function: p
        parent = nil
        path = "B:/"
      path = "ML/"
    path = "ML/SETTINGS/"
  ml_card = table:
    cluster_size = 32768
    drive_letter = "B"
    file_number = 84
    folder_number = 100
    free_space = 14400608
    type = "SD"
    _card_ptr = userdata
    path = "B:/"
  shooting_card = table:
    cluster_size = 32768
    drive_letter = "B"
    file_number = 84
    folder_number = 100
    free_space = 14400608
    type = "SD"
    _card_ptr = userdata
    path = "B:/"
  date = table:
    yday = 55
    wday = 6
    isdst = false
    day = 24
    month = 2
    year = 2017
    hour = 22
    sec = 27
    min = 22
  rename = function: p
  call = function: p
  directory = function: p
  remove = function: p
interval = table:
  time = 10
  count = 0
  running = false
  stop = function: p
battery = table:
function not available on this camera
stack traceback:
[C]: in ?
[C]: in for iterator 'for iterator'
ML/SCRIPTS/LIB/logger.lua:125: in function 'logger.serialize'
ML/SCRIPTS/API_TEST.LUA:32: in function <ML/SCRIPTS/API_TEST.LUA:31>
[C]: in function 'globals.xpcall'
ML/SCRIPTS/API_TEST.LUA:31: in function 'globals.print_table'
ML/SCRIPTS/API_TEST.LUA:77: in function 'globals.generic_tests'
ML/SCRIPTS/API_TEST.LUA:832: in function 'globals.api_tests'
ML/SCRIPTS/API_TEST.LUA:855: in main chunktask = table:
  create = function: p
  yield = function: p
property = table:
Generic tests completed.

Module tests...
Testing file I/O...
Copy test: autoexec.bin -> tmp.bin
Copy test OK
Append test: tmp.txt
Append test OK
Rename test: apple.txt -> banana.txt
Rename test OK
Rename test: apple.txt -> ML/banana.txt
Rename test OK
File I/O tests completed.

Testing half-shutter...
half-shutter...





Title: Re: Canon 1200D
Post by: Greg on February 25, 2017, 12:46:39 AM
platform/1200D.101/internals.h

/** Properties are persistent (saved in NVRAM) => a mistake can cause permanent damage. Undefine this for new ports. */
#undef CONFIG_PROP_REQUEST_CHANGE


I do not know at what stage is the port 1200D.
If you are going to define it, you must know what you're doing.
Title: Re: Canon 1200D
Post by: a1ex on February 25, 2017, 10:26:44 AM
The camera appears very similar to 60D, so it's probably safe to enable.

Best way to try:
- make sure you have a backup of your ROM (just in case)
- enable it
- exercise all the new functions (in particular, grep the source code for prop_request_change to see which ones use this feature)

That way, if anything goes wrong (unlikely), there won't be too many cameras bricked at once.
Title: Re: Canon 1200D
Post by: Torkie on February 26, 2017, 08:44:55 PM
I managed to compile ML for the 1200D properly, and now excluded the part of the selftest module that exercised the bv_toggle function.

I can execute the stubs test, it produces a log which I have added below.

In the end it says: Test complete. 4401 passed, 1 failed.

I also ran the quick test, that seemed to run without problems.



[Pass] is_play_mode() => 0x1
[Pass] f = FIO_CreateFile("test.dat") => 0x3
[Pass] FIO_WriteFile(f, (void*)0xFF000000, 0x10000) => 0x10000
[Pass] FIO_WriteFile(f, (void*)0xFF000000, 0x10000) => 0x10000
       FIO_CloseFile(f)
[Pass] FIO_GetFileSize("test.dat", &size) => 0x0
[Pass] size => 0x20000
[Pass] p = (void*)_alloc_dma_memory(0x20000) => 0x40997048
[Pass] f = FIO_OpenFile("test.dat", O_RDONLY | O_SYNC) => 0x3
[Pass] FIO_ReadFile(f, p, 0x20000) => 0x20000
       FIO_CloseFile(f)
       _free_dma_memory(p)
[Pass] count => 0x3a98
[Pass] buf = fio_malloc(0x1000000) => 0x423680d4
[Pass] FIO_GetFileSize_direct("test.dat") => 0x82000000
[Pass] f = FIO_OpenFile("test.dat", O_RDWR | O_SYNC) => 0x3
[Pass] FIO_SeekSkipFile(f, 0, SEEK_END) => 0x82000000
[Pass] FIO_WriteFile(f, buf, 0x10) => 0x10
[Pass] FIO_SeekSkipFile(f, -0x20, SEEK_END) => 0x81fffff0
[Pass] FIO_WriteFile(f, buf, 0x30) => 0x30
[Pass] FIO_SeekSkipFile(f, 0x20, SEEK_SET) => 0x20
[Pass] FIO_SeekSkipFile(f, 0x30, SEEK_CUR) => 0x50
[Pass] FIO_SeekSkipFile(f, -0x20, SEEK_CUR) => 0x30
[Pass] FIO_GetFileSize_direct("test.dat") => 0x82000020
[Pass] FIO_RemoveFile("test.dat") => 0x0
[Pass] SetTimerAfter(0, timer_cbr, overrun_cbr, 0) => 0x15
[Pass] timer_func => 0x2
[Pass] SetTimerAfter(1000, timer_cbr, overrun_cbr, 0) => 0x2268
       msleep(900)
[Pass] timer_func => 0x0
       msleep(200)
[Pass] timer_func => 0x1
[Pass] ABS((timer_time/1000 - t0) - 1000) => 0x9
[Pass] ABS((timer_arg - ta0) - 1000) => 0xa
[Pass] timer = SetTimerAfter(1000, timer_cbr, overrun_cbr, 0) => 0x226a
       msleep(400)
       CancelTimer(timer)
[Pass] timer_func => 0x0
       msleep(1500)
[Pass] timer_func => 0x0
[Pass] SetHPTimerAfterNow(0, timer_cbr, overrun_cbr, 0) => 0x15
[Pass] timer_func => 0x2
[Pass] SetHPTimerAfterNow(100000, timer_cbr, overrun_cbr, 0) => 0x258
       msleep(90)
[Pass] timer_func => 0x0
       msleep(20)
[Pass] timer_func => 0x1
[Pass] ABS(DeltaT(timer_time, t0) - 100000) => 0x13d
[Pass] ABS(DeltaT(timer_arg, ta0) - 100000) => 0xf8
[Pass] ABS((get_us_clock_value() - t0) - 110000) => 0xffffff8b
[Pass] SetHPTimerAfterNow(90000, next_tick_cbr, overrun_cbr, 0) => 0x25a
       msleep(80)
[Pass] timer_func => 0x0
       msleep(20)
[Pass] timer_func => 0x3
       msleep(80)
[Pass] timer_func => 0x3
       msleep(20)
[Pass] timer_func => 0x1
[Pass] ABS(DeltaT(timer_time, t0) - 300000) => 0x53
[Pass] ABS(DeltaT(timer_arg, ta0) - 300000) => 0xe
[Pass] ABS((get_us_clock_value() - t0) - 310000) => 0xffffff22
       t0 = *(uint32_t*)0xC0242014 => 0x2e1d5
       msleep(250)
       t1 = *(uint32_t*)0xC0242014 => 0x6b235
[Pass] ABS(MOD(t1-t0, 1048576)/1000 - 250) => 0x1
       LoadCalendarFromRTC( &now )
       s0 = now.tm_sec => 0x35
       Date/time: 2017/02/26 19:49:53
       msleep(1500)
       LoadCalendarFromRTC( &now )
       s1 = now.tm_sec => 0x37
[Pass] MOD(s1-s0, 60) => 0x2
[Pass] MOD(s1-s0, 60) => 0x2
       m0 = MALLOC_FREE_MEMORY => 0x3dee8
[Pass] p = (void*)_malloc(50*1024) => 0xc6f28
[Pass] CACHEABLE(p) => 0xc6f28
       m1 = MALLOC_FREE_MEMORY => 0x316d8
       _free(p)
       m2 = MALLOC_FREE_MEMORY => 0x3dee8
[Pass] ABS((m0-m1) - 50*1024) => 0x10
[Pass] ABS(m0-m2) => 0x0
       m0 = GetFreeMemForAllocateMemory() => 0x141bcc
[Pass] p = (void*)_AllocateMemory(256*1024) => 0xba7fb4
[Pass] CACHEABLE(p) => 0xba7fb4
       m1 = GetFreeMemForAllocateMemory() => 0x101bbc
       _FreeMemory(p)
       m2 = GetFreeMemForAllocateMemory() => 0x141bcc
[Pass] ABS((m0-m1) - 256*1024) => 0x10
[Pass] ABS(m0-m2) => 0x0
       m01 = MALLOC_FREE_MEMORY => 0x3dee8
       m02 = GetFreeMemForAllocateMemory() => 0x141bcc
[Pass] p = (void*)_alloc_dma_memory(256*1024) => 0x40ba7ff4
[Pass] UNCACHEABLE(p) => 0x40ba7ff4
[Pass] CACHEABLE(p) => 0xba7ff4
[Pass] UNCACHEABLE(CACHEABLE(p)) => 0x40ba7ff4
       _free_dma_memory(p)
[Pass] p = (void*)_shoot_malloc(24*1024*1024) => 0x423680b4
[Pass] UNCACHEABLE(p) => 0x423680b4
       _shoot_free(p)
       m11 = MALLOC_FREE_MEMORY => 0x3dee8
       m12 = GetFreeMemForAllocateMemory() => 0x141bcc
[Pass] ABS(m01-m11) => 0x0
[Pass] ABS(m02-m12) => 0x0
[Pass] suite = shoot_malloc_suite_contig(24*1024*1024) => 0xc5888
[Pass] suite->signature => 'MemSuite'
[Pass] suite->num_chunks => 0x1
[Pass] suite->size => 0x1800000
[Pass] chunk = GetFirstChunkFromSuite(suite) => 0xc58b0
[Pass] chunk->signature => 'MemChunk'
[Pass] chunk->size => 0x1800000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x423680b0
[Pass] UNCACHEABLE(p) => 0x423680b0
       shoot_free_suite(suite); suite = 0; chunk = 0;
[Pass] suite = shoot_malloc_suite_contig(0) => 0xc5888
[Pass] suite->signature => 'MemSuite'
[Pass] suite->num_chunks => 0x1
[Pass] suite->size => 0x1dd4000
[Pass] chunk = GetFirstChunkFromSuite(suite) => 0xc58b0
[Pass] chunk->signature => 'MemChunk'
[Pass] chunk->size => 0x1dd4000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x4a000070
[Pass] UNCACHEABLE(p) => 0x4a000070
       shoot_free_suite(suite); suite = 0; chunk = 0;
[Pass] suite = shoot_malloc_suite(64*1024*1024) => 0xc5888
[Pass] suite->signature => 'MemSuite'
[Pass] suite->num_chunks => 0x3
[Pass] suite->size => 0x4000000
[Pass] chunk = GetFirstChunkFromSuite(suite) => 0xc58b0
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x1c94000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x423680b0
[Pass] UNCACHEABLE(p) => 0x423680b0
       chunk = GetNextMemoryChunk(suite, chunk) => 0xc5910
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x2898000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x413f8070
[Pass] UNCACHEABLE(p) => 0x413f8070
       chunk = GetNextMemoryChunk(suite, chunk) => 0xc5948
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x4000000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x4a000070
[Pass] UNCACHEABLE(p) => 0x4a000070
       chunk = GetNextMemoryChunk(suite, chunk) => 0x0
[Pass] total => 0x4000000
       shoot_free_suite(suite); suite = 0; chunk = 0;
[Pass] suite = shoot_malloc_suite(0) => 0xc5888
[Pass] suite->signature => 'MemSuite'
[Pass] suite->num_chunks => 0x3
[Pass] suite->size => 0x4700000
[Pass] chunk = GetFirstChunkFromSuite(suite) => 0xc58b0
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x1c94000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x423680b0
[Pass] UNCACHEABLE(p) => 0x423680b0
       chunk = GetNextMemoryChunk(suite, chunk) => 0xc5910
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x2898000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x413f8070
[Pass] UNCACHEABLE(p) => 0x413f8070
       chunk = GetNextMemoryChunk(suite, chunk) => 0xc5948
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x4700000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x4a000070
[Pass] UNCACHEABLE(p) => 0x4a000070
       chunk = GetNextMemoryChunk(suite, chunk) => 0x0
[Pass] total => 0x4700000
       shoot_free_suite(suite); suite = 0; chunk = 0;
[Pass] strlen("abc") => 0x3
[Pass] strlen("qwertyuiop") => 0xa
[Pass] strlen("") => 0x0
[Pass] strcpy(msg, "hi there") => 0x16bcbc
[Pass] msg => 'hi there'
[Pass] snprintf(a, sizeof(a), "foo") => 0x3
[Pass] snprintf(b, sizeof(b), "foo") => 0x3
[Pass] strcmp(a, b) => 0x0
[Pass] snprintf(a, sizeof(a), "bar") => 0x3
[Pass] snprintf(b, sizeof(b), "baz") => 0x3
[Pass] strcmp(a, b) => 0xfffffff8
[Pass] snprintf(a, sizeof(a), "Display") => 0x7
[Pass] snprintf(b, sizeof(b), "Defishing") => 0x9
[Pass] strcmp(a, b) => 0x4
[Pass] snprintf(buf, 3, "%d", 1234) => 0x2
[Pass] buf => '12'
[Pass] memcpy(foo, bar, 6) => 0x16bc80
[Pass] foo => 'asdfghuiop'
[Pass] memset(bar, '*', 5) => 0x16bc60
[Pass] bar => '*****hjkl;'
       bzero32(bar + 5, 5)
[Pass] bar => '****'
       EngDrvOut(LCD_Palette[0], 0x1234)
[Pass] shamem_read(LCD_Palette[0]) => 0x1234
       call("TurnOnDisplay")
[Pass] DISPLAY_IS_ON => 0x1
       call("TurnOffDisplay")
[Pass] DISPLAY_IS_ON => 0x0
       call("TurnOnDisplay")
[Pass] DISPLAY_IS_ON => 0x1
       task_create("test", 0x1c, 0x1000, test_task, 0) => 0x67c00be
[Pass] test_task_created => 0x1
[Pass] get_task_name_from_id(get_current_task()) => 'run_test'
[Pass] task_max => 0x68
[Pass] task_max => 0x68
[Pass] mq = mq ? mq : (void*)msg_queue_create("test", 5) => 0x67e0096
[Pass] msg_queue_post(mq, 0x1234567) => 0x0
[Pass] msg_queue_receive(mq, (struct event **) &m, 500) => 0x0
[Pass] m => 0x1234567
[Pass] msg_queue_receive(mq, (struct event **) &m, 500) => 0x9
[Pass] sem = sem ? sem : create_named_semaphore("test", 1) => 0x6800304
[Pass] take_semaphore(sem, 500) => 0x0
[Pass] take_semaphore(sem, 500) => 0x9
[Pass] give_semaphore(sem) => 0x0
[Pass] take_semaphore(sem, 500) => 0x0
[Pass] give_semaphore(sem) => 0x0
[Pass] rlock = rlock ? rlock : CreateRecursiveLock(0) => 0x682006a
[Pass] AcquireRecursiveLock(rlock, 500) => 0x0
[Pass] AcquireRecursiveLock(rlock, 500) => 0x0
[Pass] ReleaseRecursiveLock(rlock) => 0x0
[Pass] ReleaseRecursiveLock(rlock) => 0x0
[Pass] ReleaseRecursiveLock(rlock) => 0xf
       SetGUIRequestMode(1); msleep(1000);
[Pass] CURRENT_GUI_MODE => 0x1
       SetGUIRequestMode(2); msleep(1000);
[Pass] CURRENT_GUI_MODE => 0x2
       SetGUIRequestMode(0); msleep(1000);
[Pass] CURRENT_GUI_MODE => 0x0
[Pass] display_idle() => 0x1
       GUI_Control(BGMT_PLAY, 0, 0, 0); msleep(1000);
[Pass] PLAY_MODE => 0x1
[Pass] MENU_MODE => 0x0
       GUI_Control(BGMT_MENU, 0, 0, 0); msleep(1000);
[Pass] MENU_MODE => 0x1
[Pass] PLAY_MODE => 0x0
[Pass] dialog->type => 'DIALOG'
       GUI_Control(BGMT_MENU, 0, 0, 0); msleep(500);
[Pass] MENU_MODE => 0x0
[Pass] PLAY_MODE => 0x0
       SW1(1,100)
[FAIL] HALFSHUTTER_PRESSED => 0x0
       SW1(0,100)
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] is_play_mode() => 0x1
[Pass] is_pure_play_photo_mode() => 0x1
[Pass] is_pure_play_movie_mode() => 0x0
[Pass] is_play_mode() => 0x1
[Pass] is_pure_play_photo_mode() => 0x0
[Pass] is_pure_play_movie_mode() => 0x0
[Pass] is_play_mode() => 0x1
[Pass] is_pure_play_photo_mode() => 0x0
[Pass] is_pure_play_movie_mode() => 0x1
[Pass] is_play_mode() => 0x1
[Pass] is_pure_play_photo_mode() => 0x0
[Pass] is_pure_play_movie_mode() => 0x0
Title: Re: Canon 1200D
Post by: canonlover on February 26, 2017, 09:20:09 PM
Hola!  estoy haciendo pruebas con el video RAW de la canon 1200D y tengo resultados.

https://youtu.be/MwSieujggcY

es algo rapido espero tener tiempo en estos dias para hacer algo mas serio con davinci resolve y mejor composicion.

______________________________________________________________
ENGLISH


Hello! I am doing tests with the RAW video of the canon 1200D and I have results.

https://youtu.be/MwSieujggcY

Is something quick I hope to have time these days to do something more serious with davinci solves and better composition.

Title: Re: Canon 1200D
Post by: a1ex on February 27, 2017, 07:21:57 AM
Quote from: Torkie on February 26, 2017, 08:44:55 PM
In the end it says: Test complete. 4401 passed, 1 failed.

Thanks; the failed one requires property changes enabled. That's pretty good.

Quote from: canonlover on February 26, 2017, 09:20:09 PM
Hello! I am doing tests with the RAW video of the canon 1200D and I have results.

I was expecting some actual test results...

Quote from: dmilligan on December 11, 2013, 04:16:32 PM
Test, as in really test. As if you were QC working for a software company. Don't just use ML in normal situations and submit problems when things go wrong (and don't just do another ML RAW vs. H264 test, there are more than plenty of those out there). Try to break a feature. Think of as many possible scenarios as you can. Throw everything you can think of at a feature to break it. Try every value of every setting. Try it in extremely unusual scenes or lighting. Write down your results like a scientist doing an expirement. Then share your results, even if nothing went wrong. It's also helpful for devs to know when something actually works. Test for the sake of testing, with specific intention, not for the sake of making your 'budget short film'.
Title: Re: Canon 1200D
Post by: PankajDubey on March 16, 2017, 04:32:05 AM
I am using it on EOS 1200D with 1.01 firmware by downloading the files from the link below and the video.
I had to use the EOScard.exe file to get it working.

https://youtu.be/R9-hteAFBPg

Pankaj
Title: Re: Canon 1200D
Post by: a1ex on March 17, 2017, 11:10:19 AM
That means, the installer (http://www.magiclantern.fm/forum/index.php?topic=12627.msg179885#msg179885) didn't work?
Title: Re: Canon 1200D
Post by: jarbi on March 18, 2017, 09:09:09 AM
Hi,

I could also install ML on my 1200D, it got stuck at the "EnableBootdisk" message first. So this was in the installer part I guess.
But after using the EOScard.exe utility on mySD card it works, thanks to all developers !

Cheers,
Janos
Title: Re: Canon 1200D
Post by: RobMac on March 19, 2017, 09:30:35 PM
Hi I was just wondering where I can download the most recent build to use? I found a post that said it was the latest build but it was dated july 30 2016 so I just wanted to make sure it was the most recent one!
Thanks
Rob
Title: Re: Canon 1200D
Post by: PankajDubey on March 20, 2017, 04:56:04 AM
Quote from: a1ex on March 17, 2017, 11:10:19 AM
That means, the installer (http://www.magiclantern.fm/forum/index.php?topic=12627.msg179885#msg179885) didn't work?

Yes, for me it worked only after I used the additional step.
(Or, no, it didn't work until I used the additional step of making the card bootable.)
Title: Re: Canon 1200D
Post by: a1ex on March 20, 2017, 09:44:45 AM
I'm talking about this (http://www.magiclantern.fm/forum/index.php?topic=12627.msg179885#msg179885) installer, not the one from youtube...
Title: Re: Canon 1200D
Post by: jarbi on March 21, 2017, 09:20:00 PM
Hi,

I am looking forward to have the advanced intervalometer module available for the 1200D. Hopefully it doesn't take much effort to make it work on this camera.
Does anyone know if someone is working on it ?
Title: Re: Canon 1200D
Post by: a1ex on March 21, 2017, 09:57:00 PM
This one (and most other interesting stuff) will work as soon as somebody enables changing Canon properties (discussed on this page).

Reminder: I'm still waiting for feedback on this build (http://www.magiclantern.fm/forum/index.php?topic=12627.msg179885#msg179885). For example, nobody reported whether the installer works or not (the previous report appears to be for an older version). Also, a menu walkthrough would be nice; I'm pretty sure that build contains more than the Overlay menu and API tests, already covered.

Please remember this is a blind port (none of the active developers has a 1200D), so we really don't know how it looks or behaves if you don't provide feedback.
Title: Re: Canon 1200D
Post by: jarbi on March 22, 2017, 08:42:40 AM
Hi A1ex,

I have tested your installer yesterday evening, it stops at the "EnableBootdisk" message, than the screen goes blank. Nothing happens after unless I switch the camera off/on, then ML starts. In my case I have enabled boot with EOScard.exe already earlier,

cheers,
Janos
Title: Re: Canon 1200D
Post by: a1ex on March 22, 2017, 08:50:03 AM
Was it a fresh install (no ML on the camera before), or you already had it installed with the older installer (the one with smiley face)?

If you format the card from the camera, is ML restored successfully?

(just trying to narrow down the step where it got stuck)
Title: Re: Canon 1200D
Post by: jarbi on March 22, 2017, 01:18:36 PM
Hi a1ex,

I had already ML installed with the older installer, and I could do a format succesfully with ML preserved ( after executing your installer ).
Title: Re: Canon 1200D
Post by: a1ex on March 22, 2017, 04:48:32 PM
Can you record a video of the installation process? The exact moment of crash should give additional clues.
Title: Re: Canon 1200D
Post by: jarbi on March 23, 2017, 03:49:01 PM
Hi a1ex,

I have recorded the installation, you can watch it here and see where it stops:  https://youtu.be/fLUH9sNVsFQ
The camera is not freezing when I get the blank screen, just power saving. When I press the shutter half way the menu comes back and ML stays active ( boot flag was set already earlier as I explained )
Title: Re: Canon 1200D
Post by: a1ex on March 23, 2017, 04:17:29 PM
This is the old installer; please test the one I've linked a couple of times...
Title: Re: Canon 1200D
Post by: jarbi on March 24, 2017, 08:51:38 AM
Hi a1ex,

I'm sorry for the confusion, now I made sure I'm using your installer. Before installation I have disabled the boot flag on my SD card, and the installation was flawless this time !! But Murphy was also "present": the video I have recorded is somehow corrupt. Nevertheless I can post some screenshots from it: https://drive.google.com/open?id=0B5rc5Ssg9hE-c0JucnZCMlZFUUk

So your new installer works fine as I see, thanks again,

Cheers,

Title: Re: Canon 1200D
Post by: a1ex on March 24, 2017, 09:32:21 AM
Looks good, thanks.

A few days ago, I've attempted to test the installer myself in QEMU (wanted to find out why it crashed, based on previous reports). The result is this (http://www.magiclantern.fm/forum/index.php?topic=2864.msg181788;topicseen#msg181788) - you can now run the unmodified autoexec.bin under QEMU and navigate the menus (both Canon and ML), on 1200D and a bunch of other models.

Previously, this was only possible on 500D (other models required modified autoexec.bin or did not start the GUI at all).
Title: Re: Canon 1200D
Post by: Fredestroyer007 on March 27, 2017, 01:57:19 AM
a1ex, I confirm that the installer is working! I just install Magic Lantern on my camera. Will start extensive testing as per the preceding instruction ;)
Title: Re: Canon 1200D
Post by: Fredestroyer007 on March 27, 2017, 03:00:37 AM
First problem! I can't acess the Magic Lantern menu in video mode (work just fine in Program, Manual, Aperture Priority and Shutter Priority!)! Is it normal?

Second problem! Each time I change the shutter speed using the dial, the menu seems to jump to the normal Canon menu than goes back to the magic lantern menu. Is it normal?

1. Overlay:
    - Zebras : NOT OK!
    - Focus Peak : NOT OK!
    - Magic Zoom : OK!
    - Cropmarks : OK!
    - Ghost Image : OK!
    - Spotmeter : OK!
    - False Color: NOT OK!
    - Histogram : OK!
    - Waveform : OK!
    - Vectorscope : OK!

2. Movie :
    - Bit Rate (CBR) : OK! (Tested up to 2x at 6400 ISO, don't know if it will go higher!)
    - REC key : OK!
    - Gradual Exposure : OK!
    - FPS override : OK!
    - HDR video : OK!
    - Vignetting : OK!
    - Image Fine-tuning : Not sure what it is suppose to do...
    - Creative Effects : OK!
    - Movie Tweaks : OK!

3. Shoot :
    - Intervalometer : OK!
    - Motion Detect : OK!
    - Shoot Preferences : OK!

4. Focus :
    - Trap Focus : OK!
    - DOF Settings : What is that???

5. Display :
    - LV DIGIC peaking : NOT OK! (The edge image option makes the menu unreadable, Slightly Sharper works fine!)
    - LV saturation : OK!
    - LV display gain : OK!
    - Clear overlays : OK!
    - Advanced settings : OK! (I didn't test HDMI out...)

6. Prefs :
    - Everything seems to be fine!

7. Modules :
    - I didn't test any module...

8. Debug :
    - How to test the debug module?

9. Help : NOT OK! (The help files aren't on the SD card...)

All test were done at 100 ISO and 6400 ISO using the Technicolor Cinestyle with a manual m42 lens (adapted to Canon Ef).

If there is any question, I will gladly answer them :)
Title: Re: Canon 1200D
Post by: a1ex on March 27, 2017, 10:32:52 AM
ML menu in video mode: select Debug -> Show GUI events and write down the values that appear when pressing the delete button (or record a video).

Focus peaking and false colors: what exactly is wrong with them?

Image Fine-tuning:
- ML digital ISO should... change brightness
- Black level: should adjust the blacks (deep shadows) in LiveView
- Absolute zero sharpness: should override picture style sharpening (should give lower sharpness than Canon's minimum level). If you don't want to pixel-peep, set picture style sharpness to maximum, then enable this option (so the difference will be obvious).
- Edge emphasis: you may need some pixel peeping for this one; not sure if it's of any use in practice.

- DOF settings: here (http://www.magiclantern.fm/forum/index.php?topic=11269.msg146455#msg146455) and here (http://magiclantern.fm/forum/index.php?topic=15092.0)
- LV DIGIC peaking: sounds like OK to me, as the effect applies to the entire image (including menus)
Title: Re: Canon 1200D
Post by: Fredestroyer007 on March 28, 2017, 03:42:35 AM
First, for the zebras, the focus peaking and the false color... My bad, THEY WORK! The only problem is that they are not working while using the Magic Zoom! Is it normal?

Secondly, ML menu in video mode: select Debug ->
EV13: p=        4c  *o=             0/             0/            0  a=        0
EV14: p=        61  *o=  1010006/65006098/15500301  a=        e
EV15: P=        61  *o=  3010006/65006098/15500101  a=        e

Third, for some function, the font size is too small (probably the effect of the low res screen on the 1200d). For exemple, the camera temperature and the bit rate viewer are unreadeble (they are like tinny dots.).

Fourth, the camera is jumping between the Magic Lantern menu and the original Canon menu (in live view) while changing setting like the shutter speed using the dial.

Finally, I am gonna make heavy testing to see if some function are not ''compatible'' with each other like the focus peaking and the magic zoom

TEST VERSION #2
1. Overlay:
    - Zebras : OK! (not working with Magic Zoom)
    - Focus Peak : OK! (not working with Magic Zoom)
    - Magic Zoom : OK!
    - Cropmarks : OK!
    - Ghost Image : OK!
    - Spotmeter : OK!
    - False Color: OK! (not working with Magic Zoom)
    - Histogram : OK!
    - Waveform : OK!
    - Vectorscope : OK!

2. Movie :
    - Bit Rate (CBR) : OK! (Tested up to 2x at 6400 ISO, don't know if it will go higher!)
    - REC key : OK!
    - Gradual Exposure : OK!
    - FPS override : OK!
    - HDR video : OK!
    - Vignetting : OK!
    - Image Fine-tuning : OK!
    - Creative Effects : OK!
    - Movie Tweaks : OK!

3. Shoot :
    - Intervalometer : OK!
    - Motion Detect : OK!
    - Shoot Preferences : OK!

4. Focus :
    - Trap Focus : OK!
    - DOF Settings : OK!

5. Display :
    - LV DIGIC peaking : OK!
    - LV saturation : OK!
    - LV display gain : OK!
    - Clear overlays : OK!
    - Advanced settings : OK! (I didn't test HDMI out...)

6. Prefs :
    - Everything seems to be fine!

7. Modules :
    - I didn't test any module...

8. Debug :
    - OK!

9. Help :
    - NOT OK! (The help files aren't on the SD card...)

All test were done at 100 ISO and 6400 ISO using the Technicolor Cinestyle with a manual m42 lens (adapted to Canon Ef) AND a second round of testing was done with an Canon Ef 50 mm STM and everything worked just fine.
Title: Re: Canon 1200D
Post by: Fredestroyer007 on March 28, 2017, 06:10:50 AM
Btw... Is it normal that the Expo menu isn't there? The focus menu also miss some function compare to (let's say) Magic Lantern on a T5i?

The menu in the photo manual mode is the the standard one from Canon. Magic Lantern isn't suppose to add stuff like the time, ... ?

In brief, the February 12 build isn't complete, right?
Title: Re: Canon 1200D
Post by: a1ex on March 28, 2017, 08:44:48 AM
For menu, it's probably as easy as updating BGMT_AV definition in gui.h.

For expo menu, see replies #426, #427, #438.
Title: Re: Canon 1200D
Post by: RandoMixs on March 28, 2017, 09:50:01 AM
I'm new here, and I'm learning to use this forum! But unfortunately I did not find the last build of the T5 to be able to test! I'm from Brazil, and my English is not the best!
Title: Re: Canon 1200D
Post by: Walter Schulz on March 28, 2017, 11:41:30 AM
Top of page -> Downloads -> Download Nightly Builds
Title: Re: Canon 1200D
Post by: Fredestroyer007 on March 29, 2017, 07:12:26 AM
a1ex, I have knowledge in C# and Python programming. I also know a bit of C++... More especially, I more familiar with the Arduino plateform, the Rapsberry Pi plateform (Linux in general) and Windows 10 app programming. If you think I might be of some help (I am willing to learn! ; Could you refer me to some page about the Magic Lantern developpement? The information is pretty much everywhere : hard to find/understand? I don't know where to start...) I could jump into the code the debug it. If you think that I would not be of any help with my level of knowledege, I am willing to stay to test the new builds as another developper (hopefully?) could jump into the code?

On another note, I did very extensive testing (I don't have any other idea of what to test or combinaison of thing to test) and I didn't find any other bug except from the one who I already reported. (I did NOT test the modules and HDMI out). So, I can pretty safely say that the February 12 build is probably bug free EXCEPT from what I already posted in my previous posts.

Finally, do you have any request of thing for me to do/test? I read that a walkthrought video would be usefull. Is it still the case?
Title: Re: Canon 1200D
Post by: a1ex on March 29, 2017, 09:31:39 PM
That's perfect - first step is compiling ML (which should be easy, given that you are not afraid of Linux). Then fixing the menu in movie mode should be a very easy change, now that you know the button codes.

To get started, just follow some sticky topics from the development area.
Title: Re: Canon 1200D
Post by: Fredestroyer007 on March 30, 2017, 04:26:23 AM
Thanks! Will look into that! I will keep you updated...
Title: Re: Canon 1200D
Post by: razrburn on March 31, 2017, 06:17:02 PM
I have a canon 1200d arriving today or tomarrow. There is alot of information in here, but to recap the 19 pages correct me if i'm wrong this currently only works with version 1.0.1 and not 1.0.0 or 1.0.2.

I'm excited to try magic lantern, hopefully a stable build irons its way out for the 1200d. Till then i'd like to take a moment and say thank you too all the developers, for your hard work.
Title: Re: Canon 1200D
Post by: droidente on April 01, 2017, 05:05:30 AM
Hello,
I have a question, how to uninstall magic lantern for 1200D, I followed the guide but, when I click on Firmware update, I dont have the possibility for this. Same result if I click on Format. I dont have any option to remove ML. Someone can help me?
Thank you and I'm sorry if my english are ugly :P
Title: Re: Canon 1200D
Post by: RobMac on April 03, 2017, 10:14:08 PM
Hi I'm not sure whether this is normal or has already been reported but when I turn on manual exposure settings in the canon menu (click the menu key and go to menu->movie exposure->manual) I can no longer access the magic lantern menu when I press the trashbin key.However the features of magic lantern appear to continue working and when change it back to automatic exposure I can again access the magic lantern menu.
If this is a bug it doesn't really appear to effect anything, at least not that I have seen...
And if it's normal,my bad!
Title: Re: Canon 1200D
Post by: Fredestroyer007 on April 08, 2017, 10:02:02 PM
Robmac, if you press the trashbin key in a photo mode (let's say in P mode), you can access the magic lantern menu, right? But if you press the trashbin button in video mode, it doesnt work, right?

I am already working on it :) (small update for a1ex, I didn't have much time lately so, my progess are pretty slow... I am able to compile magic lantern, so update should come pretty soon regarding the trashbin key).
Title: Re: Canon 1200D
Post by: Varashilov on April 10, 2017, 12:48:45 PM
Call the ML menu in video mode: by holding the trash can and pressing OK
Title: Re: Canon 1200D
Post by: RobMac on April 12, 2017, 05:08:14 PM
@fredestroyer007 yeah thats right! It will open if you press the trash and then the okay button, but this isn't needed for other modes where you usually just press the trash?

Title: Re: Canon 1200D
Post by: rickmc3280 on April 14, 2017, 07:47:09 PM
I have a question for yall. 

I have limited C++ coding experience, but I wanted to see what yalls thoughts are regarding the live mode box...

My assumption is that the box is either predetermined in a file represented by some type of numbering system where it can scale the white lines and the whitelines themsevles are coded.  Would it be possible to change the AF box to invisible?  Or to instead put the white lines at the very top of the screen? In essense programming it so that the box just doesnt show up or is maximized to the entire screen, maybe even dropping the amount of pixels that it takes up?

Would love to hear back about this.  Also, any of yall know where I could get started learning how to control the DSLR from a computer interface, maybe an arduino?


Note that I am trying to use the camera with an HDMI cable input.  I have both the T5 and T5i
Title: Re: Canon 1200D
Post by: AneMotion on April 17, 2017, 10:16:31 PM
Wow, thank you for all your hard work in making this work everyone! So far a lot on my 1200D works, but I also seem to get the Duplicate Crop marks menu(2) warning after I play with the settings etc.

Do you guys think this ML version will be able to do RAW video some time?
;)
Title: Re: Canon 1200D
Post by: Zans on April 23, 2017, 09:50:38 PM
Hey, I just installed ML on my 1200D and will soon start to figure out if it all works fine.
I just wondered if there is any work in progress on getting BULB timer running?
Title: Re: Canon 1200D
Post by: ToXiCRising on May 12, 2017, 05:04:56 PM
I know this is a bit off topic, but after connecting my 1200D to my PC while also having EOS Utility installed ML crashed and gave me some log files. These chrashes occured after closing EOS Utility (it opens upon connecting the camera) and after transfering my pictures to the PC, when i diconncted my camera from my PC. I hope these help with further development.

Here is a link to my Google drive with the Log file:  https://drive.google.com/open?id=0B8CXqrH6rbcwVlVScHBaTmF2eTQ (https://drive.google.com/open?id=0B8CXqrH6rbcwVlVScHBaTmF2eTQ)

It was to big so i counldnt post it here (exceeded maximum character limit)
Title: Re: Canon 1200D
Post by: a1ex on May 12, 2017, 05:27:02 PM
It would be useful if you can find a way to reproduce the issue.
Title: Re: Canon 1200D
Post by: ToXiCRising on May 14, 2017, 01:49:37 PM
This issue happens everytime when i connect and then disconnect my camera
it doesnt delete any data or something in these manners it just crashes and writes a log
Title: Re: Canon 1200D
Post by: a1ex on May 14, 2017, 05:04:02 PM
I assume it doesn't happen without ML.

Does it happen if you press SET at startup to bypass ML? In this case, ML is still loaded (you'll still see the modified version number), but will be inactive.
Title: Re: Canon 1200D
Post by: Danigiio on May 15, 2017, 06:43:29 PM

Hi, I want to thank all of you for crate ML on 1200D, I truly appreciate it.
My name is Dani, and I just installed ML on my 1200D and I was searching for the "picture style" option for a while, but I didn't found it.
I would love to have this option becasue I can see a Standar picture style but change when I press the film buttom the picture style changes to Cinestyle.
Do you think it is possible to have this option?

Thank you for your time, have a nice day.
Title: Re: Canon 1200D
Post by: ToXiCRising on May 20, 2017, 05:50:46 PM
Nope if ML isnt started it doesnt crash when i diconnect it.
Title: Re: Canon 1200D
Post by: a1ex on May 20, 2017, 08:47:44 PM
Does it crash in the default configuration? (after resetting ML to defaults)

BTW, this kind of crash might depend on the files you are transferring from the card (could be their number, size, or even the contents of some particular file, or a combination of factors). Therefore, to reproduce it, you might have to copy the images back on the card. Is this true? (in other words, can you reproduce the issue regardless of how many files you have on the card?)
Title: Re: Canon 1200D
Post by: ToXiCRising on May 21, 2017, 06:57:14 PM
i just tried it again this time it didnt crash.
You seem to be right about those conditions because when it crashed i was copying alot of files.
Title: Re: Canon 1200D
Post by: vjklein on June 15, 2017, 01:27:38 AM
Magic Lantern with the last build doesn't  show the EXPO  menu voice,  instead the old one does! Is it normal? or we have to wait for a fix? thanks
Title: Re: Canon 1200D
Post by: Bro85 on June 16, 2017, 02:16:49 PM
Just one question will FPS override allow me to shoot 720p in 25 fps? And how to turn on the RAW filming (module mlv_rec is unavailable)
Title: Re: Canon 1200D
Post by: gmalin54 on August 25, 2017, 08:34:51 PM
Hi,
Today I just installed Nightly.2017Feb12.1200D101 on my 1200D. It seems to be working OK. I have access to the ML menus by pressing the trashbin button it works fine, even in video mode. I tested the intervalometer, which is what matters most for me, it is OK. I am looking forward to testing other functionalities. I was not able to find the movie crop mode, I don't know if this is normal.
The install process was very easy I just had to do a previous upgrade of the firmware from 1.0.0 to 1.0.1 (it is not possible to download the 1.0.1 on the Canon website, they only have 1.0.2, does anybody know why ?) Thanks for your attention
Title: Re: Canon 1200D
Post by: gmalin54 on August 26, 2017, 10:19:59 AM
In fact, the access to ML menus with the thrashbin button works only in video w/movie exposure "auto" and does not when movie exposure is set to "manual" in the Canon menu
Title: Re: Canon 1200D
Post by: matija on September 04, 2017, 10:52:20 AM
Hi,

I have actually now been using ML on 1200D for 6+ months, stills only. I have, however, gone through the testing and all I can say is what has been repeated before.

For some reason the ETTR is gone in the FW I downloaded today, although I used it with success in the first 1200D version. I have also used dual ISO (the main reason why I downloaded ML) and also zebras and magic zoom.

We are one button short. Button used for activating ML menu is AV. This button is normally used as a "shift" button, which means that when you hold it and use the dial, you are setting the "other" value. For instance, in Manual, the dial changes exposure time, and with this button pressed, aperture is changed. This is probably why the menu is not accessible when video mode is used in manual setting. Actually, if you set everything in the ML menu right while in Auto mode and then you go to Canon menu and switch to Manual, you can use all of the functions, except accessing the menu.

Also, there seems to be a huge battery drain in any of the video modes. Also intervalometer drains the battery pretty fast.

Anyway, I will do the complete report in the next few days.

Title: Re: Canon 1200D
Post by: a1ex on September 05, 2017, 08:07:41 AM
Okay, sounds like you had a version with properties enabled (http://www.magiclantern.fm/forum/index.php?topic=12627.msg181686#msg181686). In this case, I'll definitely want to know more about it (what works, what not, what you have tested).

Title: Re: Canon 1200D
Post by: matija on September 07, 2017, 01:47:25 PM
Nightly.2016Jul30.1200D101

I have, as said, used this for quite a while. I do have 80D, but 1200D with 24mm pancake I carry basically anywhere. In low light,  DualISO I used all the time. It does register as 5DM3, I am not sure whether there would be a better solution, but it was much better than without it. I do not care for resolution loss, if I do, I take 80D.

I have reset all settings, rebooted and tested from scratch. I have no idea how ML "should" look since I have no camera where it "officially" works. When not stated otherwise, M mode with manual ISO is applied.

ML menu can be accessed in M, Av, Tv, P modes. It can be accessed in Video mode only if Movie Exposure is set to Auto. In Video Manual and noob modes  "AV/Trash" button does not nothing However, in LV ML overlay is visible.

There are other quirks. I use "flash raise" button as ISO button. ( I use flash so rarely and I can still raise it from Q.) Normally, when I press it, I can change ISO settings with the dial. With ML in LV, when I press it, ISO values are shown for split second, then gone (as well as all other overlays), but when I use the dial, they come back. I actually have so grown into it that I see it as a feature, but might be of interest.

Expo:
- White Balance - works great, all features, including Auto in live view. I have no idea how to get back to Auto except throgh Q, but its fine
- ISO - if Highligh Priority is enabled, order of using ML menu and Q with same settings yields different results. As far as I can see, only in JPGs, but not 100% sure. Can set the last setting in Movie. No idea what it does.
- Shutter - OK
- Aperture - OK
- Picture Style - OK
- Expo. Lock - OK, this should be a P feature, not M, but that's another story.
- Expo. Presets - OK, nice one, will use it now that I get what it does
- Expo. Override - I can set it, changes LV a bit, not sure how this works, though

Overlay:
Global Draw - OK (again, I am not sure how it is supposed to look, so if there is useful information, I mark it as OK)
Zebras - OK (not sure about raw on photo review, RAW Zebras, works in LV)
Focus Peak - OK
Magic Zoom - OK, except in Full screen, then nothing happens
Ghost Image - OK
Spotmeter - OK
False Color - OK
Histogram - OK, ETTR Hint is great help
Waveform - OK
Vectorscope - OK

Shoot:
Advanced Bracket - If frames in "autodetect", then it shoots only one frame, seems to be working in other modes
Intervalometer - OK, have not tested all combinations, one of the things that work great outside LV. Will test battery drain tomorrow.
Bulb Timer - works, but it first takes a "normal" bulb photo, then does timed one, maybe this is OK
Motion Detect - OK, also Steady hands outside LV
Shot Preferences - PicsAtOnce and UseAutofocus work (UseAutofocus only if AF is on shutter button, but this is Cannon issue as far as I know, 80D has it on touchscreen), SnapSimulation ... no, how should it work?, did not test scripts.

Focus:
Trap Focus - Hold AF button works, also outside LV, which is gerat, Continous says "Assign AF button to half-shutter from CFn!", but changing it does nothing.
Follow Focus: OK
Rack Focus - not tested, no idea what this does
Focus Stacking - Ok, but did not really examine the pics
DOF Settings - Works, no idea if accurate
Focus Patterns - OK (used that a lot, works for sure)

And battery died, ML uses a lot of power, only took 50sh picts and 10 secs of video and tested everythign so far. Will continue tomorrow.


Title: Re: Canon 1200D
Post by: matija on September 07, 2017, 08:43:28 PM
Tried everything else except raw video modules. All of it just works. The only thing that does not work is loading all modules at once (not enough memory). And when ETTR is supposed to adjust DualISO, ti does not do what I expect it to.

Otherwise ... well, the one from jenkins is far worse. Which one do you want me to test next?

BTW, I learned so much about ML in the last two days, I need it on 80D, but that Is another topic...
Title: Re: Canon 1200D
Post by: a1ex on September 11, 2017, 11:14:48 PM
Sounds encouraging - enabled properties in the Jenkins build and updated it to the current codebase (including latest Lua).

magiclantern-Nightly.2017Sep11.1200D101.zip (https://builds.magiclantern.fm/jenkins/job/1200D.101/6/artifact/platform/1200D.101/magiclantern-Nightly.2017Sep11.1200D101.zip)
magiclantern-Nightly.2017Sep14.1200D101.zip (https://builds.magiclantern.fm/jenkins/job/1200D.101/7/artifact/platform/1200D.101/magiclantern-Nightly.2017Sep14.1200D101.zip)

Autofocus should work fine now - ML should be able to move it to the back button or to half-shutter as needed - that's how it controls autofocus (if AF is on half-shutter, taking a picture will also AF; if it's on the back button, it will not AF). It should work regardless of the AF button setting from Canon menu. However, I did not test this change - only looked up the CFn menu contents (https://bitbucket.org/hudson/magic-lantern/commits/28cbcd037c01b703a8d484d007645c1c3ec6182e).

Here are some tests I'd like you to try:

- a screenshot with raw overlays (histogram, zebra, spotmeter), with a test image that has some overexposure and some underexposure
- a screenshot of Debug -> Free Memory
- selftest.mo -> stubs API test
- lua.mo -> api_test.lua
- bench.mo -> memory benchmarks
- edmac.mo -> EDMAC model test
- the other items from the above modules (with lower priority)

Did you also have any kind of raw video in the previous build?

Do you have manual exposure controls in video mode from Canon? (if not, ML has some workarounds)
Title: Re: Canon 1200D
Post by: ilia3101 on September 12, 2017, 12:03:40 AM
Quote from: a1ex on September 11, 2017, 11:14:48 PM
Did you also have any kind of raw video in the previous build?
Same question here!

Just noticed the 1200d has ML, and looks interesting considering the price.

Also does 1200d have 40mb/s?
Title: Re: Canon 1200D
Post by: a1ex on September 12, 2017, 12:20:31 AM
It's plain old DIGIC 4, firmware very similar to 60D. Type "benchmark" in the search box ;)

No UHS strings in the firmware either.
Title: Re: Canon 1200D
Post by: 73morozzz on September 13, 2017, 08:39:16 PM
I installed a new build. After the camera is restarted, the red LED flashes the SOS (three dashes, three dots). I think that the build is incorrect.
Title: Re: Canon 1200D
Post by: m1k6 on September 14, 2017, 07:11:26 PM
Just tried the new build - with unexpected behaviour:
After inserting the card and closing the card door, the camera's LED started blinking in a SOS rythm (3 times short, 3 times long and so on).
I checked my card, but I couldn't find a log file.

I then tested the jenkins build from febuary, which is working fine.
Title: Re: Canon 1200D
Post by: a1ex on September 14, 2017, 09:49:26 PM
That's out of memory - disabled a feature and posted a new build. Ran some basic tests in QEMU (https://builds.magiclantern.fm/jenkins/view/QEMU%20nightly%20tests/job/1200D-qemu/):

(https://builds.magiclantern.fm/jenkins/view/QEMU%20nightly%20tests/job/1200D-qemu/8/artifact/qemu/1200D.gif)
Title: Re: Canon 1200D
Post by: matija on September 18, 2017, 01:58:50 AM
2017Sep14

I have not gone through everything yet, little what I have tried, works fine.

I have the screenshots, but they are not correct. As in what I see and what is in the file is not nearly identical.

With Zebras on, set overexposure at 99% and underexposure at 1%, it toggles between showing one ant the other. I am not sure if that is intentional.
The PPM has diagonal orange lines basically over the whole image except in spotmeter. I guess spotmeter, graphs, Q options etc are in the upper layers.
I will try to record the back screen with another camera in the next days. But it looks like a problem with making a screenshot since zebras work fine.

Free Memory ... when I try to do the screenshot, it somehow stays in the menu, says 228K + 664K, I guess you want next screen... will try few more times tomorrow, when I am on linux machine and I can normally use ppm files.

Here are stubs:

[Pass] is_play_mode() => 0x1
[Pass] src = fio_malloc(size) => 0x4233c0c4
[Pass] dst = fio_malloc(size) => 0x42b400d4
[Pass] memcmp(dst, src, 4097) => 0xffffff79
[Pass] edmac_memcpy(dst, src, 4097) => 0x42b400d4
[Pass] memcmp(dst, src, 4097) => 0x0
[Pass] edmac_memcpy(dst, src, 4097) => 0x42b400d4
[Pass] memcmp(dst, src, size) => 0xffffff13
[Pass] edmac_memcpy(dst, src, size) => 0x42b400d4
[Pass] memcmp(dst, src, size) => 0x0
[Pass] memcmp(dst, src, size) => 0xffffffd5
[Pass] edmac_memcpy_start(dst, src, size) => 0x42b400d4
       dt => 0x3143
[Pass] copied => 0x40216c
[Pass] copied => 0x40216c
[Pass] copied => 0x40216c
[Pass] memcmp(dst, src, copied) => 0x0
[Pass] memcmp(dst, src, copied + 16) => 0x3d
       edmac_memcpy_finish()
       free(src)
       free(dst)
Cache test A (EDMAC on BMP buffer)...
[Pass] bmp = bmp_load("ML/CROPMKS/CINESCO2.BMP", 1) => 0xcbc10
[Pass] old => 0x0
[Pass] irq => 0xc0
[Pass] differences => 0x360
[Pass] old => 0x0
[Pass] irq => 0xc0
[Pass] differences => 0x0
Cache test B (FIO on 8K buffer)...
[Pass] tries[0] => 0xf3
[Pass] tries[1] => 0xef
[Pass] tries[2] => 0x107
[Pass] tries[3] => 0xff
[Pass] failr[0] => 0xa6
[Pass] failw[0] => 0xd4
[Pass] failr[1] => 0x8d
[Pass] failw[1] => 0x0
[Pass] failr[2] => 0x0
[Pass] failw[2] => 0xe6
[Pass] failr[3] => 0x0
[Pass] failw[3] => 0x0
       times[0] / tries[0] => 0x1f
       times[1] / tries[1] => 0x1e
       times[2] / tries[2] => 0x21
       times[3] / tries[3] => 0x22
Cache tests finished.

[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] wait_focus_status(1000, 3) => 0x1
[Pass] lv_focus_status => 0x3
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] wait_focus_status(1000, 3) => 0x1
[Pass] lv_focus_status => 0x3
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] wait_focus_status(1000, 3) => 0x1
[Pass] lv_focus_status => 0x3
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] wait_focus_status(1000, 3) => 0x1
[Pass] lv_focus_status => 0x3
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] wait_focus_status(1000, 3) => 0x1
[Pass] lv_focus_status => 0x3
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] get_focus_confirmation() => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] get_focus_confirmation() => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] get_focus_confirmation() => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] get_focus_confirmation() => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] get_focus_confirmation() => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x1
[Pass] f = FIO_CreateFile("test.dat") => 0x3
[Pass] FIO_WriteFile(f, (void*)0xFF000000, 0x10000) => 0x10000
[Pass] FIO_WriteFile(f, (void*)0xFF000000, 0x10000) => 0x10000
       FIO_CloseFile(f)
[Pass] FIO_GetFileSize("test.dat", &size) => 0x0
[Pass] size => 0x20000
[Pass] p = (void*)_alloc_dma_memory(0x20000) => 0x409af030
[Pass] f = FIO_OpenFile("test.dat", O_RDONLY | O_SYNC) => 0x3
[Pass] FIO_ReadFile(f, p, 0x20000) => 0x20000
       FIO_CloseFile(f)
       _free_dma_memory(p)
[Pass] count => 0x3a98
[Pass] buf = fio_malloc(0x1000000) => 0x42204094
[Pass] FIO_GetFileSize_direct("test.dat") => 0x82000000
[Pass] f = FIO_OpenFile("test.dat", O_RDWR | O_SYNC) => 0x3
[Pass] FIO_SeekSkipFile(f, 0, SEEK_END) => 0x82000000
[Pass] FIO_WriteFile(f, buf, 0x10) => 0x10
[Pass] FIO_SeekSkipFile(f, -0x20, SEEK_END) => 0x81fffff0
[Pass] FIO_WriteFile(f, buf, 0x30) => 0x30
[Pass] FIO_SeekSkipFile(f, 0x20, SEEK_SET) => 0x20
[Pass] FIO_SeekSkipFile(f, 0x30, SEEK_CUR) => 0x50
[Pass] FIO_SeekSkipFile(f, -0x20, SEEK_CUR) => 0x30
[Pass] FIO_GetFileSize_direct("test.dat") => 0x82000020
[Pass] is_file("test.dat") => 0x1
[Pass] FIO_RemoveFile("test.dat") => 0x0
[Pass] is_file("test.dat") => 0x0
[Pass] SetTimerAfter(0, timer_cbr, overrun_cbr, 0) => 0x15
[Pass] timer_func => 0x2
[Pass] SetTimerAfter(1000, timer_cbr, overrun_cbr, 0) => 0x882e
       msleep(900)
[Pass] timer_func => 0x0
       msleep(200)
[Pass] timer_func => 0x1
[Pass] ABS((timer_time/1000 - t0) - 1000) => 0x7
[Pass] ABS((timer_arg - ta0) - 1000) => 0xa
[Pass] timer = SetTimerAfter(1000, timer_cbr, overrun_cbr, 0) => 0x8830
       msleep(400)
       CancelTimer(timer)
[Pass] timer_func => 0x0
       msleep(1500)
[Pass] timer_func => 0x0
[Pass] SetHPTimerAfterNow(0, timer_cbr, overrun_cbr, 0) => 0x15
[Pass] timer_func => 0x2
[Pass] SetHPTimerAfterNow(100000, timer_cbr, overrun_cbr, 0) => 0x4aa
       msleep(90)
[Pass] timer_func => 0x0
       msleep(20)
[Pass] timer_func => 0x1
[Pass] ABS(DeltaT(timer_time, t0) - 100000) => 0x15f
[Pass] ABS(DeltaT(timer_arg, ta0) - 100000) => 0x11b
[Pass] ABS((get_us_clock_value() - t0) - 110000) => 0x55b
[Pass] SetHPTimerAfterNow(90000, next_tick_cbr, overrun_cbr, 0) => 0x4ac
       msleep(80)
[Pass] timer_func => 0x0
       msleep(20)
[Pass] timer_func => 0x3
       msleep(80)
[FAIL] timer_func => 0x1
       msleep(20)
[Pass] timer_func => 0x1
[Pass] ABS(DeltaT(timer_time, t0) - 300000) => 0x62a
[Pass] ABS(DeltaT(timer_arg, ta0) - 300000) => 0x5d3
[FAIL] ABS((get_us_clock_value() - t0) - 310000) => 0xc8b7
       t0 = *(uint32_t*)0xC0242014 => 0x299a2
       msleep(250)
       t1 = *(uint32_t*)0xC0242014 => 0x64952
[Pass] ABS(MOD(t1-t0, 1048576)/1000 - 250) => 0x9
       LoadCalendarFromRTC( &now )
       s0 = now.tm_sec => 0x1d
       Date/time: 2017/09/18 01:26:29
       msleep(1500)
       LoadCalendarFromRTC( &now )
       s1 = now.tm_sec => 0x1f
[Pass] MOD(s1-s0, 60) => 0x2
[Pass] MOD(s1-s0, 60) => 0x2


LUA TESTS:


===============================================================================
ML/SCRIPTS/API_TEST.LUA - 2017-9-18 01:41:02
===============================================================================

Strict mode tests...
Strict mode tests passed.

Generic tests...
arg = table:
  [0] = "API_TEST.LUA"
camera = table:
  shutter = table:
    raw = 80
    apex = 3.
    ms = 125
    value = 0.124999
  aperture = table:
    raw = 45
    apex = 4.624999
    value = 4.9
    min = table:
      raw = 45
      apex = 4.624999
      value = 4.9
    max = table:
      raw = 82
      apex = 9.25
      value = 24.6
  iso = table:
    raw = 72
    apex = 5
    value = 100
  ec = table:
    raw = 0
    value = 0
  flash_ec = table:
    raw = 0
    value = 0
  kelvin = 6000
  mode = 3
  metering_mode = 3
  drive_mode = 0
  model = "Canon EOS 1200D"
  model_short = "1200D"
  firmware = "1.0.1"
  temperature = 176
  state = 0
  bulb = function: p
  burst = function: p
  wait = function: p
  shoot = function: p
  reboot = function: p
event = table:
  pre_shoot = nil
  post_shoot = nil
  shoot_task = nil
  seconds_clock = nil
  keypress = nil
  custom_picture_taking = nil
  intervalometer = nil
  config_save = nil
console = table:
  write = function: p
  show = function: p
  clear = function: p
  hide = function: p
lv = table:
  enabled = false
  paused = false
  running = false
  zoom = 1
  resume = function: p
  pause = function: p
  stop = function: p
  wait = function: p
  info = function: p
  start = function: p
lens = table:
  name = "EF-S10-18mm f/4.5-5.6 IS STM"
  focal_length = 0
  focus_distance = 14080
  hyperfocal = 0
  dof_near = 0
  dof_far = 0
  af = true
  af_mode = 0
  focus = function: p
  autofocus = function: p
display = table:
  idle = true
  height = 480
  width = 720
  load = function: p
  clear = function: p
  print = function: p
  notify_box = function: p
  draw = function: p
  line = function: p
  on = function: p
  screenshot = function: p
  rect = function: p
  off = function: p
  circle = function: p
  pixel = function: p
key = table:
  last = 10
  press = function: p
  wait = function: p
menu = table:
  visible = false
  get = function: p
  select = function: p
  new = function: p
  set = function: p
  close = function: p
  open = function: p
  block = function: p
movie = table:
  recording = false
  stop = function: p
  start = function: p
dryos = table:
  clock = 22
  ms_clock = 22422
  image_prefix = "IMG_"
  dcim_dir = table:
    exists = true
    create = function: p
    children = function: p
    files = function: p
    parent = table:
      exists = true
      create = function: p
      children = function: p
      files = function: p
      parent = table:
        exists = true
        create = function: p
        children = function: p
        files = function: p
        parent = nil
        path = "B:/"
      path = "B:/DCIM/"
    path = "B:/DCIM/104CANON/"
  config_dir = table:
    exists = true
    create = function: p
    children = function: p
    files = function: p
    parent = table:
      exists = true
      create = function: p
      children = function: p
      files = function: p
      parent = table:
        exists = true
        create = function: p
        children = function: p
        files = function: p
        parent = nil
        path = "B:/"
      path = "ML/"
    path = "ML/SETTINGS/"
  ml_card = table:
    cluster_size = 32768
    drive_letter = "B"
    file_number = 251
    folder_number = 104
    free_space = 21845824
    type = "SD"
    path = "B:/"
    _card_ptr = userdata
  shooting_card = table:
    cluster_size = 32768
    drive_letter = "B"
    file_number = 251
    folder_number = 104
    free_space = 21845824
    type = "SD"
    path = "B:/"
    _card_ptr = userdata
  date = table:
    year = 2017
    min = 41
    hour = 1
    isdst = false
    day = 18
    month = 9
    wday = 2
    yday = 261
    sec = 2
  directory = function: p
  call = function: p
  rename = function: p
  remove = function: p
interval = table:
  time = 10
  count = 0
  running = false
  stop = function: p
battery = table:
function not available on this camera
stack traceback:
[C]: in ?
[C]: in for iterator 'for iterator'
ML/SCRIPTS/LIB/logger.lua:125: in function 'logger.serialize'
ML/SCRIPTS/API_TEST.LUA:32: in function <ML/SCRIPTS/API_TEST.LUA:31>
[C]: in function 'globals.xpcall'
ML/SCRIPTS/API_TEST.LUA:31: in function 'globals.print_table'
ML/SCRIPTS/API_TEST.LUA:77: in function 'globals.generic_tests'
ML/SCRIPTS/API_TEST.LUA:1155: in function 'globals.api_tests'
ML/SCRIPTS/API_TEST.LUA:1180: in main chunktask = table:
  create = function: p
  yield = function: p
property = table:
Generic tests completed.

Module tests...
Testing file I/O...
Copy test: autoexec.bin -> tmp.bin
Copy test OK
Append test: tmp.txt
Append test OK
Rename test: apple.txt -> banana.txt
Rename test OK
Rename test: apple.txt -> ML/banana.txt
Rename test OK
File I/O tests completed.

Testing menu API...
Menu tests completed.

Testing picture taking functions...
Snap simulation test...
Single picture...
B:/DCIM/104CANON/IMG_0252.CR2: 23342908
B:/DCIM/104CANON/IMG_0252.JPG: 5848968
Two burst pictures...
Ideally, the camera should be in some continuous shooting mode (not checked).
B:/DCIM/104CANON/ABC_0253.CR2: 23337577
B:/DCIM/104CANON/ABC_0253.JPG: 5829948
B:/DCIM/104CANON/ABC_0254.CR2: 23338605
B:/DCIM/104CANON/ABC_0254.JPG: 5829263
Bracketed pictures...
B:/DCIM/104CANON/IMG_0255.CR2: 20946081
B:/DCIM/104CANON/IMG_0255.JPG: 3572488
B:/DCIM/104CANON/IMG_0256.CR2: 23345659
B:/DCIM/104CANON/IMG_0256.JPG: 5846570
B:/DCIM/104CANON/IMG_0257.CR2: 26253484
B:/DCIM/104CANON/IMG_0257.JPG: 5369382
Bulb picture...
Elapsed time: 11486
B:/DCIM/104CANON/IMG_0258.CR2: 14243441
B:/DCIM/104CANON/IMG_0258.JPG: 365013
Picture taking tests completed.

Testing multitasking...
Only one task allowed to interrupt...
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Multitasking tests completed.

Testing half-shutter...
Half-shutter test OK.

Testing module 'lv'...
Starting LiveView...
Setting zoom to x1...
Setting zoom to x5...
Setting zoom to x10...
Setting zoom to x5...
Setting zoom to x1...
Setting zoom to x10...
Setting zoom to x1...
Pausing LiveView...
Resuming LiveView...
Stopping LiveView...
LiveView tests completed.


Testing lens focus functionality...
Autofocus outside LiveView...


Title: Re: Canon 1200D
Post by: a1ex on September 18, 2017, 08:16:35 AM
Quote from: matija on September 18, 2017, 01:58:50 AM
I have the screenshots, but they are not correct. As in what I see and what is in the file is not nearly identical.

With Zebras on, set overexposure at 99% and underexposure at 1%, it toggles between showing one ant the other. I am not sure if that is intentional.
The PPM has diagonal orange lines basically over the whole image except in spotmeter. I guess spotmeter, graphs, Q options etc are in the upper layers.

Zebras, in this configuration, are done in the display hardware (ML configures the threshold, the color to overwrite, the color to display, and whether to highlight values above or below that threshold). Screenshot code knows nothing about this, so it displays all the pixels that might turn into zebras, depending on the image contents.

Workaround: use software-based zebras (RGB or regular Luma) when taking a screenshot.

Did you stop the tests earlier, or the camera turned off by itself? (auto power off)
Title: Re: Canon 1200D
Post by: matija on September 18, 2017, 12:49:00 PM
Thanx for reply. Will do screenshots.
I thought tests ended completely.
Will repeat tests with auto off off.
Quick 15 minute test drains battery from full to under 50%.
Title: Re: Canon 1200D
Post by: matija on September 18, 2017, 03:43:04 PM
Ran LUA test multiple times, there are several lines on the screen that do not get written in the file. Maybe you need an additional flush at the end?
However, this last test is successful as well. However, when I try to re-run the test without rebooting, there is an "error" text in the line and it is gray.

STUB test always has identical line length.


===============================================================================
ML/SCRIPTS/API_TEST.LUA - 2017-9-18 15:24:20
===============================================================================

Strict mode tests...
Strict mode tests passed.

Generic tests...
arg = table:
  [0] = "API_TEST.LUA"
camera = table:
  shutter = table:
    raw = 27
    apex = -3.625
    ms = 12338
    value = 12.337686
  aperture = table:
    raw = 48
    apex = 5
    value = 5.599999
    min = table:
      raw = 44
      apex = 4.5
      value = 4.7
    max = table:
      raw = 81
      apex = 9.124999
      value = 23.6
  iso = table:
    raw = 104
    apex = 9
    value = 1600
  ec = table:
    raw = 0
    value = 0
  flash_ec = table:
    raw = 0
    value = 0
  kelvin = 6000
  mode = 3
  metering_mode = 3
  drive_mode = 0
  model = "Canon EOS 1200D"
  model_short = "1200D"
  firmware = "1.0.1"
  temperature = 172
  state = 0
  reboot = function: p
  shoot = function: p
  wait = function: p
  bulb = function: p
  burst = function: p
event = table:
  pre_shoot = nil
  post_shoot = nil
  shoot_task = nil
  seconds_clock = nil
  keypress = nil
  custom_picture_taking = nil
  intervalometer = nil
  config_save = nil
console = table:
  clear = function: p
  show = function: p
  write = function: p
  hide = function: p
lv = table:
  enabled = false
  paused = false
  running = false
  zoom = 1
  resume = function: p
  stop = function: p
  pause = function: p
  info = function: p
  wait = function: p
  start = function: p
lens = table:
  name = "EF-S10-18mm f/4.5-5.6 IS STM"
  focal_length = 0
  focus_distance = 14080
  hyperfocal = 0
  dof_near = 0
  dof_far = 0
  af = true
  af_mode = 0
  focus = function: p
  autofocus = function: p
display = table:
  idle = true
  height = 480
  width = 720
  clear = function: p
  rect = function: p
  circle = function: p
  load = function: p
  off = function: p
  on = function: p
  line = function: p
  notify_box = function: p
  draw = function: p
  screenshot = function: p
  pixel = function: p
  print = function: p
key = table:
  last = 10
  wait = function: p
  press = function: p
menu = table:
  visible = false
  set = function: p
  open = function: p
  block = function: p
  select = function: p
  get = function: p
  close = function: p
  new = function: p
movie = table:
  recording = false
  stop = function: p
  start = function: p
dryos = table:
  clock = 15
  ms_clock = 15719
  image_prefix = "IMG_"
  dcim_dir = table:
    exists = true
    create = function: p
    children = function: p
    files = function: p
    parent = table:
      exists = true
      create = function: p
      children = function: p
      files = function: p
      parent = table:
        exists = true
        create = function: p
        children = function: p
        files = function: p
        parent = nil
        path = "B:/"
      path = "B:/DCIM/"
    path = "B:/DCIM/104CANON/"
  config_dir = table:
    exists = true
    create = function: p
    children = function: p
    files = function: p
    parent = table:
      exists = true
      create = function: p
      children = function: p
      files = function: p
      parent = table:
        exists = true
        create = function: p
        children = function: p
        files = function: p
        parent = nil
        path = "B:/"
      path = "ML/"
    path = "ML/SETTINGS/"
  ml_card = table:
    cluster_size = 32768
    drive_letter = "B"
    file_number = 302
    folder_number = 104
    free_space = 20006816
    type = "SD"
    path = "B:/"
    _card_ptr = userdata
  shooting_card = table:
    cluster_size = 32768
    drive_letter = "B"
    file_number = 302
    folder_number = 104
    free_space = 20006816
    type = "SD"
    path = "B:/"
    _card_ptr = userdata
  date = table:
    day = 18
    wday = 2
    year = 2017
    min = 24
    isdst = false
    sec = 21
    month = 9
    hour = 15
    yday = 261
  call = function: p
  directory = function: p
  rename = function: p
  remove = function: p
interval = table:
  time = 10
  count = 0
  running = false
  stop = function: p
battery = table:
function not available on this camera
stack traceback:
[C]: in ?
[C]: in for iterator 'for iterator'
ML/SCRIPTS/LIB/logger.lua:125: in function 'logger.serialize'
ML/SCRIPTS/API_TEST.LUA:32: in function <ML/SCRIPTS/API_TEST.LUA:31>
[C]: in function 'xpcall'
ML/SCRIPTS/API_TEST.LUA:31: in function 'print_table'
ML/SCRIPTS/API_TEST.LUA:77: in function 'generic_tests'
ML/SCRIPTS/API_TEST.LUA:1155: in function 'api_tests'
ML/SCRIPTS/API_TEST.LUA:1180: in main chunktask = table:
  create = function: p
  yield = function: p
property = table:
Generic tests completed.

Module tests...
Testing file I/O...
Copy test: autoexec.bin -> tmp.bin
Copy test OK
Append test: tmp.txt
Append test OK
Rename test: apple.txt -> banana.txt
Rename test OK
Rename test: apple.txt -> ML/banana.txt
Rename test OK
File I/O tests completed.

Testing menu API...
Menu tests completed.

Testing picture taking functions...
Snap simulation test...
Single picture...
B:/DCIM/104CANON/IMG_0303.CR2: 25801603
B:/DCIM/104CANON/IMG_0303.JPG: 5574998
Two burst pictures...
Ideally, the camera should be in some continuous shooting mode (not checked).
B:/DCIM/104CANON/ABC_0304.CR2: 25780511
B:/DCIM/104CANON/ABC_0304.JPG: 5618666
B:/DCIM/104CANON/ABC_0305.CR2: 25799499
B:/DCIM/104CANON/ABC_0305.JPG: 5612232
Bracketed pictures...
B:/DCIM/104CANON/IMG_0306.CR2: 22706513
B:/DCIM/104CANON/IMG_0306.JPG: 4545727
B:/DCIM/104CANON/IMG_0307.CR2: 25793189
B:/DCIM/104CANON/IMG_0307.JPG: 5582638
B:/DCIM/104CANON/IMG_0308.CR2: 23506898
B:/DCIM/104CANON/IMG_0308.JPG: 3162347
Bulb picture...
Elapsed time: 11587
B:/DCIM/104CANON/IMG_0309.CR2: 14259065
B:/DCIM/104CANON/IMG_0309.JPG: 365013
Picture taking tests completed.

Testing multitasking...
Only one task allowed to interrupt...
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Multitasking tests completed.

Testing half-shutter...
Half-shutter test OK.

Testing module 'lv'...
Starting LiveView...
Setting zoom to x1...
Setting zoom to x5...
Setting zoom to x10...
Setting zoom to x5...
Setting zoom to x1...
Setting zoom to x10...
Setting zoom to x1...
Pausing LiveView...
Resuming LiveView...
Stopping LiveView...
LiveView tests completed.


Testing lens focus functionality...
Autofocus outside LiveView...
Focus distance: 1400
Autofocus in LiveView...
Focus distance: 655350
Focusing backward...
Focus distance: 655350
Focus motor position: 171
Focusing forward with step size 3, wait=true...
......
Focus distance: 220
Focus motor position: -308
Focusing backward with step size 3, wait=true...
.....
Focus distance: 655350
Focus motor position: 191
Focus range: 6 steps forward, 5 steps backward.
Motor steps: 479 forward, 499 backward, 20 lost.
Focusing forward with step size 3, wait=false...
................................
Focus distance: 220
Focus motor position: -308
Focusing backward with step size 3, wait=false...
.........................
Focus distance: 655350
Focus motor position: 191
Focus range: 32 steps forward, 25 steps backward.
Motor steps: 499 forward, 499 backward, 0 lost.
Focusing forward with step size 2, wait=true...
..........................
Focus distance: 220
Focus motor position: -308
Focusing backward with step size 2, wait=true...
..........................
Focus distance: 655350
Focus motor position: 191
Focus range: 26 steps forward, 26 steps backward.
Motor steps: 499 forward, 499 backward, 0 lost.
Focusing forward with step size 2, wait=false...
...................................................
Focus distance: 220
Focus motor position: -308
Focusing backward with step size 2, wait=false...
........................................................
Focus distance: 655350
Focus motor position: 191
Focus range: 51 steps forward, 56 steps backward.
Motor steps: 499 forward, 499 backward, 0 lost.
Focusing forward with step size 1, wait=true...
...
Focus distance: 220
Focus motor position: -308
Focusing backward with step size 1, wait=true...
...
Focus distance: 655350
Focus motor position: 191
Focus range: 106 steps forward, 107 steps backward.
Motor steps: 499 forward, 499 backward, 0 lost.
Focusing forward with step size 1, wait=false...
...
Focus distance: 220
Focus motor position: -303
Focusing backward with step size 1, wait=false...
...
Focus distance: 655350
Focus motor position: 191
Focus range: 156 steps forward, 154 steps backward.
Motor steps: 494 forward, 494 backward, 0 lost.

Focus test completed.

Testing exposure settings...
Camera    : Canon EOS 1200D (1200D) 1.0.1
Lens      : EF-S10-18mm f/4.5-5.6 IS STM
Shoot mode: 3
Shutter   : ,5 (raw 75, 0.192776s, 193ms, apex 2.374999)
Aperture  : 5.6 (raw 48, f/5.599999, apex 5)
Av range  : 4.7..23 (raw 44..81, f/4.7..f/23.6, apex 4.5..9.124999)
ISO       : 1600 (raw 104, 1600, apex 9)
EC        : 0.0 (raw 0, 0 EV)
Flash EC  : 0.0 (raw 0, 0 EV)
Setting shutter to random values...
Setting ISO to random values...



(http://thumb.ibb.co/cXiE8k/BENCH1.jpg) (http://ibb.co/cXiE8k)



(http://thumb.ibb.co/eE3aEQ/VRAM46.jpg) (http://ibb.co/eE3aEQ)



(http://thumb.ibb.co/fnXrok/VRAM43.jpg) (http://ibb.co/fnXrok)

This is with screenshot on keypress, could not get it without it for some reason, might be my fault. I think red lines are caused by this because they are not there in normal operation.


(http://thumb.ibb.co/gVZqW5/VRAM69.jpg) (http://ibb.co/gVZqW5)
Title: Re: Canon 1200D
Post by: a1ex on September 18, 2017, 04:30:21 PM
The shutter, ISO and aperture tests are a little long; maybe you tried to start the test while another instance was already running? In any case, after "Setting ISO to random values..." there are a few more tests: "Setting aperture to random values..." and movie recording tests.

Minor: focus step sizes 1 and 2 appear to be identical; it may depend on the lens, and I expect to be the same in EOS utility.

I doubt Lua needs explicit flush on file I/O side, especially since the file is closed before the script ends. You can check by commenting out the tests in api_tests() and leaving just the log file creation and one printf, for example.

Your LiveView screenshot reveals another bug: ML overlays over Canon status bar. That shouldn't happen.
Title: Re: Canon 1200D
Post by: matija on September 18, 2017, 06:01:37 PM
Definitely not all lines are shown in the file, but my mistake, sorry.

M/SCRIPTS/API_TEST.LUA:588 set `iso` failed
you have lines in stack:
588 globals.test_camera_exposure
1166 globals.api_test
1188  main chunk

and then that its finished.


            if math.random(1,2) == 1 then
                camera.iso.value = iso
            else
                camera.iso = iso
            end


I just skipped it, however, there was another error, line 520. I run it several times, it sometimes passes. Then it hits at 507. I will try to get the "safe" ranges for all values. Also, on 1200D, ISO can only be set in full stops, maybe thats the issue here. I will test it as well, LUA here I come.
BTW, camera.iso and camera.iso.value, what is the difference? Just a brief explanation or link.

Regarding lens, I can test with a faster lens. Besides 10-18mm, I have Canon 85mm f/1.8, Canon 18-135 STM, Sigma 30mm 1.4 Art and Canon 24mm f/2.8 STM, so if you know the results with any of these, I can use the same one.

To the overlays, can you please post how it should look? Is there a way to change the looks without diving into C? I live of python, I think LUA should not be a problem, but my C skills ... its been 25 years since I last used it.


Title: Re: Canon 1200D
Post by: a1ex on September 18, 2017, 06:14:01 PM
Quote from: matija on September 18, 2017, 06:01:37 PM
BTW, camera.iso and camera.iso.value, what is the difference?

No difference; just two ways of setting the same thing (and the API test tries both methods).

Quote
To the overlays, can you please post how it should look?

If Canon overlays are enabled, ML should refuse to draw its overlays and should print a warning in menu. Will let you know how to diagnose it.




Looking at stubs test (selftest.c), Canon powersaving (auto power off) should be disabled temporarily by ML while running any of the tests from there. Lua doesn't have this trick (will fix). Do you mind repeating the stubs test, with auto power off enabled and set to 30 seconds?

Other places with powersave workarounds:
- ML installer (it waits for 60 seconds to disable the boot flag; if Auto power off is set to 30 seconds, ML should prevent the camera from turning off, even if you don't press any button during this interval).
- turning the focus ring on a lens that reports focus distance, in MF mode (issue 2431 (https://bitbucket.org/hudson/magic-lantern/issues/2431) - with Canon firmware, this action will not reset the powersave timer, but should do this with ML)
- file_man during very long file copy operations
- mlv_rec/mlv_lite/silent (not yet on 1200D)




BTW, some progress understanding how the Av button works:
http://www.magiclantern.fm/forum/index.php?topic=17596.msg190102#msg190102
Title: Re: Canon 1200D
Post by: matija on September 19, 2017, 02:30:07 PM
Ok, regarding function test_camera_exposure(), when I comment out all other tests, this tests passes in non-LV mode, but fails (most of the time) in LV. The fail seems completely independent of method and value. I ran this function ~50 times with fors increased to 1000 iterations and printing of values before the change.

I know so little about the ML internals, but it from stack, it is clear that the underlying C function fails. I have tried with Manual and Auto ISO and various other options set or unset, including toggling Canon and ML Overlays, could not see a definite influence. I am including a screenshot below.


(http://thumb.ibb.co/d5BLg5/IMG_20170919_141813.jpg) (http://ibb.co/d5BLg5)


But from the feel of it (yeah, I know), processor or memory may just be inadequate. I know ML is for most people about Video, but I would prefer to have a light and stable version with partial functionality.

There is a bigger issue I noticed, I did not do Video tests because in the settings I have had for a while, I did not load raw video modes at all. Now that I try it, there are errors there, even before any tests are run. I have drained both my batteries, I want to see which module is the issue or which combination next.

Will repeat the tests as you suggested as soon as the batteries are full. Yeah, have to get that AC thingy ASAP.
Title: Re: Canon 1200D
Post by: matija on September 19, 2017, 05:28:06 PM
Took last nightly for 1200D. Nightly.2017Sep15.1200D101
Enabled all modules, got errors:

(http://thumb.ibb.co/dSbCdk/IMG_20170919_164325.jpg) (http://ibb.co/dSbCdk)


I tried to get as many modules as possible on without errors, this is the result:

(http://thumb.ibb.co/jWZLW5/IMG_20170919_165954.jpg) (http://ibb.co/jWZLW5)


With adding any of the disabled modules, some errors appear. All not in the first image seem to be dependency issues, so I will not go through all combinations unless you need me to.

With 30s shutdown, stubtest ran:
[Pass] is_play_mode() => 0x1
[Pass] src = fio_malloc(size) => 0x426d0464
[Pass] dst = fio_malloc(size) => 0x42ed4474
[Pass] memcmp(dst, src, 4097) => 0x12
[Pass] edmac_memcpy(dst, src, 4097) => 0x42ed4474
[Pass] memcmp(dst, src, 4097) => 0x0
[Pass] edmac_memcpy(dst, src, 4097) => 0x42ed4474
[Pass] memcmp(dst, src, size) => 0xffffff60
[Pass] edmac_memcpy(dst, src, size) => 0x42ed4474
[Pass] memcmp(dst, src, size) => 0x0
[Pass] memcmp(dst, src, size) => 0xffffff02
[Pass] edmac_memcpy_start(dst, src, size) => 0x42ed4474
       dt => 0x31e0
[Pass] copied => 0x40240c
[Pass] copied => 0x40240c
[Pass] copied => 0x40240c
[Pass] memcmp(dst, src, copied) => 0x0
[Pass] memcmp(dst, src, copied + 16) => 0x50
       edmac_memcpy_finish()
       free(src)
       free(dst)
Cache test A (EDMAC on BMP buffer)...
[Pass] bmp = bmp_load("ML/CROPMKS/CINESCO2.BMP", 1) => 0xcbfd0
[Pass] old => 0x0
[Pass] irq => 0xc0
[Pass] differences => 0x4a0
[Pass] old => 0x0
[Pass] irq => 0xc0
[Pass] differences => 0x0
Cache test B (FIO on 8K buffer)...
[Pass] tries[0] => 0xf5
[Pass] tries[1] => 0xdb
[Pass] tries[2] => 0x111
[Pass] tries[3] => 0x107
[Pass] failr[0] => 0xa9
[Pass] failw[0] => 0xd2
[Pass] failr[1] => 0x7b
[Pass] failw[1] => 0x0
[Pass] failr[2] => 0x0
[Pass] failw[2] => 0xea
[Pass] failr[3] => 0x0
[Pass] failw[3] => 0x0
       times[0] / tries[0] => 0x1d
       times[1] / tries[1] => 0x1d
       times[2] / tries[2] => 0x21
       times[3] / tries[3] => 0x22
Cache tests finished.

[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[FAIL] wait_focus_status(1000, 3) => 0x0
[FAIL] lv_focus_status => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] lv_focus_status => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[FAIL] wait_focus_status(1000, 3) => 0x0
[FAIL] lv_focus_status => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] lv_focus_status => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[FAIL] wait_focus_status(1000, 3) => 0x0
[FAIL] lv_focus_status => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] lv_focus_status => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[FAIL] wait_focus_status(1000, 3) => 0x0
[FAIL] lv_focus_status => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] lv_focus_status => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[FAIL] wait_focus_status(1000, 3) => 0x0
[FAIL] lv_focus_status => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] lv_focus_status => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[FAIL] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[FAIL] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[FAIL] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[FAIL] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[FAIL] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x2
[Pass] f = FIO_CreateFile("test.dat") => 0x3
[Pass] FIO_WriteFile(f, (void*)0xFF000000, 0x10000) => 0x10000
[Pass] FIO_WriteFile(f, (void*)0xFF000000, 0x10000) => 0x10000
       FIO_CloseFile(f)
[Pass] FIO_GetFileSize("test.dat", &size) => 0x0
[Pass] size => 0x20000
[Pass] p = (void*)_alloc_dma_memory(0x20000) => 0x409b076c
[Pass] f = FIO_OpenFile("test.dat", O_RDONLY | O_SYNC) => 0x3
[Pass] FIO_ReadFile(f, p, 0x20000) => 0x20000
       FIO_CloseFile(f)
       _free_dma_memory(p)
[Pass] count => 0x3a98
[Pass] buf = fio_malloc(0x1000000) => 0x426d0464
[Pass] FIO_GetFileSize_direct("test.dat") => 0x82000000
[Pass] f = FIO_OpenFile("test.dat", O_RDWR | O_SYNC) => 0x3
[Pass] FIO_SeekSkipFile(f, 0, SEEK_END) => 0x82000000
[Pass] FIO_WriteFile(f, buf, 0x10) => 0x10
[Pass] FIO_SeekSkipFile(f, -0x20, SEEK_END) => 0x81fffff0
[Pass] FIO_WriteFile(f, buf, 0x30) => 0x30
[Pass] FIO_SeekSkipFile(f, 0x20, SEEK_SET) => 0x20
[Pass] FIO_SeekSkipFile(f, 0x30, SEEK_CUR) => 0x50
[Pass] FIO_SeekSkipFile(f, -0x20, SEEK_CUR) => 0x30
[Pass] FIO_GetFileSize_direct("test.dat") => 0x82000020
[Pass] is_file("test.dat") => 0x1
[Pass] FIO_RemoveFile("test.dat") => 0x0
[Pass] is_file("test.dat") => 0x0
[Pass] SetTimerAfter(0, timer_cbr, overrun_cbr, 0) => 0x15
[Pass] timer_func => 0x2
[Pass] SetTimerAfter(1000, timer_cbr, overrun_cbr, 0) => 0x9fe4
       msleep(900)
[Pass] timer_func => 0x0
       msleep(200)
[Pass] timer_func => 0x1
[Pass] ABS((timer_time/1000 - t0) - 1000) => 0x9
[Pass] ABS((timer_arg - ta0) - 1000) => 0xa
[Pass] timer = SetTimerAfter(1000, timer_cbr, overrun_cbr, 0) => 0xa00c
       msleep(400)
       CancelTimer(timer)
[Pass] timer_func => 0x0
       msleep(1500)
[Pass] timer_func => 0x0
[Pass] SetHPTimerAfterNow(0, timer_cbr, overrun_cbr, 0) => 0x15
[Pass] timer_func => 0x2
[Pass] SetHPTimerAfterNow(100000, timer_cbr, overrun_cbr, 0) => 0x698
       msleep(90)
[Pass] timer_func => 0x0
       msleep(20)
[Pass] timer_func => 0x1
[Pass] ABS(DeltaT(timer_time, t0) - 100000) => 0x16f
[Pass] ABS(DeltaT(timer_arg, ta0) - 100000) => 0x125
[Pass] ABS((get_us_clock_value() - t0) - 110000) => 0x3f5
[Pass] SetHPTimerAfterNow(90000, next_tick_cbr, overrun_cbr, 0) => 0x69a
       msleep(80)
[Pass] timer_func => 0x0
       msleep(20)
[Pass] timer_func => 0x3
       msleep(80)
[Pass] timer_func => 0x3
       msleep(20)
[Pass] timer_func => 0x1
[Pass] ABS(DeltaT(timer_time, t0) - 300000) => 0x4a5
[Pass] ABS(DeltaT(timer_arg, ta0) - 300000) => 0x45c
[Pass] ABS((get_us_clock_value() - t0) - 310000) => 0x202
       t0 = *(uint32_t*)0xC0242014 => 0x54868
       msleep(250)
       t1 = *(uint32_t*)0xC0242014 => 0x8f9e0
[Pass] ABS(MOD(t1-t0, 1048576)/1000 - 250) => 0x8
       LoadCalendarFromRTC( &now )
       s0 = now.tm_sec => 0x32
       Date/time: 2017/09/19 17:07:50
       msleep(1500)
       LoadCalendarFromRTC( &now )
       s1 = now.tm_sec => 0x34
[Pass] MOD(s1-s0, 60) => 0x2
[Pass] MOD(s1-s0, 60) => 0x2
       m0 = MALLOC_FREE_MEMORY => 0x372e0
[Pass] p = (void*)_malloc(50*1024) => 0xcdd10
[Pass] CACHEABLE(p) => 0xcdd10
       m1 = MALLOC_FREE_MEMORY => 0x2aad0
       _free(p)
       m2 = MALLOC_FREE_MEMORY => 0x372e0
[Pass] ABS((m0-m1) - 50*1024) => 0x10
[Pass] ABS(m0-m2) => 0x0
       m0 = GetFreeMemForAllocateMemory() => 0x102e30
[Pass] p = (void*)_AllocateMemory(256*1024) => 0xbe1e34
[Pass] CACHEABLE(p) => 0xbe1e34
       m1 = GetFreeMemForAllocateMemory() => 0xc2e20
       _FreeMemory(p)
       m2 = GetFreeMemForAllocateMemory() => 0x102e30
[Pass] ABS((m0-m1) - 256*1024) => 0x10
[Pass] ABS(m0-m2) => 0x0
       m01 = MALLOC_FREE_MEMORY => 0x372e0
       m02 = GetFreeMemForAllocateMemory() => 0x102e30
[Pass] p = (void*)_alloc_dma_memory(256*1024) => 0x40be1e74
[Pass] UNCACHEABLE(p) => 0x40be1e74
[Pass] CACHEABLE(p) => 0xbe1e74
[Pass] UNCACHEABLE(CACHEABLE(p)) => 0x40be1e74
       _free_dma_memory(p)
[Pass] p = (void*)_shoot_malloc(24*1024*1024) => 0x426d0454
[Pass] UNCACHEABLE(p) => 0x426d0454
       _shoot_free(p)
       m11 = MALLOC_FREE_MEMORY => 0x372e0
       m12 = GetFreeMemForAllocateMemory() => 0x102e30
[Pass] ABS(m01-m11) => 0x0
[Pass] ABS(m02-m12) => 0x0
[Pass] suite = shoot_malloc_suite_contig(24*1024*1024) => 0xc8668
[Pass] suite->signature => 'MemSuite'
[Pass] suite->num_chunks => 0x1
[Pass] suite->size => 0x1800000
[Pass] chunk = GetFirstChunkFromSuite(suite) => 0xc8a88
[Pass] chunk->signature => 'MemChunk'
[Pass] chunk->size => 0x1800000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x426d0450
[Pass] UNCACHEABLE(p) => 0x426d0450
       shoot_free_suite(suite); suite = 0; chunk = 0;
[Pass] suite = shoot_malloc_suite_contig(0) => 0xc8668
[Pass] suite->signature => 'MemSuite'
[Pass] suite->num_chunks => 0x1
[Pass] suite->size => 0x1d3c000
[Pass] chunk = GetFirstChunkFromSuite(suite) => 0xc8a88
[Pass] chunk->signature => 'MemChunk'
[Pass] chunk->size => 0x1d3c000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x4a000070
[Pass] UNCACHEABLE(p) => 0x4a000070
       shoot_free_suite(suite); suite = 0; chunk = 0;
[Pass] suite = shoot_malloc_suite(64*1024*1024) => 0xc8668
[Pass] suite->signature => 'MemSuite'
[Pass] suite->num_chunks => 0x5
[Pass] suite->size => 0x4000000
[Pass] chunk = GetFirstChunkFromSuite(suite) => 0xc8a88
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x192c000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x426d0450
[Pass] UNCACHEABLE(p) => 0x426d0450
       chunk = GetNextMemoryChunk(suite, chunk) => 0xc8ae8
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x1d2c000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x42100070
[Pass] UNCACHEABLE(p) => 0x42100070
       chunk = GetNextMemoryChunk(suite, chunk) => 0xc8b20
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x3c94000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x4a000070
[Pass] UNCACHEABLE(p) => 0x4a000070
       chunk = GetNextMemoryChunk(suite, chunk) => 0xc8b58
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x3d28000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x4bf68100
[Pass] UNCACHEABLE(p) => 0x4bf68100
       chunk = GetNextMemoryChunk(suite, chunk) => 0xc8b90
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x4000000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x413f8070
[Pass] UNCACHEABLE(p) => 0x413f8070
       chunk = GetNextMemoryChunk(suite, chunk) => 0x0
[Pass] total => 0x4000000
       shoot_free_suite(suite); suite = 0; chunk = 0;
[Pass] suite = shoot_malloc_suite(0) => 0xc8668
[Pass] suite->signature => 'MemSuite'
[Pass] suite->num_chunks => 0x5
[Pass] suite->size => 0x4700000
[Pass] chunk = GetFirstChunkFromSuite(suite) => 0xc8a88
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x192c000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x426d0450
[Pass] UNCACHEABLE(p) => 0x426d0450
       chunk = GetNextMemoryChunk(suite, chunk) => 0xc8ae8
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x1d2c000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x42100070
[Pass] UNCACHEABLE(p) => 0x42100070
       chunk = GetNextMemoryChunk(suite, chunk) => 0xc8b20
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x3c94000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x4a000070
[Pass] UNCACHEABLE(p) => 0x4a000070
       chunk = GetNextMemoryChunk(suite, chunk) => 0xc8b58
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x3d28000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x4bf68100
[Pass] UNCACHEABLE(p) => 0x4bf68100
       chunk = GetNextMemoryChunk(suite, chunk) => 0xc8b90
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x4700000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x413f8070
[Pass] UNCACHEABLE(p) => 0x413f8070
       chunk = GetNextMemoryChunk(suite, chunk) => 0x0
[Pass] total => 0x4700000
       shoot_free_suite(suite); suite = 0; chunk = 0;
[Pass] strlen("abc") => 0x3
[Pass] strlen("qwertyuiop") => 0xa
[Pass] strlen("") => 0x0
[Pass] strcpy(msg, "hi there") => 0x16bc34
[Pass] msg => 'hi there'
[Pass] snprintf(a, sizeof(a), "foo") => 0x3
[Pass] snprintf(b, sizeof(b), "foo") => 0x3
[Pass] strcmp(a, b) => 0x0
[Pass] snprintf(a, sizeof(a), "bar") => 0x3
[Pass] snprintf(b, sizeof(b), "baz") => 0x3
[Pass] strcmp(a, b) => 0xfffffff8
[Pass] snprintf(a, sizeof(a), "Display") => 0x7
[Pass] snprintf(b, sizeof(b), "Defishing") => 0x9
[Pass] strcmp(a, b) => 0x4
[Pass] snprintf(buf, 3, "%d", 1234) => 0x2
[Pass] buf => '12'
[Pass] memcpy(foo, bar, 6) => 0x16bc00
[Pass] foo => 'asdfghuiop'
[Pass] memset(bar, '*', 5) => 0x16bbe0
[Pass] bar => '*****hjkl;'
       bzero32(bar + 5, 5)
[Pass] bar => '****'
       EngDrvOut(LCD_Palette[0], 0x1234)
[Pass] shamem_read(LCD_Palette[0]) => 0x1234
       call("TurnOnDisplay")
[Pass] DISPLAY_IS_ON => 0x1
       call("TurnOffDisplay")
[Pass] DISPLAY_IS_ON => 0x0
       call("TurnOnDisplay")
[Pass] DISPLAY_IS_ON => 0x1
       task_create("test", 0x1c, 0x1000, test_task, 0) => 0x18a600c4
[Pass] test_task_created => 0x1
[Pass] get_current_task_name() => 'run_test'
[Pass] task_max => 0x68
[Pass] task_max => 0x68
[Pass] mq = mq ? mq : (void*)msg_queue_create("test", 5) => 0x18a800a2
[Pass] msg_queue_post(mq, 0x1234567) => 0x0
[Pass] msg_queue_receive(mq, (struct event **) &m, 500) => 0x0
[Pass] m => 0x1234567
[Pass] msg_queue_receive(mq, (struct event **) &m, 500) => 0x9
[Pass] sem = sem ? sem : create_named_semaphore("test", 1) => 0x18aa0324
[Pass] take_semaphore(sem, 500) => 0x0
[Pass] take_semaphore(sem, 500) => 0x9
[Pass] give_semaphore(sem) => 0x0
[Pass] take_semaphore(sem, 500) => 0x0
[Pass] give_semaphore(sem) => 0x0
[Pass] rlock = rlock ? rlock : CreateRecursiveLock(0) => 0x18ac0082
[Pass] AcquireRecursiveLock(rlock, 500) => 0x0
[Pass] AcquireRecursiveLock(rlock, 500) => 0x0
[Pass] ReleaseRecursiveLock(rlock) => 0x0
[Pass] ReleaseRecursiveLock(rlock) => 0x0
[Pass] ReleaseRecursiveLock(rlock) => 0xf
       SetGUIRequestMode(1); msleep(1000);
[Pass] CURRENT_GUI_MODE => 0x1
       SetGUIRequestMode(2); msleep(1000);
[Pass] CURRENT_GUI_MODE => 0x2
       SetGUIRequestMode(0); msleep(1000);
[Pass] CURRENT_GUI_MODE => 0x0
[Pass] display_idle() => 0x1
       GUI_Control(BGMT_PLAY, 0, 0, 0); msleep(1000);
[Pass] PLAY_MODE => 0x1
[Pass] MENU_MODE => 0x0
       GUI_Control(BGMT_MENU, 0, 0, 0); msleep(1000);
[Pass] MENU_MODE => 0x1
[Pass] PLAY_MODE => 0x0
[Pass] dialog->type => 'DIALOG'
       GUI_Control(BGMT_MENU, 0, 0, 0); msleep(500);
[Pass] MENU_MODE => 0x0
[Pass] PLAY_MODE => 0x0
       SW1(1,100)
[Pass] HALFSHUTTER_PRESSED => 0x1
       SW1(0,100)
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] is_play_mode() => 0x1
[Pass] is_pure_play_photo_mode() => 0x1
[Pass] is_pure_play_movie_mode() => 0x0
[Pass] is_play_mode() => 0x1
[Pass] is_pure_play_photo_mode() => 0x0
[Pass] is_pure_play_movie_mode() => 0x0
[Pass] is_play_mode() => 0x1
[Pass] is_pure_play_photo_mode() => 0x0
[Pass] is_pure_play_movie_mode() => 0x1
[Pass] is_play_mode() => 0x1
[Pass] is_pure_play_photo_mode() => 0x0
[Pass] is_pure_play_movie_mode() => 0x0


Title: Re: Canon 1200D
Post by: matija on September 19, 2017, 05:32:46 PM
... continuing, due to 20k limit ...

Disabled, it ran:
[Pass] is_play_mode() => 0x1
[Pass] src = fio_malloc(size) => 0x426d0464
[Pass] dst = fio_malloc(size) => 0x42ed4474
[Pass] memcmp(dst, src, 4097) => 0xffffff88
[Pass] edmac_memcpy(dst, src, 4097) => 0x42ed4474
[Pass] memcmp(dst, src, 4097) => 0x0
[Pass] edmac_memcpy(dst, src, 4097) => 0x42ed4474
[Pass] memcmp(dst, src, size) => 0xffffffab
[Pass] edmac_memcpy(dst, src, size) => 0x42ed4474
[Pass] memcmp(dst, src, size) => 0x0
[Pass] memcmp(dst, src, size) => 0x81
[Pass] edmac_memcpy_start(dst, src, size) => 0x42ed4474
       dt => 0x3132
[Pass] copied => 0x4024ac
[Pass] copied => 0x4024ac
[Pass] copied => 0x4024ac
[Pass] memcmp(dst, src, copied) => 0x0
[Pass] memcmp(dst, src, copied + 16) => 0xffffff93
       edmac_memcpy_finish()
       free(src)
       free(dst)
Cache test A (EDMAC on BMP buffer)...
[Pass] bmp = bmp_load("ML/CROPMKS/CINESCO2.BMP", 1) => 0xcc098
[Pass] old => 0x0
[Pass] irq => 0xc0
[Pass] differences => 0x4ff
[Pass] old => 0x0
[Pass] irq => 0xc0
[Pass] differences => 0x0
Cache test B (FIO on 8K buffer)...
[Pass] tries[0] => 0xfd
[Pass] tries[1] => 0x106
[Pass] tries[2] => 0xeb
[Pass] tries[3] => 0xfa
[Pass] failr[0] => 0xb5
[Pass] failw[0] => 0xe2
[Pass] failr[1] => 0x9c
[Pass] failw[1] => 0x0
[Pass] failr[2] => 0x0
[Pass] failw[2] => 0xc9
[Pass] failr[3] => 0x0
[Pass] failw[3] => 0x0
       times[0] / tries[0] => 0x1d
       times[1] / tries[1] => 0x1d
       times[2] / tries[2] => 0x20
       times[3] / tries[3] => 0x20
Cache tests finished.

[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[FAIL] wait_focus_status(1000, 3) => 0x0
[FAIL] lv_focus_status => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] lv_focus_status => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[FAIL] wait_focus_status(1000, 3) => 0x0
[FAIL] lv_focus_status => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] lv_focus_status => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[FAIL] wait_focus_status(1000, 3) => 0x0
[FAIL] lv_focus_status => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] lv_focus_status => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[FAIL] wait_focus_status(1000, 3) => 0x0
[FAIL] lv_focus_status => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] lv_focus_status => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[FAIL] wait_focus_status(1000, 3) => 0x0
[FAIL] lv_focus_status => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] lv_focus_status => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[FAIL] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[FAIL] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[FAIL] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[FAIL] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[FAIL] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x2
[Pass] f = FIO_CreateFile("test.dat") => 0x3
[Pass] FIO_WriteFile(f, (void*)0xFF000000, 0x10000) => 0x10000
[Pass] FIO_WriteFile(f, (void*)0xFF000000, 0x10000) => 0x10000
       FIO_CloseFile(f)
[Pass] FIO_GetFileSize("test.dat", &size) => 0x0
[Pass] size => 0x20000
[Pass] p = (void*)_alloc_dma_memory(0x20000) => 0x409a76d4
[Pass] f = FIO_OpenFile("test.dat", O_RDONLY | O_SYNC) => 0x3
[Pass] FIO_ReadFile(f, p, 0x20000) => 0x20000
       FIO_CloseFile(f)
       _free_dma_memory(p)
[Pass] count => 0x3a98
[Pass] buf = fio_malloc(0x1000000) => 0x426d0464
[Pass] FIO_GetFileSize_direct("test.dat") => 0x82000000
[Pass] f = FIO_OpenFile("test.dat", O_RDWR | O_SYNC) => 0x3
[Pass] FIO_SeekSkipFile(f, 0, SEEK_END) => 0x82000000
[Pass] FIO_WriteFile(f, buf, 0x10) => 0x10
[Pass] FIO_SeekSkipFile(f, -0x20, SEEK_END) => 0x81fffff0
[Pass] FIO_WriteFile(f, buf, 0x30) => 0x30
[Pass] FIO_SeekSkipFile(f, 0x20, SEEK_SET) => 0x20
[Pass] FIO_SeekSkipFile(f, 0x30, SEEK_CUR) => 0x50
[Pass] FIO_SeekSkipFile(f, -0x20, SEEK_CUR) => 0x30
[Pass] FIO_GetFileSize_direct("test.dat") => 0x82000020
[Pass] is_file("test.dat") => 0x1
[Pass] FIO_RemoveFile("test.dat") => 0x0
[Pass] is_file("test.dat") => 0x0
[Pass] SetTimerAfter(0, timer_cbr, overrun_cbr, 0) => 0x15
[Pass] timer_func => 0x2
[Pass] SetTimerAfter(1000, timer_cbr, overrun_cbr, 0) => 0x8966
       msleep(900)
[Pass] timer_func => 0x0
       msleep(200)
[Pass] timer_func => 0x1
[Pass] ABS((timer_time/1000 - t0) - 1000) => 0x1
[Pass] ABS((timer_arg - ta0) - 1000) => 0xa
[Pass] timer = SetTimerAfter(1000, timer_cbr, overrun_cbr, 0) => 0x8968
       msleep(400)
       CancelTimer(timer)
[Pass] timer_func => 0x0
       msleep(1500)
[Pass] timer_func => 0x0
[Pass] SetHPTimerAfterNow(0, timer_cbr, overrun_cbr, 0) => 0x15
[Pass] timer_func => 0x2
[Pass] SetHPTimerAfterNow(100000, timer_cbr, overrun_cbr, 0) => 0x460
       msleep(90)
[Pass] timer_func => 0x0
       msleep(20)
[Pass] timer_func => 0x1
[Pass] ABS(DeltaT(timer_time, t0) - 100000) => 0x173
[Pass] ABS(DeltaT(timer_arg, ta0) - 100000) => 0x126
[FAIL] ABS((get_us_clock_value() - t0) - 110000) => 0x1398f
[Pass] SetHPTimerAfterNow(90000, next_tick_cbr, overrun_cbr, 0) => 0x462
       msleep(80)
[Pass] timer_func => 0x0
       msleep(20)
[Pass] timer_func => 0x3
       msleep(80)
[Pass] timer_func => 0x3
       msleep(20)
[Pass] timer_func => 0x1
[FAIL] ABS(DeltaT(timer_time, t0) - 300000) => 0x13a5d
[FAIL] ABS(DeltaT(timer_arg, ta0) - 300000) => 0x13a19
[FAIL] ABS((get_us_clock_value() - t0) - 310000) => 0x13613
       t0 = *(uint32_t*)0xC0242014 => 0xbbf8b
       msleep(250)
       t1 = *(uint32_t*)0xC0242014 => 0x150
[Pass] ABS(MOD(t1-t0, 1048576)/1000 - 250) => 0x1c
       LoadCalendarFromRTC( &now )
       s0 = now.tm_sec => 0x2
       Date/time: 2017/09/19 17:18:02
       msleep(1500)
       LoadCalendarFromRTC( &now )
       s1 = now.tm_sec => 0x4
[Pass] MOD(s1-s0, 60) => 0x2
[Pass] MOD(s1-s0, 60) => 0x2
       m0 = MALLOC_FREE_MEMORY => 0x371a8
[Pass] p = (void*)_malloc(50*1024) => 0xcddd8
[Pass] CACHEABLE(p) => 0xcddd8
       m1 = MALLOC_FREE_MEMORY => 0x2a998
       _free(p)
       m2 = MALLOC_FREE_MEMORY => 0x371a8
[Pass] ABS((m0-m1) - 50*1024) => 0x10
[Pass] ABS(m0-m2) => 0x0
       m0 = GetFreeMemForAllocateMemory() => 0x102df0
[Pass] p = (void*)_AllocateMemory(256*1024) => 0xbf949c
[Pass] CACHEABLE(p) => 0xbf949c
       m1 = GetFreeMemForAllocateMemory() => 0xc2de0
       _FreeMemory(p)
       m2 = GetFreeMemForAllocateMemory() => 0x102df0
[Pass] ABS((m0-m1) - 256*1024) => 0x10
[Pass] ABS(m0-m2) => 0x0
       m01 = MALLOC_FREE_MEMORY => 0x371a8
       m02 = GetFreeMemForAllocateMemory() => 0x102df0
[Pass] p = (void*)_alloc_dma_memory(256*1024) => 0x40bf94dc
[Pass] UNCACHEABLE(p) => 0x40bf94dc
[Pass] CACHEABLE(p) => 0xbf94dc
[Pass] UNCACHEABLE(CACHEABLE(p)) => 0x40bf94dc
       _free_dma_memory(p)
[Pass] p = (void*)_shoot_malloc(24*1024*1024) => 0x426d0454
[Pass] UNCACHEABLE(p) => 0x426d0454
       _shoot_free(p)
       m11 = MALLOC_FREE_MEMORY => 0x371a8
       m12 = GetFreeMemForAllocateMemory() => 0x102df0
[Pass] ABS(m01-m11) => 0x0
[Pass] ABS(m02-m12) => 0x0
[Pass] suite = shoot_malloc_suite_contig(24*1024*1024) => 0xc6438
[Pass] suite->signature => 'MemSuite'
[Pass] suite->num_chunks => 0x1
[Pass] suite->size => 0x1800000
[Pass] chunk = GetFirstChunkFromSuite(suite) => 0xc7658
[Pass] chunk->signature => 'MemChunk'
[Pass] chunk->size => 0x1800000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x426d0450
[Pass] UNCACHEABLE(p) => 0x426d0450
       shoot_free_suite(suite); suite = 0; chunk = 0;
[Pass] suite = shoot_malloc_suite_contig(0) => 0xc6438
[Pass] suite->signature => 'MemSuite'
[Pass] suite->num_chunks => 0x1
[Pass] suite->size => 0x1d3c000
[Pass] chunk = GetFirstChunkFromSuite(suite) => 0xc7658
[Pass] chunk->signature => 'MemChunk'
[Pass] chunk->size => 0x1d3c000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x4a000070
[Pass] UNCACHEABLE(p) => 0x4a000070
       shoot_free_suite(suite); suite = 0; chunk = 0;
[Pass] suite = shoot_malloc_suite(64*1024*1024) => 0xc6438
[Pass] suite->signature => 'MemSuite'
[Pass] suite->num_chunks => 0x5
[Pass] suite->size => 0x4000000
[Pass] chunk = GetFirstChunkFromSuite(suite) => 0xc7658
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x192c000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x426d0450
[Pass] UNCACHEABLE(p) => 0x426d0450
       chunk = GetNextMemoryChunk(suite, chunk) => 0xc8b30
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x1d2c000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x42100070
[Pass] UNCACHEABLE(p) => 0x42100070
       chunk = GetNextMemoryChunk(suite, chunk) => 0xc8b68
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x3c94000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x4a000070
[Pass] UNCACHEABLE(p) => 0x4a000070
       chunk = GetNextMemoryChunk(suite, chunk) => 0xc8ba0
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x3d28000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x4bf68100
[Pass] UNCACHEABLE(p) => 0x4bf68100
       chunk = GetNextMemoryChunk(suite, chunk) => 0xc8bd8
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x4000000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x413f8070
[Pass] UNCACHEABLE(p) => 0x413f8070
       chunk = GetNextMemoryChunk(suite, chunk) => 0x0
[Pass] total => 0x4000000
       shoot_free_suite(suite); suite = 0; chunk = 0;
[Pass] suite = shoot_malloc_suite(0) => 0xc6438
[Pass] suite->signature => 'MemSuite'
[Pass] suite->num_chunks => 0x5
[Pass] suite->size => 0x4700000
[Pass] chunk = GetFirstChunkFromSuite(suite) => 0xc7658
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x192c000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x426d0450
[Pass] UNCACHEABLE(p) => 0x426d0450
       chunk = GetNextMemoryChunk(suite, chunk) => 0xc8b30
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x1d2c000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x42100070
[Pass] UNCACHEABLE(p) => 0x42100070
       chunk = GetNextMemoryChunk(suite, chunk) => 0xc8b68
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x3c94000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x4a000070
[Pass] UNCACHEABLE(p) => 0x4a000070
       chunk = GetNextMemoryChunk(suite, chunk) => 0xc8ba0
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x3d28000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x4bf68100
[Pass] UNCACHEABLE(p) => 0x4bf68100
       chunk = GetNextMemoryChunk(suite, chunk) => 0xc8bd8
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x4700000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x413f8070
[Pass] UNCACHEABLE(p) => 0x413f8070
       chunk = GetNextMemoryChunk(suite, chunk) => 0x0
[Pass] total => 0x4700000
       shoot_free_suite(suite); suite = 0; chunk = 0;
[Pass] strlen("abc") => 0x3
[Pass] strlen("qwertyuiop") => 0xa
[Pass] strlen("") => 0x0
[Pass] strcpy(msg, "hi there") => 0x199cc4
[Pass] msg => 'hi there'
[Pass] snprintf(a, sizeof(a), "foo") => 0x3
[Pass] snprintf(b, sizeof(b), "foo") => 0x3
[Pass] strcmp(a, b) => 0x0
[Pass] snprintf(a, sizeof(a), "bar") => 0x3
[Pass] snprintf(b, sizeof(b), "baz") => 0x3
[Pass] strcmp(a, b) => 0xfffffff8
[Pass] snprintf(a, sizeof(a), "Display") => 0x7
[Pass] snprintf(b, sizeof(b), "Defishing") => 0x9
[Pass] strcmp(a, b) => 0x4
[Pass] snprintf(buf, 3, "%d", 1234) => 0x2
[Pass] buf => '12'
[Pass] memcpy(foo, bar, 6) => 0x199ca0
[Pass] foo => 'asdfghuiop'
[Pass] memset(bar, '*', 5) => 0x199c80
[Pass] bar => '*****hjkl;'
       bzero32(bar + 5, 5)
[Pass] bar => '****'
       EngDrvOut(LCD_Palette[0], 0x1234)
[Pass] shamem_read(LCD_Palette[0]) => 0x1234
       call("TurnOnDisplay")
[Pass] DISPLAY_IS_ON => 0x1
       call("TurnOffDisplay")
[Pass] DISPLAY_IS_ON => 0x0
       call("TurnOnDisplay")
[Pass] DISPLAY_IS_ON => 0x1
       task_create("test", 0x1c, 0x1000, test_task, 0) => 0x1b2400c4
[Pass] test_task_created => 0x1
[Pass] get_current_task_name() => 'run_test'
[Pass] task_max => 0x68
[Pass] task_max => 0x68
[Pass] mq = mq ? mq : (void*)msg_queue_create("test", 5) => 0x1b2600a2
[Pass] msg_queue_post(mq, 0x1234567) => 0x0
[Pass] msg_queue_receive(mq, (struct event **) &m, 500) => 0x0
[Pass] m => 0x1234567
[Pass] msg_queue_receive(mq, (struct event **) &m, 500) => 0x9
[Pass] sem = sem ? sem : create_named_semaphore("test", 1) => 0x1b2801e0
[Pass] take_semaphore(sem, 500) => 0x0
[Pass] take_semaphore(sem, 500) => 0x9
[Pass] give_semaphore(sem) => 0x0
[Pass] take_semaphore(sem, 500) => 0x0
[Pass] give_semaphore(sem) => 0x0
[Pass] rlock = rlock ? rlock : CreateRecursiveLock(0) => 0x1b2a0096
[Pass] AcquireRecursiveLock(rlock, 500) => 0x0
[Pass] AcquireRecursiveLock(rlock, 500) => 0x0
[Pass] ReleaseRecursiveLock(rlock) => 0x0
[Pass] ReleaseRecursiveLock(rlock) => 0x0
[Pass] ReleaseRecursiveLock(rlock) => 0xf
       SetGUIRequestMode(1); msleep(1000);
[Pass] CURRENT_GUI_MODE => 0x1
       SetGUIRequestMode(2); msleep(1000);
[Pass] CURRENT_GUI_MODE => 0x2
       SetGUIRequestMode(0); msleep(1000);
[Pass] CURRENT_GUI_MODE => 0x0
[Pass] display_idle() => 0x1
       GUI_Control(BGMT_PLAY, 0, 0, 0); msleep(1000);
[Pass] PLAY_MODE => 0x1
[Pass] MENU_MODE => 0x0
       GUI_Control(BGMT_MENU, 0, 0, 0); msleep(1000);
[Pass] MENU_MODE => 0x1
[Pass] PLAY_MODE => 0x0
[Pass] dialog->type => 'DIALOG'
       GUI_Control(BGMT_MENU, 0, 0, 0); msleep(500);
[Pass] MENU_MODE => 0x0
[Pass] PLAY_MODE => 0x0
       SW1(1,100)
[Pass] HALFSHUTTER_PRESSED => 0x1
       SW1(0,100)
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] is_play_mode() => 0x1
[Pass] is_pure_play_photo_mode() => 0x1
[Pass] is_pure_play_movie_mode() => 0x0
[Pass] is_play_mode() => 0x1
[Pass] is_pure_play_photo_mode() => 0x0
[Pass] is_pure_play_movie_mode() => 0x0
[Pass] is_play_mode() => 0x1
[Pass] is_pure_play_photo_mode() => 0x0
[Pass] is_pure_play_movie_mode() => 0x1
[Pass] is_play_mode() => 0x1
[Pass] is_pure_play_photo_mode() => 0x0
[Pass] is_pure_play_movie_mode() => 0x0


Used Meld on them most of the differences are different memory addresses and alike, but there are several that seem important. But, again, have no clue what they actually mean.
In both cases, it s the end of test, except the part where it states that is done (which should be included in the file if you ask me, like in LUA test).
Title: Re: Canon 1200D
Post by: matija on September 19, 2017, 06:05:54 PM
LUA TEST
I had to comment out focusing test for following reason. Lens was Canon EF 85mm f/1.8.

.
(http://thumb.ibb.co/kbHz9Q/IMG_20170919_174057.jpg) (http://ibb.co/kbHz9Q)

photo hosting ebay (http://imgbb.com/)


Offending line is:
assert(lens.autofocus())


Note that camera exposure test ran in non-LV mode.


===============================================================================
ML/SCRIPTS/API_TEST.LUA - 2017-9-19 17:53:59
===============================================================================

Strict mode tests...
Strict mode tests passed.

Generic tests...
arg = table:
  [0] = "API_TEST.LUA"
camera = table:
  shutter = table:
    raw = 75
    apex = 2.374999
    ms = 193
    value = 0.192776
  aperture = table:
    raw = 22
    apex = 1.75
    value = 1.8
    min = table:
      raw = 22
      apex = 1.75
      value = 1.8
    max = table:
      raw = 80
      apex = 9
      value = 22.6
  iso = table:
    raw = 104
    apex = 9
    value = 1600
  ec = table:
    raw = 0
    value = 0
  flash_ec = table:
    raw = 0
    value = 0
  kelvin = 6000
  mode = 3
  metering_mode = 3
  drive_mode = 0
  model = "Canon EOS 1200D"
  model_short = "1200D"
  firmware = "1.0.1"
  temperature = 179
  state = 0
  shoot = function: p
  bulb = function: p
  burst = function: p
  wait = function: p
  reboot = function: p
event = table:
  pre_shoot = nil
  post_shoot = nil
  shoot_task = nil
  seconds_clock = nil
  keypress = nil
  custom_picture_taking = nil
  intervalometer = nil
  config_save = nil
console = table:
  hide = function: p
  write = function: p
  clear = function: p
  show = function: p
lv = table:
  enabled = false
  paused = false
  running = false
  zoom = 1
  info = function: p
  pause = function: p
  start = function: p
  stop = function: p
  wait = function: p
  resume = function: p
lens = table:
  name = "EF85mm f/1.8 USM"
  focal_length = 0
  focus_distance = 14080
  hyperfocal = 0
  dof_near = 0
  dof_far = 0
  af = true
  af_mode = 0
  autofocus = function: p
  focus = function: p
display = table:
  idle = true
  height = 480
  width = 720
  print = function: p
  notify_box = function: p
  on = function: p
  pixel = function: p
  clear = function: p
  off = function: p
  draw = function: p
  line = function: p
  screenshot = function: p
  load = function: p
  circle = function: p
  rect = function: p
key = table:
  last = 10
  wait = function: p
  press = function: p
menu = table:
  visible = false
  select = function: p
  block = function: p
  set = function: p
  close = function: p
  new = function: p
  open = function: p
  get = function: p
movie = table:
  recording = false
  stop = function: p
  start = function: p
dryos = table:
  clock = 25
  ms_clock = 25787
  image_prefix = "IMG_"
  dcim_dir = table:
    exists = true
    create = function: p
    children = function: p
    files = function: p
    parent = table:
      exists = true
      create = function: p
      children = function: p
      files = function: p
      parent = table:
        exists = true
        create = function: p
        children = function: p
        files = function: p
        parent = nil
        path = "B:/"
      path = "B:/DCIM/"
    path = "B:/DCIM/104CANON/"
  config_dir = table:
    exists = true
    create = function: p
    children = function: p
    files = function: p
    parent = table:
      exists = true
      create = function: p
      children = function: p
      files = function: p
      parent = table:
        exists = true
        create = function: p
        children = function: p
        files = function: p
        parent = nil
        path = "B:/"
      path = "ML/"
    path = "ML/SETTINGS/"
  ml_card = table:
    cluster_size = 32768
    drive_letter = "B"
    file_number = 353
    folder_number = 104
    free_space = 18773408
    type = "SD"
    path = "B:/"
    _card_ptr = userdata
  shooting_card = table:
    cluster_size = 32768
    drive_letter = "B"
    file_number = 353
    folder_number = 104
    free_space = 18773408
    type = "SD"
    path = "B:/"
    _card_ptr = userdata
  date = table:
    day = 19
    sec = 0
    wday = 3
    year = 2017
    min = 54
    month = 9
    isdst = false
    hour = 17
    yday = 262
  rename = function: p
  call = function: p
  remove = function: p
  directory = function: p
interval = table:
  time = 70
  count = 0
  running = false
  stop = function: p
battery = table:
function not available on this camera
stack traceback:
[C]: in ?
[C]: in for iterator 'for iterator'
ML/SCRIPTS/LIB/logger.lua:125: in function 'logger.serialize'
ML/SCRIPTS/API_TEST.LUA:32: in function <ML/SCRIPTS/API_TEST.LUA:31>
[C]: in function 'xpcall'
ML/SCRIPTS/API_TEST.LUA:31: in function 'print_table'
ML/SCRIPTS/API_TEST.LUA:77: in function 'generic_tests'
ML/SCRIPTS/API_TEST.LUA:1155: in function 'api_tests'
ML/SCRIPTS/API_TEST.LUA:1180: in main chunktask = table:
  create = function: p
  yield = function: p
property = table:
Generic tests completed.

Module tests...
Testing file I/O...
Copy test: autoexec.bin -> tmp.bin
Copy test OK
Append test: tmp.txt
Append test OK
Rename test: apple.txt -> banana.txt
Rename test OK
Rename test: apple.txt -> ML/banana.txt
Rename test OK
File I/O tests completed.

Testing menu API...
Menu tests completed.

Testing picture taking functions...
Snap simulation test...
Single picture...
B:/DCIM/104CANON/IMG_0354.CR2: 27317690
B:/DCIM/104CANON/IMG_0354.JPG: 5265615
Two burst pictures...
Ideally, the camera should be in some continuous shooting mode (not checked).
B:/DCIM/104CANON/ABC_0355.CR2: 27317188
B:/DCIM/104CANON/ABC_0355.JPG: 5280464
B:/DCIM/104CANON/ABC_0356.CR2: 27320943
B:/DCIM/104CANON/ABC_0356.JPG: 5280700
Bracketed pictures...
B:/DCIM/104CANON/IMG_0357.CR2: 24500173
B:/DCIM/104CANON/IMG_0357.JPG: 6636892
B:/DCIM/104CANON/IMG_0358.CR2: 27321389
B:/DCIM/104CANON/IMG_0358.JPG: 5280779
B:/DCIM/104CANON/IMG_0359.CR2: 20892064
B:/DCIM/104CANON/IMG_0359.JPG: 996640
Bulb picture...
Elapsed time: 11590
B:/DCIM/104CANON/IMG_0360.CR2: 14253844
B:/DCIM/104CANON/IMG_0360.JPG: 365013
Picture taking tests completed.

Testing multitasking...
Only one task allowed to interrupt...
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Multitasking tests completed.

Testing half-shutter...
Half-shutter test OK.

Testing module 'lv'...
Starting LiveView...
Setting zoom to x1...
Setting zoom to x5...
Setting zoom to x10...
Setting zoom to x5...
Setting zoom to x1...
Setting zoom to x10...
Setting zoom to x1...
Pausing LiveView...
Resuming LiveView...
Stopping LiveView...
LiveView tests completed.

Testing exposure settings...
Camera    : Canon EOS 1200D (1200D) 1.0.1
Lens      : EF85mm f/1.8 USM
Shoot mode: 3
Shutter   : ,5 (raw 75, 0.192776s, 193ms, apex 2.374999)
Aperture  : 1.8 (raw 22, f/1.8, apex 1.75)
Av range  : 1.8..22 (raw 22..80, f/1.8..f/22.6, apex 1.75..9)
ISO       : 1600 (raw 104, 1600, apex 9)
EC        : 0.0 (raw 0, 0 EV)
Flash EC  : 0.0 (raw 0, 0 EV)
Setting shutter to random values...
Setting ISO to random values...
Setting aperture to random values...
Please switch to Av mode.
Setting EC to random values...
Setting Flash EC to random values...
Exposure tests completed.


Testing movie recording...
Please switch to Movie mode.
Movie recording tests completed.

Done!
Title: Re: Canon 1200D
Post by: a1ex on September 19, 2017, 06:55:56 PM
Quote from: matija on September 19, 2017, 06:05:54 PM
I had to comment out focusing test for following reason. Lens was Canon EF 85mm f/1.8.
[...]
Offending line is:
assert(lens.autofocus())


This worked in a previous test:


Testing lens focus functionality...
Autofocus outside LiveView...
Focus distance: 1400
Autofocus in LiveView...


Maybe the error message is a bit confusing - you should have pointed the camera to something to focus on :D

Quote
In both cases, it s the end of test, except the part where it states that is done (which should be included in the file if you ask me, like in LUA test).

Kept forgetting about this one... fixed now.

Quote
With adding any of the disabled modules, some errors appear.

You may have some modules from an older installation; these are not present in the zip from Jenkins...

Thanks for the tests. Posted a new build, mostly with updates on the Lua side (https://bitbucket.org/hudson/magic-lantern/branch/lua_fix) - have fun watching the testing script playing Sokoban in QEMU (https://builds.magiclantern.fm/1200D-101.html) :)
Title: Re: Canon 1200D
Post by: matija on September 20, 2017, 01:14:18 PM
2017Sep19
Sorry, yes, you are right about old files. Enabling everything works with clean installation.
Stubs:
[Pass] is_play_mode() => 0x1
[Pass] src = fio_malloc(size) => 0x42908494
[Pass] dst = fio_malloc(size) => 0x4310c4a4
[Pass] memcmp(dst, src, 4097) => 0xfffffff1
[Pass] edmac_memcpy(dst, src, 4097) => 0x4310c4a4
[Pass] memcmp(dst, src, 4097) => 0x0
[Pass] edmac_memcpy(dst, src, 4097) => 0x4310c4a4
[Pass] memcmp(dst, src, size) => 0xffffffc6
[Pass] edmac_memcpy(dst, src, size) => 0x4310c4a4
[Pass] memcmp(dst, src, size) => 0x0
[Pass] memcmp(dst, src, size) => 0xffffffcb
[Pass] edmac_memcpy_start(dst, src, size) => 0x4310c4a4
       dt => 0x315f
[Pass] copied => 0x40275c
[Pass] copied => 0x40275c
[Pass] copied => 0x40275c
[Pass] memcmp(dst, src, copied) => 0x0
[Pass] memcmp(dst, src, copied + 16) => 0x59
       edmac_memcpy_finish()
       free(src)
       free(dst)
Cache test A (EDMAC on BMP buffer)...
[Pass] bmp = bmp_load("ML/CROPMKS/CINESCO2.BMP", 1) => 0xcb7f0
[Pass] old => 0x0
[Pass] irq => 0xc0
[Pass] differences => 0x4f0
[Pass] old => 0x0
[Pass] irq => 0xc0
[Pass] differences => 0x0
Cache test B (FIO on 8K buffer)...
[Pass] tries[0] => 0xef
[Pass] tries[1] => 0xfc
[Pass] tries[2] => 0xf8
[Pass] tries[3] => 0x105
[Pass] failr[0] => 0xa2
[Pass] failw[0] => 0xd0
[Pass] failr[1] => 0x89
[Pass] failw[1] => 0x0
[Pass] failr[2] => 0x0
[Pass] failw[2] => 0xe0
[Pass] failr[3] => 0x0
[Pass] failw[3] => 0x0
       times[0] / tries[0] => 0x1d
       times[1] / tries[1] => 0x1d
       times[2] / tries[2] => 0x20
       times[3] / tries[3] => 0x21
Cache tests finished.

[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] wait_focus_status(1000, 3) => 0x1
[Pass] lv_focus_status => 0x3
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] wait_focus_status(1000, 3) => 0x1
[Pass] lv_focus_status => 0x3
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] wait_focus_status(1000, 3) => 0x1
[Pass] lv_focus_status => 0x3
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] wait_focus_status(1000, 3) => 0x1
[Pass] lv_focus_status => 0x3
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] wait_focus_status(1000, 3) => 0x1
[Pass] lv_focus_status => 0x3
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[FAIL] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[FAIL] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[FAIL] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[FAIL] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[FAIL] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x1
[Pass] f = FIO_CreateFile("test.dat") => 0x3
[Pass] FIO_WriteFile(f, (void*)0xFF000000, 0x10000) => 0x10000
[Pass] FIO_WriteFile(f, (void*)0xFF000000, 0x10000) => 0x10000
       FIO_CloseFile(f)
[Pass] FIO_GetFileSize("test.dat", &size) => 0x0
[Pass] size => 0x20000
[Pass] p = (void*)_alloc_dma_memory(0x20000) => 0x409ade3c
[Pass] f = FIO_OpenFile("test.dat", O_RDONLY | O_SYNC) => 0x3
[Pass] FIO_ReadFile(f, p, 0x20000) => 0x20000
       FIO_CloseFile(f)
       _free_dma_memory(p)
[Pass] count => 0x3a98
[Pass] buf = fio_malloc(0x1000000) => 0x42908494
[Pass] FIO_GetFileSize_direct("test.dat") => 0x82000000
[Pass] f = FIO_OpenFile("test.dat", O_RDWR | O_SYNC) => 0x3
[Pass] FIO_SeekSkipFile(f, 0, SEEK_END) => 0x82000000
[Pass] FIO_WriteFile(f, buf, 0x10) => 0x10
[Pass] FIO_SeekSkipFile(f, -0x20, SEEK_END) => 0x81fffff0
[Pass] FIO_WriteFile(f, buf, 0x30) => 0x30
[Pass] FIO_SeekSkipFile(f, 0x20, SEEK_SET) => 0x20
[Pass] FIO_SeekSkipFile(f, 0x30, SEEK_CUR) => 0x50
[Pass] FIO_SeekSkipFile(f, -0x20, SEEK_CUR) => 0x30
[Pass] FIO_GetFileSize_direct("test.dat") => 0x82000020
[Pass] is_file("test.dat") => 0x1
[Pass] FIO_RemoveFile("test.dat") => 0x0
[Pass] is_file("test.dat") => 0x0
[Pass] SetTimerAfter(0, timer_cbr, overrun_cbr, 0) => 0x15
[Pass] timer_func => 0x2
[Pass] SetTimerAfter(1000, timer_cbr, overrun_cbr, 0) => 0x9de0
       msleep(900)
[Pass] timer_func => 0x0
       msleep(200)
[Pass] timer_func => 0x1
[Pass] ABS((timer_time/1000 - t0) - 1000) => 0x2
[Pass] ABS((timer_arg - ta0) - 1000) => 0xa
[Pass] timer = SetTimerAfter(1000, timer_cbr, overrun_cbr, 0) => 0x9e06
       msleep(400)
       CancelTimer(timer)
[Pass] timer_func => 0x0
       msleep(1500)
[Pass] timer_func => 0x0
[Pass] SetHPTimerAfterNow(0, timer_cbr, overrun_cbr, 0) => 0x15
[Pass] timer_func => 0x2
[Pass] SetHPTimerAfterNow(100000, timer_cbr, overrun_cbr, 0) => 0x6e0
       msleep(90)
[Pass] timer_func => 0x0
       msleep(20)
[Pass] timer_func => 0x1
[Pass] ABS(DeltaT(timer_time, t0) - 100000) => 0x16e
[Pass] ABS(DeltaT(timer_arg, ta0) - 100000) => 0x128
[Pass] ABS((get_us_clock_value() - t0) - 110000) => 0x22c
[Pass] SetHPTimerAfterNow(90000, next_tick_cbr, overrun_cbr, 0) => 0x6e2
       msleep(80)
[Pass] timer_func => 0x0
       msleep(20)
[Pass] timer_func => 0x3
       msleep(80)
[Pass] timer_func => 0x3
       msleep(20)
[Pass] timer_func => 0x1
[Pass] ABS(DeltaT(timer_time, t0) - 300000) => 0x2e8
[Pass] ABS(DeltaT(timer_arg, ta0) - 300000) => 0x2a0
[Pass] ABS((get_us_clock_value() - t0) - 310000) => 0x227
       t0 = *(uint32_t*)0xC0242014 => 0x3fc9
       msleep(250)
       t1 = *(uint32_t*)0xC0242014 => 0x40d13
[Pass] ABS(MOD(t1-t0, 1048576)/1000 - 250) => 0x1
       LoadCalendarFromRTC( &now )
       s0 = now.tm_sec => 0x30
       Date/time: 2017/09/20 10:53:48
       msleep(1500)
       LoadCalendarFromRTC( &now )
       s1 = now.tm_sec => 0x31
[Pass] MOD(s1-s0, 60) => 0x1
[Pass] MOD(s1-s0, 60) => 0x1
       m0 = MALLOC_FREE_MEMORY => 0x30138
[Pass] p = (void*)_malloc(50*1024) => 0xd4710
[Pass] CACHEABLE(p) => 0xd4710
       m1 = MALLOC_FREE_MEMORY => 0x23928
       _free(p)
       m2 = MALLOC_FREE_MEMORY => 0x30138
[Pass] ABS((m0-m1) - 50*1024) => 0x10
[Pass] ABS(m0-m2) => 0x0
       m0 = GetFreeMemForAllocateMemory() => 0x10353c
[Pass] p = (void*)_AllocateMemory(256*1024) => 0xbe1cd0
[Pass] CACHEABLE(p) => 0xbe1cd0
       m1 = GetFreeMemForAllocateMemory() => 0xc352c
       _FreeMemory(p)
       m2 = GetFreeMemForAllocateMemory() => 0x10353c
[Pass] ABS((m0-m1) - 256*1024) => 0x10
[Pass] ABS(m0-m2) => 0x0
       m01 = MALLOC_FREE_MEMORY => 0x30138
       m02 = GetFreeMemForAllocateMemory() => 0x10353c
[Pass] p = (void*)_alloc_dma_memory(256*1024) => 0x40be1d10
[Pass] UNCACHEABLE(p) => 0x40be1d10
[Pass] CACHEABLE(p) => 0xbe1d10
[Pass] UNCACHEABLE(CACHEABLE(p)) => 0x40be1d10
       _free_dma_memory(p)
[Pass] p = (void*)_shoot_malloc(24*1024*1024) => 0x4a000074
[Pass] UNCACHEABLE(p) => 0x4a000074
       _shoot_free(p)
       m11 = MALLOC_FREE_MEMORY => 0x30138
       m12 = GetFreeMemForAllocateMemory() => 0x10353c
[Pass] ABS(m01-m11) => 0x0
[Pass] ABS(m02-m12) => 0x0
[Pass] suite = shoot_malloc_suite_contig(24*1024*1024) => 0xc89e0
[Pass] suite->signature => 'MemSuite'
[Pass] suite->num_chunks => 0x1
[Pass] suite->size => 0x1800000
[Pass] chunk = GetFirstChunkFromSuite(suite) => 0xc8a08
[Pass] chunk->signature => 'MemChunk'
[Pass] chunk->size => 0x1800000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x4a000070
[Pass] UNCACHEABLE(p) => 0x4a000070
       shoot_free_suite(suite); suite = 0; chunk = 0;
[Pass] suite = shoot_malloc_suite_contig(0) => 0xc89e0
[Pass] suite->signature => 'MemSuite'
[Pass] suite->num_chunks => 0x1
[Pass] suite->size => 0x1f68000
[Pass] chunk = GetFirstChunkFromSuite(suite) => 0xc8a08
[Pass] chunk->signature => 'MemChunk'
[Pass] chunk->size => 0x1f68000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x4a000070
[Pass] UNCACHEABLE(p) => 0x4a000070
       shoot_free_suite(suite); suite = 0; chunk = 0;
[Pass] suite = shoot_malloc_suite(64*1024*1024) => 0xc89e0
[Pass] suite->signature => 'MemSuite'
[Pass] suite->num_chunks => 0x4
[Pass] suite->size => 0x4000000
[Pass] chunk = GetFirstChunkFromSuite(suite) => 0xc8a08
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x16f4000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x42908480
[Pass] UNCACHEABLE(p) => 0x42908480
       chunk = GetNextMemoryChunk(suite, chunk) => 0xc8a68
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x1af4000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x42100070
[Pass] UNCACHEABLE(p) => 0x42100070
       chunk = GetNextMemoryChunk(suite, chunk) => 0xc8aa0
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x26f8000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x413f8070
[Pass] UNCACHEABLE(p) => 0x413f8070
       chunk = GetNextMemoryChunk(suite, chunk) => 0xc8ad8
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x4000000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x4a000070
[Pass] UNCACHEABLE(p) => 0x4a000070
       chunk = GetNextMemoryChunk(suite, chunk) => 0x0
[Pass] total => 0x4000000
       shoot_free_suite(suite); suite = 0; chunk = 0;
[Pass] suite = shoot_malloc_suite(0) => 0xc89e0
[Pass] suite->signature => 'MemSuite'
[Pass] suite->num_chunks => 0x6
[Pass] suite->size => 0x4700000
[Pass] chunk = GetFirstChunkFromSuite(suite) => 0xc8a08
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x16f4000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x42908480
[Pass] UNCACHEABLE(p) => 0x42908480
       chunk = GetNextMemoryChunk(suite, chunk) => 0xc8a68
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x1af4000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x42100070
[Pass] UNCACHEABLE(p) => 0x42100070
       chunk = GetNextMemoryChunk(suite, chunk) => 0xc8aa0
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x3a5c000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x4a000070
[Pass] UNCACHEABLE(p) => 0x4a000070
       chunk = GetNextMemoryChunk(suite, chunk) => 0xc8ad8
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x4660000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x413f8070
[Pass] UNCACHEABLE(p) => 0x413f8070
       chunk = GetNextMemoryChunk(suite, chunk) => 0xc8b10
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x46f4000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x4bf68100
[Pass] UNCACHEABLE(p) => 0x4bf68100
       chunk = GetNextMemoryChunk(suite, chunk) => 0xc8b48
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x4700000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x49f68100
[Pass] UNCACHEABLE(p) => 0x49f68100
       chunk = GetNextMemoryChunk(suite, chunk) => 0x0
[Pass] total => 0x4700000
       shoot_free_suite(suite); suite = 0; chunk = 0;
[Pass] strlen("abc") => 0x3
[Pass] strlen("qwertyuiop") => 0xa
[Pass] strlen("") => 0x0
[Pass] strcpy(msg, "hi there") => 0x16bc34
[Pass] msg => 'hi there'
[Pass] snprintf(a, sizeof(a), "foo") => 0x3
[Pass] snprintf(b, sizeof(b), "foo") => 0x3
[Pass] strcmp(a, b) => 0x0
[Pass] snprintf(a, sizeof(a), "bar") => 0x3
[Pass] snprintf(b, sizeof(b), "baz") => 0x3
[Pass] strcmp(a, b) => 0xfffffff8
[Pass] snprintf(a, sizeof(a), "Display") => 0x7
[Pass] snprintf(b, sizeof(b), "Defishing") => 0x9
[Pass] strcmp(a, b) => 0x4
[Pass] snprintf(buf, 3, "%d", 1234) => 0x2
[Pass] buf => '12'
[Pass] memcpy(foo, bar, 6) => 0x16bc00
[Pass] foo => 'asdfghuiop'
[Pass] memset(bar, '*', 5) => 0x16bbe0
[Pass] bar => '*****hjkl;'
       bzero32(bar + 5, 5)
[Pass] bar => '****'
       EngDrvOut(LCD_Palette[0], 0x1234)
[Pass] shamem_read(LCD_Palette[0]) => 0x1234
       call("TurnOnDisplay")
[Pass] DISPLAY_IS_ON => 0x1
       call("TurnOffDisplay")
[Pass] DISPLAY_IS_ON => 0x0
       call("TurnOnDisplay")
[Pass] DISPLAY_IS_ON => 0x1
       task_create("test", 0x1c, 0x1000, test_task, 0) => 0x16d800c2
[Pass] test_task_created => 0x1
[Pass] get_current_task_name() => 'run_test'
[Pass] task_max => 0x68
[Pass] task_max => 0x68
[Pass] mq = mq ? mq : (void*)msg_queue_create("test", 5) => 0x16da00a2
[Pass] msg_queue_post(mq, 0x1234567) => 0x0
[Pass] msg_queue_receive(mq, (struct event **) &m, 500) => 0x0
[Pass] m => 0x1234567
[Pass] msg_queue_receive(mq, (struct event **) &m, 500) => 0x9
[Pass] sem = sem ? sem : create_named_semaphore("test", 1) => 0x16dc0334
[Pass] take_semaphore(sem, 500) => 0x0
[Pass] take_semaphore(sem, 500) => 0x9
[Pass] give_semaphore(sem) => 0x0
[Pass] take_semaphore(sem, 500) => 0x0
[Pass] give_semaphore(sem) => 0x0
[Pass] rlock = rlock ? rlock : CreateRecursiveLock(0) => 0x16de00be
[Pass] AcquireRecursiveLock(rlock, 500) => 0x0
[Pass] AcquireRecursiveLock(rlock, 500) => 0x0
[Pass] ReleaseRecursiveLock(rlock) => 0x0
[Pass] ReleaseRecursiveLock(rlock) => 0x0
[Pass] ReleaseRecursiveLock(rlock) => 0xf
       SetGUIRequestMode(1); msleep(1000);
[Pass] CURRENT_GUI_MODE => 0x1
       SetGUIRequestMode(2); msleep(1000);
[Pass] CURRENT_GUI_MODE => 0x2
       SetGUIRequestMode(0); msleep(1000);
[Pass] CURRENT_GUI_MODE => 0x0
[Pass] display_idle() => 0x1
       GUI_Control(BGMT_PLAY, 0, 0, 0); msleep(1000);
[Pass] PLAY_MODE => 0x1
[Pass] MENU_MODE => 0x0
       GUI_Control(BGMT_MENU, 0, 0, 0); msleep(1000);
[Pass] MENU_MODE => 0x1
[Pass] PLAY_MODE => 0x0
[Pass] dialog->type => 'DIALOG'
       GUI_Control(BGMT_MENU, 0, 0, 0); msleep(500);
[Pass] MENU_MODE => 0x0
[Pass] PLAY_MODE => 0x0
       SW1(1,100)
[Pass] HALFSHUTTER_PRESSED => 0x1
       SW1(0,100)
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] is_play_mode() => 0x1
[Pass] is_pure_play_photo_mode() => 0x1
[Pass] is_pure_play_movie_mode() => 0x0
[Pass] is_play_mode() => 0x1
[Pass] is_pure_play_photo_mode() => 0x0
[Pass] is_pure_play_movie_mode() => 0x0
[Pass] is_play_mode() => 0x1
[Pass] is_pure_play_photo_mode() => 0x0
[Pass] is_pure_play_movie_mode() => 0x1
[Pass] is_play_mode() => 0x1
[Pass] is_pure_play_photo_mode() => 0x0
[Pass] is_pure_play_movie_mode() => 0x0
=========================================================
Test complete, 11854 passed, 5 failed.



I
Title: Re: Canon 1200D
Post by: matija on September 20, 2017, 01:59:18 PM
LUA test fails with Canon EF 85mm 1:1,8 USM, it does not even try to AF. I watched what was going on. The other result was with a different lens (EF-S 10-18mm STM) which I don't have with me, will test it in the evening when I get home with all lenses I have (not that many). So I retested, turned AF off, but it asked me to remove the lens, which I did, put it back on immediately after the test was skipped.


===============================================================================
ML/SCRIPTS/API_TEST.LUA - 2017-9-20 10:55:29
===============================================================================

Strict mode tests...
Strict mode tests passed.

Generic tests...
arg = table:
  [0] = "API_TEST.LUA"
camera = table:
  shutter = table:
    raw = 109
    apex = 6.625
    ms = 10
    value = 0.010131
  aperture = table:
    raw = 22
    apex = 1.75
    value = 1.8
    min = table:
      raw = 22
      apex = 1.75
      value = 1.8
    max = table:
      raw = 80
      apex = 9
      value = 22.6
  iso = table:
    raw = 0
    apex = 0
    value = 0
  ec = table:
    raw = 0
    value = 0
  flash_ec = table:
    raw = 0
    value = 0
  kelvin = 6000
  mode = 3
  metering_mode = 3
  drive_mode = 0
  model = "Canon EOS 1200D"
  model_short = "1200D"
  firmware = "1.0.1"
  temperature = 171
  state = 0
  burst = function: p
  shoot = function: p
  wait = function: p
  reboot = function: p
  bulb = function: p
event = table:
  pre_shoot = nil
  post_shoot = nil
  shoot_task = nil
  seconds_clock = nil
  keypress = nil
  custom_picture_taking = nil
  intervalometer = nil
  config_save = nil
console = table:
  clear = function: p
  show = function: p
  write = function: p
  hide = function: p
lv = table:
  enabled = false
  paused = false
  running = false
  zoom = 1
  resume = function: p
  start = function: p
  pause = function: p
  wait = function: p
  stop = function: p
  info = function: p
lens = table:
  name = "EF85mm f/1.8 USM"
  focal_length = 0
  focus_distance = 14080
  hyperfocal = 0
  dof_near = 0
  dof_far = 0
  af = true
  af_mode = 257
  autofocus = function: p
  focus = function: p
display = table:
  idle = true
  height = 480
  width = 720
  load = function: p
  pixel = function: p
  notify_box = function: p
  draw = function: p
  rect = function: p
  circle = function: p
  screenshot = function: p
  line = function: p
  off = function: p
  clear = function: p
  print = function: p
  on = function: p
key = table:
  last = 10
  wait = function: p
  press = function: p
menu = table:
  visible = false
  get = function: p
  block = function: p
  open = function: p
  set = function: p
  new = function: p
  select = function: p
  close = function: p
movie = table:
  recording = false
  start = function: p
  stop = function: p
dryos = table:
  clock = 12
  ms_clock = 12792
  image_prefix = "IMG_"
  dcim_dir = table:
    exists = true
    create = function: p
    children = function: p
    files = function: p
    parent = table:
      exists = true
      create = function: p
      children = function: p
      files = function: p
      parent = table:
        exists = true
        create = function: p
        children = function: p
        files = function: p
        parent = nil
        path = "B:/"
      path = "B:/DCIM/"
    path = "B:/DCIM/104CANON/"
  config_dir = table:
    exists = true
    create = function: p
    children = function: p
    files = function: p
    parent = table:
      exists = true
      create = function: p
      children = function: p
      files = function: p
      parent = table:
        exists = true
        create = function: p
        children = function: p
        files = function: p
        parent = nil
        path = "B:/"
      path = "ML/"
    path = "ML/SETTINGS/"
  ml_card = table:
    cluster_size = 32768
    drive_letter = "B"
    file_number = 366
    folder_number = 104
    free_space = 18394816
    type = "SD"
    _card_ptr = userdata
    path = "B:/"
  shooting_card = table:
    cluster_size = 32768
    drive_letter = "B"
    file_number = 366
    folder_number = 104
    free_space = 18394816
    type = "SD"
    _card_ptr = userdata
    path = "B:/"
  date = table:
    month = 9
    wday = 4
    isdst = false
    year = 2017
    min = 55
    day = 20
    hour = 10
    yday = 263
    sec = 30
  rename = function: p
  directory = function: p
  call = function: p
  remove = function: p
interval = table:
  time = 10
  count = 0
  running = false
  stop = function: p
battery = table:
function not available on this camera
stack traceback:
[C]: in ?
[C]: in for iterator 'for iterator'
ML/SCRIPTS/LIB/logger.lua:125: in function 'logger.serialize'
ML/SCRIPTS/API_TEST.LUA:32: in function <ML/SCRIPTS/API_TEST.LUA:31>
[C]: in function 'globals.xpcall'
ML/SCRIPTS/API_TEST.LUA:31: in function 'globals.print_table'
ML/SCRIPTS/API_TEST.LUA:77: in function 'globals.generic_tests'
ML/SCRIPTS/API_TEST.LUA:1155: in function 'globals.api_tests'
ML/SCRIPTS/API_TEST.LUA:1180: in main chunktask = table:
  yield = function: p
  create = function: p
property = table:
Generic tests completed.

Module tests...
Testing file I/O...
Copy test: autoexec.bin -> tmp.bin
Copy test OK
Append test: tmp.txt
Append test OK
Rename test: apple.txt -> banana.txt
Rename test OK
Rename test: apple.txt -> ML/banana.txt
Rename test OK
File I/O tests completed.

Testing menu API...
Menu tests completed.

Testing picture taking functions...
Snap simulation test...
Single picture...
B:/DCIM/104CANON/IMG_0367.CR2: 23810416
B:/DCIM/104CANON/IMG_0367.JPG: 2710390
Two burst pictures...
Ideally, the camera should be in some continuous shooting mode (not checked).
B:/DCIM/104CANON/ABC_0368.CR2: 23814043
B:/DCIM/104CANON/ABC_0368.JPG: 2724669
B:/DCIM/104CANON/ABC_0369.CR2: 23808578
B:/DCIM/104CANON/ABC_0369.JPG: 2721762
Bracketed pictures...
B:/DCIM/104CANON/IMG_0370.CR2: 25670783
B:/DCIM/104CANON/IMG_0370.JPG: 5388578
B:/DCIM/104CANON/IMG_0371.CR2: 23800626
B:/DCIM/104CANON/IMG_0371.JPG: 2702120
B:/DCIM/104CANON/IMG_0372.CR2: 17434352
B:/DCIM/104CANON/IMG_0372.JPG: 375754
Bulb picture...
Elapsed time: 11827
B:/DCIM/104CANON/IMG_0373.CR2: 14255761
B:/DCIM/104CANON/IMG_0373.JPG: 365013
Picture taking tests completed.

Testing multitasking...
Only one task allowed to interrupt...
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Multitasking tests completed.

Testing half-shutter...
Half-shutter test OK.

Testing module 'lv'...
Starting LiveView...
Setting zoom to x1...
Setting zoom to x5...
Setting zoom to x10...
Setting zoom to x5...
Setting zoom to x1...
Setting zoom to x10...
Setting zoom to x1...
Pausing LiveView...
Resuming LiveView...
Stopping LiveView...
LiveView tests completed.


Testing lens focus functionality...
Autofocus outside LiveView...

===============================================================================
ML/SCRIPTS/API_TEST.LUA - 2017-9-20 11:10:39
===============================================================================

Strict mode tests...
Strict mode tests passed.

Generic tests...
arg = table:
  [0] = "API_TEST.LUA"
camera = table:
  shutter = table:
    raw = 75
    apex = 2.374999
    ms = 193
    value = 0.192776
  aperture = table:
    raw = 22
    apex = 1.75
    value = 1.8
    min = table:
      raw = 22
      apex = 1.75
      value = 1.8
    max = table:
      raw = 80
      apex = 9
      value = 22.6
  iso = table:
    raw = 104
    apex = 9
    value = 1600
  ec = table:
    raw = 0
    value = 0
  flash_ec = table:
    raw = 0
    value = 0
  kelvin = 6000
  mode = 3
  metering_mode = 3
  drive_mode = 0
  model = "Canon EOS 1200D"
  model_short = "1200D"
  firmware = "1.0.1"
  temperature = 152
  state = 0
  bulb = function: p
  shoot = function: p
  wait = function: p
  reboot = function: p
  burst = function: p
event = table:
  pre_shoot = nil
  post_shoot = nil
  shoot_task = nil
  seconds_clock = nil
  keypress = nil
  custom_picture_taking = nil
  intervalometer = nil
  config_save = nil
console = table:
  clear = function: p
  hide = function: p
  show = function: p
  write = function: p
lv = table:
  enabled = false
  paused = false
  running = false
  zoom = 1
  stop = function: p
  info = function: p
  wait = function: p
  pause = function: p
  resume = function: p
  start = function: p
lens = table:
  name = "EF85mm f/1.8 USM"
  focal_length = 0
  focus_distance = 14080
  hyperfocal = 0
  dof_near = 0
  dof_far = 0
  af = false
  af_mode = 259
  focus = function: p
  autofocus = function: p
display = table:
  idle = true
  height = 480
  width = 720
  screenshot = function: p
  on = function: p
  print = function: p
  notify_box = function: p
  pixel = function: p
  circle = function: p
  line = function: p
  rect = function: p
  clear = function: p
  draw = function: p
  load = function: p
  off = function: p
key = table:
  last = 10
  wait = function: p
  press = function: p
menu = table:
  visible = false
  new = function: p
  select = function: p
  set = function: p
  block = function: p
  open = function: p
  close = function: p
  get = function: p
movie = table:
  recording = false
  stop = function: p
  start = function: p
dryos = table:
  clock = 17
  ms_clock = 17208
  image_prefix = "IMG_"
  dcim_dir = table:
    exists = true
    create = function: p
    children = function: p
    files = function: p
    parent = table:
      exists = true
      create = function: p
      children = function: p
      files = function: p
      parent = table:
        exists = true
        create = function: p
        children = function: p
        files = function: p
        parent = nil
        path = "B:/"
      path = "B:/DCIM/"
    path = "B:/DCIM/104CANON/"
  config_dir = table:
    exists = true
    create = function: p
    children = function: p
    files = function: p
    parent = table:
      exists = true
      create = function: p
      children = function: p
      files = function: p
      parent = table:
        exists = true
        create = function: p
        children = function: p
        files = function: p
        parent = nil
        path = "B:/"
      path = "ML/"
    path = "ML/SETTINGS/"
  ml_card = table:
    cluster_size = 32768
    drive_letter = "B"
    file_number = 373
    folder_number = 104
    free_space = 18228896
    type = "SD"
    path = "B:/"
    _card_ptr = userdata
  shooting_card = table:
    cluster_size = 32768
    drive_letter = "B"
    file_number = 373
    folder_number = 104
    free_space = 18228896
    type = "SD"
    path = "B:/"
    _card_ptr = userdata
  date = table:
    month = 9
    min = 10
    day = 20
    isdst = false
    year = 2017
    yday = 263
    hour = 11
    wday = 4
    sec = 39
  remove = function: p
  rename = function: p
  directory = function: p
  call = function: p
interval = table:
  time = 10
  count = 0
  running = false
  stop = function: p
battery = table:
function not available on this camera
stack traceback:
[C]: in ?
[C]: in for iterator 'for iterator'
ML/SCRIPTS/LIB/logger.lua:125: in function 'logger.serialize'
ML/SCRIPTS/API_TEST.LUA:32: in function <ML/SCRIPTS/API_TEST.LUA:31>
[C]: in function 'globals.xpcall'
ML/SCRIPTS/API_TEST.LUA:31: in function 'globals.print_table'
ML/SCRIPTS/API_TEST.LUA:77: in function 'globals.generic_tests'
ML/SCRIPTS/API_TEST.LUA:1155: in function 'globals.api_tests'
ML/SCRIPTS/API_TEST.LUA:1180: in main chunktask = table:
  yield = function: p
  create = function: p
property = table:
Generic tests completed.

Module tests...
Testing file I/O...
Copy test: autoexec.bin -> tmp.bin
Copy test OK
Append test: tmp.txt
Append test OK
Rename test: apple.txt -> banana.txt
Rename test OK
Rename test: apple.txt -> ML/banana.txt
Rename test OK
File I/O tests completed.

Testing menu API...
Menu tests completed.

Testing picture taking functions...
Snap simulation test...
Single picture...
B:/DCIM/104CANON/IMG_0374.CR2: 23241287
B:/DCIM/104CANON/IMG_0374.JPG: 1337113
Two burst pictures...
Ideally, the camera should be in some continuous shooting mode (not checked).
B:/DCIM/104CANON/ABC_0375.CR2: 22612555
B:/DCIM/104CANON/ABC_0375.JPG: 716469
B:/DCIM/104CANON/ABC_0376.CR2: 22038983
B:/DCIM/104CANON/ABC_0376.JPG: 487110
Bracketed pictures...
B:/DCIM/104CANON/IMG_0377.CR2: 26115064
B:/DCIM/104CANON/IMG_0377.JPG: 6158309
B:/DCIM/104CANON/IMG_0378.CR2: 23082989
B:/DCIM/104CANON/IMG_0378.JPG: 768577
B:/DCIM/104CANON/IMG_0379.CR2: 14229183
B:/DCIM/104CANON/IMG_0379.JPG: 365013
Bulb picture...
Elapsed time: 11616
B:/DCIM/104CANON/IMG_0380.CR2: 14249369
B:/DCIM/104CANON/IMG_0380.JPG: 365013
Picture taking tests completed.

Testing multitasking...
Only one task allowed to interrupt...
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Multitasking tests completed.

Testing half-shutter...
Half-shutter test OK.

Testing module 'lv'...
Starting LiveView...
Setting zoom to x1...
Setting zoom to x5...
Setting zoom to x10...
Setting zoom to x5...
Setting zoom to x1...
Setting zoom to x10...
Setting zoom to x1...
Pausing LiveView...
Resuming LiveView...
Stopping LiveView...
LiveView tests completed.


Testing lens focus functionality...
Please enable autofocus.
(or, remove the lens from the camera to skip this test)
Focus test skipped.

Testing exposure settings...
Camera    : Canon EOS 1200D (1200D) 1.0.1
Lens      :
Shoot mode: 3
Shutter   : ,5 (raw 75, 0.192776s, 193ms, apex 2.374999)
Aperture  : 0.0 (raw 0, f/0, apex 0)
Av range  : 0.0..0.0 (raw 0..0, f/0..f/0, apex 0..0)
ISO       : 1600 (raw 104, 1600, apex 9)
EC        : 0.0 (raw 0, 0 EV)
Flash EC  : 0.0 (raw 0, 0 EV)
Setting shutter to random values...
Setting ISO to random values...
Setting aperture to random values...
Please switch to Av mode.
Setting EC to random values...
Setting Flash EC to random values...
Exposure tests completed.


Testing movie recording...
Please switch to Movie mode.
Movie recording tests completed.

Done!


Title: Re: Canon 1200D
Post by: a1ex on September 20, 2017, 02:11:36 PM
The failed stub tests are related to autofocus outside LiveView. By pattern matching with other DIGIC 4 models, I'm unable to see what might be wrong with it.

However, you have reported Trap Focus working outside LiveView - these two features both depend on FOCUS_CONFIRMATION (from consts.h) to work correctly.

Best guess: AF was probably set on back button, and ML was unable to reconfigure it on half-shutter. But then, why did the test work in LiveView?!
Title: Re: Canon 1200D
Post by: matija on September 20, 2017, 05:09:40 PM
Ok, I reset custom settings (this includes back button focusing) and ML config, restarted, turned all ML modules on, restarted, went to ML menu and run stubs. Dial was on "M" and it was not in LV when tests started. I did switch to Movie mode when asked to do so.

Complete success. (I can paste the stubs if you really want them.)

Just to check the theory, I moved AF to the back button (It is marked with "zoom out" and "AF points" icons, there is no "real" back focus button.) ONE FAIL. (Included below.) Rebooted and reran the test. FIVE FAILS, nothing was changed. I suspected the AF capabilities, so I played a bit and noticed it was on AF Servo, so I put it to AF Single. (still in back button focusing). Re-ran stubs. Passed. I would call it as close to perfect as possible and move on.

Ran LUA test, passed as well, will be pasting it below.

[Pass] is_play_mode() => 0x1
[Pass] src = fio_malloc(size) => 0x426d0464
[Pass] dst = fio_malloc(size) => 0x42ed4474
[Pass] memcmp(dst, src, 4097) => 0xffffff56
[Pass] edmac_memcpy(dst, src, 4097) => 0x42ed4474
[Pass] memcmp(dst, src, 4097) => 0x0
[Pass] edmac_memcpy(dst, src, 4097) => 0x42ed4474
[Pass] memcmp(dst, src, size) => 0xffffff84
[Pass] edmac_memcpy(dst, src, size) => 0x42ed4474
[Pass] memcmp(dst, src, size) => 0x0
[Pass] memcmp(dst, src, size) => 0x95
[Pass] edmac_memcpy_start(dst, src, size) => 0x42ed4474
       dt => 0x312d
[Pass] copied => 0x40286c
[Pass] copied => 0x40286c
[Pass] copied => 0x40286c
[Pass] memcmp(dst, src, copied) => 0x0
[Pass] memcmp(dst, src, copied + 16) => 0xa4
       edmac_memcpy_finish()
       free(src)
       free(dst)
Cache test A (EDMAC on BMP buffer)...
[Pass] bmp = bmp_load("ML/CROPMKS/CINESCO2.BMP", 1) => 0xcb7f0
[Pass] old => 0x0
[Pass] irq => 0xc0
[Pass] differences => 0x4c0
[Pass] old => 0x0
[Pass] irq => 0xc0
[Pass] differences => 0x0
Cache test B (FIO on 8K buffer)...
[Pass] tries[0] => 0x109
[Pass] tries[1] => 0xe5
[Pass] tries[2] => 0x103
[Pass] tries[3] => 0xf7
[Pass] failr[0] => 0xb1
[Pass] failw[0] => 0xdf
[Pass] failr[1] => 0x77
[Pass] failw[1] => 0x0
[Pass] failr[2] => 0x0
[Pass] failw[2] => 0xdd
[Pass] failr[3] => 0x0
[Pass] failw[3] => 0x0
       times[0] / tries[0] => 0x1d
       times[1] / tries[1] => 0x1d
       times[2] / tries[2] => 0x20
       times[3] / tries[3] => 0x20
Cache tests finished.

[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] wait_focus_status(1000, 3) => 0x1
[Pass] lv_focus_status => 0x3
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] wait_focus_status(1000, 3) => 0x1
[Pass] lv_focus_status => 0x3
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] wait_focus_status(1000, 3) => 0x1
[Pass] lv_focus_status => 0x3
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] wait_focus_status(1000, 3) => 0x1
[Pass] lv_focus_status => 0x3
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] wait_focus_status(1000, 3) => 0x1
[Pass] lv_focus_status => 0x3
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] wait_focus_status(1000, 3) => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] get_focus_confirmation() => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] get_focus_confirmation() => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] get_focus_confirmation() => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] get_focus_confirmation() => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] get_focus_confirmation() => 0x0
[FAIL] HALFSHUTTER_PRESSED => 0x0
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x1
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] get_focus_confirmation() => 0x2
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[Pass] get_focus_confirmation() => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] lv_focus_status => 0x1
[Pass] f = FIO_CreateFile("test.dat") => 0x3
[Pass] FIO_WriteFile(f, (void*)0xFF000000, 0x10000) => 0x10000
[Pass] FIO_WriteFile(f, (void*)0xFF000000, 0x10000) => 0x10000
       FIO_CloseFile(f)
[Pass] FIO_GetFileSize("test.dat", &size) => 0x0
[Pass] size => 0x20000
[Pass] p = (void*)_alloc_dma_memory(0x20000) => 0x409aec00
[Pass] f = FIO_OpenFile("test.dat", O_RDONLY | O_SYNC) => 0x3
[Pass] FIO_ReadFile(f, p, 0x20000) => 0x20000
       FIO_CloseFile(f)
       _free_dma_memory(p)
[Pass] count => 0x3a98
[Pass] buf = fio_malloc(0x1000000) => 0x426d0464
[Pass] FIO_GetFileSize_direct("test.dat") => 0x82000000
[Pass] f = FIO_OpenFile("test.dat", O_RDWR | O_SYNC) => 0x3
[Pass] FIO_SeekSkipFile(f, 0, SEEK_END) => 0x82000000
[Pass] FIO_WriteFile(f, buf, 0x10) => 0x10
[Pass] FIO_SeekSkipFile(f, -0x20, SEEK_END) => 0x81fffff0
[Pass] FIO_WriteFile(f, buf, 0x30) => 0x30
[Pass] FIO_SeekSkipFile(f, 0x20, SEEK_SET) => 0x20
[Pass] FIO_SeekSkipFile(f, 0x30, SEEK_CUR) => 0x50
[Pass] FIO_SeekSkipFile(f, -0x20, SEEK_CUR) => 0x30
[Pass] FIO_GetFileSize_direct("test.dat") => 0x82000020
[Pass] is_file("test.dat") => 0x1
[Pass] FIO_RemoveFile("test.dat") => 0x0
[Pass] is_file("test.dat") => 0x0
[Pass] SetTimerAfter(0, timer_cbr, overrun_cbr, 0) => 0x15
[Pass] timer_func => 0x2
[Pass] SetTimerAfter(1000, timer_cbr, overrun_cbr, 0) => 0x99d2
       msleep(900)
[Pass] timer_func => 0x0
       msleep(200)
[Pass] timer_func => 0x1
[Pass] ABS((timer_time/1000 - t0) - 1000) => 0xa
[Pass] ABS((timer_arg - ta0) - 1000) => 0xa
[Pass] timer = SetTimerAfter(1000, timer_cbr, overrun_cbr, 0) => 0x99f8
       msleep(400)
       CancelTimer(timer)
[Pass] timer_func => 0x0
       msleep(1500)
[Pass] timer_func => 0x0
[Pass] SetHPTimerAfterNow(0, timer_cbr, overrun_cbr, 0) => 0x15
[Pass] timer_func => 0x2
[Pass] SetHPTimerAfterNow(100000, timer_cbr, overrun_cbr, 0) => 0x698
       msleep(90)
[Pass] timer_func => 0x0
       msleep(20)
[Pass] timer_func => 0x1
[Pass] ABS(DeltaT(timer_time, t0) - 100000) => 0x15e
[Pass] ABS(DeltaT(timer_arg, ta0) - 100000) => 0x113
[Pass] ABS((get_us_clock_value() - t0) - 110000) => 0xc4
[Pass] SetHPTimerAfterNow(90000, next_tick_cbr, overrun_cbr, 0) => 0x69a
       msleep(80)
[Pass] timer_func => 0x0
       msleep(20)
[Pass] timer_func => 0x3
       msleep(80)
[Pass] timer_func => 0x3
       msleep(20)
[Pass] timer_func => 0x1
[Pass] ABS(DeltaT(timer_time, t0) - 300000) => 0x181
[Pass] ABS(DeltaT(timer_arg, ta0) - 300000) => 0x139
[Pass] ABS((get_us_clock_value() - t0) - 310000) => 0x9f
       t0 = *(uint32_t*)0xC0242014 => 0x624b3
       msleep(250)
       t1 = *(uint32_t*)0xC0242014 => 0x9d4b4
[Pass] ABS(MOD(t1-t0, 1048576)/1000 - 250) => 0x9
       LoadCalendarFromRTC( &now )
       s0 = now.tm_sec => 0x22
       Date/time: 2017/09/20 16:27:34
       msleep(1500)
       LoadCalendarFromRTC( &now )
       s1 = now.tm_sec => 0x23
[Pass] MOD(s1-s0, 60) => 0x1
[Pass] MOD(s1-s0, 60) => 0x1
       m0 = MALLOC_FREE_MEMORY => 0x301d0
[Pass] p = (void*)_malloc(50*1024) => 0xd4710
[Pass] CACHEABLE(p) => 0xd4710
       m1 = MALLOC_FREE_MEMORY => 0x239c0
       _free(p)
       m2 = MALLOC_FREE_MEMORY => 0x301d0
[Pass] ABS((m0-m1) - 50*1024) => 0x10
[Pass] ABS(m0-m2) => 0x0
       m0 = GetFreeMemForAllocateMemory() => 0x102e3c
[Pass] p = (void*)_AllocateMemory(256*1024) => 0xbe1ccc
[Pass] CACHEABLE(p) => 0xbe1ccc
       m1 = GetFreeMemForAllocateMemory() => 0xc2e2c
       _FreeMemory(p)
       m2 = GetFreeMemForAllocateMemory() => 0x102e3c
[Pass] ABS((m0-m1) - 256*1024) => 0x10
[Pass] ABS(m0-m2) => 0x0
       m01 = MALLOC_FREE_MEMORY => 0x301d0
       m02 = GetFreeMemForAllocateMemory() => 0x102e3c
[Pass] p = (void*)_alloc_dma_memory(256*1024) => 0x40be1d0c
[Pass] UNCACHEABLE(p) => 0x40be1d0c
[Pass] CACHEABLE(p) => 0xbe1d0c
[Pass] UNCACHEABLE(CACHEABLE(p)) => 0x40be1d0c
       _free_dma_memory(p)
[Pass] p = (void*)_shoot_malloc(24*1024*1024) => 0x426d0454
[Pass] UNCACHEABLE(p) => 0x426d0454
       _shoot_free(p)
       m11 = MALLOC_FREE_MEMORY => 0x301d0
       m12 = GetFreeMemForAllocateMemory() => 0x102e3c
[Pass] ABS(m01-m11) => 0x0
[Pass] ABS(m02-m12) => 0x0
[Pass] suite = shoot_malloc_suite_contig(24*1024*1024) => 0xc7a30
[Pass] suite->signature => 'MemSuite'
[Pass] suite->num_chunks => 0x1
[Pass] suite->size => 0x1800000
[Pass] chunk = GetFirstChunkFromSuite(suite) => 0xc8af8
[Pass] chunk->signature => 'MemChunk'
[Pass] chunk->size => 0x1800000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x426d0450
[Pass] UNCACHEABLE(p) => 0x426d0450
       shoot_free_suite(suite); suite = 0; chunk = 0;
[Pass] suite = shoot_malloc_suite_contig(0) => 0xc7a30
[Pass] suite->signature => 'MemSuite'
[Pass] suite->num_chunks => 0x1
[Pass] suite->size => 0x1d3c000
[Pass] chunk = GetFirstChunkFromSuite(suite) => 0xc8af8
[Pass] chunk->signature => 'MemChunk'
[Pass] chunk->size => 0x1d3c000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x4a000070
[Pass] UNCACHEABLE(p) => 0x4a000070
       shoot_free_suite(suite); suite = 0; chunk = 0;
[Pass] suite = shoot_malloc_suite(64*1024*1024) => 0xc7a30
[Pass] suite->signature => 'MemSuite'
[Pass] suite->num_chunks => 0x5
[Pass] suite->size => 0x4000000
[Pass] chunk = GetFirstChunkFromSuite(suite) => 0xc8af8
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x192c000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x426d0450
[Pass] UNCACHEABLE(p) => 0x426d0450
       chunk = GetNextMemoryChunk(suite, chunk) => 0xc8b30
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x1d2c000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x42100070
[Pass] UNCACHEABLE(p) => 0x42100070
       chunk = GetNextMemoryChunk(suite, chunk) => 0xc8b68
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x3c94000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x4a000070
[Pass] UNCACHEABLE(p) => 0x4a000070
       chunk = GetNextMemoryChunk(suite, chunk) => 0xc8ba0
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x3d28000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x4bf68100
[Pass] UNCACHEABLE(p) => 0x4bf68100
       chunk = GetNextMemoryChunk(suite, chunk) => 0xc8bd8
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x4000000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x413f8070
[Pass] UNCACHEABLE(p) => 0x413f8070
       chunk = GetNextMemoryChunk(suite, chunk) => 0x0
[Pass] total => 0x4000000
       shoot_free_suite(suite); suite = 0; chunk = 0;
[Pass] suite = shoot_malloc_suite(0) => 0xc7a30
[Pass] suite->signature => 'MemSuite'
[Pass] suite->num_chunks => 0x5
[Pass] suite->size => 0x4700000
[Pass] chunk = GetFirstChunkFromSuite(suite) => 0xc8af8
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x192c000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x426d0450
[Pass] UNCACHEABLE(p) => 0x426d0450
       chunk = GetNextMemoryChunk(suite, chunk) => 0xc8b30
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x1d2c000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x42100070
[Pass] UNCACHEABLE(p) => 0x42100070
       chunk = GetNextMemoryChunk(suite, chunk) => 0xc8b68
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x3c94000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x4a000070
[Pass] UNCACHEABLE(p) => 0x4a000070
       chunk = GetNextMemoryChunk(suite, chunk) => 0xc8ba0
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x3d28000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x4bf68100
[Pass] UNCACHEABLE(p) => 0x4bf68100
       chunk = GetNextMemoryChunk(suite, chunk) => 0xc8bd8
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x4700000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x413f8070
[Pass] UNCACHEABLE(p) => 0x413f8070
       chunk = GetNextMemoryChunk(suite, chunk) => 0x0
[Pass] total => 0x4700000
       shoot_free_suite(suite); suite = 0; chunk = 0;
[Pass] strlen("abc") => 0x3
[Pass] strlen("qwertyuiop") => 0xa
[Pass] strlen("") => 0x0
[Pass] strcpy(msg, "hi there") => 0x16bc34
[Pass] msg => 'hi there'
[Pass] snprintf(a, sizeof(a), "foo") => 0x3
[Pass] snprintf(b, sizeof(b), "foo") => 0x3
[Pass] strcmp(a, b) => 0x0
[Pass] snprintf(a, sizeof(a), "bar") => 0x3
[Pass] snprintf(b, sizeof(b), "baz") => 0x3
[Pass] strcmp(a, b) => 0xfffffff8
[Pass] snprintf(a, sizeof(a), "Display") => 0x7
[Pass] snprintf(b, sizeof(b), "Defishing") => 0x9
[Pass] strcmp(a, b) => 0x4
[Pass] snprintf(buf, 3, "%d", 1234) => 0x2
[Pass] buf => '12'
[Pass] memcpy(foo, bar, 6) => 0x16bc00
[Pass] foo => 'asdfghuiop'
[Pass] memset(bar, '*', 5) => 0x16bbe0
[Pass] bar => '*****hjkl;'
       bzero32(bar + 5, 5)
[Pass] bar => '****'
       EngDrvOut(LCD_Palette[0], 0x1234)
[Pass] shamem_read(LCD_Palette[0]) => 0x1234
       call("TurnOnDisplay")
[Pass] DISPLAY_IS_ON => 0x1
       call("TurnOffDisplay")
[Pass] DISPLAY_IS_ON => 0x0
       call("TurnOnDisplay")
[Pass] DISPLAY_IS_ON => 0x1
       task_create("test", 0x1c, 0x1000, test_task, 0) => 0x168000c0
[Pass] test_task_created => 0x1
[Pass] get_current_task_name() => 'run_test'
[Pass] task_max => 0x68
[Pass] task_max => 0x68
[Pass] mq = mq ? mq : (void*)msg_queue_create("test", 5) => 0x168200a2
[Pass] msg_queue_post(mq, 0x1234567) => 0x0
[Pass] msg_queue_receive(mq, (struct event **) &m, 500) => 0x0
[Pass] m => 0x1234567
[Pass] msg_queue_receive(mq, (struct event **) &m, 500) => 0x9
[Pass] sem = sem ? sem : create_named_semaphore("test", 1) => 0x1684032a
[Pass] take_semaphore(sem, 500) => 0x0
[Pass] take_semaphore(sem, 500) => 0x9
[Pass] give_semaphore(sem) => 0x0
[Pass] take_semaphore(sem, 500) => 0x0
[Pass] give_semaphore(sem) => 0x0
[Pass] rlock = rlock ? rlock : CreateRecursiveLock(0) => 0x16860086
[Pass] AcquireRecursiveLock(rlock, 500) => 0x0
[Pass] AcquireRecursiveLock(rlock, 500) => 0x0
[Pass] ReleaseRecursiveLock(rlock) => 0x0
[Pass] ReleaseRecursiveLock(rlock) => 0x0
[Pass] ReleaseRecursiveLock(rlock) => 0xf
       SetGUIRequestMode(1); msleep(1000);
[Pass] CURRENT_GUI_MODE => 0x1
       SetGUIRequestMode(2); msleep(1000);
[Pass] CURRENT_GUI_MODE => 0x2
       SetGUIRequestMode(0); msleep(1000);
[Pass] CURRENT_GUI_MODE => 0x0
[Pass] display_idle() => 0x1
       GUI_Control(BGMT_PLAY, 0, 0, 0); msleep(1000);
[Pass] PLAY_MODE => 0x1
[Pass] MENU_MODE => 0x0
       GUI_Control(BGMT_MENU, 0, 0, 0); msleep(1000);
[Pass] MENU_MODE => 0x1
[Pass] PLAY_MODE => 0x0
[Pass] dialog->type => 'DIALOG'
       GUI_Control(BGMT_MENU, 0, 0, 0); msleep(500);
[Pass] MENU_MODE => 0x0
[Pass] PLAY_MODE => 0x0
       SW1(1,100)
[Pass] HALFSHUTTER_PRESSED => 0x1
       SW1(0,100)
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] is_play_mode() => 0x1
[Pass] is_pure_play_photo_mode() => 0x1
[Pass] is_pure_play_movie_mode() => 0x0
[Pass] is_play_mode() => 0x1
[Pass] is_pure_play_photo_mode() => 0x0
[Pass] is_pure_play_movie_mode() => 0x0
[Pass] is_play_mode() => 0x1
[Pass] is_pure_play_photo_mode() => 0x0
[Pass] is_pure_play_movie_mode() => 0x1
[Pass] is_play_mode() => 0x1
[Pass] is_pure_play_photo_mode() => 0x0
[Pass] is_pure_play_movie_mode() => 0x0
=========================================================
Test complete, 11858 passed, 1 failed.
.


Title: Re: Canon 1200D
Post by: matija on September 20, 2017, 05:49:32 PM
===============================================================================
ML/SCRIPTS/API_TEST.LUA - 2017-9-20 17:00:24
===============================================================================

Strict mode tests...
Strict mode tests passed.

Generic tests...
arg = table:
  [0] = "API_TEST.LUA"
camera = table:
  shutter = table:
    raw = 112
    apex = 7.
    ms = 8
    value = 0.007812
  aperture = table:
    raw = 22
    apex = 1.75
    value = 1.8
    min = table:
      raw = 22
      apex = 1.75
      value = 1.8
    max = table:
      raw = 80
      apex = 9
      value = 22.6
  iso = table:
    raw = 104
    apex = 9
    value = 1600
  ec = table:
    raw = 0
    value = 0
  flash_ec = table:
    raw = 0
    value = 0
  kelvin = 6000
  mode = 3
  metering_mode = 3
  drive_mode = 0
  model = "Canon EOS 1200D"
  model_short = "1200D"
  firmware = "1.0.1"
  temperature = 158
  state = 0
  shoot = function: p
  bulb = function: p
  wait = function: p
  burst = function: p
  reboot = function: p
event = table:
  pre_shoot = nil
  post_shoot = nil
  shoot_task = nil
  seconds_clock = nil
  keypress = nil
  custom_picture_taking = nil
  intervalometer = nil
  config_save = nil
console = table:
  show = function: p
  hide = function: p
  clear = function: p
  write = function: p
lv = table:
  enabled = false
  paused = false
  running = false
  zoom = 1
  info = function: p
  start = function: p
  resume = function: p
  wait = function: p
  pause = function: p
  stop = function: p
lens = table:
  name = "EF85mm f/1.8 USM"
  focal_length = 0
  focus_distance = 14080
  hyperfocal = 0
  dof_near = 0
  dof_far = 0
  af = true
  af_mode = 0
  focus = function: p
  autofocus = function: p
display = table:
  idle = true
  height = 480
  width = 720
  print = function: p
  load = function: p
  clear = function: p
  on = function: p
  rect = function: p
  pixel = function: p
  draw = function: p
  screenshot = function: p
  notify_box = function: p
  off = function: p
  circle = function: p
  line = function: p
key = table:
  last = 10
  wait = function: p
  press = function: p
menu = table:
  visible = false
  get = function: p
  close = function: p
  new = function: p
  select = function: p
  set = function: p
  open = function: p
  block = function: p
movie = table:
  recording = false
  stop = function: p
  start = function: p
dryos = table:
  clock = 19
  ms_clock = 19299
  image_prefix = "IMG_"
  dcim_dir = table:
    exists = true
    create = function: p
    children = function: p
    files = function: p
    parent = table:
      exists = true
      create = function: p
      children = function: p
      files = function: p
      parent = table:
        exists = true
        create = function: p
        children = function: p
        files = function: p
        parent = nil
        path = "B:/"
      path = "B:/DCIM/"
    path = "B:/DCIM/105CANON/"
  config_dir = table:
    exists = true
    create = function: p
    children = function: p
    files = function: p
    parent = table:
      exists = true
      create = function: p
      children = function: p
      files = function: p
      parent = table:
        exists = true
        create = function: p
        children = function: p
        files = function: p
        parent = nil
        path = "B:/"
      path = "ML/"
    path = "ML/SETTINGS/"
  ml_card = table:
    cluster_size = 32768
    drive_letter = "B"
    file_number = 426
    folder_number = 105
    free_space = 16899616
    type = "SD"
    path = "B:/"
    _card_ptr = userdata
  shooting_card = table:
    cluster_size = 32768
    drive_letter = "B"
    file_number = 426
    folder_number = 105
    free_space = 16899616
    type = "SD"
    path = "B:/"
    _card_ptr = userdata
  date = table:
    month = 9
    day = 20
    wday = 4
    isdst = false
    year = 2017
    sec = 25
    min = 0
    hour = 17
    yday = 263
  remove = function: p
  call = function: p
  rename = function: p
  directory = function: p
interval = table:
  time = 10
  count = 0
  running = false
  stop = function: p
battery = table:
function not available on this camera
stack traceback:
[C]: in ?
[C]: in for iterator 'for iterator'
ML/SCRIPTS/LIB/logger.lua:125: in function 'logger.serialize'
ML/SCRIPTS/API_TEST.LUA:32: in function <ML/SCRIPTS/API_TEST.LUA:31>
[C]: in function 'globals.xpcall'
ML/SCRIPTS/API_TEST.LUA:31: in function 'globals.print_table'
ML/SCRIPTS/API_TEST.LUA:77: in function 'globals.generic_tests'
ML/SCRIPTS/API_TEST.LUA:1155: in function 'globals.api_tests'
ML/SCRIPTS/API_TEST.LUA:1180: in main chunktask = table:
  yield = function: p
  create = function: p
property = table:
Generic tests completed.

Module tests...
Testing file I/O...
Copy test: autoexec.bin -> tmp.bin
Copy test OK
Append test: tmp.txt
Append test OK
Rename test: apple.txt -> banana.txt
Rename test OK
Rename test: apple.txt -> ML/banana.txt
Rename test OK
File I/O tests completed.

Testing menu API...
Menu tests completed.

Testing picture taking functions...
Snap simulation test...
Single picture...
B:/DCIM/105CANON/IMG_0427.CR2: 26470604
B:/DCIM/105CANON/IMG_0427.JPG: 4943669
Two burst pictures...
Ideally, the camera should be in some continuous shooting mode (not checked).
B:/DCIM/105CANON/ABC_0428.CR2: 26489071
B:/DCIM/105CANON/ABC_0428.JPG: 4962688
B:/DCIM/105CANON/ABC_0429.CR2: 26473667
B:/DCIM/105CANON/ABC_0429.JPG: 4956692
Bracketed pictures...
B:/DCIM/105CANON/IMG_0430.CR2: 24545251
B:/DCIM/105CANON/IMG_0430.JPG: 5603438
B:/DCIM/105CANON/IMG_0431.CR2: 26469908
B:/DCIM/105CANON/IMG_0431.JPG: 4955454
B:/DCIM/105CANON/IMG_0432.CR2: 21649884
B:/DCIM/105CANON/IMG_0432.JPG: 848816
Bulb picture...
Elapsed time: 11598
B:/DCIM/105CANON/IMG_0433.CR2: 14242653
B:/DCIM/105CANON/IMG_0433.JPG: 365013
Picture taking tests completed.

Testing multitasking...
Only one task allowed to interrupt...
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Multitasking tests completed.

Testing half-shutter...
Half-shutter test OK.

Testing module 'lv'...
Starting LiveView...
Setting zoom to x1...
Setting zoom to x5...
Setting zoom to x10...
Setting zoom to x5...
Setting zoom to x1...
Setting zoom to x10...
Setting zoom to x1...
Pausing LiveView...
Resuming LiveView...
Stopping LiveView...
LiveView tests completed.


Testing lens focus functionality...
Autofocus outside LiveView...
Focus distance: 2880
Autofocus in LiveView...
Focus distance: 11910
Focusing backward...
Focus distance: 655350
Focus motor position: 429
Focusing forward with step size 3, wait=true...
...................
Focus distance: 850
Focus motor position: -1267
Focusing backward with step size 3, wait=true...
................
Focus distance: 655350
Focus motor position: 417
Focus range: 19 steps forward, 16 steps backward.
Motor steps: 1696 forward, 1684 backward, 12 lost.
Focusing forward with step size 3, wait=false...
................................................
Focus distance: 900
Focus motor position: -1265
Focusing backward with step size 3, wait=false...
.............................................
Focus distance: 655350
Focus motor position: 415
Focus range: 48 steps forward, 45 steps backward.
Motor steps: 1682 forward, 1680 backward, 2 lost.
Focusing forward with step size 2, wait=true...
...
Focus distance: 850
Focus motor position: -1265
Focusing backward with step size 2, wait=true...
...
Focus distance: 655350
Focus motor position: 414
Focus range: 102 steps forward, 100 steps backward.
Motor steps: 1680 forward, 1679 backward, 1 lost.
Focusing forward with step size 2, wait=false...
...
Focus distance: 850
Focus motor position: -1265
Focusing backward with step size 2, wait=false...
...
Focus distance: 655350
Focus motor position: 414
Focus range: 186 steps forward, 192 steps backward.
Motor steps: 1679 forward, 1679 backward, 0 lost.
Focusing forward with step size 1, wait=true...
...
Focus distance: 850
Focus motor position: -1264
Focusing backward with step size 1, wait=true...
...
Focus distance: 655350
Focus motor position: 413
Focus range: 421 steps forward, 424 steps backward.
Motor steps: 1678 forward, 1677 backward, 1 lost.
Focusing forward with step size 1, wait=false...
...
Focus distance: 900
Focus motor position: -1264
Focusing backward with step size 1, wait=false...
...
Focus distance: 655350
Focus motor position: 414
Focus range: 641 steps forward, 641 steps backward.
Motor steps: 1677 forward, 1678 backward, 1 lost.

Focus test completed.

Testing exposure settings...
Camera    : Canon EOS 1200D (1200D) 1.0.1
Lens      : EF85mm f/1.8 USM
Shoot mode: 3
Shutter   : ,5 (raw 75, 0.192776s, 193ms, apex 2.374999)
Aperture  : 1.8 (raw 22, f/1.8, apex 1.75)
Av range  : 1.8..22 (raw 22..80, f/1.8..f/22.6, apex 1.75..9)
ISO       : 1600 (raw 104, 1600, apex 9)
EC        : 0.0 (raw 0, 0 EV)
Flash EC  : 0.0 (raw 0, 0 EV)
Setting shutter to random values...
Setting ISO to random values...
Setting aperture to random values...
Please switch to Av mode.
Setting EC to random values...
Setting Flash EC to random values...
Exposure tests completed.


Testing movie recording...
Please switch to Movie mode.
Movie recording tests completed.

Done!


I have briefly gone through many stuff, including video, all seems fine, except that overlay over overlay issue. It is not problematic, few clicks and canon overlay goes away.
Very useful as is, if you need more testing, let me know.
Title: Re: Canon 1200D
Post by: a1ex on September 20, 2017, 07:55:58 PM
Okay, that explains it - good to know. In other words, except for raw video, audio controls and some minor quirks, the port is in pretty good shape.

Are you able to compile ML?
Title: Re: Canon 1200D
Post by: matija on September 21, 2017, 11:18:37 AM
Yes. I don't know what criteria is to call it "done", but for me it's very stable and usable.
See PM for compiling.
Thank you.
Title: Re: Canon 1200D
Post by: ConnorBram on September 29, 2017, 02:09:33 PM
The current version is pretty great, fixed a lot of the previous problems but one thing that still bugs me is that you have to scroll the dial all the way from one to the other, as video mode is on the dial not a dedicated button. Leaving video mode and scrolling all the way to the other side to get to manual mode just to get into the magic lantern menu is quite tedious, especially when experimenting.
I understand why this is, because other cameras have a dedicated switch to video mode so you can keep manual settings between photo and video, but allowing the magic lantern menu in video mode would be great.
thanks again.
Title: Re: Canon 1200D
Post by: a1ex on October 01, 2017, 10:54:38 AM
@ConnorBram: please try the current build and report.
Title: Re: Canon 1200D
Post by: vanbov on October 01, 2017, 01:34:31 PM
Hi. I have recently discovered that there are ML on 1200D now, it is very awesome :o! Thanks to all who are working on this.
I've installed 1200D / Rebel T5 1.0.1 2017-10-01 and tried several features and it works, so cool!
If someone will need to test something, please let me know. About issue with accessing ML from video mode - I also can't get it by pressing AV button when I am in video mode (but looks like a1ex meant some another build which currently not available in nightly builds)
My dream is to try silent mode on it, so I tried to load "silent.mo", I tried to load it by extracting it from 700D 2017-09-29 nightly build archive, but when I tried to load it on 1200D I got:
(https://thumb.ibb.co/gq60tw/yjr_Egyx_Tbon_Coo_Tduq_Tdgk_8251c1ad.png) (https://ibb.co/gq60tw)
so looks like this is not a correct way to go. I can try to build this module, and I am now reading previous messages from this thread so maybe it will answer to my question, but now it is just interesting why silent.mo is not bundled now, are there some stoppers?
Title: Re: Canon 1200D
Post by: a1ex on October 01, 2017, 03:10:03 PM
Yes - only the full-res version would work (not tested).

FYI, the port is blindly maintained (no developers have this camera).
Title: Re: Canon 1200D
Post by: vanbov on October 01, 2017, 05:32:47 PM
> FYI, the port is blindly maintained (no developers have this camera).

Yeah, I've got it, thanks.
I have just built FW from your latest commit named "1200D: attempt to fix ML menu in movie mode (not tested)" and I can approve that Av button now starts ML menu from movie mode, so it works for me.
Title: Re: Canon 1200D
Post by: vanbov on October 01, 2017, 07:23:42 PM
I compiled silent.mo and tried to test it at the current state.
My actions were performaed on latest commit https://bitbucket.org/hudson/magic-lantern/commits/643691f6ed71d60f06e57d3b014b51cd513f885a?at=1200D on 1200D branch:
I went to ~/magic-lantern/modules/silent, and performed make, it said
Will NOT load on:
    1200D (raw_lv_redirect_edmac, raw_lv_request, raw_lv_settings_still_valid, raw_lv_release)

Then I uncommented  #define CONFIG_RAW_LIVEVIEW in /platform/1200D.101/internals.h and rebuilt ML, rebuilt silent module and rebuilt ML again. Then re-uploaded firmware.

Results:

1. I can approve that Simple, DNG mode works: I enabled it and gone to live view, pressed shoot button once and it generated 1730 x 1154 DNG file and I was able to view it
2. Then I switched to Full-Res DNG, it said "Set picture quality to RAW", I switched to, pressed shoot button, it said "Raw error" and nothing happened after.
3. Then I switched to Full-Res MLV and loaded mlv_rec.mo. Again it said "Raw error"
Does anybody have any ideas in what direction should we dig to investigate why Full-Res mode may not work?
Title: Re: Canon 1200D
Post by: a1ex on October 01, 2017, 07:52:55 PM
Ah, got it, so mk11174 experimented with raw video and fine-tuned the 1200D-specific constants, but had it disabled in order to get the basic features in good shape. Enabled CONFIG_RAW_LIVEVIEW in the nightly builds, then.

"Raw error" appears when raw_update_params() returns failure - that means, something in the raw backend (raw.c). You could enable the debug messages there - RAW_DEBUG. I find this one odd, since I have the 1200D FRSP included in the QEMU test suite (https://builds.magiclantern.fm/jenkins/view/QEMU/job/QEMU-tests/lastSuccessfulBuild/console) (look up FA_CaptureTestImage)

edit: trying to setup the same test on QEMU, with latest 1200D build, and I'm getting the same error (using the same input image as in the QEMU test suite), but in my case, it's from the trickery I'm using in QEMU to work around lack of LiveView emulation.

edit2: got it working! (had to use a gdb patch to fake the LiveView status, but otherwise I'm testing the latest 1200D build as unmodified binary)

(https://builds.magiclantern.fm/jenkins/job/QEMU-nightly-tests/254/artifact/qemu/magiclantern-Nightly.2017Oct01.1200D101/13-silent-capture.png)

Guess where this image comes from ;)

8)
Title: Re: Canon 1200D
Post by: vanbov on October 02, 2017, 10:36:37 PM
Hm, strange that it works in qemu for you and does not on camera. I enabled RAW_DEBUG in raw.c

#define RAW_DEBUG 1
// #undef RAW_DEBUG        /* define it to help with porting */


I used this commit as base: https://bitbucket.org/hudson/magic-lantern/commits/0d7addd66a4ed8534033764fde5f88a781920f02?at=1200D
Results, before click shoot in DNG, FullRes:

(https://thumb.ibb.co/eB6Yyw/IMG_20171002_232103.jpg) (https://ibb.co/eB6Yyw)

after click shoot in DNG, FullRes:

(https://thumb.ibb.co/jBxHQb/IMG_20171002_232239.jpg) (https://ibb.co/jBxHQb)

Mb these are useless, just will leave it here.

QuoteGuess where this image comes from
I have a feeling that I've already seen it somewhere ;)
Title: Re: Canon 1200D
Post by: a1ex on October 02, 2017, 10:42:06 PM
For some reason, it's returning to LiveView before displaying the image (and it shouldn't...)

What's your Image Review setting in Canon menu?
Title: Re: Canon 1200D
Post by: vanbov on October 03, 2017, 09:36:47 PM
it was "2 seconds". When I switch it to "off", it shows a black screen after each shoot press, and only reboot resets it. "Hold" option behaves in same way as "2 seconds"
Title: Re: Canon 1200D
Post by: a1ex on October 03, 2017, 09:52:10 PM
On the "image review off" code path from silent_pic_take_fullres, try turning on the display and adding some printf's to see how far it goes.

Also make sure "lv" is 0 before calling raw_update_params(); if it's not, try forcing it.

It it's a hard lock-up, try bmp_printf's, as these are displayed right away; regular printf's are printed by a background task, so it it really locks, the printf's would go unnoticed.

LED blinks and beeps are also useful for debugging.
Title: Re: Canon 1200D
Post by: vanbov on October 08, 2017, 04:35:42 PM
sorry for the confusion, after more tests I realized that FullRes mode works when image review is off! The black screen had confused me so I decided that it was some kind of hang up, but in fact, even with the black screen, it creates 5202x3464 images! When I added display_on(); to  "image review off" "if" branch I saw messages about successful saving, so I checked it on the card and they are there! So looks like all is ok, but I have not expected a black screen. Then I noticed that when I press "zoom minus" button it again turns on display even from a black screen. Thanks a lot for help and firmware!
Title: Re: Canon 1200D
Post by: a1ex on October 08, 2017, 04:52:12 PM
Okay, so the trouble is when switching to QuickReview mode?

If you comment out the prop_request_change call (the one with PROP_GUI_STATE) and replace it with:

        gui_state = GUISTATE_QR;


... then I'd expect it to save the DNG, but it won't trigger the overlays.

Can you also record a video to show what happens with the vanilla build?
Title: Re: Canon 1200D
Post by: vanbov on October 09, 2017, 06:08:36 PM
QuoteOkay, so the trouble
I would not call it trouble because as I mentioned before case when image review is off works so I think it is already a great result for 1200D port! :)
But of course, it will be nice to have the ability to preview after each shoot.
Here is video from vanilla build: https://drive.google.com/open?id=0B92mpHi4jIW4UmRIVi1Sa2lOcmM
After second case it created photo https://drive.google.com/open?id=0B92mpHi4jIW4WWt3Q1JYUmZiN2M . I am going to play more with this staff to better understand firmware and silent.mo
Title: Re: Canon 1200D
Post by: arshdsj on November 17, 2017, 09:02:26 AM
Hey i have 1300d , Can i install the same firmware ( i.e. available for 1200d ) on my camera , without bricking it.
Some one please help , i need Magic Lantern on my Canon 1300D.
As far as i know 1200D and 1300d are the same cameras with just wifi/nfc difference.
(http://thumb.ibb.co/mmtoV6/canon_eos_1300d_front.jpg) (http://ibb.co/mmtoV6)

Thanks in Advance.
Title: Re: Canon 1200D
Post by: Walter Schulz on November 18, 2017, 06:56:25 AM
Nope, totally out of the question.
Title: Re: Canon 1200D
Post by: Mr_Propane on December 09, 2017, 08:40:24 PM
Rebel T5- Does magic lantern help fix the terrible autofocus of the official firmware? Also, I noticed the audio is silenced during video? Is that an option that can be turned back on so the audio can be recorded?
Title: Re: Canon 1200D
Post by: a1ex on December 15, 2017, 08:07:55 PM
Got a very easy coding task (trial and error, but the issue is likely hardware-specific, so it can only be solved with the camera in one's hands):

https://bitbucket.org/hudson/magic-lantern/issues/2821/green-display

It works fine in QEMU, so I'm unable to fix this error myself; please find some things to try on the issue tracker.

@Mr_Propane: all the audio options on this camera are in Canon menu.
Title: Re: Canon 1200D
Post by: violao on December 24, 2017, 01:19:29 AM
Hi, I'm new here and have a question for testers/users of ML on 1200d. Did anyone manage to record  longer than 12min videos by lowering H.264 bitrate below 1.0 under movie settings?

I consider buying this camera and I need to shoot continuous videos with 1920x1080/30p for at least 20 minutes.

Thanks a lot!
Title: Re: Canon 1200D
Post by: BrokenSyntax on January 04, 2018, 02:56:58 PM
I bought one of these secondhand today for £100 for shooting B-roll in some silly little video projects me and my buddies are doing.

I've installed ML successfully, benchmarks show this as capping out at 21MB/s, my temp 16GB Sandisk Ultra card doesn't write fast enough to saturate that but I assume with the 21MB/s read speed cap that this camera can't exceed 20MB/s write speed? Therefore it is suited for sub-720p ML Raw.

Has anyone had any experiences contrary to my assumption above?
Title: Re: Canon 1200D
Post by: vanbov on January 07, 2018, 09:47:02 PM
Hmm, about issue with black screen after silent full-res pictures with review off:

I was able to fix it by appending ResumeLiveView(); under cleanup section of `silent_pic_take_fullres`


gui_uilock(UILOCK_NONE);
ResumeLiveView();  // here
return ok;


Probably this is not corret, and the general idea was to do some other things to return back to live view, also it may brake something, but it should be enough to work on hyperlapses - after returning to liveview we can use cropmarks to hold somepoint. Thats great.
If someone need binary firmware with a fix here it is - https://maketips.net/tip/495/magic-lantern-for-1200d-with-silent-no-black-screen (I hope this is not rules violation or something like this). Here is also detailed steps how I built that thing if someone wants to repeat https://maketips.net/tip/420/build-magic-lantern-firmware
Title: Re: Canon 1200D
Post by: vanbov on January 07, 2018, 09:58:37 PM
Quote from: violao on December 24, 2017, 01:19:29 AM
Hi, I'm new here and have a question for testers/users of ML on 1200d. Did anyone manage to record  longer than 12min videos by lowering H.264 bitrate below 1.0 under movie settings?

I consider buying this camera and I need to shoot continuous videos with 1920x1080/30p for at least 20 minutes.

Thanks a lot!
Hi,
I am able to set CBR under values less then 1 (e.g. 0.5) and record something, but I can't find 1920x1080/30p. Do you mean 30 fps? If yes then there I have only 1920x25, 1920x24, 1280x50, 640x25 modes. I am not working with video staff here but can test something if needed. Probably 30p can be achieved by some haks in ML.
Title: Re: Canon 1200D
Post by: BrokenSyntax on January 10, 2018, 09:02:14 PM
Quote from: vanbov on January 07, 2018, 09:58:37 PM
Hi,
I am able to set CBR under values less then 1 (e.g. 0.5) and record something, but I can't find 1920x1080/30p. Do you mean 30 fps? If yes then there I have only 1920x25, 1920x24, 1280x50, 640x25 modes. I am not working with video staff here but can test something if needed. Probably 30p can be achieved by some haks in ML.

This can be achieved by setting your region settings in the canon MENU to NTSC instead of PAL.
Title: Re: Canon 1200D
Post by: vanbov on January 13, 2018, 07:06:34 PM
Ok, Then looks like I was able to record 1920x30 .MOV 20-minute video with 0.5 CBR (took 3.7 Gb).
Title: Re: Canon 1200D
Post by: a1ex on January 21, 2018, 12:44:18 PM
While reviewing the 1300D code, I've noticed a few things that may need double-checking on 1200D, in internals.h:

- Display filters are likely to work out of the box:

#define CONFIG_CAN_REDIRECT_DISPLAY_BUFFER_EASILY
#define CONFIG_CAN_REDIRECT_DISPLAY_BUFFER
#define CONFIG_DISPLAY_FILTERS


(this will enable fisheye correction, anamorphic preview, raw video preview with correct framing and a few others)

- CONFIG_EXPSIM: I expect this to work (in LiveView, this should disable exposure simulation, so the brightness you see on the screen will no longer match the dialed exposure)

- CONFIG_FPS_AGGRESSIVE_UPDATE: not sure if needed. With FPS override turned off, open the submenu and write down the timer values in all video modes (including photo mode and x5 zoom). The same test was done for 1100D (http://www.magiclantern.fm/forum/index.php?topic=1009.msg146321#msg146321).

- CONFIG_MOVIE_AE_WARNING: there are manual video controls, but they are disabled by default; this should probably be enabled.

If any of you can compile from source, can you try to switch the above options and report back?
Title: Re: Canon 1200D
Post by: vanbov on January 23, 2018, 09:59:14 PM
I am able to build and test, but unfortunately, I am not familiar with all that magic staff here because I have been using only silent picture and intervalometer. So, unfortunately, it hard for me to determine detailed test flow for all items. But I feel a duty to help this awesome project at least with those small things that I can do.
So at least I was able to run firmware with updated constants.

Here is binary firmware https://hinty.io/ivictbor/magic-lantern-for-1200d-with-silent-no-black-screen/ (https://hinty.io/ivictbor/magic-lantern-for-1200d-with-silent-no-black-screen/) if someone else wants to test on 1200D.

About CONFIG_FPS_AGGRESSIVE_UPDATE - I found FPS override and turned off, but I am not sure I got correctly where are teh timer values and how to switch the mode to run through all modes, sorry for that. Probably someone here who uses ML a lot can support me with detailed guidelines - where to go what to click - then I will able to run these guidelines and provide photos.
Title: Re: Canon 1200D
Post by: a1ex on January 23, 2018, 10:18:08 PM
"Liveview looks like this:" -> that's a bug; ML shouldn't print things over Canon's overlays. To solve it, one has to find a property that tells us when these overlays are turned on or off; however, I have a feeling it's just a simple tweak. Try this patch:


--- a/src/propvalues.c
+++ b/src/propvalues.c
@@ -239,3 +239,3 @@
     hdmi_vars_update();
-    #elif defined(CONFIG_60D) || defined(CONFIG_600D) || defined(CONFIG_1100D) || defined(CONFIG_50D) || defined(CONFIG_DIGIC_V)
+    #elif defined(EVF_STATE) || defined(CONFIG_50D)
     lv_disp_mode = (uint8_t)buf[1];


That makes the code path with buf[1] available to all models using EVF_STATE (recent DIGIC 4, all DIGIC 5 and also newer models); these are likely similar, but it's something I'm unable to test in QEMU for now.

To test: press INFO/DISP a few times. ML overlays should appear only when Canon overlays are turned off (not both at the same time, fighting over the screen).

Raw video preview: mlv_play does not use display filters (previously, it should have worked in the same way). There's an option in the submenu to change the preview mode - you'll notice it right away, as it has low frame rate and looks ugly. Or, try the fisheye correction, which is the most demanding preview option (memory hungry).

FPS timers are in the submenu (timer A and B). Just write down their values. To change video modes, use Canon menu (1920x1080 24/25/30 fps, 1280x720 50/60 fps, x5 zoom etc).

Some related stuff that wasn't done for 1200D: VRAM dumps (http://www.magiclantern.fm/forum/index.php?topic=12375.0) in all video modes.

Title: Re: Canon 1200D
Post by: vanbov on January 28, 2018, 02:30:45 PM
Hm, unfortunately for me looks like after the patch overlays still are clashed. Probably as you said it should be another variable.

Thanks, found timer values here: Movie -> FPS Override -> Advanced:

For NTSC modes (Canon menu in Video mode -> Second tab -> Video System -> For NTSC):
1. 1920x1080 30fps
Timer A 546 (+0)
Timer B 1760 (+0)
2. 1920x1080 24fps
Timer A 546 (+0)
Timer B 2200 (+0)
3 1280x720 60fps
Timer A 546 (+0)
Timer B 880 (+0)
4. 640x480 30fps:
Timer A 546 (+0)
Timer B 1760 (+0)

For PAL modes (Video System -> For PAL):

1. 1920x1080 25fps
Timer A 576 (+0)
Timer B 2000(+0)
2. 1920x1080 24fps (same as for NTSC)
Timer A 546 (+0)  (same as for NTSC)
Timer B 2200 (+0) (same as for NTSC)
3 1280x720 50fps
Timer A 576 (+0)
Timer B 1000 (+0)
4. 640x480 25fps:
Timer A 576 (+0)
Timer B 2000 (+0)

I keep searching for video preview option, hope will find it soon. Currently, I found only Display ->Defishing -> Panini/Rectilinear in ML menu but did not notice any changes in live preview or in video playback. But I am not sure that it is exactly what we are trying to test.
Title: Re: Canon 1200D
Post by: a1ex on January 28, 2018, 03:08:04 PM
Forgot to #include <platform/state-object.h> - can you try with that? Or otherwise make sure the branch with buf[1] is the one that gets compiled for 1200D (e.g. you should get a compiling error if you write some nonsense there).

FPS timers look well-behaved (unlike 1100D), so we don't need CONFIG_FPS_AGGRESSIVE_UPDATE. Other than slightly lower CPU usage, it won't really make a difference though.

If you don't see anything with defishing or anamorphic preview, that means the display filters are not working, for some reason. I'd like to see an EDMAC screenshot in LiveView (edmac.mo, show channels) and all possible addresses for channels #2 and #3 (hold the down arrow pressed to see the address changing faster).
Title: Re: Canon 1200D
Post by: vanbov on February 03, 2018, 12:04:02 AM
Yep, really, without that include buf[1] path was not included so my previous change had no value.
And now it looks fixed:
(https://maketips.net/media/uploads/2018/02/02/at6eBnziVQX644zJ6bzg6a-36393506.png)
Here are channels:
(https://maketips.net/media/uploads/2018/02/02/LYqTnMuksHdjwEdcuEPJqa-c938d5e5.png)
The second picture is unfocused so here is address:
2nd channel address is 4000080
3nd channel address is d07800
Title: Re: Canon 1200D
Post by: parkerlreed on March 01, 2018, 09:16:56 PM
Quote from: a1ex on January 28, 2018, 03:08:04 PM
Forgot to #include <platform/state-object.h> - can you try with that? Or otherwise make sure the branch with buf[1] is the one that gets compiled for 1200D (e.g. you should get a compiling error if you write some nonsense there).

I can confirm that works here. https://www.youtube.com/watch?v=8jLuoNtovfI

Canon still likes to draw over if changing values but the ML overlay does hide when the Canon is enabled.
Title: Re: Canon 1200D
Post by: a1ex on March 02, 2018, 04:54:21 AM
Thanks - the buf[1] trick is working, but the bottom bar hack is not.

You could try one of these:

1) CONFIG_LVAPP_HACK_RELOC in internals.h (as used on other recent D4 models)

2) experimental "one size fits all" bottom bar hack

hg merge cleaner-lvapp-hack


3) figure out a better hack (hard, many edge cases)
Title: Re: Canon 1200D
Post by: Raov on April 12, 2018, 01:21:30 PM
anyone porting 2018-02-28 release? kinda want new features introduced in the updates
Title: Re: Canon 1200D
Post by: dfort on April 15, 2018, 01:01:59 AM
What features do you kinda want?

Looks like it is working, at least in QEMU.

(https://farm1.staticflickr.com/863/27588013748_8cd4d4d1a1.jpg) (https://flic.kr/p/J2RMks)

(https://farm1.staticflickr.com/901/27588012238_e921e1b891.jpg) (https://flic.kr/p/J2RLTq)

I've been doing some firmware updates and the 1200D is on my list (https://www.magiclantern.fm/forum/index.php?topic=19417.msg184578#msg184578). Changing the firmware on a port that isn't complete yet might not be the best thing to do but some old bugs were found on other cameras by doing an update. This would require getting a firmware dump for 1.0.2. If someone could get that please PM me.

I put up a "1200D Canon Firmware for Testers" package on my downloads page (https://bitbucket.org/daniel_fort/magic-lantern/downloads/) that has both Canon 1.0.1 and 1.0.2 firmware updaters so you don't have to go searching for them. Use the Portable Dumper linked at the bottom of the Nightlies download page (https://builds.magiclantern.fm/). Here's the forum topic (https://www.magiclantern.fm/forum/index.php?topic=16534.0) with way too much information about the Portable Dumper.
Title: Re: Canon 1200D
Post by: dterrahe on April 23, 2018, 08:15:30 AM
I've tried to use the rom dumper on two different sd cards but it always gets stuck on
Dumping ROM0 (attempt 1)...

It also says
Firmware version: 1.0.1 /4.4.3 5A(20)
even after I just updated to 1.0.2

Is that because I installed ML for 1.0.1 on each SD card first and then overwrote the autoexec.bat with the dumper? Is there another way to get the dumper to run on an empty sd card?
Title: Re: Canon 1200D
Post by: dfort on April 25, 2018, 02:14:17 AM
Thanks @dterrahe - starting a firmware update on the 1200D to the latest Canon 1.0.2:

(https://farm1.staticflickr.com/971/40790416705_49b75f98e7.jpg) (https://flic.kr/p/259vxLD)

I don't have access to a camera so I'm counting on 1200D user feedback on this. On other cameras these firmware update exercises have brought up some issues and shaken out some bugs so let's see what happens on this camera.
Title: Re: Canon 1200D
Post by: Raov on April 25, 2018, 04:14:05 PM
Quote from: dfort on April 25, 2018, 02:14:17 AM
Thanks @dterrahe - starting a firmware update on the 1200D to the latest Canon 1.0.2:

(https://farm1.staticflickr.com/971/40790416705_49b75f98e7.jpg) (https://flic.kr/p/259vxLD)

I don't have access to a camera so I'm counting on 1200D user feedback on this. On other cameras these firmware update exercises have brought up some issues and shaken out some bugs so let's see what happens on this camera.

nice job my dude
also i have a 1200D maybe i can try some builds camera has a softbrick now, battery fell out while downgrading to 1.0.1
Title: Re: Canon 1200D
Post by: dfort on April 25, 2018, 08:16:05 PM
1200D.102 is up and running -- at least running in QEMU.

(https://farm1.staticflickr.com/969/27831349108_f839a72277.jpg) (https://flic.kr/p/JpmWsG)

There were surprisingly few changes needed. For example, here's the check-stubs script output:

check-stubs.py platform/1200D.101/stubs.S platform/1200D.102/stubs.S

STUB                                                    OLD           NEW     DELTA
current_interrupt                                    0x00000674 -> 0x00000674 [0x000]
task_dispatch_hook                                   0x0000193c -> 0x0000193c [0x000]
current_task                                         0x00001a2c -> 0x00001a2c [0x000]
gui_main_struct                                      0x00001c18 -> 0x00001c18 [0x000]
sounddev                                             0x00001e50 -> 0x00001e50 [0x000]
dm_names                                             0x00002440 -> 0x00002440 [0x000]
task_max                                             0x0000295c -> 0x0000295c [0x000]
gui_timer_struct                                     0x00003c90 -> 0x00003c90 [0x000]
mvr_config                                           0x00005a14 -> 0x00005a14 [0x000]
additional_version                                   0x00007b98 -> 0x00007b98 [0x000]
gui_task_list                                        0x0000a528 -> 0x0000a528 [0x000]
cf_device                                            0x00014fec -> 0x00014fec [0x000]
sd_device                                            0x00015010 -> 0x00015010 [0x000]
LCD_Palette                                          0x0001bbe0 -> 0x0001bbe0 [0x000]
bmp_vram_info                                        0x0001d3e0 -> 0x0001d3e0 [0x000]
lv_path_struct                                       0x000753f0 -> 0x000753f0 [0x000]
camera_engine                                        0xc0220000 -> 0xc0220000 [0x000]
cstart                                               0xff0c1028 -> 0xff0c1028 [0x000] [!!!]
create_init_task                                     0xff0c7df0 -> 0xff0c7df0 [0x000] [!!!]
_malloc                                              0xff0c8ba4 -> 0xff0c8ba4 [0x000] [!!!]
_free                                                0xff0c8bfc -> 0xff0c8bfc [0x000] [!!!]
init_task                                            0xff0c9648 -> 0xff0c9648 [0x000] [!!!]
gui_main_task                                        0xff0d10d4 -> 0xff0d10d4 [0x000] [!!!]
GUI_Control                                          0xff0d1490 -> 0xff0d1490 [0x000] [!!!]
GUI_ChangeMode                                       0xff0d1590 -> 0xff0d1590 [0x000] [!!!]
gui_init_end                                         0xff0d1af0 -> 0xff0d1af0 [0x000] [!!!]
SRM_AllocateMemoryResourceFor1stJob                  0xff0d9b14 -> 0xff0d9b14 [0x000] [!!!]
SRM_FreeMemoryResourceFor1stJob                      0xff0dc3a8 -> 0xff0dc3a8 [0x000] [!!!]
StartASIFDMAADC                                      0xff105e10 -> 0xff105e10 [0x000] [!!!]
StopASIFDMAADC                                       0xff1060a8 -> 0xff1060a8 [0x000] [!!!]
StartASIFDMADAC                                      0xff1061d0 -> 0xff1061d0 [0x000] [!!!]
StopASIFDMADAC                                       0xff106444 -> 0xff106444 [0x000] [!!!]
SetASIFMode                                          0xff10656c -> 0xff10656c [0x000] [!!!]
SetNextASIFADCBuffer                                 0xff106888 -> 0xff106888 [0x000] [!!!]
SetNextASIFDACBuffer                                 0xff106af4 -> 0xff106af4 [0x000] [!!!]
sounddev_task                                        0xff108488 -> 0xff108488 [0x000] [!!!]
SoundDevActiveIn                                     0xff10888c -> 0xff10888c [0x000] [!!!]
sounddev_active_in                                   0xff10888c -> 0xff10888c [0x000] [!!!]
SoundDevShutDownIn                                   0xff108ae0 -> 0xff108ae0 [0x000] [!!!]
SetAudioVolumeIn                                     0xff108c20 -> 0xff108c20 [0x000] [!!!]
PowerAudioOutput                                     0xff108c54 -> 0xff108c54 [0x000] [!!!]
_prop_request_change                                 0xff10c0c8 -> 0xff10c0c8 [0x000] [!!!]
prop_deliver                                         0xff10c6a8 -> 0xff10c6a8 [0x000] [!!!]
prop_register_slave                                  0xff10c730 -> 0xff10c730 [0x000] [!!!]
_prop_cleanup                                        0xff10c850 -> 0xff10c850 [0x000] [!!!]
EnableImagePhysicalScreenParameter                   0xff114874 -> 0xff114874 [0x000] [!!!]
LoadCalendarFromRTC                                  0xff11aee0 -> 0xff11aee0 [0x000] [!!!]
SetAudioVolumeOut                                    0xff11bc20 -> 0xff11bc20 [0x000] [!!!]
SetSamplingRate                                      0xff11c948 -> 0xff11c948 [0x000] [!!!]
PowerMicAmp                                          0xff11cfe8 -> 0xff11cfe8 [0x000] [!!!]
DryosDebugMsg                                        0xff11f5dc -> 0xff11f5dc [0x000] [!!!]
dm_set_store_level                                   0xff11f93c -> 0xff11f93c [0x000] [!!!]
call                                                 0xff1204a4 -> 0xff1204a4 [0x000] [!!!]
SetHPTimerAfterNow                                   0xff120f28 -> 0xff120f28 [0x000] [!!!]
SetHPTimerNextTick                                   0xff12101c -> 0xff12101c [0x000] [!!!]
create_named_semaphore                               0xff12213c -> 0xff12213c [0x000] [!!!]
take_semaphore                                       0xff12229c -> 0xff12229c [0x000] [!!!]
give_semaphore                                       0xff122384 -> 0xff122384 [0x000] [!!!]
msleep                                               0xff122770 -> 0xff122770 [0x000] [!!!]
task_create                                          0xff122824 -> 0xff122824 [0x000] [!!!]
GetSizeOfMaxRegion                                   0xff1233ec -> 0xff1233ec [0x000] [!!!]
GetMemoryInformation                                 0xff123440 -> 0xff123440 [0x000] [!!!]
_AllocateMemory                                      0xff12369c -> 0xff12369c [0x000] [!!!]
_FreeMemory                                          0xff123a2c -> 0xff123a2c [0x000] [!!!]
CreateMemoryChunk                                    0xff124408 -> 0xff124408 [0x000] [!!!]
GetMemoryAddressOfMemoryChunk                        0xff1249a8 -> 0xff1249a8 [0x000] [!!!]
DeleteMemorySuite                                    0xff124a1c -> 0xff124a1c [0x000] [!!!]
CreateMemorySuite                                    0xff124be8 -> 0xff124be8 [0x000] [!!!]
AddMemoryChunk                                       0xff124e8c -> 0xff124e8c [0x000] [!!!]
GetFirstChunkFromSuite                               0xff124f60 -> 0xff124f60 [0x000] [!!!]
GetNextMemoryChunk                                   0xff1256f4 -> 0xff1256f4 [0x000] [!!!]
dma_memcpy                                           0xff126cfc -> 0xff126cfc [0x000] [!!!]
AllocateMemoryResource                               0xff127968 -> 0xff127968 [0x000] [!!!]
AllocateContinuousMemoryResource                     0xff1279b4 -> 0xff1279b4 [0x000] [!!!]
FreeMemoryResource                                   0xff127acc -> 0xff127acc [0x000] [!!!]
SetTimerAfter                                        0xff1290bc -> 0xff1290bc [0x000] [!!!]
CancelTimer                                          0xff1292bc -> 0xff1292bc [0x000] [!!!]
task_trampoline                                      0xff12f67c -> 0xff12f67c [0x000] [!!!]
DispSensorStart                                      0xff134bb8 -> 0xff134bb8 [0x000] [!!!]
SetGUIRequestMode                                    0xff157514 -> 0xff157514 [0x000] [!!!]
gui_massive_event_loop                               0xff159590 -> 0xff159590 [0x000] [!!!]
gui_change_mode                                      0xff15b430 -> 0xff15b430 [0x000] [!!!]
gui_local_post                                       0xff15bba0 -> 0xff15bba0 [0x000] [!!!]
gui_other_post                                       0xff15c150 -> 0xff15c150 [0x000] [!!!]
gui_change_shoot_type_post                           0xff15c470 -> 0xff15c470 [0x000] [!!!]
ptpPropSetUILock                                     0xff1fff84 -> 0xff1fff84 [0x000] [!!!]
mvrSetDefQScale                                      0xff27f9d0 -> 0xff27f9d0 [0x000] [!!!]
mvrSetFullHDOptSize                                  0xff27fa08 -> 0xff27fa08 [0x000] [!!!]
mvrSetGopOptSizeFULLHD                               0xff27fbf8 -> 0xff27fbf8 [0x000] [!!!]
mvrFixQScale                                         0xff27fef4 -> 0xff27fef4 [0x000] [!!!]
SetEDmac                                             0xff29c7bc -> 0xff29c7bc [0x000] [!!!]
ConnectWriteEDmac                                    0xff29c874 -> 0xff29c874 [0x000] [!!!]
ConnectReadEDmac                                     0xff29c938 -> 0xff29c938 [0x000] [!!!]
StartEDmac                                           0xff29cabc -> 0xff29cabc [0x000] [!!!]
AbortEDmac                                           0xff29cc0c -> 0xff29cc0c [0x000] [!!!]
RegisterEDmacCompleteCBR                             0xff29ccac -> 0xff29ccac [0x000] [!!!]
UnregisterEDmacCompleteCBR                           0xff29ccc0 -> 0xff29ccc0 [0x000] [!!!]
RegisterEDmacAbortCBR                                0xff29ccd4 -> 0xff29ccd4 [0x000] [!!!]
UnregisterEDmacAbortCBR                              0xff29cd14 -> 0xff29cd14 [0x000] [!!!]
RegisterEDmacPopCBR                                  0xff29cddc -> 0xff29cddc [0x000] [!!!]
UnregisterEDmacPopCBR                                0xff29cdf0 -> 0xff29cdf0 [0x000] [!!!]
shamem_read                                          0xff29daa8 -> 0xff29daa8 [0x000] [!!!]
_EngDrvOut                                           0xff29dbb8 -> 0xff29dbb8 [0x000] [!!!]
_engio_write                                         0xff29df84 -> 0xff29df84 [0x000] [!!!]
CreateResLockEntry                                   0xff2a0b8c -> 0xff2a0b8c [0x000] [!!!]
LockEngineResources                                  0xff2a10cc -> 0xff2a10cc [0x000] [!!!]
UnLockEngineResources                                0xff2a1208 -> 0xff2a1208 [0x000] [!!!]
_FIO_OpenFile                                        0xff2a24d0 -> 0xff2a24d0 [0x000] [!!!]
_FIO_CreateFile                                      0xff2a258c -> 0xff2a258c [0x000] [!!!]
_FIO_RemoveFile                                      0xff2a2638 -> 0xff2a2638 [0x000] [!!!]
_FIO_ReadFile                                        0xff2a26e0 -> 0xff2a26e0 [0x000] [!!!]
FIO_SeekSkipFile                                     0xff2a2790 -> 0xff2a2790 [0x000] [!!!]
_FIO_WriteFile                                       0xff2a2880 -> 0xff2a2880 [0x000] [!!!]
FIO_CloseFile                                        0xff2a2930 -> 0xff2a2930 [0x000] [!!!]
_FIO_GetFileSize                                     0xff2a2aac -> 0xff2a2aac [0x000] [!!!]
_FIO_RenameFile                                      0xff2a2fa4 -> 0xff2a2fa4 [0x000] [!!!]
_FIO_CreateDirectory                                 0xff2a316c -> 0xff2a316c [0x000] [!!!]
_FIO_FindFirstEx                                     0xff2a372c -> 0xff2a372c [0x000] [!!!]
FIO_FindNextEx                                       0xff2a3820 -> 0xff2a3820 [0x000] [!!!]
FIO_FindClose                                        0xff2a3900 -> 0xff2a3900 [0x000] [!!!]
_audio_ic_write                                      0xff2ad25c -> 0xff2ad25c [0x000] [!!!]
_audio_ic_read                                       0xff2ad554 -> 0xff2ad554 [0x000] [!!!]
BulkOutIPCTransfer                                   0xff2b29a8 -> 0xff2b29a8 [0x000] [!!!]
BulkInIPCTransfer                                    0xff2b2a78 -> 0xff2b2a78 [0x000] [!!!]
QuickOutIPCTransfer                                  0xff2b2bf8 -> 0xff2b2bf8 [0x000] [!!!]
RegisterRPCHandler                                   0xff2b3178 -> 0xff2b3178 [0x000] [!!!]
RequestRPC                                           0xff2b3228 -> 0xff2b3228 [0x000] [!!!]
msg_queue_create                                     0xff2b3c44 -> 0xff2b3c44 [0x000] [!!!]
msg_queue_receive                                    0xff2b3d54 -> 0xff2b3d54 [0x000] [!!!]
msg_queue_post                                       0xff2b3f40 -> 0xff2b3f40 [0x000] [!!!]
msg_queue_count                                      0xff2b3f80 -> 0xff2b3f80 [0x000] [!!!]
CreateRecursiveLock                                  0xff2b3ff4 -> 0xff2b3ff4 [0x000] [!!!]
AcquireRecursiveLock                                 0xff2b408c -> 0xff2b408c [0x000] [!!!]
ReleaseRecursiveLock                                 0xff2b41a0 -> 0xff2b41a0 [0x000] [!!!]
vsnprintf                                            0xff2b74d8 -> 0xff2b74d8 [0x000] [!!!]
TryPostStageEvent                                    0xff2b9360 -> 0xff2b9360 [0x000] [!!!]
TryPostStageEvent_end                                0xff2b93bc -> 0xff2b93bc [0x000] [!!!]
TryPostEvent                                         0xff2b9cd8 -> 0xff2b9cd8 [0x000] [!!!]
TryPostEvent_end                                     0xff2b9d34 -> 0xff2b9d34 [0x000] [!!!]
_alloc_dma_memory                                    0xff2bb314 -> 0xff2bb314 [0x000] [!!!]
_free_dma_memory                                     0xff2bb348 -> 0xff2bb348 [0x000] [!!!]
GUI_SetRollingPitchingLevelStatus                    0xff2e8d5c -> 0xff2e8d5c [0x000] [!!!]
GUI_SetLvMode                                        0xff2e94e8 -> 0xff2e94e8 [0x000] [!!!]
Gui_SetSoundRecord                                   0xff2e971c -> 0xff2e971c [0x000] [!!!]
dialog_set_property_str                              0xff2f5e1c -> 0xff2f5e1c [0x000] [!!!]
ptp_register_handler                                 0xff369bdc -> 0xff369bdc [0x000] [!!!]
dialog_redraw                                        0xff3e63a4 -> 0xff3e63a4 [0x000] [!!!]
MirrorDisplay                                        0xff403f90 -> 0xff403f90 [0x000] [!!!]
ReverseDisplay                                       0xff403fc0 -> 0xff403fc0 [0x000] [!!!]
NormalDisplay                                        0xff403ff0 -> 0xff403ff0 [0x000] [!!!]
is_taskid_valid                                      0xff417ed4 -> 0xff417ed4 [0x000] [!!!]
ErrForCamera_handler                                 0xff4250e0 -> 0xff4250e0 [0x000] [!!!]
GUI_SetCFnForTab4                                    0xff42aee0 -> 0xff42aee0 [0x000] [!!!]
CancelDateTimer                                      0xff437180 -> 0xff437180 [0x000] [!!!]
HideUnaviFeedBack_maybe                              0xff43c08c -> 0xff43c08c [0x000] [!!!]
LiveViewApp_handler                                  0xff440b90 -> 0xff440b90 [0x000] [!!!]
LiveViewApp_handler_BL_JudgeBottomInfoDispTimerState 0xff441218 -> 0xff441218 [0x000] [!!!]
LiveViewApp_handler_end                              0xff442864 -> 0xff442864 [0x000] [!!!]
LiveViewWbApp_handler                                0xff44e238 -> 0xff44e238 [0x000] [!!!]
ShootOlcApp_handler                                  0xff44f9dc -> 0xff44f9dc [0x000] [!!!]
PlayMain_handler                                     0xff45bdb4 -> 0xff45bdb4 [0x000] [!!!]
fsuDecodePartitionTable                              0xff4f93e8 -> 0xff4f93ec [0x004]
ErrCardForLVApp_handler                              0xff532004 -> 0xff532008 [0x004]
PlayMovieGuideApp_handler                            0xff56c228 -> 0xff56c22c [0x004]
StopPlayProtectGuideApp                              0xff56d4cc -> 0xff56d4d0 [0x004]
StartPlayProtectGuideApp                             0xff56d8ac -> 0xff56d8b0 [0x004]
GetCFnData                                           0xff5fb8ec -> 0xff5fb8f0 [0x004]
SetCFnData                                           0xff5fbb18 -> 0xff5fbb1c [0x004]
bzero32                                              0xff623b5c -> 0xff623b60 [0x004]
audio_thresholds                                     0xff69b488 -> 0xff69b490 [0x008]


I put a test build on my downloads page (https://bitbucket.org/daniel_fort/magic-lantern/downloads/). Note that this is an early test build and doesn't have a ML-SETUP.FIR yet so you'll have to install ML on 1200D.101 before updating the firmware. I made a package called 1200D Canon Firmware for Testers.zip that has both 1.0.1 and 1.0.2 Canon firmware updaters so you don't need to search for them.

@Raov - The test build has the latest unified branch changes.

First test would be to activate the selftest module and run the Stubs API test.
Title: Re: Canon 1200D
Post by: Raov on April 26, 2018, 11:24:27 AM
Quote from: dfort on April 25, 2018, 08:16:05 PM
1200D.102 is up and running -- at least running in QEMU.

@Raov - The test build has the latest unified branch changes.

First test would be to activate the selftest module and run the Stubs API test.

great job, a1ex contacted me about the possible unbrick so i may test it out on real hardware when (and if) the unbrick will be successful.
Title: Re: Canon 1200D
Post by: dterrahe on April 26, 2018, 09:55:14 PM
After recharging the battery, flashed 1.0.2 and unzipped your new ML version.

Seems to run perfectly.

Ran the stubs api test and got:
Test complete. 11599 passed. 0 failed.

That kindoff sounds good too...

Happy.
Title: Re: Canon 1200D
Post by: dfort on April 27, 2018, 03:07:46 PM
Heard from @dterrahe who sent me the 1.0.2 firmware dump that the camera passed the selftest module Stubs API test with a perfect score. Let's kick this up a notch and run the new lua API tests. Posted a lua_fix test build for the 1200D.102 to my downloads page (https://bitbucket.org/daniel_fort/magic-lantern/downloads/).
Title: Re: Canon 1200D
Post by: Raov on April 27, 2018, 04:46:10 PM
Quote from: dfort on April 27, 2018, 03:07:46 PM
Heard from @dterrahe who sent me the 1.0.2 firmware dump that the camera passed the selftest module Stubs API test with a perfect score.
thats some real fast progress.
Title: Re: Canon 1200D
Post by: dfort on April 28, 2018, 05:29:34 PM
@dterrahe has been running the lua tests but is having problems posting to the forum. The 1200D did surprisingly well on the very first lua test run. Here's what he has to report:

QuoteAlso: kicked off the lua test and left it running for a while. It seemed to be doing stuff, but the display got slightly corrupted so the letters become less readable. Then I noticed it was waiting for me to switch to M. Did that and a little later I think I could make out "script finished". It printed a few more lines but a while later it shut off. So I don't know if it reported success or failure. But I attached the log generated; hope that's enough.

===============================================================================
ML/SCRIPTS/API_TEST.LUA - 2018-4-27 20:25:21
===============================================================================

Strict mode tests...
Strict mode tests passed.

Generic tests...
arg = table:
  [0] = "API_TEST.LUA"
camera = table:
  shutter = table:
    raw = 0
    apex = -7.
    ms = 0
    value = 0
  aperture = table:
    raw = 40
    apex = 4.
    value = 4.
    min = table:
      raw = 40
      apex = 4.
      value = 4.
    max = table:
      raw = 88
      apex = 10.
      value = 32
  iso = table:
    raw = 0
    apex = 0
    value = 0
  ec = table:
    raw = 0
    value = 0
  flash = true
  flash_ec = table:
    raw = 0
    value = 0
  kelvin = 5200
  mode = 2
  metering_mode = 3
  drive_mode = 0
  model = "Canon EOS 1200D"
  model_short = "1200D"
  firmware = "1.0.2"
  temperature = 162
  gui = table:
    menu = false
    play = false
    play_photo = false
    play_movie = false
    qr = false
    idle = true
  bulb = function: p
  wait = function: p
  reboot = function: p
  burst = function: p
  shoot = function: p
event = table:
  pre_shoot = nil
  post_shoot = nil
  shoot_task = nil
  seconds_clock = nil
  keypress = nil
  custom_picture_taking = nil
  intervalometer = nil
  config_save = nil
console = table:
  clear = function: p
  write = function: p
  show = function: p
  hide = function: p
lv = table:
  enabled = false
  paused = false
  running = false
  zoom = 1
  overlays = false
  pause = function: p
  resume = function: p
  wait = function: p
  info = function: p
  stop = function: p
  start = function: p
lens = table:
  name = "EF70-300mm f/4-5.6 IS II USM"
  focal_length = 70
  focus_distance = 655350
  hyperfocal = 64613
  dof_near = 58837
  dof_far = 1000000
  af = true
  af_mode = 0
  autofocus = function: p
  focus = function: p
display = table:
  idle = nil
  height = 480
  width = 720
  rect = function: p
  pixel = function: p
  notify_box = function: p
  draw = function: p
  print = function: p
  off = function: p
  line = function: p
  clear = function: p
  screenshot = function: p
  on = function: p
  circle = function: p
  load = function: p
key = table:
  last = 10
  wait = function: p
  press = function: p
menu = table:
  visible = false
  get = function: p
  new = function: p
  select = function: p
  set = function: p
  open = function: p
  block = function: p
  close = function: p
movie = table:
  recording = false
  stop = function: p
  start = function: p
dryos = table:
  clock = 102
  ms_clock = 102453
  image_prefix = "IMG_"
  dcim_dir = table:
    exists = true
    create = function: p
    children = function: p
    files = function: p
    parent = table:
      exists = true
      create = function: p
      children = function: p
      files = function: p
      parent = table:
        exists = true
        create = function: p
        children = function: p
        files = function: p
        parent = nil
        path = "B:/"
      path = "B:/DCIM/"
    path = "B:/DCIM/100CANON/"
  config_dir = table:
    exists = true
    create = function: p
    children = function: p
    files = function: p
    parent = table:
      exists = true
      create = function: p
      children = function: p
      files = function: p
      parent = table:
        exists = true
        create = function: p
        children = function: p
        files = function: p
        parent = nil
        path = "B:/"
      path = "ML/"
    path = "ML/SETTINGS/"
  ml_card = table:
    cluster_size = 32768
    drive_letter = "B"
    file_number = 9859
    folder_number = 100
    free_space = 6077536
    type = "SD"
    _card_ptr = userdata
    path = "B:/"
  shooting_card = table:
    cluster_size = 32768
    drive_letter = "B"
    file_number = 9859
    folder_number = 100
    free_space = 6077536
    type = "SD"
    _card_ptr = userdata
    path = "B:/"
  date = table:
    hour = 20
    min = 25
    sec = 23
    month = 4
    year = 2018
    day = 27
    wday = 6
    isdst = false
    yday = 117
  rename = function: p
  call = function: p
  directory = function: p
  remove = function: p
interval = table:
  time = 10
  count = 0
  running = false
  stop = function: p
battery = table:
function not available on this camera
stack traceback:
[C]: in ?
[C]: in for iterator 'for iterator'
ML/SCRIPTS/LIB/logger.lua:125: in function 'logger.serialize'
ML/SCRIPTS/API_TEST.LUA:36: in function <ML/SCRIPTS/API_TEST.LUA:35>
[C]: in function 'globals.xpcall'
ML/SCRIPTS/API_TEST.LUA:35: in function 'globals.print_table'
ML/SCRIPTS/API_TEST.LUA:81: in function 'globals.generic_tests'
ML/SCRIPTS/API_TEST.LUA:1338: in function 'globals.api_tests'
ML/SCRIPTS/API_TEST.LUA:1364: in main chunktask = table:
  yield = function: p
  create = function: p
property = table:
Generic tests completed.

Module tests...
Testing file I/O...
Copy test: autoexec.bin -> tmp.bin
Copy test OK
Append test: tmp.txt
Append test OK
Rename test: apple.txt -> banana.txt
Rename test OK
Rename test: apple.txt -> ML/banana.txt
Rename test OK
File I/O tests completed.

Testing Canon GUI functions...
Start LiveView...
Enter MENU mode...
Enter MENU mode...
Enter MENU mode...
Enter MENU mode...
Enter PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Enter MENU mode...
Enter PLAY mode...
Exit PLAY mode...
Enter MENU mode...
Enter MENU mode...
Exit MENU mode...
Pause LiveView...
Resume LiveView...
Enter PLAY mode...
Exit PLAY mode...
Pause LiveView...
Enter MENU mode...
Enter PLAY mode...
Enter MENU mode...
Enter PLAY mode...
Enter MENU mode...
Enter MENU mode...
Exit MENU mode...
Pause LiveView...
Enter MENU mode...
Exit MENU mode...
Pause LiveView...
Enter PLAY mode...
Enter PLAY mode...
Enter PLAY mode...
Exit PLAY mode...
Enter PLAY mode...
Enter MENU mode...
Enter PLAY mode...
Exit PLAY mode...
Enter MENU mode...
Exit MENU mode...
Pause LiveView...
Resume LiveView...
Enter PLAY mode...
Exit PLAY mode...
Pause LiveView...
Resume LiveView...
Pause LiveView...
Resume LiveView...
Enter PLAY mode...
Enter PLAY mode...
Enter MENU mode...
Enter MENU mode...
Enter PLAY mode...
Enter MENU mode...
Enter PLAY mode...
Enter PLAY mode...
Exit PLAY mode...
Enter MENU mode...
Enter PLAY mode...
Exit PLAY mode...
Pause LiveView...
Resume LiveView...
Enter MENU mode...
Exit MENU mode...
Enter MENU mode...
Enter PLAY mode...
Enter MENU mode...
Exit MENU mode...
Enter MENU mode...
Exit MENU mode...
Enter MENU mode...
Enter PLAY mode...
Exit PLAY mode...
Pause LiveView...
Enter MENU mode...
Canon GUI tests completed.

Testing ML menu API...
Menu tests completed.

Testing picture taking functions...
Please switch to M mode.
Snap simulation test...
Single picture...
B:/DCIM/100CANON/IMG_9860.CR2 not found.
B:/DCIM/100CANON/IMG_9860.JPG not found.


Note that it couldn't find the image files. dterrahe figured out why:

QuoteSome further progress:

The take_pics test failed because I had the colorspace set to adobe; that causes filenames to start with "_MG" rather than "IMG"; so the script assert fails trying to find generated files. After switching back to sRGB it runs fine.

QuoteOK, I'm running into problems in test_camera_take_pics (which also corrupts the display font somewhat so it becomes hard to read), test_keys and test_lens_focus. Attached logs restarting after each failure.

Also attaching a really crappy phone picture of the screen corruption in the take_pics test.

Digging into each of these will take a bit more time but I hope to find some this weekend.

===============================================================================
ML/SCRIPTS/API_TEST.LUA - 2018-4-28 06:20:18
===============================================================================

Strict mode tests...
Strict mode tests passed.

Generic tests...
arg = table:
  [0] = "API_TEST.LUA"
camera = table:
  shutter = table:
    raw = 99
    apex = 5.375
    ms = 24
    value = 0.024097
  aperture = table:
    raw = 53
    apex = 5.625
    value = 7.
    min = table:
      raw = 40
      apex = 4.
      value = 4.
    max = table:
      raw = 88
      apex = 10.
      value = 32
  iso = table:
    raw = 104
    apex = 9.
    value = 1600
  ec = table:
    raw = 0
    value = 0
  flash = true
  flash_ec = table:
    raw = 0
    value = 0
  kelvin = 5200
  mode = 3
  metering_mode = 3
  drive_mode = 0
  model = "Canon EOS 1200D"
  model_short = "1200D"
  firmware = "1.0.2"
  temperature = 171
  gui = table:
    menu = false
    play = false
    play_photo = false
    play_movie = false
    qr = false
    idle = true
  shoot = function: p
  bulb = function: p
  reboot = function: p
  wait = function: p
  burst = function: p
event = table:
  pre_shoot = nil
  post_shoot = nil
  shoot_task = nil
  seconds_clock = nil
  keypress = nil
  custom_picture_taking = nil
  intervalometer = nil
  config_save = nil
console = table:
  write = function: p
  show = function: p
  clear = function: p
  hide = function: p
lv = table:
  enabled = false
  paused = false
  running = false
  zoom = 1
  overlays = false
  stop = function: p
  pause = function: p
  start = function: p
  info = function: p
  wait = function: p
  resume = function: p
lens = table:
  name = "EF70-300mm f/4-5.6 IS II USM"
  focal_length = 70
  focus_distance = 5260
  hyperfocal = 36982
  dof_near = 4635
  dof_far = 6086
  af = true
  af_mode = 0
  focus = function: p
  autofocus = function: p
display = table:
  idle = nil
  height = 480
  width = 720
  rect = function: p
  load = function: p
  clear = function: p
  screenshot = function: p
  circle = function: p
  notify_box = function: p
  draw = function: p
  line = function: p
  pixel = function: p
  print = function: p
  on = function: p
  off = function: p
key = table:
  last = 10
  wait = function: p
  press = function: p
menu = table:
  visible = false
  open = function: p
  new = function: p
  block = function: p
  select = function: p
  set = function: p
  get = function: p
  close = function: p
movie = table:
  recording = false
  start = function: p
  stop = function: p
dryos = table:
  clock = 173
  ms_clock = 173292
  image_prefix = "IMG_"
  dcim_dir = table:
    exists = true
    create = function: p
    children = function: p
    files = function: p
    parent = table:
      exists = true
      create = function: p
      children = function: p
      files = function: p
      parent = table:
        exists = true
        create = function: p
        children = function: p
        files = function: p
        parent = nil
        path = "B:/"
      path = "B:/DCIM/"
    path = "B:/DCIM/100CANON/"
  config_dir = table:
    exists = true
    create = function: p
    children = function: p
    files = function: p
    parent = table:
      exists = true
      create = function: p
      children = function: p
      files = function: p
      parent = table:
        exists = true
        create = function: p
        children = function: p
        files = function: p
        parent = nil
        path = "B:/"
      path = "ML/"
    path = "ML/SETTINGS/"
  ml_card = table:
    cluster_size = 32768
    drive_letter = "B"
    file_number = 9862
    folder_number = 100
    free_space = 5998272
    type = "SD"
    _card_ptr = userdata
    path = "B:/"
  shooting_card = table:
    cluster_size = 32768
    drive_letter = "B"
    file_number = 9862
    folder_number = 100
    free_space = 5998272
    type = "SD"
    _card_ptr = userdata
    path = "B:/"
  date = table:
    hour = 6
    isdst = false
    month = 4
    year = 2018
    day = 28
    yday = 118
    wday = 7
    min = 20
    sec = 19
  rename = function: p
  call = function: p
  remove = function: p
  directory = function: p
interval = table:
  time = 10
  count = 0
  running = false
  stop = function: p
battery = table:
function not available on this camera
stack traceback:
[C]: in ?
[C]: in for iterator 'for iterator'
ML/SCRIPTS/LIB/logger.lua:125: in function 'logger.serialize'
ML/SCRIPTS/API_TEST.LUA:36: in function <ML/SCRIPTS/API_TEST.LUA:35>
[C]: in function 'xpcall'
ML/SCRIPTS/API_TEST.LUA:35: in function 'print_table'
ML/SCRIPTS/API_TEST.LUA:81: in function 'generic_tests'
ML/SCRIPTS/API_TEST.LUA:1338: in function 'api_tests'
ML/SCRIPTS/API_TEST.LUA:1364: in main chunktask = table:
  yield = function: p
  create = function: p
property = table:
Generic tests completed.

Module tests...
Testing file I/O...
Copy test: autoexec.bin -> tmp.bin
Copy test OK
Append test: tmp.txt
Append test OK
Rename test: apple.txt -> banana.txt
Rename test OK
Rename test: apple.txt -> ML/banana.txt
Rename test OK
File I/O tests completed.

Testing Canon GUI functions...
Enter MENU mode...
Exit MENU mode...
Start LiveView...
Pause LiveView...
Enter MENU mode...
Enter MENU mode...
Enter PLAY mode...
Enter MENU mode...
Enter MENU mode...
Enter PLAY mode...
Enter PLAY mode...
Enter MENU mode...
Enter MENU mode...
Enter MENU mode...
Enter MENU mode...
Exit MENU mode...
Stop LiveView...
Enter PLAY mode...
Enter MENU mode...
Enter PLAY mode...
Exit PLAY mode...
Start LiveView...
Pause LiveView...
Enter PLAY mode...
Enter MENU mode...
Exit MENU mode...
Pause LiveView...
Resume LiveView...
Enter PLAY mode...
Exit PLAY mode...
Stop LiveView...
Enter PLAY mode...
Enter PLAY mode...
Enter MENU mode...
Exit MENU mode...
Enter PLAY mode...
Enter PLAY mode...
Enter MENU mode...
Enter MENU mode...
Exit MENU mode...
Start LiveView...
Enter PLAY mode...
Enter MENU mode...
Exit MENU mode...
Pause LiveView...
Enter PLAY mode...
Enter PLAY mode...
Exit PLAY mode...
Pause LiveView...
Resume LiveView...
Enter PLAY mode...
Exit PLAY mode...
Enter MENU mode...
Enter PLAY mode...
Enter PLAY mode...
Enter MENU mode...
Exit MENU mode...
Pause LiveView...
Resume LiveView...
Enter MENU mode...
Exit MENU mode...
Stop LiveView...
Enter PLAY mode...
Exit PLAY mode...
Start LiveView...
Enter MENU mode...
Exit MENU mode...
Enter MENU mode...
Enter MENU mode...
Enter MENU mode...
Exit MENU mode...
Stop LiveView...
Start LiveView...
Pause LiveView...
Enter MENU mode...
Enter PLAY mode...
Enter PLAY mode...
Exit PLAY mode...
Stop LiveView...
Enter PLAY mode...
Exit PLAY mode...
Start LiveView...
Enter PLAY mode...
Exit PLAY mode...
Pause LiveView...
Enter PLAY mode...
Exit PLAY mode...
Pause LiveView...
Enter PLAY mode...
Enter PLAY mode...
Exit PLAY mode...
Enter MENU mode...
Canon GUI tests completed.

Testing ML menu API...
Menu tests completed.

Testing picture taking functions...
Snap simulation test...
Single picture...
B:/DCIM/100CANON/IMG_9863.CR2 not found.
B:/DCIM/100CANON/IMG_9863.JPG not found.

===============================================================================
ML/SCRIPTS/API_TEST.LUA - 2018-4-28 06:41:44
===============================================================================

Module tests...
Testing multitasking...
Only one task allowed to interrupt...
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Main task yielding.
Task C started.
Task C finished.
Main task back.
Multitasking tests completed.

Testing half-shutter...

===============================================================================
ML/SCRIPTS/API_TEST.LUA - 2018-4-28 07:05:50
===============================================================================

Module tests...
Testing module 'lv'...
Starting LiveView...
Overlays: Canon
Overlays: Canon
Overlays: Canon
Overlays: ML
Overlays: ML
Overlays: disabled
Overlays: Canon
Overlays: Canon
Overlays: Canon
Overlays: disabled
Overlays: ML
Overlays: disabled
Overlays: Canon
Overlays: Canon
Overlays: Canon
Setting zoom to x1...
Setting zoom to x5...
Setting zoom to x10...
Setting zoom to x5...
Setting zoom to x1...
Setting zoom to x10...
Setting zoom to x1...
Pausing LiveView...
Resuming LiveView...
Stopping LiveView...
LiveView tests completed.


Testing lens focus functionality...
Autofocus outside LiveView...

===============================================================================
ML/SCRIPTS/API_TEST.LUA - 2018-4-28 07:10:43
===============================================================================

Module tests...
Testing exposure settings...
Camera    : Canon EOS 1200D (1200D) 1.0.2
Lens      : EF70-300mm f/4-5.6 IS II USM
Shoot mode: 3
Shutter   : Ç50 (raw 101, 0.020263s, 20ms, apex 5.625)
Aperture  : Å7.0 (raw 53, f/7., apex 5.625)
Av range  : Å4.0..Å32 (raw 40..88, f/4...f/32, apex 4...10.)
ISO       : Ä1600 (raw 104, 1600, apex 9.)
EC        : 0.0 (raw 0, 0 EV)
Flash EC  : 0.0 (raw 0, 0 EV)
Setting shutter to random values...
Setting ISO to random values...
Setting aperture to random values...
Please switch to Av mode.
Setting EC to random values...
Setting Flash EC to random values...
Exposure tests completed.


Testing movie recording...
Please switch to Movie mode.
Movie recording tests completed.

Done!


(https://farm1.staticflickr.com/952/40860103725_07ac43d310.jpg) (https://flic.kr/p/25fEHhZ)

QuoteThe lens_focus seems to run fine, but it gets stuck waiting for something, filling the screen with dots. This happens within a loop so don't know how to skip in a useful way.

The keys test fails on:
        assert(key.last == KEY.HALFSHUTTER)

lens focus.LOG
===============================================================================
ML/SCRIPTS/API_TEST.LUA - 2018-4-28 11:23:59
===============================================================================

Module tests...

Testing lens focus functionality...
Autofocus outside LiveView...
Focus distance: 3660
Autofocus in LiveView...
Please trigger autofocus (half-shutter / AF-ON / * ).
19...18...17...16...Autofocus triggered.
Autofocus completed.
Focus distance: 1200
Focusing backward...
Focus distance: 655350
Focus motor position: 7819
Focusing forward with step size 3, wait=true...
......
Focus distance: 1200
Focus motor position: 0
Focusing backward with step size 3, wait=true...
.....
Focus distance: 655350
Focus motor position: 7819
Focus range: 6 steps forward, 5 steps backward.
Motor steps: 7819 forward, 7819 backward, 0 lost.
Focusing forward with step size 3, wait=false...
.....................................................................
Focus distance: 1200
Focus motor position: 6
Focusing backward with step size 3, wait=false...
..............................................................
Focus distance: 655350
Focus motor position: 7819
Focus range: 69 steps forward, 62 steps backward.
Motor steps: 7813 forward, 7813 backward, 0 lost.
Focusing forward with step size 2, wait=true...
..........................
Focus distance: 1200
Focus motor position: 0
Focusing backward with step size 2, wait=true...
...........................
Focus distance: 655350
Focus motor position: 7819
Focus range: 26 steps forward, 27 steps backward.
Motor steps: 7819 forward, 7819 backward, 0 lost.
Focusing forward with step size 2, wait=false...
...


picture taking tests.LOG
===============================================================================
ML/SCRIPTS/API_TEST.LUA - 2018-4-28 11:19:15
===============================================================================

Module tests...
Testing picture taking functions...
Snap simulation test...
Single picture...
B:/DCIM/100CANON/IMG_9867.CR2 not found.
B:/DCIM/100CANON/IMG_9867.JPG: 47829
Two burst pictures...
Ideally, the camera should be in some continuous shooting mode (not checked).
B:/DCIM/100CANON/ABC_9868.CR2 not found.
B:/DCIM/100CANON/ABC_9868.JPG: 47638
B:/DCIM/100CANON/ABC_9869.CR2 not found.
B:/DCIM/100CANON/ABC_9869.JPG: 47470
Bracketed pictures...
B:/DCIM/100CANON/IMG_9870.CR2 not found.
B:/DCIM/100CANON/IMG_9870.JPG: 47402
B:/DCIM/100CANON/IMG_9871.CR2 not found.
B:/DCIM/100CANON/IMG_9871.JPG: 47120
B:/DCIM/100CANON/IMG_9872.CR2 not found.
B:/DCIM/100CANON/IMG_9872.JPG: 48754
Bulb picture...
Elapsed time: 11719
B:/DCIM/100CANON/IMG_9873.CR2 not found.
B:/DCIM/100CANON/IMG_9873.JPG: 48838
Picture taking tests completed.

Done!
Title: Re: Canon 1200D
Post by: dterrahe on April 29, 2018, 10:26:49 AM
I reran the key test but now without pressing the shutter button (which previously I mistakenly thought I was asked to do). Passed fine now.


===============================================================================
ML/SCRIPTS/API_TEST.LUA - 2018-4-29 08:04:15
===============================================================================

Module tests...
Testing half-shutter...
Half-shutter test OK.
Title: Re: Canon 1200D
Post by: dterrahe on April 29, 2018, 10:33:51 AM
So it looks like the only remaining issue is with the lens focus test. I put on the 18-55 to see if that makes a difference. It just keeps running endlessly.

At the start it asks me to do a half-press; after that is there any further interaction required?

It seems to run fine, but is on a loop showing lines typically like:

Lens moving (0, 0)
Lens moving (11, 0)
etc


This goes on for at least 10 mins.

The log shows nothing interesting to me.

===============================================================================
ML/SCRIPTS/API_TEST.LUA - 2018-4-29 08:10:45
===============================================================================

Testing lens focus functionality...
Focus distance: 760
Autofocus in LiveView...
Please trigger autofocus (half-shutter / AF-ON / * ).
19...18...17...16...15...14...13...12...Autofocus triggered.
Autofocus completed.
Focus distance: 760
Focusing backward...
Focus distance: 655350
Focus motor position: 620
Focusing forward with step size 3, wait=true...
.............
Focus distance: 250
Focus motor position: -1273
Focusing backward with step size 3, wait=true...
..........
Focus distance: 655350
Focus motor position: 650
Focus range: 13 steps forward, 10 steps backward.
Motor steps: 1893 forward, 1923 backward, 30 lost.
Focusing forward with step size 3, wait=false...
.....................................
Focus distance: 250
Focus motor position: -1263
Focusing backward with step size 3, wait=false...
.......................................
Focus distance: 655350
Focus motor position: 655
Focus range: 37 steps forward, 39 steps backward.
Motor steps: 1913 forward, 1918 backward, 5 lost.
Focusing forward with step size 2, wait=true...
.................................................................
Focus distance: 250
Focus motor position: -1303
Focusing backward with step size 2, wait=true...
..................................................................
Focus distance: 655350
Focus motor position: 658
Focus range: 65 steps forward, 66 steps backward.
Motor steps: 1958 forward, 1961 backward, 3 lost.
Focusing forward with step size 2, wait=false...
...
Focus distance: 250
Focus motor position: -1269
Focusing backward with step size 2, wait=false...
...
Focus distance: 655350
Focus motor position: 675
Focus range: 158 steps forward, 173 steps backward.
Motor steps: 1927 forward, 1944 backward, 17 lost.
Focusing forward with step size 1, wait=true...
...
Focus distance: 250
Focus motor position: 10888
Focusing backward with step size 1, wait=true...
...
Focus distance: 300
Focus motor position: 11582
Focus range: 14282 steps forward, 273 steps backward.
Motor steps: 10213 forward, 694 backward, 10907 lost.
Focusing forward with step size 1, wait=false...
...
Focus distance: 250
Focus motor position: 11192
Focusing backward with step size 1, wait=false...
...


In the above, the forum code has truncated the ..... lines; some are very long.
Title: Re: Canon 1200D
Post by: a1ex on April 29, 2018, 10:57:28 AM
The lens is supposed to focus back and forth during this test; doesn't happen? The logs suggest it actually worked, to some extent, but got stuck at step size 1. Maybe it has to do with the mechanical condition of the lens.
Title: Re: Canon 1200D
Post by: Walter Schulz on April 29, 2018, 11:15:25 AM
I haven't clocked it but focus test does take some time (depends on lens according to dfort). Comparing file date for LUA_TEST.LOG and time logged inside: 19 min. Looks like stuck at some point but it works.

May I suggest some changes to api_test.lua?
- Extensive beeps when asking for user interaction
- Timestamps for sub-tests.
Title: Re: Canon 1200D
Post by: dterrahe on April 29, 2018, 12:54:08 PM
Quote from: a1ex on April 29, 2018, 10:57:28 AM
The lens is supposed to focus back and forth during this test; doesn't happen? The logs suggest it actually worked, to some extent, but got stuck at step size 1. Maybe it has to do with the mechanical condition of the lens.

You are right; it is moving, even with the very last iteration of the loops where it gets stuck. It just never reaches the exit loop condition, whatever that is. It does the same thing with two different lenses, one of which is basically brand new so I hope it is not already broken :-)

I do not see the text "Lens moving", that appears on the screen while the test is running, anywhere in the lua script, so don't know where that's coming from. Is that within an API call that doesn't return until a "1" (accuracy?) is reached? All the Step 1s work except the last one. Strange?
Title: Re: Canon 1200D
Post by: a1ex on April 29, 2018, 01:12:06 PM
That comes from PROP_LV_FOCUS_DONE in lens.c; it's an event sent by the MPU (secondary processor that - in this case - executes the focus commands). The same MCU sends some flags telling whether the lens reached its limits, for example.

Previously, ML used to rely on these signals. Since I've noticed they are unreliable (see e.g. issue #2452), ML (in the lua_fix branch) also uses some heuristics to figure out whether the lens is still moving or not; however, I can imagine a situation where:
- the motor doesn't have enough force to push the focus limit microswitch (because of the tiny step commands)
- or maybe it just gets stuck in the middle (can happen with a DC motor when using tiny step commands, but unlikely with a stepper motor)
- however, the motor moves enough to change the encoder position (back and forth)

This last event can trick ML heuristics into believing the lens is still moving (it does not currently check the direction). In this case, the focus motor is going to hunt back and forth. Fixing this is non-trivial and requires a wide range of lenses to test on.

Long answer: https://www.magiclantern.fm/forum/index.php?topic=4997.msg175172#msg175172

For the Lua test, maybe I should limit the test to step sizes 3 and 2 (as 1 is likely very sensitive to lens mechanics).
Title: Re: Canon 1200D
Post by: dfort on April 29, 2018, 05:04:30 PM
The time it takes to complete the lens test can vary a lot. On the 700D the 28-105mm f/3.5-4.5 USM, which is quite old and beat up, runs through the tests quickly while my newest lens, a second generation 50mm 1.8 STM (with the metal lens mount), seems to take forever. When testing EF-M lenses on the EOSM I ended up using a power adapter because the lens test would take so long that sometimes the battery would run out before the test completed.

An interesting addition to the lua tests would be how long it takes to complete each lens test.

You can edit the lua script that is in the ML/scripts directory on your card. Comment out all the tests except the lens test:

api_test.lua
function api_tests()
    menu.close()
    console.clear()
    console.show()
    test_log = logger("LUATEST.LOG")

    -- note: each test routine must print a blank line at the end
    -- strict_tests()
    -- generic_tests()
   
    printf("Module tests...\n")
    -- test_io()
    -- test_camera_gui()
    -- test_menu()
    -- test_camera_take_pics()
    -- sleep(1)
    -- test_multitasking()
    -- test_keys()
    -- test_lv()
    test_lens_focus()
    -- test_camera_exposure()
    -- test_movie()
   
    printf("Done!\n")
   
    test_log:close()
    key.wait()
    console.hide()
end


Now put a freshly charged battery or use a power adapter and give it plenty of time to complete the test.

Note that there are some other things that we can check here. If you set your lens to manual focus it should print:

Please enable autofocus.
(or, remove the lens from the camera to skip this test)


If you mount a manual lens or lens cap or simply remove the lens, the test should print:

This test requires an electronic lens.
manual lenses can't autofocus


BTW--Did the 1200D pass all of the other tests, including the ones that come after the lens focusing test?
Title: Re: Canon 1200D
Post by: dterrahe on April 29, 2018, 08:39:28 PM
Quote from: dfort on April 29, 2018, 05:04:30 PM
BTW--Did the 1200D pass all of the other tests, including the ones that come after the lens focusing test?

Yep, I previously already ran all the other test (commenting out the three that were giving me trouble) so only the last, step 1, focus test is giving problems. I'm charging the battery now to see if I can run everything in one go and provide you with a clean log.

But to be honest, I'm not sure what the value is of knowing whether focusing with step 1 works, depending on the lens, if it takes many minutes. In my book, that means it doesn't work :-)
Title: Re: Canon 1200D
Post by: dfort on April 29, 2018, 11:55:42 PM
Quote from: dterrahe on April 29, 2018, 08:39:28 PM
...if it takes many minutes. In my book, that means it doesn't work :-)

Does the 1200D have a continuous autofocus setting? Reason I ask is because I started running some tests and after 33 minutes on one of the lenses it was obvious that something weird was going on. Turned out that the default Canon settings turned on continuous autofocus. It should be off to run these tests:

(https://farm1.staticflickr.com/906/26919406087_4ba4d70844.jpg) (https://flic.kr/p/H1LZza)

I thought it might be interesting to run through all my lenses and post how long it takes to complete the lens test. Since I've also got some EF-M lenses and wanted to run everything on the same body I put on the EF-M to EF adapter along with a plug in power supply on one of my EOSMs and started testing. I'll update this post as I run through the lenses but thought that you might be interested in seeing the results I've gotten so far.

Note that the lens test starts with a prompt to put the lens in AF mode and to do a half-shutter press. The bulk of the testing happens after the autofocus confirmation so make sure you've got something you can focus on before starting the test.






LensTime
Canon EF 28-105mm f/3.5-4.5 II USM1:00
Canon EF 50mm f/1.8 STM3:22
Canon EF-S 17-55mm f/2.8 IS USM0:50

I'll update this post as I run through the lenses but thought that you might be interested in seeing the results I've gotten so far.

[EDIT] This turned out to be worthy of a separate topic so I started one called lua test_lens_focus() (https://www.magiclantern.fm/forum/index.php?topic=22053.0) -- opened another can of worms with this.
Title: Re: Canon 1200D
Post by: dterrahe on April 30, 2018, 08:23:19 AM
AF was set to "AI Servo". I switched to One Shot and now the lens focus test passed. Yeah!

However, the first time I had left the camera running unattended after it passed lens focus to complete the remaining tests and later found it switched off, with the log cut off after
Testing module 'lv'...
LiveView is running; stopping...
Starting LiveView...
Overlays: Canon
Overlays: ML


I had seen it run through the lens focus module completely, so the results simply did not get saved.

On a second attempt, I saw it hang for a long time with this screen
(https://thumb.ibb.co/bYWXoc/ML1200_D102luatesthang.jpg) (https://ibb.co/bYWXoc)
. I had to pull the battery because it was not responding to anything. The log was cut off at the same point.

The test_camera_exposure function had previously run on its own when I had commenting everything else out, so it only seems to have a problem when running after all the other tests. Or maybe I had some setting switched on at the time that helped it out somehow.
Title: Re: Canon 1200D
Post by: dfort on April 30, 2018, 08:58:39 AM
Good catch on the AF settings. Lens focus test passed--that's a major one.

So on one attempt it failed the LiveView test and on the other attempt it failed the exposure test. Hum, those are the tests immediately before and after the lens focus test.

Yet those tests have succeeded when run by themselves, right? It is only failing when you tried a full test run?

Well, we know now that the 1200D can pass all of the lua tests, maybe just not all at once. It also passed the selftest module test, right? Let's go through our check list:

Quote from: a1ex on December 16, 2017, 01:36:42 AM
For every single camera model available on the Experiments page (lua_fix build), please run:

- api_test.lua (upload the log)
- selftest.mo -> stubs tests (upload the log)
- bench.mo -> memory benchmarks (upload the screenshot)
- overall sanity check (for example, if you decide to take this build out and use it for a couple of hours, please report back)

It is getting late here so I'm going offline for a while. Good luck with the tests!
Title: Re: Canon 1200D
Post by: dterrahe on April 30, 2018, 10:52:22 AM
Quote from: dfort on April 30, 2018, 08:58:39 AM
So on one attempt it failed the LiveView test and on the other attempt it failed the exposure test. Hum, those are the tests immediately before and after the lens focus test.

Nope, both times it passed all the tests up to and including focus test. Its just that the log file didn't record it. When it hung at the screen I showed the picture of, the log file still didn't show the focus test results even though I had seen it being completed successfully on the screen: the log was identical to the one for the first run that I posted. Maybe the file buffer doesn't get synced/flushed when the camera crashes hard?
Title: Re: Canon 1200D
Post by: dterrahe on April 30, 2018, 10:58:45 AM
Quote- bench.mo -> memory benchmarks (upload the screenshot)
- overall sanity check (for example, if you decide to take this build out and use it for a couple of hours, please report back)

Won't have time this evening, but will run bench soon.

If you'd read the London weather report, you wouldn't have suggested taking this build out. Unless it magically waterproofs the camera?
Title: Re: Canon 1200D
Post by: dfort on April 30, 2018, 04:31:14 PM
The exposure tests will prompt you to switch between M and Av modes. Did that happen? Maybe the prompt didn't come up? I found that if I don't respond to a prompt soon enough it eventually times out and doesn't complete the test. You should be able to run the exposure test in any mode and it should prompt you to switch mode. Anyway, something to do on a rainy day.
Title: Re: Canon 1200D
Post by: dfort on May 01, 2018, 06:01:11 AM
Posted a new test build on my downloads page (https://bitbucket.org/daniel_fort/magic-lantern/downloads/). The changes we made are now in the main branch so the 1200D development will continue with Canon firmware version 1.0.2.

The test build includes the lua_fix code so feel free to run the lua tests though when the weather clears up in London I hope @dterrahe will share some images and video with us.

@Raov - hope your 1200D comes back to life with the new firmware.
Title: Re: Canon 1200D
Post by: dterrahe on May 01, 2018, 07:58:13 AM

(https://thumb.ibb.co/gwYqb7/BENCH0.png) (https://ibb.co/gwYqb7)


Only saw now you've got a new build up, so this was still run with the old one.

Title: Re: Canon 1200D
Post by: dterrahe on May 01, 2018, 08:04:02 AM
A question:
I haven't used ML on any other camera so don't know what I should expect/what works and how.
In many menu's, for example the benchmark menu, when descending into it, it shows top right a back arrow and Q ("<Q"). Does that mean I should be able to go back/up/out of the menu by pressing the Q key? That does not seem to work.
Title: Re: Canon 1200D
Post by: Raov on May 01, 2018, 08:04:22 AM
Quote from: dfort on May 01, 2018, 06:01:11 AM
@Raov - hope your 1200D comes back to life with the new firmware.
i hope it will, cant wait to test the new build
Title: Re: Canon 1200D
Post by: dterrahe on May 01, 2018, 08:32:27 AM
Ran the full lua test of the new build.

It spend quite a long time on the focus test again; since I didn't have that much time this morning, I half pressed the shutter once, which helped it get past that point.

It was then seemingly happily running the exposures test, feeding it random values, but suddenly (before it had asked me to do anything) it rebooted. Got back to the main screen with an overlayed message saying the camera had been uncleanly shut down and module loading was skipped.
Title: Re: Canon 1200D
Post by: a1ex on May 01, 2018, 10:33:30 AM
Quote from: dterrahe on May 01, 2018, 08:04:02 AM
In many menu's, for example the benchmark menu, when descending into it, it shows top right a back arrow and Q ("<Q"). Does that mean I should be able to go back/up/out of the menu by pressing the Q key? That does not seem to work.

Works here in QEMU. You will also need the Q key to enter most submenus (some sort of right-click).

If it still doesn't work, enable Debug -> Show GUI events, and write down the button code.

Posted a build on the main page, too: https://builds.magiclantern.fm/1200D-102.html
Title: Re: Canon 1200D
Post by: dfort on May 01, 2018, 04:32:32 PM
Quote from: dterrahe on May 01, 2018, 08:32:27 AM
It spend quite a long time on the focus test again; since I didn't have that much time this morning, I half pressed the shutter once, which helped it get past that point.

That sounds like you have Continuous AF activated. More information on this post (https://www.magiclantern.fm/forum/index.php?topic=22053.msg200788#msg200788).

Quote from: dterrahe on May 01, 2018, 08:32:27 AM
...suddenly (before it had asked me to do anything) it rebooted...

That's weird. Ok--time to clear out the Canon settings, make sure to disable Continuous AF and try the new "official" build. I'm removing the unofficial 1200D build on my downloads page (https://bitbucket.org/daniel_fort/magic-lantern/downloads/).
Title: Re: Canon 1200D
Post by: dterrahe on May 01, 2018, 05:10:04 PM
Quote from: dfort on May 01, 2018, 04:32:32 PM
That sounds like you have Continuous AF activated. More information on this post (https://www.magiclantern.fm/forum/index.php?topic=22053.msg200788#msg200788).
No, I already disabled that (switched to "One Shot").

Quote from: dfort on May 01, 2018, 04:32:32 PM
That's weird. Ok--time to clear out the Canon settings, make sure to disable Continuous AF and try the new "official" build. I'm removing the unofficial 1200D build on my downloads page (https://bitbucket.org/daniel_fort/magic-lantern/downloads/).
I didn't change anything apart from the AF setting above after the last time I restored all canon and ML setting to factory/default.

But I'll install the new official build, clear all settings, try to remember AF and then run everything again. Oh, and fully charge the battery. And watch the screen to see if I'm required to press any buttons ;-)
Title: Re: Canon 1200D
Post by: dterrahe on May 01, 2018, 08:49:41 PM
Quote from: a1ex on May 01, 2018, 10:33:30 AM
Works here in QEMU. You will also need the Q key to enter most submenus (some sort of right-click).
Hm, I sort of thought that's what it was supposed to do, but I don't think it has ever worked.

Quote from: a1ex on May 01, 2018, 10:33:30 AM
If it still doesn't work, enable Debug -> Show GUI events, and write down the button code.
I'm getting two key codes for each press of Q: 4C and 1C

However, I now also saw in the menu that Q and PLAY do the same thing? I tested the PLAY button and indeed it does seem to open submenus and go back as required.
Title: Re: Canon 1200D
Post by: a1ex on May 02, 2018, 11:42:05 AM
This issue is quite puzzling.

I could easily identify this button code in QEMU. Canon firmware accepts both codes - the new one is used in recent cameras, so that makes a bit of sense. The only models still using the old button code are 1100D, 600D and 550D.

550D/600D/1100D/1200D in QEMU: old code (05 01 on the MPU side) is translated into PRESS_DIRECT_PRINT_BUTTON, new code (20 01) is translated into PRESS_UNAVI_BUTTON. They both do the same action on Canon UI (e.g. activate the settings screen).

550D clearly uses the old MPU code (05 01).

The puzzling part is that previous reports reference submenu options that could not be opened without the Q button. So, it must have worked. How did you guys open the submenus on earlier builds?! This can be answered by anyone still running the old firmware.

Is the button code different, depending on the camera mode? (for example, do you get the same code while in PLAY mode, in Canon menu, in LiveView, or in plain photo mode outside LV)?

Did the previous firmware send different button codes? I highly doubt this one.
Title: Re: Canon 1200D
Post by: dterrahe on May 02, 2018, 12:06:44 PM
Quote from: a1ex on May 02, 2018, 11:42:05 AM
The puzzling part is that previous reports reference submenu options that could not be opened without the Q button. So, it must have worked. How did you guys open the submenus on earlier builds?!

It seems that, within ML menus, the PLAY button does exactly the same thing as the Q button is supposed to be doing. So people may have been using that? Or are there subtle differences/things that only work with Q?
Title: Re: Canon 1200D
Post by: a1ex on May 02, 2018, 12:21:05 PM
The PLAY button was not opening submenus in previous builds.

Your report ("I don't think it has ever worked") contradicts previous reports.

Example:

Quote from: matija on September 07, 2017, 01:47:25 PM
Magic Zoom - OK, except in Full screen, then nothing happens

You could not select that option without the Q button in previous builds.
Title: Re: Canon 1200D
Post by: dterrahe on May 02, 2018, 04:28:11 PM
Quote from: a1ex on May 02, 2018, 12:21:05 PMYour report ("I don't think it has ever worked") contradicts previous reports.
I'm sorry I should have phrased that much much more carefully; I did not mean to give the wrong impression or create confusion. What I meant was that I don't think I have "ever" used the Q button for submenus. With "ever" being since I started helping Dan to get ML to run on the second hand 1200D with firmware 1.0.2 that I only bought a few months ago. I'd never used ML before, so I'm just starting to learn how it works and what it can do. What I meant was that I didn't want to imply that the Q button broke with the latest build or with the 1.0.2 firmware update, because I don't know if it used to work before. But since it seems from other reports that it did, my best guess would be the 1.0.2 update... But you probably should stop paying attention to me :-)
Title: Re: Canon 1200D
Post by: dfort on May 02, 2018, 04:47:04 PM
@dterrahe - You might try shooting a video showing how you're opening the ML submenus. I've done several videos to to clear things up (https://www.youtube.com/user/digiola/videos).
Title: Re: Canon 1200D
Post by: a1ex on May 02, 2018, 07:33:40 PM
OK; if the "didn't work" part was meant just for the lua_fix builds from dfort, then it starts to make sense. Waiting for reports on 1100D/600D to know whether the same change applies to them as well, or not.
Title: Re: Canon 1200D
Post by: dterrahe on May 02, 2018, 08:47:50 PM
Quote from: a1ex on May 02, 2018, 07:33:40 PM
OK; if the "didn't work" part was meant just for the lua_fix builds from dfort, then it starts to make sense.

Can there be differences between the lua_fix build and the build you put on the main page in this regard?

I just downloaded yours and it exhibits the same (lack of) Q key behavior in menus for me.
Title: Re: Canon 1200D
Post by: dterrahe on May 02, 2018, 09:07:03 PM
Other quick question; when in movie mode, should I still be able to open the ML menu by pressing the AV/delete key? That doesn't seem to work, but only in movie mode. In M/Av/Tv/P mode it works.

Or do I have to use a different way to get into the menu when in movie mode?
Title: Re: Canon 1200D
Post by: dfort on May 02, 2018, 09:14:46 PM
Interesting -- so you get into the ML differently depending on whether you're in photo or movie mode?

I took my 1200D test builds down to make sure we're testing the current version from the official downloads page:

https://builds.magiclantern.fm/1200D-102.html
Title: Re: Canon 1200D
Post by: a1ex on May 02, 2018, 09:17:34 PM
Movie mode: see replies #449/450. Maybe it matters if you use manual or auto exposure?
Title: Re: Canon 1200D
Post by: dterrahe on May 02, 2018, 10:21:42 PM
Quote from: a1ex on May 02, 2018, 09:17:34 PM
Movie mode: see replies #449/450. Maybe it matters if you use manual or auto exposure?

Thanks for referring me to those replies; they are very helpful. Maybe at some point I'll read the whole thread...

I'm seeing the same keycodes that Fredestroyer007 reported: 4c 61 61

Also, pressing&holding Trash and then pressing SET gets me into the menu.

The exposure settings indeed has an impact on this, but it seems the opposite from the situation as described in #460; the menu key works on its own if I change the exposure setting to Manual, but if exposure is Auto (the default) then I have to press Trash+Set.

Title: Re: Canon 1200D
Post by: a1ex on May 03, 2018, 10:47:01 AM
Does the auto exposure setting change the key codes? (in particular, the last digit)
Title: Re: Canon 1200D
Post by: dterrahe on May 03, 2018, 11:40:15 AM
Quote from: a1ex on May 03, 2018, 10:47:01 AM
Does the auto exposure setting change the key codes? (in particular, the last digit)

Hard to see the key codes coming by when the menu does come up. When I close the menu again, I see the following codes in the Event log: 4c 61 61 d 11 f 34 (this is when Exposure=Manual). If the first 3 are what calls up the menu, then it is the same as when Exposure=Auto (i.e. that also gives 4c 61 61, but no menu).
Title: Re: Canon 1200D
Post by: a1ex on May 03, 2018, 01:49:20 PM
You can keep the console open; the key codes should stay there. Refer to reply #450 to see how the last digit looks like.
Title: Re: Canon 1200D
Post by: dterrahe on May 03, 2018, 10:12:22 PM
Took some screenshots.

These two are in Manual Exposure mode. The first after pressing Trash, which opened the menu.

(https://thumb.ibb.co/fHgDjS/VRAM2.jpg) (https://ibb.co/fHgDjS)

And the second after using Trash twice to open the menu and close it again. This shows more of the event log.

(https://thumb.ibb.co/hKXayn/VRAM3.jpg) (https://ibb.co/hKXayn)


And this one is in Auto Exposure mode. Pressing Trash doesn't do anything.

(https://thumb.ibb.co/dxo9PS/VRAM5.jpg) (https://ibb.co/dxo9PS)
Title: Re: Canon 1200D
Post by: a1ex on May 04, 2018, 12:09:35 AM
Fixes pushed; will let the nightly server do its job unnattended. Don't be scared if you'll see red all over the place tomorrow ( hopefully not :D )
Title: Re: Canon 1200D
Post by: dterrahe on May 05, 2018, 07:19:40 PM
Quickly tested Nightly.2018May04.1200D102.

Q key now works to get into and out of sub-menus. Thanks!

In movie mode with exposure=Auto, the trash key still doesn't work.

When switching on the camera, a message now flashes by to set Exposure=Manual. It is gone very fast, so I only noticed it the third time.
Title: Re: Canon 1200D
Post by: dterrahe on May 06, 2018, 06:04:10 PM
In LV, when I have the ML overlay active in picture mode, when I turn the wheel to change aperture, the underlying Canon overlay shows the changing settings and briefly clashes with the ML overlay, which also shows the same parameters.


(https://thumb.ibb.co/cP09Dn/VRAM6.jpg) (https://ibb.co/cP09Dn)


I think this was discussed earlier in this threat but not sure if it was resolved for 1.0.1 or if there was a manual workaround.
Title: Re: Canon 1200D
Post by: dfort on May 06, 2018, 06:58:36 PM
The latest 1.0.2 version available on the downloads page (https://builds.magiclantern.fm/1200D-102.html) should have this:

platform/1200D.102/internals.h
/** Use a patched LiveViewApp dialog hander to hide Canon bottom bar */
#define CONFIG_LVAPP_HACK_PATCH


Isn't it working?
Title: Re: Canon 1200D
Post by: dterrahe on May 07, 2018, 10:00:57 AM
Quote from: dfort on May 06, 2018, 06:58:36 PM
Isn't it working?

The screenshot was taken with the 2018May04 build, so I'm afraid it isn't working.
Title: Re: Canon 1200D
Post by: dfort on May 09, 2018, 05:44:09 PM
Where is @vanbov and @matija and some of the other users that have a 1200D and can compile? Looks like this camera is working fairly well with ML but needs a few more tweaks.
Title: Re: Canon 1200D
Post by: Raov on May 10, 2018, 01:52:59 PM
Quote from: dfort on May 09, 2018, 05:44:09 PM
Where is @vanbov and @matija and some of the other users that have a 1200D and can compile?
well I'm here but the camera isn't, sadly. (yet)
Title: Re: Canon 1200D
Post by: dfort on May 12, 2018, 03:45:36 PM
@dterrahe - other than the Canon overlay issue, how is the camera handling? The auto exposure in movie mode issue should be resolved with the latest update.

There was a similar overlay issue on the 650D (https://www.magiclantern.fm/forum/index.php?topic=7473.msg200780#msg200780) that might have been resolved by merging in the lua_fix branch or maybe it was the new-dryos-task-hooks branch. I'm not sure what "magically" resolved the issue.
Title: Re: Canon 1200D
Post by: dterrahe on May 13, 2018, 12:52:39 PM
Quote from: dfort on May 12, 2018, 03:45:36 PM
@dterrahe - other than the Canon overlay issue, how is the camera handling? The auto exposure in movie mode issue should be resolved with the latest update.

Sorry; it is still not working with the 2018May04 update.

Apart from this and overlay, I haven't encountered other issues so far. I've started experimenting a little with dual iso and raw video. They work, I think, but I'll need to learn more to get a real benefit.
Title: Re: Canon 1200D
Post by: dfort on May 13, 2018, 10:22:47 PM
Fun with editing:

Quote from: dterrahe on May 13, 2018, 12:52:39 PM
Sorry; it is still not working...I haven't encountered other issues...

:P

The overlay issue is also affecting other cameras. Annoying but mostly cosmetic, it doesn't really keep ML from functioning properly. The May 4 build has this commit (https://bitbucket.org/hudson/magic-lantern/commits/50e6b857f7227bc356576802b7215e5fbbf955e0) that should give a warning if you have the camera set to movie auto mode.
Title: Re: Canon 1200D
Post by: a1ex on May 13, 2018, 10:30:09 PM
Quote from: dfort on May 13, 2018, 10:22:47 PM
The overlay issue is also affecting other cameras.

What other cameras?

The 650D issue is not the same, btw. Also I'm pretty sure it was not fixed, just the test conditions were different. It's still reproducible in QEMU, but the fix is not straightforward; 5D3 does the same on the silent-control branch.
Title: Re: Canon 1200D
Post by: dfort on May 13, 2018, 11:25:50 PM
I'm not saying it is the same but there are overlay issues on other cameras.

What is happening on the 1200D

(https://farm1.staticflickr.com/957/41370383554_a84b0af320.jpg) (https://flic.kr/p/262L2H5)

Is different from the EOSM (bottom is fixed but not the top) -- These might be annoying but not showstoppers.

(https://farm1.staticflickr.com/951/41370376344_80b714a214.jpg) (https://flic.kr/p/262KZyL)
Title: Re: Canon 1200D
Post by: a1ex on May 13, 2018, 11:46:06 PM
The former is when pressing INFO (ML overlays should only show up when Canon overlays are hidden), the latter appears half-shutter related.

On 1200D, the fix discussed previously was applied, but there might be something overlooked; somebody has to sit down and debug it. On 5D2, this was a special case (https://bitbucket.org/hudson/magic-lantern/src/1200D/src/propvalues.c#propvalues.c-281), as the property used to detect the overlay status was not triggered properly at startup. It almost worked -- the only exception was when camera started with Canon overlays enabled - in this case, you had to press INFO to perform a full cycling of the overlays.

Quote from: a1ex on January 23, 2018, 10:18:08 PM
To test: press INFO/DISP a few times. ML overlays should appear only when Canon overlays are turned off (not both at the same time, fighting over the screen).

Result?
Title: Re: Canon 1200D
Post by: dterrahe on May 14, 2018, 08:18:06 AM
Quote from: a1ex on May 13, 2018, 11:46:06 PMIt almost worked -- the only exception was when camera started with Canon overlays enabled - in this case, you had to press INFO to perform a full cycling of the overlays.

Cycling through the different layouts using the DISP button (is that what you meant for the 1200D; it has no INFO button) doesn't help. The image as shown above doesn't show all the time; only when I use the wheel to change any of the parameters does the canon overlay appear, first on top and then behind the ml overlay.
Title: Re: Canon 1200D
Post by: a1ex on May 14, 2018, 09:05:54 AM
Got it, so it's not the issue discussed earlier (https://www.magiclantern.fm/forum/index.php?topic=12627.msg196746#msg196746). It just happens to look the same in a screenshot (https://maketips.net/media/uploads/2018/01/23/7fAK4YiqpZfZWgynTtp3LQ-image.png).
Title: Re: Canon 1200D
Post by: dterrahe on May 14, 2018, 06:10:20 PM
Double quote! ;-)

Quote from: dfort on May 13, 2018, 10:22:47 PM
The May 4 build has this commit (https://bitbucket.org/hudson/magic-lantern/commits/50e6b857f7227bc356576802b7215e5fbbf955e0) that should give a warning if you have the camera set to movie auto mode.

Quote from: dterrahe on May 05, 2018, 07:19:40 PM
Quickly tested Nightly.2018May04.1200D102.
When switching on the camera, a message now flashes by to set Exposure=Manual. It is gone very fast, so I only noticed it the third time.

Would it be possible to show the message a bit longer? Might get annoying after a while so you'll have to decide if that's a good idea...
Title: Re: Canon 1200D
Post by: Raov on July 06, 2018, 07:39:09 PM
Quote from: dterrahe on May 14, 2018, 08:18:06 AM
Cycling through the different layouts using the DISP button (is that what you meant for the 1200D; it has no INFO button) doesn't help.

I am on 20180504 build, only hiding the Canon overlays makes the ML overlays appear.
Also, I saw the latest 20180705 build fail one of the tests, which one failed? (site only shows beforementioned 20180504 build)
Title: Re: Canon 1200D
Post by: TheFirstMohhikian on July 09, 2018, 09:08:49 AM
Ahoi,

Because it is a work in progress and I am fairly new to this forum - can anyone confirm that the current build has sticky half shutter?

Searched also from google and previous posts, but did not find such a topic answered.
Title: Re: Canon 1200D
Post by: critix on July 10, 2018, 07:44:30 AM
Hello!
Looking for 1300D values in the consts.h file, I found for 1200D  the following value:
#define DISPLAY_SENSOR_POWERED (*(int*)(0x2A0C+0x18))  // Look up *"ForceDisableDisplay (%d)"
#define IMGPLAY_ZOOM_POS_X MEM(0x77c9c) // Look up *"CentrePos x:%ld y:%ld"
#define IMGPLAY_ZOOM_POS_Y MEM(0x77c9c+0x4) // Look up *"CentrePos x:%ld y:%ld"

I know DISPLAY_SENSOR_POWERED does not exist in that file for 1200D, but it exists at 1300D.
Can you check if it's OK?
Thank you.
Title: Re: Canon 1200D
Post by: Raov on August 04, 2018, 07:45:30 PM
seems like development for the camera has stopped. probs I can test some fresh builds for the sake of pointing out errors (well at least trying to lol)
Title: Re: Canon 1200D
Post by: Raov on September 08, 2018, 06:07:21 AM
Quote from: TheFirstMohhikian on July 09, 2018, 09:08:49 AM
can anyone confirm that the current build has sticky half shutter?
Yes it does, I yet have to upgrade to latest build though.
Title: Re: Canon 1200D
Post by: dfort on September 08, 2018, 07:56:00 AM
Quote from: Raov on August 04, 2018, 07:45:30 PM
seems like development for the camera has stopped.

Not really, there were changes committed to the 1200D branch on August 20 though it looks like the build wasn't updated:

(https://farm2.staticflickr.com/1897/44544997321_5834df46da_n.jpg) (https://flic.kr/p/2aShKMc)
Title: Re: Canon 1200D
Post by: a1ex on September 08, 2018, 08:38:03 AM
Ha, that seems to be a bug on the build server. No idea what's wrong - ran the script manually and it worked...

(the download page is static HTML, updated daily - in theory; looking into it)
Title: Re: Canon 1200D
Post by: d!g!c on December 12, 2018, 06:26:37 AM
is anyone experiencing black holes when recording RAW video? It seems like a bug from the latest build
Title: Re: Canon 1200D
Post by: Bleachboy on July 29, 2020, 08:03:12 PM
Hello, i have just installed the ML nightly build for my 1200D and i was wondering if someone could help me and advise me on if there is a way i can record RAW on the camera at 10bit instead of 14bit. I try to record 14bit and set my CBR to 0.5x however after 72 frames, it stops recording.

Could someone explain if there's a chance to record RAW on the 1200D for video and if so, how?
Is it hardware limited due to the fact it's an old camera or is it restricted due to limitations of my SD card?
I am not as technical as most on this forum but i am willing to learn.
Kind Regards
Title: Re: Canon 1200D
Post by: theBilalFakhouri on December 22, 2020, 09:27:11 AM
Quote from: d!g!c on December 12, 2018, 06:26:37 AM
is anyone experiencing black holes when recording RAW video? It seems like a bug from the latest build

Do you have a sample or picture showing the problem? which build exactly is affected? and is there a previous build doesn't have this problem, which one?

Quote from: Bleachboy on July 29, 2020, 08:03:12 PM
Hello, i have just installed the ML nightly build for my 1200D and i was wondering if someone could help me and advise me on if there is a way i can record RAW on the camera at 10bit instead of 14bit. I try to record 14bit and set my CBR to 0.5x however after 72 frames, it stops recording.

Could someone explain if there's a chance to record RAW on the 1200D for video and if so, how?
Is it hardware limited due to the fact it's an old camera or is it restricted due to limitations of my SD card?
I am not as technical as most on this forum but i am willing to learn.
Kind Regards

Hello

CBR doesn't affect RAW video in any way, it's just for H.264 video recording. Nightly Builds don't contain 12/10-bit options for any camera. There are experimental builds in the experiments page (https://builds.magiclantern.fm/experiments.html) which contain builds for 10/12 bit for some models, unfortunately and currently there is no build for 1200D with 10/12 bit-depths function.

1200D has limited write speed, mostly it is 21 MB/s as many DIGIC 4 cameras, overclocking is a solution for this case, but also currently there is no overclock for DIGIC 4 cameras to bypass this limit to achieve more write speed, this is the main reason for limited recording time, other ones might be from your SD card, you can run card benchmarks using Bench.mo module directly from the camera and see how the card performs,

Also uncompressed 14-bit recording is a lot of data at maximum RAW resolution in 1200D for a such limited write speed, a workaround for this is to get 14-bit lossless compression working on DIGIC 4 cameras, this could cut the required writing speed by half by compressing the RAW data losslessly @ 14-bit.

For now you can only lower the resolution for continuous recording.
Title: Re: Canon 1200D
Post by: Walter Schulz on April 09, 2021, 10:25:26 AM
@1200D users: Can you confirm/falsify a bug in "Clear overlays" for this camera?

To test this you just need to access Display tab -> Clear overlays and use setting Always. Use a lens with AF in AF mode. Do you get a clear liveview in photo mode and clear view in video mode? Or is liveview obstructed by focus box overlay?
Thanks for your assistance!
Title: Re: Canon 1200D
Post by: elenhil on December 24, 2021, 02:46:17 PM
Quote from: theBilalFakhouri on December 22, 2020, 09:27:11 AM
1200D has limited write speed, mostly it is 21 MB/s as many DIGIC 4 cameras,
Bilal, this (https://kameratrollet.se/canon-write-speeds/) page claims 1200d can write at 44 MB/s. Can you comment?
Title: Re: Canon 1200D
Post by: theBilalFakhouri on December 24, 2021, 06:29:07 PM
I checked this site before and I mentioned it on Discrod and I was wondering about it, it's must be a typo from the writer.

I checked 1200D ROM, it doesn't have 96 MHz mode and 1200D ROM was same as other DIGIC 4 cameras ROMs regarding SD configuration which mean the speed is limited to 21 MB/s (highest
available preset is 48 MHz in DIGIC 4 cameras).
Title: Re: Canon 1200D
Post by: elenhil on December 24, 2021, 07:02:36 PM
Kudos!
Title: Re: Canon 1200D
Post by: Dinnerplate on January 28, 2023, 02:28:53 PM
Quote from: Walter Schulz on April 09, 2021, 10:25:26 AM
@1200D users: Can you confirm/falsify a bug in "Clear overlays" for this camera?

To test this you just need to access Display tab -> Clear overlays and use setting Always. Use a lens with AF in AF mode. Do you get a clear liveview in photo mode and clear view in video mode? Or is liveview obstructed by focus box overlay?

Hello!
To some extent, yes. The focus box and a frame with things like exposure indicator and remaining pictures appears when switching to live view after changing to a different photo mode.
But only the first time after switching to or between photo modes and then turning on live view. For any further toggles of live view while the mode is unchanged, the screen only shows the sensor feed. No overlay right away, or ever.
Also, when the photo mode is changed while live view is active, no overlay appears.
And for video, I only see it briefly after switching the camera on in that mode.

Best regards,
DP
Title: Re: Canon 1200D
Post by: Walter Schulz on January 29, 2023, 02:32:16 PM
Thanks for testing and reporting!

Minor issue then.
Are you able to redo this test with HDMI connected to a capture device or directly to TV set/computer monitor/AVR?
Title: Re: Canon 1200D
Post by: Dinnerplate on January 29, 2023, 03:28:22 PM
Certainly. I've also redone the test without HDMI out as I encountered some inconsistency that clashed with the earlier report.

Without HDMI out:

With HDMI out:

In either case, switching between modes while the live view is active clears any overlay, if present, except:
So, any actual clearing happens effectively only when switching modes within the full auto group.
Title: Re: Canon 1200D
Post by: Walter Schulz on January 29, 2023, 04:11:26 PM
Thanks for thorough and proper test and report. Appreciated!

ATM there are no bug reports about inconsistencies with Clear Overlay activated and only citrix is working on a Digic 4 cam (1300D).
I will keep it in mind for the future. Maybe someone comes up having some serious problem with this behaviour.
Title: Re: Canon 1200D
Post by: Dinnerplate on January 29, 2023, 10:41:42 PM
Absolutely. Sorry you had to wait almost two years for a response, I only found this forum, and in fact ML, just recently.
Thanks for your time!