Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - coutts

Pages: 1 ... 10 11 [12] 13
General Development / Re: Making a plugin for ML, problems
« on: July 03, 2012, 05:56:12 PM »
I'm trying to make a plugin for ML o see how it works.
I've started from testplug, and changed a little to this:
Code: [Select]
#include "plugin.h"

extern const char* CARD_DRIVE;
extern int transparent_overlay_hidden;

EXTERN_FUNC(MODULE_FUNC_INIT, struct plugin_descriptor *, somefunc) {
    FILE * f = FIO_Open(CARD_DRIVE "ML/DATA/overlay.dat", 0);
    if (f != (void*) -1)
FIO_RemoveFile(CARD_DRIVE "ML/DATA/overlay.dat");
    transparent_overlay_hidden = !transparent_overlay_hidden;
    return 0;

But i have errors when compiling:
Code: [Select]
scraxplug.c: In function 'somefunc':
scraxplug.c:10:36: error: expected ')' before string constant
scraxplug.c:10:36: error: too few arguments to function 'FIO_Open'
scraxplug.c:15:29: error: expected ')' before string constant
make[2]: *** [scraxplug.o] Error 1

some hint?
did you mean to say FIO_OpenFile ?

Hardware and Accessories / Re: Lenses for 550d
« on: July 03, 2012, 05:42:33 PM »
I suggest a Sigma 30mm f/1.4. I used one on my 500d when I had it and loved it. The depth of field was my favorite part. It looks very similar to 50mm on a full frame camera.

500d w/ Sigma 30mm f/1.4:

5dc w/ 50mm f/1.8:

For shutter count: I think Indy found the property data in ROM at ff80000.
I looked at 0xFF800000, it was just full of 0xFFFFFFFF though, so no luck there.
my card reader just broke (damn walmart and their cheap products), so I can't work on anything until tomorrow now.

Some new progress:
create_state_object: 0xFFB22574

EMState is created at FF8B7694 (initialize_state_object__EMState).

dword_FF8B7304 is a small list containing pointers to the 3 states of EMState:
- emRegisterMulticastCallback
- emUnregisterMulticastCallback
- emDeliverMulticastEvent

create_state_object creates a struct for EMState using some of the arguments passed to it.
off_0x00: "StateObject"
off_0x04: "EMState"
off_0x08: 0x0 [unknown]
off_0x0C: ptr to state_object_state_handler__maybe (FFB22744) [this seems to trigger state changes i think]
off_0x10: EMState__states [dword_FF8B7304]
off_0x14: 0x3 [unknown]
off_0x18: 0x1 [unknown]
off_0x1C: 0x0 [unknown]

EMState is initialized during startup, called from Canon's startup task. I could re-write emDeliverMulticastEvent to send a GUI event maybe for half shutter press, unless there's an easier way to do it. I would have to somehow hijack Canon's startup task (and have to re-write that too), unless there's an easier method.

I'll dig into this more today. Overall the state machine stuff seems very similar to how it is in DryOS from when I looked into this stuff with the 500d. Identical I'd say.

Wait, this will be easier than I thought since I only need to change the pointer in the EMState state object struct.

Also: I still can't find a property for shutter count :(
I have asked on a photography forum, and I guess Canon can check the shutter count (many people had their shutter count checked when they sent their 5dc in for the mirror fix). So if Canon can check it, then that means the shutter count is being recorded in a property somewhere (just need to find it). No references to it in the rom, so I think I need to get prop spy working and just start probing for changing properties.

Code: [Select]
ff8ac3e8: '[FSS] fssSW1On'
ff8b735c: '[EM] Already SW1ON'
ff8b7370: '[EM] Already SW1OFF'
ff8b7450: '[EM] emDeliverMulticastEvent : SW1ON'
ff8b7478: '[EM] emDeliverMulticastEvent : SW1OFF'
ff9f5db8: '[RapiSW]  CompRapiActive SW1'

or with memspy, though I don't know how you can run this with display off. Maybe print the results to log file?

In dryos, it's somewhere around main_ctrl_task data structures.
I have those debug messages in my log. Unfortunately those functions don't write any memory locations for me to use as a status check for half shutter press.

Maybe it would be possible to hijack whatever is calling the debug messages for emDeliverMulticastEvent, sort of like the gui task is overridden? Then I'd be able to know when SW1 and SW2 are pressed. Also, maybe I could inject synthetic SW1 and SW2 events to mimic the SW1 and SW2 properties that the 5dc does not have (like DryOS). This could make the bulb timer work.

I've hit a bit of a wall again on the 5dc, it appears there is no gui event for halfshutter press, there's only an unpress event. so, anybody have a creative idea for detecting shutter half press?

General Chat / Re: POLL: What model to work on next?
« on: July 02, 2012, 02:24:28 PM »
sounds like 1100d has the same screen (or similar, low quality one) as the 5dc, maybe some of the same things being used on the 5dc could help the 1100d.

Camera-specific Development / Re: Canon 5D classic
« on: July 01, 2012, 10:26:40 PM »
Sorry I haven't had much time to work on this :|
I could release an autoexec.bin (or feel free to compile it yourself from the sources!, but not much works yet. Until I finish up fixing the properties, there won't be much to test yet.

I fixed the gui_state property a few days ago and that made the intervalometer work, so now I just need to narrow down which properties work and which don't. The thing bothering me right now is the aperture property (doesn't seem to work right), shutter speed and ISO properties are working so that can be changed from the menu.

Question: should I keep picture styles in the ML menu or hide it since it probably won't provide much more functionality? More or less convenience.

So, any suggestions for what to leave / what to remove for the 5dc would help.

Share Your Videos / Re: Istimebul - Time Lapse Istanbul
« on: June 27, 2012, 10:41:37 PM »
cool stuff! how do you make the zoom change throughout the shot smoothly?

Share Your Videos / First ever timelapse from the 5DC running ML
« on: June 27, 2012, 05:06:46 PM »
Intervalometer is working! Very stable too so far (I didn't have any issues with it last night). Unfortunately the clouds rolled in after an hour, so I only have an hours worth of footage to produce this 6 second long video.

Maybe 5DC will be included in the next major release if I can finish it in time :)

Canon 5D Classic
Sigma 24mm f/1.8
Intervalometer set to every 30 seconds.
25s exp @ f/4.0
Processed with VirtualDub.

(p.s. not sure what's with that thumbnail on the video)

5DC port thread:

Camera-specific Development / Re: Canon 5D classic
« on: June 26, 2012, 07:58:45 PM »
Menu is opening / closing smoothly now:

EDIT I modified by adding the youtube tags

Camera-specific Development / Re: Canon 5D classic
« on: June 26, 2012, 02:44:16 PM »
^ correct.

The first thing I want to get working is the intervalometer, the 5dc would be pretty cool for timelapse!

Share Your Videos / Re: Bulb ramping demos
« on: June 22, 2012, 02:48:24 PM »
cool stuff!

Camera-specific Development / Re: Canon 5D classic
« on: June 22, 2012, 01:20:46 PM »
lots of things working thanks to alex. menu now works almost perfectly (including submenus), colors are fixed, help files work, config file is saving, lots of stuff so far! now it's just a matter of getting the features to work 1 at a time.

Camera-specific Development / Re: Canon 5D classic
« on: June 21, 2012, 07:52:35 PM »
Alex has merged 5dplus into the main ML repo, so it looks like the 5dc will soon be running ML :)

Reverse Engineering / Small snippet on how the stack works in ARM
« on: June 20, 2012, 04:07:28 PM »
Sometimes the stack still confuses me, so I need to look back at how it works. In all canon cameras, the stack is a Full Descending one. It grows to lower addresses in memory. I found a short word document on google which explains this pretty well. To view the document itself, just look here:

General Development / Re: Compiling on a Mac
« on: June 19, 2012, 03:02:24 PM »
I've already installed the arm toolchain, so I can skip Yagarto, i've used the summon-arm script because yagarto was not working the first time I tried with SnowLeopard times ago and on the site they say it's not more supported so if it failed on SL I supposed also Lion will be a problem...

All the other things for the Arm console are almost all python package, i've installed them from source, but only at the end I found that they were not required to compile ML. :P

But I want to try the arm console so I'll check what is missing and post back, and when done will add it to the script.
One thing I remember when installing the console prereqs, easygui 404s with easy_install, so you need to install it manually:

Forum and Website / Re: To all user: a nice signature use
« on: June 19, 2012, 02:42:16 PM »
good idea. I've added my camera/gear to my signature too.

General Chat / Re: POLL: What model to work on next?
« on: June 19, 2012, 02:39:31 PM »
1000d is half-ported and has LV so most ML features should work on it. I got the ground work out of the way a while ago :D

General Development / Re: Compiling on a Mac
« on: June 19, 2012, 03:32:57 AM »
Hi Coutts, first thanks for your guide on the wiki, it was fondamental for me to install all the things nedded.

Here is the link to what I have now:
I'm using pip and brew to install most of the dependencies because macports was giving me errors when compiling some stuff.

For now It will check and install if needed homebrew and pip, then there are two install list.
The first one (default) is for all mac user and will install only PIL, numpy, mplayer, imagemagick and enfuse for converting HDR photo and video, focus stacks and 422 (silent pics) file.
The second one (selectable using the option " dev" or d instead of dev) will install also libusb, binutils, gmp, mpfr, libmpc, mercurial, wget, ufraw, mplayer, poppler, matplotlib, docutils, pandoc and if not found MacTex (it will try to find with spotlight an installer on the mac before downloading it)
other options are remove or r to uninstall all that pip and brew installed, and help or h to see a quick help on this options

what about documentations? Can you compile it from mac? I've installed all what was needed but once compiled it's wrong.
compiling is easy :) all you need to do is install Yagarto. It's a precompiled toolchain, just unzip it and add it to your path. That's all you need to compile ML, the other stuff is for installing the ARM Console.

