Tragic Lantern for EOS M

Started by coutts, April 17, 2013, 01:43:28 AM

Previous topic - Next topic

0 Members and 5 Guests are viewing this topic.

coutts

Today I shipped my M to 1%, he will be taking over from here. I decided I just don't have the time right now to figure out some of the problems.

1%

Got the EOSM, going to start messing with it. Prop LV lens is different yet again... the filters dont work... how do you even activate MZ?


Lots of work on this one, going to be a PITA but might make something of EOSM yet.

Yep... hard to get those fancy vsync features working... but a question:

Why is vignetting correction applied twice? Once from Vsync and then again from state 4->5


Can beep now... Needs patching going to try to do a better job and jump the asserts instead of no-oping them. I was doing little endian before it wasn't working.

Audio *MIGHT* be easier on this camera... the audio IC writes/reads look more like they are sending commands not loading a struct and shooting it all at once. There are 2 headphone powerup commands and a monitoring command.

nanomad

It would be nice if you figure out the IC protocol, the 650D has the same one
EOS 1100D | EOS 650 (No, I didn't forget the D) | Ye Olde Canon EF Lenses ('87): 50 f/1.8 - 28 f/2.8 - 70-210 f/4 | EF-S 18-55 f/3.5-5.6 | Metz 36 AF-5

coutts

Quote from: 1% on April 18, 2013, 04:13:34 AM
Got the EOSM, going to start messing with it. Prop LV lens is different yet again... the filters dont work... how do you even activate MZ?


Lots of work on this one, going to be a PITA but might make something of EOSM yet.

Yep... hard to get those fancy vsync features working... but a question:

Why is vignetting correction applied twice? Once from Vsync and then again from state 4->5


Can beep now... Needs patching going to try to do a better job and jump the asserts instead of no-oping them. I was doing little endian before it wasn't working.

Audio *MIGHT* be easier on this camera... the audio IC writes/reads look more like they are sending commands not loading a struct and shooting it all at once. There are 2 headphone powerup commands and a monitoring command.
vsync is tough on this camera, it will take some tweaking.

