Author Topic: Canon EOS M  (Read 850707 times)

Danne

  • Contributor
  • Hero Member
  • *****
  • Posts: 5919
Re: Canon EOS M
« Reply #1975 on: January 21, 2019, 10:27:31 PM »
New version:
https://www.magiclantern.fm/forum/index.php?topic=9741.msg208959#msg208959


1.,    the mv1080p 1736x1158 mode (which is 3:2 ratio, same as the sensor, could this be fixed in the croprec/ratio menu? ) records 1736x976 (16:9), (does not change even if I set Aspect ratio to 3:2 in RAW video) @ 24fps without problems. very nice. did a 15 min. recording, cam temperature stays at 48°C, no frames corrupted. green record indicator all the time.
Just leave the ratios options altogether to get the full sensor readout.

2.,    the mv720p 1736x696 50fps mode, longest continuous recording ca. 1min. with average of 30-40 sec. continuous, has some corrupted frames, out of a 1200 frames recording it has 14 corrupt frames, another 300 frames recording has one. the bottom of all clips has a approximately 10 pixel thin line in all clips with 50fps. all clips have to be transformed in MLV App to 1,67x height.
Fixed the bottom line.

Regarding pink frames. Main goal is to have the 2.35:1 ratio working corruptionless in all modes. Might be hard but with some hard work and testing maybe possible.
Speaking of helping out. I added some registers in the submenu in crop_rec. Those can be used to tweak on going builds to test and optimize corruption issues:


For instance. If you notice corruption try reducing 713c a couple of steps. Try also that with 7150 and test record again a few clips.
There also the timers. Pushing 6014 will reduce fps and to push it back up you can reduce the 6008 register. The process can be done the outher way around as well. Report any good numbers here and I can test them out.
The 6804 height and width might not be so easy to play with so maybe leave those alone for now.



Danne

  • Contributor
  • Hero Member
  • *****
  • Posts: 5919
Re: Canon EOS M
« Reply #1976 on: January 21, 2019, 11:32:04 PM »
Pushed this fix into the code which seems to have fixed mv1080p 50 fps preset from corrupted frames. Also a good example on how to use the registers together.

optical-work

  • New to the forum
  • *
  • Posts: 17
Re: Canon EOS M
« Reply #1977 on: January 22, 2019, 12:56:32 AM »
when i use dual iso with 1x3 preset, mlv app chroma smooth settings don't fix focus pixels whether or not fix bad pixels and fix focus dots are turned off. tried with different iso values on 2019Jan20 build.

bergamote

  • New to the forum
  • *
  • Posts: 13