Camera-specific Development / Re: Canon 5D classic
« on: June 19, 2012, 03:27:43 AM »
If it is possible to port the ML on the Canon 5dc, what features will it?
Many non-lv features from Magic Lantern:
- intervalometer
- zebras and false color (in play mode) [just need to find yuv vram buffers]
- more in-between ISO values (maybe more than what are available)
- trap focus
- custom focus patterns
- display shutter count
- ML debug tools (memspy, propspy, eventspy). I have already ported bmp_hexdump, it has helped me tremendously so far.
? ? ?

Basically most non-lv features from ML.

General Chat / Re: Magic Lantern Swag?
« on: June 18, 2012, 04:20:04 PM »
I would rock a ML camera strap :) even if my 5dc isn't running real ML ha.

Camera-specific Development / Re: Canon 5D classic
« on: June 18, 2012, 04:16:34 PM »
I am from Russia. I follow yours. What you do is amazing.
thanks  :)

Today the code compiled with menu.c included from magic lantern (well, a modified menu.c, but mostly everything there). That takes care of compiler / linker problems, but the menu doesn't function yet (can't make it draw anything on screen). so, next step is to sort out the drawing problems.

In ML, things are drawn to an "idle" vram buffer (a blank space in memory reserved for ML to draw to), and then copied to the real vram. I need to re-work this because the bmp vram is 720x480 in ML, and only 360x240 in the 5dc.

Maybe will have menu working by the end of this week, hopefully  8)

Pages: 1 ... 10 11 [12] 13