- good job on beep! i didn't even look at audio, i was too busy getting menu and stuff working.
- for MZ, it's best to just set it to always on, because i was yet to find some indicator that focus was changing (I found one status register in memory that changed when focus was changed a lot, but nothing very accurate / fine).
- vignetting, idk (happened during random commits? haven't really really worked on this since the fall)
- display filters, not sure - like you said the prop is changed now.

Ask me questions and i'll bring you up to speed. Glad someone is at least working on it now :)

1%

I'm not up to speed on the touch screen yet but I think this thing seriously needs support for it.

So there has to be an X/Y register or location somewhere.  Once that can be read my idea is:

1. Hijack Touch input from canon so we can intercept events.
2. Make hot corners... like windows 8. Seems simple and one could be ml menu, one could be mz, etc.
3. The junkie menu should already have X/y for the buttons since it draws them all on 1 screen. I think this would be a good way to interact with ML menus via touch.


For vsync, evf state is pretty good. 60P MZ is pretty much flicker free. Maybe use that to sync anamorphic,etc. I'm getting original problem like 6D where the overlays don't draw and F/S mz doesn't work. I'll have to look and see if display state sends anything usable.

BTW; not seeing lines on EOS_M when using FPS override with timer B.... also the videos are baseline profile... this is digic V?


coutts

Quote from: 1% on April 18, 2013, 03:33:09 PM
I'm not up to speed on the touch screen yet but I think this thing seriously needs support for it.

So there has to be an X/Y register or location somewhere.  Once that can be read my idea is:

1. Hijack Touch input from canon so we can intercept events.
2. Make hot corners... like windows 8. Seems simple and one could be ml menu, one could be mz, etc.
3. The junkie menu should already have X/y for the buttons since it draws them all on 1 screen. I think this would be a good way to interact with ML menus via touch.


For vsync, evf state is pretty good. 60P MZ is pretty much flicker free. Maybe use that to sync anamorphic,etc. I'm getting original problem like 6D where the overlays don't draw and F/S mz doesn't work. I'll have to look and see if display state sends anything usable.

BTW; not seeing lines on EOS_M when using FPS override with timer B.... also the videos are baseline profile... this is digic V?

M is digic 5 yes, as far as touch goes, here's some testing I did:


lines are present, here's a 9 hour timelapse showing them getting worse over time:

1%

You used timer A only so of course.

DTSET123

Have you guys tried to utilize mjpeg on this one yet? If full frame can do 20fps (i think it was) maybe this one can do 24? I know it is easy to say then done but at least in theory - would it be possible?

1%

Just got it yesterday but did think of it... Also some new stuff got found that might give access to raw data.

DTSET123

Dont mean to be annoying but you know I got to ask now: what you mean by RAW data? Also, wanted to say thanks to Coutts for sending his cam to 1%- that was nice of you!

1%

Like for the histogram and maybe movies... we'll see.

Yea, EOS-M isn't going to be doing much overcranking... also:

FPS timer B and A need to be limited I think. Too much A = Lines. Too much B = overheating.

I'm trying B000 as a B limit, the overheating was real obvious with M.

Need to find some sane limits.

1%

No luck with FPS limits... if I limit too much then it doesn't work right... Reverse is overheating tho.

Flush rate is working though, I tried down to 2 frames. "CBR" 9x and not a hickup... only 72Mb/s tho... this camera will have to set slice and/or digic parameters.

Another bit of news... the videos have an M=1 for ref frames so I'm going to look at video paramters and see if  M setting is present. Then can set it to 3 and have IPB, etc. I still have to throw videos in my analysis tools and see what its really writing, be it IP/IPB/etc.

Bad news for beep... stopping DMA DAC causes freeze and not error. I tried some patching but its not working. Weird that recording is seemingly working and so is playback... just after initiial play /rec camera locks up :(

Looks bad for syncing overlays have 26 and 27 display state event but neither is in sync.... too far down the line and you cant see the others.

I really hope for the audio to work as then this camera can be a run and gun on a steadicam. That way you save the weight of the body and just have to balance the lens. The adapter is conveniently centered.

1%

Well its still freezing after beep and I don't see anything in the logs.

For menu while recording:

Redraw flood needs to be disabled. It can't open the canon dialog in the backround. Also guirequestmode of 0 means the buttons don't work. Setting gui request mode to ML mode like 90 fixes the buttons but when you come out of the menu it doesn't go back to 0 right, you lose all events and if lucky can press play mode to get them back after stopping recording.

Is assert working on this camera?

coutts

Quote from: 1% on April 23, 2013, 06:10:09 PM
Well its still freezing after beep and I don't see anything in the logs.

For menu while recording:

Redraw flood needs to be disabled. It can't open the canon dialog in the backround. Also guirequestmode of 0 means the buttons don't work. Setting gui request mode to ML mode like 90 fixes the buttons but when you come out of the menu it doesn't go back to 0 right, you lose all events and if lucky can press play mode to get them back after stopping recording.

Is assert working on this camera?
ML assert? should be

1%

It dumps the assert message to where the dumpf log would normally go. I've only gotten hangs and never err 70.

1%

Synced MZ on EOSM... input 15 old state 5 on evf state fires every frame... unfortunately this doesn't work for display filters.

For image parameters we are catching Display state just one state too late. It is firing right at the end. On 6D it would fire one transition before. They are both state 1 but on 6D there is also a state 0 that comes after it.

On 600D we can't sync because both input 3 and 5 happen on old state 5. The sync function would have to  run at 1/2 speed somehow. Fires twice as much as needed.

coutts

Quote from: 1% on April 25, 2013, 04:31:44 AM
Synced MZ on EOSM... input 15 old state 5 on evf state fires every frame... unfortunately this doesn't work for display filters.

For image parameters we are catching Display state just one state too late. It is firing right at the end. On 6D it would fire one transition before. They are both state 1 but on 6D there is also a state 0 that comes after it.

On 600D we can't sync because both input 3 and 5 happen on old state 5. The sync function would have to  run at 1/2 speed somehow. Fires twice as much as needed.

int skip = 0;


skip = !skip, to toggle it on/off?

1%

Skip? You can't see the correct state, it never showed on the screen. For 600D would have to be 3->5->sync. I'll have to see where the other cameras land which use it.

The audio meters only work while recording :) Buffer isn't too bad while recording either... I'll have to hack it to be big all the time.

ML menu works while recording now. I used guimode 99 and set it back to 0 when exiting the menu.... sometimes it fucks up the first time so press down first I guess.

tractorFactor

Am I being blind or are Focus Menu items unavailable on EOS-M?
I'm using the Alpha version for Eos-m.

Trap Focus,
Follow Focus,
Focus End Point,
Etc.

appear to be unavailable.

Thanks

1%

Those don't really work because there is no focus confirmation.. There is only the crappy LV focus... ever have trap focus in LV mode?

I plan on screwing with AF with some of the 6D props to see if I can speed it up but not sure how that would work for trap focus as its slooooooooow. Follow focus needs some sort of on screen short-cuts.

Right now got MZ synced and ml menu working along with flush rate.

nanomad

Quick question, what are you using to debug state transition ?
EOS 1100D | EOS 650 (No, I didn't forget the D) | Ye Olde Canon EF Lenses ('87): 50 f/1.8 - 28 f/2.8 - 70-210 f/4 | EF-S 18-55 f/3.5-5.6 | Metz 36 AF-5

a1ex

For simple stuff you can use bmp_printf. For more complex logs, I use dm-spy and DryosDebugMsg.

Or, custom logging code like this: http://www.magiclantern.fm/forum/index.php?topic=1915

1%

I used consoleprintf like coutts and notifybox. Notifybox seems good for seeing what will get to the screen and how often... dunno about this approach but it seems to work for MZ at least. I'm going to try to sync 600D with face or one of the other stateobj I looked at on M.


nanomad

Uhm that state transition didn't work on the 650D
Alex gave me an idea that hopefully will help us automatically find suitable vsync transitions by analyzing the FPS of a set of candidates
EOS 1100D | EOS 650 (No, I didn't forget the D) | Ye Olde Canon EF Lenses ('87): 50 f/1.8 - 28 f/2.8 - 70-210 f/4 | EF-S 18-55 f/3.5-5.6 | Metz 36 AF-5

1%