Re: Canon EOS M
« Reply #1978 on: January 22, 2019, 01:00:08 AM »
Shot a few 30s clips in 1x3 with the jan20 build and no corrupted frames! Didn't try dual iso because it didn't seem to crash as much with overexposure (still a bit tho).
Very handy to have the half-press live view for focusing! Framing view does break every now and then (just doesn't come back after half-press) but disabling then re enabling raw video brings it back.
Also found out that raw video needs to be switched on BEFORE running the sd overclock script for it to work. Might be obvious but it took me a mo to work it out.

This is very cool stuff, the image quality is bonkers and it's getting more practical and usable by the day. Thanks a million Danne!

bergamote

  • New to the forum
  • *
  • Posts: 13
Re: Canon EOS M
« Reply #1979 on: January 22, 2019, 01:08:18 AM »
when i use dual iso with 1x3 preset, mlv app chroma smooth settings doesn't fix focus pixels whether or not fix bad pixels and fix focus dots are turned off. tried with different iso values on 2019Jan20 build.
Same here even without dual iso. I s'pose it's a matter of new use, new focus pixel. If I understood well, dfort could look into this once we know which settings work reliably.

Danne

  • Contributor
  • Hero Member
  • *****
  • Posts: 5919
Re: Canon EOS M
« Reply #1980 on: January 22, 2019, 07:12:02 AM »
Is framing working better when Clear overlays 'HalfShutter' is set? Less breaks?

optical-work

  • New to the forum
  • *
  • Posts: 17
Re: Canon EOS M
« Reply #1981 on: January 22, 2019, 01:30:59 PM »
Same here even without dual iso. I s'pose it's a matter of new use, new focus pixel. If I understood well, dfort could look into this once we know which settings work reliably.

Chroma smooth works without dual iso but i guess it isn't meant to be applied after dual iso post process. because same thing happens with other crop modes.

bergamote

  • New to the forum
  • *
  • Posts: 13
Re: Canon EOS M
« Reply #1982 on: January 22, 2019, 03:10:34 PM »
@Danne
yep, clear overlays does the trick, cheers!

@optical-work
I see. Here, in 1x3 without dual iso, chroma smooth definitely makes the focus pixels less visible but they don't totally go away.

dfort

  • Developer
  • Hero Member
  • *****
  • Posts: 3737
Re: Canon EOS M
« Reply #1983 on: January 22, 2019, 05:20:21 PM »
Chroma smooth works without dual iso but i guess it isn't meant to be applied after dual iso post process. because same thing happens with other crop modes.

Focus pixel removal on dual iso should be done before it is processed. To get a better understanding why read the Dealing with Focus Pixels in raw video topic. Start from this post and read the following several replies.

Focus pixel removal is basically chroma smoothing applied to specific areas instead overall. For example, let's zero in on a focus pixel and the pixels immediately adjacent to that focus pixel.

0 | 0 | 0
0 | X | 0
0 | 0 | 0


Averaging in the color of the surrounding pixels will hide that focus pixel. However, focus pixels are often in diagonal pairs which means that averaging in the diagonally adjacent pixels won't work.

0 | 0 | 0
0 | X | 0
X | 0 | 0


With dual iso every pair of rows is a different iso. Why not every row? Because of the Bayer pattern of raw video.

0 | 0 | 0
0 | X | 0
X | 0 | 0


So what happens if your subject happens to have a high contrast vertical line in it that is right next to that focus pixel in the middle of this illustration?

0 | 0 | 1
0 | X | 1
X | 0 | 1


Here is an example of what happens if you average the adjacent pixels on dual iso:



As you can see, dealing with focus pixels with dual iso is challenging.
5D3.* 7D.206 700D.115 EOSM.203 EOSM2.103 M50.102

thehaxfactory

  • New to the forum
  • *
  • Posts: 3
Re: Canon EOS M
« Reply #1984 on: January 22, 2019, 06:08:24 PM »
I'm sorry to ask again, but I believe my question might be getting buried.

What are the limitations of HDMI output?

I'd be interested in hooking up an EOS M to a capture card.

I had heard you can get clear output with Magic Lantern, but I've also heard there are resolution limitations.

But with everything so constantly changing and it not being talked about explicitly I've found it hard to track down definitive information.

dfort

  • Developer
  • Hero Member
  • *****
  • Posts: 3737
Re: Canon EOS M
« Reply #1985 on: January 22, 2019, 06:18:56 PM »
What are the limitations of HDMI output?

I'd be interested in hooking up an EOS M to a capture card.

I had heard you can get clear output with Magic Lantern, but I've also heard there are resolution limitations.

You don't really need Magic Lantern to hook up the EOSM to HDMI and get clean output (no overlays). As far as I know it doesn't put out a full HD signal. When I tried it the image had a black area around it on the screen. Another issue is that the camera LiveView goes dark, it doesn't mirror the way the 5D3 does with the later firmware updates.

@DeafEyeJedi has experience hooking up an Atmos Ninja to the EOSM so you might want to contact him about it.
5D3.* 7D.206 700D.115 EOSM.203 EOSM2.103 M50.102

Danne

  • Contributor
  • Hero Member
  • *****
  • Posts: 5919
Re: Canon EOS M
« Reply #1986 on: January 22, 2019, 06:19:40 PM »
4:2:0 - no raw.

Walter Schulz

  • Contributor
  • Hero Member
  • *****
  • Posts: 6873
Re: Canon EOS M
« Reply #1987 on: January 22, 2019, 06:39:37 PM »
You don't really need Magic Lantern to hook up the EOSM to HDMI and get clean output (no overlays). As far as I know it doesn't put out a full HD signal. When I tried it the image had a black area around it on the screen. Another issue is that the camera LiveView goes dark, it doesn't mirror the way the 5D3 does with the later firmware updates.

@DeafEyeJedi has experience hooking up an Atmos Ninja to the EOSM so you might want to contact him about it.

thehaxfactory doesn't own an EOS M. ATM he is thinking about it. And intended use is streaming, thus 30 min timeout without ML is actually an issue. So he is asking about resolution (non-recording modes).

@thehaxfactory:
Another issue is that the camera LiveView goes dark, it doesn't mirror the way the 5D3 does with the later firmware updates.

What dfort is trying to say: As soon as HDMI connection is used M's LCD screen goes black. You can have either cam's monitor *or* external, not both the same time. Which is btw how most ML supported cams work.


I think it would be interesting to know how M's HDMI output is doing compared to cams not hampered by mv720 (if this is an issue at all with HDMI streaming).


Photogs and videographers: Assist in proof reading upcoming in-camera help!. Your input is wanted and needed!

Walter Schulz

  • Contributor
  • Hero Member
  • *****
  • Posts: 6873
Re: Canon EOS M
« Reply #1988 on: January 23, 2019, 05:57:34 PM »
In other news: Recent EOS M developments covered at Slashcam.
https://www.slashcam.de/artikel/Erfahrungsberichte/---2-5K--3K--4K--Die-Canon-EOS-M-als-Mini-RAW-RebelCAM-mit-Magic-Lantern.html
German only, sorry! Just took a glimpse, seems to be correct (not happening the first time, kudos!)

And now the watch is ticking for all those news aggregators to jump the bandwagon and mess it up.
Photogs and videographers: Assist in proof reading upcoming in-camera help!. Your input is wanted and needed!

Danne

  • Contributor
  • Hero Member
  • *****
  • Posts: 5919
Re: Canon EOS M
« Reply #1989 on: January 23, 2019, 07:56:31 PM »
At least they tested and seem to know how to use the 1x3 bining mode  8)

masc

  • Contributor
  • Hero Member
  • *****
  • Posts: 1372
Re: Canon EOS M
« Reply #1990 on: January 23, 2019, 08:07:03 PM »
Not bad... all I can find what is not correct is max write speed of 40MB overclocked ( -> ~60MB ) and that you just get some frames in 1x3 binning... but we can get continous @ 4.5K 2.35:1 ;)
5D2.212 | EOSM.202

dfort

  • Developer
  • Hero Member
  • *****
  • Posts: 3737
Re: Canon EOS M
« Reply #1991 on: January 23, 2019, 08:08:49 PM »
Wow, they even posted a link to Danne's downloads page:

Quote
Currently, one of the most avid EOS M co-developers (Danne) downloads new versions with corresponding presets almost every day, which can always be found here.

Thanks Google Translate.

In other news, all this testing turned up a problem with one of the EOSM stubs.

@a1ex -- Which branch should we use for stub fixes?
5D3.* 7D.206 700D.115 EOSM.203 EOSM2.103 M50.102

henricusmaria

  • Freshman
  • **
  • Posts: 70
Re: Canon EOS M
« Reply #1992 on: January 24, 2019, 02:07:56 PM »
Is there a way to use autofocus with ml? I was hoping to be able to use the back button focus with the eos-m kitlens. But when I do I can only record for a couple of seconds. Is there a way to use the af lock in magic lantern and keep the normal recording times? That would be really convenient!

Danne

  • Contributor
  • Hero Member
  • *****
  • Posts: 5919
Re: Canon EOS M
« Reply #1993 on: January 24, 2019, 08:06:16 PM »
Pushed a new build:
https://www.magiclantern.fm/forum/index.php?topic=9741.msg208959#msg208959

This one needs some testing. Preview framing is now on default set to the same function as for Clear Overlays 'HalfShutter'. Means nothing has to be changed in Clear Overlays menu to ovecome the stuck real time issue. It´s probably not 100% rock solid but better then before. Test by simply start off and film longer takes with framing set in preview menu. If it behaves as it should like 95% of the time we are good to go.

Also note that without mlv_snd module enabled the stuck real time issue seems not to exist.
I spent a lot of time trying to see what is causing this lock. It mostly happens around 28 second into filming and often waithing for the next 30 second cycle reaching a minute it sometimes unlocks. Who can live with this  :P. I suspect some bmp_lock but why it´s happening I cannot explain. Why the zebra.c clearscreen code seems to help I can´t explain either...
Commit:
https://bitbucket.org/Dannephoto/magic-lantern/commits/c5668e08f01ead0bd915b3a6b6b7227ff88cec32


EDIT:
Still needs to create an exception for real-time preview. Will check into it.

ctfire

  • New to the forum
  • *
  • Posts: 37
Re: Canon EOS M
« Reply #1994 on: January 24, 2019, 09:07:08 PM »
Pushed a new build:
https://www.magiclantern.fm/forum/index.php?topic=9741.msg208959#msg208959

This one needs some testing. Preview framing is now on default set to the same function as for Clear Overlays 'HalfShutter'. Means nothing has to be changed in Clear Overlays menu to ovecome the stuck real time issue. It´s probably not 100% rock solid but better then before. Test by simply start off and film longer takes with framing set in preview menu. If it behaves as it should like 95% of the time we are good to go.



Also note that without mlv_snd module enabled the stuck real time issue seems not to exist.
I spent a lot of time trying to see what is causing this lock. It mostly happens around 28 second into filming and often waithing for the next 30 second cycle reaching a minute it sometimes unlocks. Who can live with this  :P. I suspect some bmp_lock but why it´s happening I cannot explain. Why the zebra.c clearscreen code seems to help I can´t explain either...
Commit:
https://bitbucket.org/Dannephoto/magic-lantern/commits/c5668e08f01ead0bd915b3a6b6b7227ff88cec32


EDIT:
Still needs to create an exception for real-time preview. Will check into it.


Just tested some footages from this new build, good news in preview in crop mode 1080mv, when i choose framing the preview became black and wight but good is that framerate of preview is more smoth then in older builds, and more usable overall . Thank you Danne

Danne

  • Contributor
  • Hero Member
  • *****
  • Posts: 5919
Re: Canon EOS M
« Reply #1995 on: January 24, 2019, 09:40:19 PM »
Yeah, I thought b & w was the better choice for speed reasons.

jacquaviva

  • New to the forum
  • *
  • Posts: 17
Re: Canon EOS M
« Reply #1996 on: January 24, 2019, 10:42:27 PM »
Thanks a lot. In my opinion full sensor raw is the best part of your hack. Is there any chance to make framing even smoother with mv1080 crop mode ?

Danne

  • Contributor
  • Hero Member
  • *****
  • Posts: 5919
Re: Canon EOS M
« Reply #1997 on: January 24, 2019, 11:28:41 PM »
Reverted for now:
https://www.magiclantern.fm/forum/index.php?topic=9741.msg208959#msg208959

Needs some more understanding before changing defaults.

dfort

  • Developer
  • Hero Member
  • *****
  • Posts: 3737
Re: Canon EOS M
« Reply #1998 on: January 25, 2019, 02:00:29 AM »
Speaking of needing some more understanding, there are some fails on the selftest module Stubs API tests that should probably be fixed. I was able to get a perfect score a while back but trying to find the right combination of changeset, lens used (I know it wasn't an EF-M lens but an EF/EF-S lens with the adapter), camera settings and alignment of the stars has eluded me these past few days. It seems like maybe there is an incorrect stub but which one? Here's the section of code that is showing the problem.

modules/selftest/selftest.c
Code: [Select]
        /* enable autofocus on half-shutter */
        /* lv_focus_status expected to be 3 when focusing and 1 or 2 when idle */
        lens_setup_af(AF_ENABLE);
        module_send_keypress(MODULE_KEY_PRESS_HALFSHUTTER);
        msleep(200);
        TEST_FUNC_CHECK(HALFSHUTTER_PRESSED, == 1);
        if (lv) {
            TEST_MSG("[INFO] ****** EOSM/M2 usually fails here but sometimes passes ******\n");   
            TEST_FUNC_CHECK(wait_focus_status(1000, 3), == 1);
            TEST_FUNC_CHECK(lv_focus_status, == 3)
        } else {
            msleep(1000);
            TEST_FUNC_CHECK(get_focus_confirmation(), != 0);
        }

I put in some annotations to help debug the EOSM2.

Here's the full log. Notice that the only failing tests are the focus tests. This is with the EF-M 22mm f/2 prime lens but it is happening with all lenses in both movie and photo mode. Once today it passed a few of the tests using an EF lens on an adapter in photo mode but I couldn't replicate it. Seems like changing some of the Canon settings may have something to do with the test results.

Code: [Select]
[Pass] is_play_mode() => 0x1
[INFO] Camera model: Canon EOS M 2.0.2 (0x80000331 EOSM)
[Pass] is_camera("DIGIC", "*") => 0x1
[Pass] is_camera(__camera_model_short, firmware_version) => 0x1
[Pass] src = fio_malloc(size) => 0x4de3609c
[Pass] dst = fio_malloc(size) => 0x4e63a0a8
[Pass] memcmp(dst, src, 4097) => 0x25
[Pass] edmac_memcpy(dst, src, 4097) => 0x4e63a0a8
[Pass] memcmp(dst, src, 4097) => 0x0
[Pass] edmac_memcpy(dst, src, 4097) => 0x4e63a0a8
[Pass] memcmp(dst, src, size) => 0x9c
[Pass] edmac_memcpy(dst, src, size) => 0x4e63a0a8
[Pass] memcmp(dst, src, size) => 0x0
[Pass] memcmp(dst, src, size) => 0x42
[Pass] edmac_memcpy_start(dst, src, size) => 0x4e63a0a8
       dt => 0x2949
[Pass] copied => 0x400558
[Pass] copied => 0x400558
[Pass] copied => 0x400558
[Pass] memcmp(dst, src, copied) => 0x0
[Pass] memcmp(dst, src, copied + 16) => 0x27
       edmac_memcpy_finish()
       free(src)
       free(dst)
Cache test A (EDMAC on BMP buffer)...
[Pass] bmp = bmp_load("ML/CROPMKS/CINESCO2.BMP", 1) => 0x80f2e0
[Pass] old => 0x0
[Pass] irq => 0xc0
[Pass] differences => 0x12ee
[Pass] old => 0x0
[Pass] irq => 0xc0
[Pass] differences => 0x0
Cache test B (FIO on 8K buffer)...
[Pass] tries[0] => 0xf1
[Pass] tries[1] => 0xf3
[Pass] tries[2] => 0xff
[Pass] tries[3] => 0x105
[Pass] failr[0] => 0x63
[Pass] failw[0] => 0xca
[Pass] failr[1] => 0x71
[Pass] failw[1] => 0x0
[Pass] failr[2] => 0x0
[Pass] failw[2] => 0xd4
[Pass] failr[3] => 0x0
[Pass] failw[3] => 0x0
       times[0] / tries[0] => 0x1e
       times[1] / tries[1] => 0x1d
       times[2] / tries[2] => 0x1d
       times[3] / tries[3] => 0x1d
Cache tests finished.

[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] HALFSHUTTER_PRESSED => 0x1
[INFO] ****** EOSM/M2 usually fails here but sometimes passes ******
[FAIL] wait_focus_status(1000, 3) => 0x0
[FAIL] lv_focus_status => 0x1
[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
[INFO] ****** EOSM/M2 usually fails here but sometimes passes ******
[FAIL] wait_focus_status(1000, 3) => 0x0
[FAIL] lv_focus_status => 0x1
[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
[INFO] ****** EOSM/M2 usually fails here but sometimes passes ******
[FAIL] wait_focus_status(1000, 3) => 0x0
[FAIL] lv_focus_status => 0x1
[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
[INFO] ****** EOSM/M2 usually fails here but sometimes passes ******
[FAIL] wait_focus_status(1000, 3) => 0x0
[FAIL] lv_focus_status => 0x1
[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
[INFO] ****** EOSM/M2 usually fails here but sometimes passes ******
[FAIL] wait_focus_status(1000, 3) => 0x0
[FAIL] lv_focus_status => 0x1
[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
[INFO] ****** EOSM/M2 usually fails here but sometimes passes ******
[FAIL] wait_focus_status(1000, 3) => 0x0
[FAIL] lv_focus_status => 0x1
[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
[INFO] ****** EOSM/M2 usually fails here but sometimes passes ******
[FAIL] wait_focus_status(1000, 3) => 0x0
[FAIL] lv_focus_status => 0x1
[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
[INFO] ****** EOSM/M2 usually fails here but sometimes passes ******
[FAIL] wait_focus_status(1000, 3) => 0x0
[FAIL] lv_focus_status => 0x1
[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
[INFO] ****** EOSM/M2 usually fails here but sometimes passes ******
[FAIL] wait_focus_status(1000, 3) => 0x0
[FAIL] lv_focus_status => 0x1
[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
[INFO] ****** EOSM/M2 usually fails here but sometimes passes ******
[FAIL] wait_focus_status(1000, 3) => 0x0
[FAIL] lv_focus_status => 0x1
[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] 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) => 0x40862fbc
[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) => 0x4de3609c
[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) => 0xb4b0
       msleep(900)
[Pass] timer_func => 0x0
       msleep(200)
[Pass] timer_func => 0x1
[Pass] ABS((timer_time/1000 - t0) - 1000) => 0x8
[Pass] ABS((timer_arg - ta0) - 1000) => 0xa
[Pass] timer = SetTimerAfter(1000, timer_cbr, overrun_cbr, 0) => 0xb51c
       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) => 0x32a1c
       msleep(90)
[Pass] timer_func => 0x0
       msleep(20)
[Pass] timer_func => 0x1
[Pass] ABS(DeltaT(timer_time, t0) - 100000) => 0x11c
[Pass] ABS(DeltaT(timer_arg, ta0) - 100000) => 0xf8
[Pass] ABS((get_us_clock() - t0) - 110000) => 0xffffff93
[Pass] SetHPTimerAfterNow(90000, next_tick_cbr, overrun_cbr, 0) => 0x32a1e
       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) => 0x28
[Pass] ABS(DeltaT(timer_arg, ta0) - 300000) => 0xb
[Pass] ABS((get_us_clock() - t0) - 310000) => 0xffffffa7
       t0 = GET_DIGIC_TIMER() => 0x42af6
       msleep(250)
       t1 = GET_DIGIC_TIMER() => 0x7f3e6
[Pass] ABS(MOD(t1-t0, 1048576)/1000 - 250) => 0x2
       LoadCalendarFromRTC( &now )
       s0 = now.tm_sec => 0x2c
       Date/time: 2019/01/24 14: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 => 0x38d18
[Pass] p = (void*)_malloc(50*1024) => 0x136ad0
[Pass] CACHEABLE(p) => 0x136ad0
       m1 = MALLOC_FREE_MEMORY => 0x2c508
       _free(p)
       m2 = MALLOC_FREE_MEMORY => 0x38d18
[Pass] ABS((m0-m1) - 50*1024) => 0x10
[Pass] ABS(m0-m2) => 0x0
       m0 = GetFreeMemForAllocateMemory() => 0x336790
[Pass] p = (void*)_AllocateMemory(128*1024) => 0x862f7c
[Pass] CACHEABLE(p) => 0x862f7c
       m1 = GetFreeMemForAllocateMemory() => 0x316784
       _FreeMemory(p)
       m2 = GetFreeMemForAllocateMemory() => 0x336790
[Pass] ABS((m0-m1) - 128*1024) => 0xc
[Pass] ABS(m0-m2) => 0x0
       m01 = MALLOC_FREE_MEMORY => 0x38d18
       m02 = GetFreeMemForAllocateMemory() => 0x336790
[Pass] p = (void*)_alloc_dma_memory(128*1024) => 0x40862fbc
[Pass] UNCACHEABLE(p) => 0x40862fbc
[Pass] CACHEABLE(p) => 0x862fbc
[Pass] UNCACHEABLE(CACHEABLE(p)) => 0x40862fbc
       _free_dma_memory(p)
[Pass] p = (void*)_shoot_malloc(16*1024*1024) => 0x4de3608c
[Pass] UNCACHEABLE(p) => 0x4de3608c
       _shoot_free(p)
       m11 = MALLOC_FREE_MEMORY => 0x38d18
       m12 = GetFreeMemForAllocateMemory() => 0x336790
[Pass] ABS(m01-m11) => 0x0
[Pass] ABS(m02-m12) => 0x0
[Pass] suite = shoot_malloc_suite_contig(16*1024*1024) => 0x136ad0
[Pass] suite->signature => 'MemSuite'
[Pass] suite->num_chunks => 0x1
[Pass] suite->size => 0x1000000
[Pass] chunk = GetFirstChunkFromSuite(suite) => 0x136af8
[Pass] chunk->signature => 'MemChunk'
[Pass] chunk->size => 0x1000000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x4de36088
[Pass] UNCACHEABLE(p) => 0x4de36088
       shoot_free_suite(suite); suite = 0; chunk = 0;
[Pass] suite = shoot_malloc_suite_contig(0) => 0x1301d0
[Pass] suite->signature => 'MemSuite'
[Pass] suite->num_chunks => 0x1
[Pass] suite->size => 0x1f24000
[Pass] chunk = GetFirstChunkFromSuite(suite) => 0x136980
[Pass] chunk->signature => 'MemChunk'
[Pass] chunk->size => 0x1f24000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x44000064
[Pass] UNCACHEABLE(p) => 0x44000064
       largest_shoot_block = suite->size => 0x1f24000
[INFO] largest_shoot_block: 31MB
       shoot_free_suite(suite); suite = 0; chunk = 0;
[Pass] suite = shoot_malloc_suite(largest_shoot_block + 1024*1024) => 0x1301d0
[Pass] suite->signature => 'MemSuite'
[INFO] ************ Reset Canon settings if suite->num_chunks => 0x1 fails ************
[Pass] suite->num_chunks => 0x5
[Pass] suite->size => 0x2024000
[Pass] chunk = GetFirstChunkFromSuite(suite) => 0x136980
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x13b4000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x4de1a070
[Pass] UNCACHEABLE(p) => 0x4de1a070
       chunk = GetNextMemoryChunk(suite, chunk) => 0x136a18
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x148c000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x45f240e4
[Pass] UNCACHEABLE(p) => 0x45f240e4
       chunk = GetNextMemoryChunk(suite, chunk) => 0x136a50
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x1574000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x4ae00064
[Pass] UNCACHEABLE(p) => 0x4ae00064
       chunk = GetNextMemoryChunk(suite, chunk) => 0x136a88
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x1974000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x419ff0a4
[Pass] UNCACHEABLE(p) => 0x419ff0a4
       chunk = GetNextMemoryChunk(suite, chunk) => 0x136ac0
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x2024000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x44000064
[Pass] UNCACHEABLE(p) => 0x44000064
       chunk = GetNextMemoryChunk(suite, chunk) => 0x0
[Pass] total => 0x2024000
       shoot_free_suite(suite); suite = 0; chunk = 0;
[Pass] suite = shoot_malloc_suite(0) => 0x1301d0
[Pass] suite->signature => 'MemSuite'
[Pass] suite->num_chunks => 0x5
[Pass] suite->size => 0x3700000
[Pass] chunk = GetFirstChunkFromSuite(suite) => 0x136980
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x13b4000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x4de1a070
[Pass] UNCACHEABLE(p) => 0x4de1a070
       chunk = GetNextMemoryChunk(suite, chunk) => 0x136a18
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x148c000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x45f240e4
[Pass] UNCACHEABLE(p) => 0x45f240e4
       chunk = GetNextMemoryChunk(suite, chunk) => 0x136a50
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x1574000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x4ae00064
[Pass] UNCACHEABLE(p) => 0x4ae00064
       chunk = GetNextMemoryChunk(suite, chunk) => 0x136a88
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x1974000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x419ff0a4
[Pass] UNCACHEABLE(p) => 0x419ff0a4
       chunk = GetNextMemoryChunk(suite, chunk) => 0x136ac0
[Pass] chunk->signature => 'MemChunk'
[Pass] total += chunk->size => 0x3700000
[Pass] p = GetMemoryAddressOfMemoryChunk(chunk) => 0x44000064
[Pass] UNCACHEABLE(p) => 0x44000064
       chunk = GetNextMemoryChunk(suite, chunk) => 0x0
[Pass] total => 0x3700000
[INFO] ************ Reset Canon settings if suite->num_chunks => 0x1 fails ************
       shoot_free_suite(suite); suite = 0; chunk = 0;
[Pass] strlen("abc") => 0x3
[Pass] strlen("qwertyuiop") => 0xa
[Pass] strlen("") => 0x0
[Pass] strcpy(msg, "hi there") => 0x213d2c
[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) => 0x213d00
[Pass] foo => 'asdfghuiop'
[Pass] memset(bar, '*', 5) => 0x213ce0
[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) => 0xed6c00ca
[Pass] test_task_created => 0x1
[Pass] get_current_task_name() => 'run_test'
[Pass] get_task_name_from_id(current_task->taskId) => 'run_test'
[Pass] task_max => 0x68
[Pass] task_max => 0x68
[Pass] mq = mq ? mq : (void*)msg_queue_create("test", 5) => 0xed6e00b6
[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) => 0xed7002f8
[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) => 0xed720036
[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
[INFO] ************ Checking stub = LiveViewShutterApp_handler ************
[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);
[INFO] ************ EOSM2 fails here ************
[Pass] MENU_MODE => 0x1
[INFO] ************ EOSM2 fails here ************
[Pass] PLAY_MODE => 0x0
[Pass] dialog->type => 'DIALOG'
       GUI_Control(BGMT_MENU, 0, 0, 0); msleep(500);
[Pass] MENU_MODE => 0x0
[INFO] ************ EOSM2 fails here ************
[Pass] PLAY_MODE => 0x0
       SW1(1,100)
[Pass] HALFSHUTTER_PRESSED => 0x1
       SW1(0,100)
[Pass] HALFSHUTTER_PRESSED => 0x0
[Pass] is_play_mode() => 0x1
[INFO] ************ Checking stub = PlayMain_handler ************
[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, 11852 passed, 20 failed.
.
5D3.* 7D.206 700D.115 EOSM.203 EOSM2.103 M50.102

Danne

  • Contributor
  • Hero Member
  • *****
  • Posts: 5919
Re: Canon EOS M
« Reply #1999 on: January 25, 2019, 08:57:17 AM »
New build. Only affects 'framing' setting. Hopefully solid preview now:
https://www.magiclantern.fm/forum/index.php?topic=9741.msg208959#msg208959

No need for Clear Overlays 'HalfShutter' in framing mode hopefully.