Menu

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.

Show posts Menu

Messages - knoodrake

#1
Scripting Corner / Re: Optomised HFD Script
November 17, 2016, 07:47:17 PM
Hello @garry23

One step from being the ultimate HFD for me: the ability (in menu) to disable the aperture optimise(), because sometimes you lack light and want to actually stay at widest aperture, and just have the widest DoF possible with it. But it's a detail, I may add it myself and repost the modified version here.

HFD script (and DoF infos in LV) and Dual ISO are my absolute favorite features enabled by ML and its community :D

Cheers
:)
#2
( just here to post a google drive (viewable online) link of your spreadsheet for those who doesn't have any *Office at disposal https://docs.google.com/spreadsheets/d/1GrJxwfLKgwH-DBR2c24viq5xQw1aiAGq-XoWC7WGcqE/ )
#3
Thanks a1ex. Can't take the time right now to try to analyze (will try tomorow) but
that is the

of this code

static void run_test()
{
  msleep(2000);
  beep();
  debug_intercept();
  msleep(5000); // I pressed (and unpress) manually the DoF preview button durring those 5s
  debug_intercept();
  beep();
}


QuoteThis sequence should run with display off, to minimize noise (lots of messages) from Canon GUI.
that's already the case when using don't click me right ? because my screen sure goes black.

--

EDIT: well, no time to analyze, but a quick look already tells that there is no mpu_send at all (although the flash did "model" fire)  :(
#4
Sorry to bother you again, but I can't figure how to trigger a key press ? ( is that even possible ? ) I tried
  module_send_keypress(MODULE_KEY_PRESS_DP);

in debug.c

But

  • I don't know if It's what I'm supposed to do
  • I'm not sure which key is MODULE_KEY_PRESS_DP ? ( I'm looking for DoF preview button, just next to the lens on 5d3 )

If not possible, I guess I can do something like:

static void run_test()
{
  msleep(2000);
  debug_intercept();
  /**
     some code that waits for the Keypress event for the key that I actually press with my finger after having called this run_test()

  **/
  msleep(2000);
  debug_intercept();
}
#5
QuoteDo you have a way to trigger the flash manually without taking a picture?
Yes ! Or so I beleive.. In canon settings, I can set the DoF preview button for flash modeling ; So I press the button and the flash kinda-trigger (for modeling, so not a "usual" flash trigger, it's a something like 1s lasting high frequence sequence of low power trigger ) but anyway, more or less yes, I can fire the flash without taking a picture.
Not sure it helps, but I hope it does. I'll try logging while doing that.
#6
Please excuses me my lack of knowledge about that or if the reasoning is dumb but since the "original" (non-ML) canon GUI have a dedicated panel to configuring the external speedlite (and including whether it should fire or not), it has to be a catchable message somewhere from the cpu to ...the mpu I guess ?

BTW, Is that guaranteed that this is same mpu that handles the shoe flash signals and not another micro-controller (genuine question) ?
#7
I guess I'll need some extra logs ( or less aggressive grep more likely ) to understand anything in that mess  :D https://www.diffnow.com/?report=0pvlf

thoses two topics you linked above http://www.magiclantern.fm/forum/index.php?topic=17596.0
and http://www.magiclantern.fm/forum/index.php?topic=2388.msg113154#msg113154 are very informative, but still..

I'll continue learning, and, hopefully, one day soon I may be able to give some actually interesting bits  :)
#8
Oh, okay ! so red means more tricky, not bad  :D Thank you.
I guess I can start by just cleaning (grep) the log files to keep only mpu lines and diff the with and the without flash logs (for instance).

Thanks for the help.
#9
So I tried to comment every definition that was red on the camera, leaving only those not conflicting (whatever that means..) and the 2 mpu ones. Unfortunatly, the 2 mpu ones then are the only two "memory patches" still red..  :( So I did'nt even try.

Then I tried to comment absolutely everything beside the 2 mpus, and still, only 3 "memory patches", the only green one beeing dm-spy. the two mpu ones still red.
Don't knowing the exact meaning of the dot colors, I tried anyway, and clicked dump log before and after a shoot. It didn't "crash" and I can see some lines like
**INTERRUP:000af560:00:00: *** mpu_recv(06 05 03 38 9c 00), from ff2e87f8
in the DM.log file produced ! semi-victory ?
I also tried to look quickly into hack.c/hack.h files but that is beyond my skills.

Bottom line: let me know if I can target specific kind of test (with and without flash, 100ISO then 400ISO, ... I don't know ?), or, give me hints (or point me to where I can find hints) on how to find so-called patterns.

Here is the DM.log https://zerobin.net/?5480338d835281b0#KpbsWTydjK9nHoSeEvT7R+z3jNv2yQ4j51bff4zMMpE=
#10
Thank you a1ex. Don't bother to look into it yet please, because you made me realize I messed up a bit while merging in the dm-spy-extra file.
I'll start simple and fellow your advice, and just leave the mpu definitions.
Thanks.
#11
More pieces of infos about my crashes..

I could note on console:
birthday paradox ff694a84 PathDrv_EekoAddRawPathCore.c-div8
    conflicts with : ff291200 UnLockEngineResources
Patch error at 5b90 ( TOO_MANY_PATCHES )


Also, the Memory patches entry is red (and I guess it's bad): 21 ROM, 11 RAM
And indeed, many of them are red dotted. ( but some are green  :) like "register_interr"
#12
Hi all,

I managed to build a non-bricking build of 5D3-113-and-123 with dm-spy-experiments merged, I set the CONFIG_DEBUG_INTERCEPT flag, etc.. et... but It crashes when I try to click Debug -> DebugMsg Log.

Also, I don't see interesting pieces of logs in the LOG000.log file.. so maybe I somehow missed the "extra" part of the spy stuff ? Or it just crashes before anything interesting happens ?
I'll try to look into it but I am absolutely not in my dev "comfort zone" (eg. I understand nothing).
Anyway, here's the (joined) 5 error log files I got on the CF:

# log file 0
ASSERT: hLvJob->hJpegMemSuite
at ./Epp/Vram/VramStage.c:891, task Epp
lv:1 mode:3

# log file 1
ASSERT: IsSuiteSignature( hSuite )
at ./PackMemory/PackMem.c:599, task Epp
lv:0 mode:3

# log file 2
ASSERT: IsSuiteSignature( hSuite )
at ./PackMemory/PackMem.c:599, task RscMgr
lv:0 mode:3

# log file 3
ASSERT: IsSuiteSignature( hSuite )
at ./PackMemory/PackMem.c:983, task RscMgr
lv:0 mode:3

# log file 4
ASSERT: fInitialize == TRUE
at ./System/PostPostman/PostPostman.c:243, task Epp
lv:0 mode:3

Magic Lantern version : Nightly.2016Nov09.5D3123
Mercurial changeset   : b11d59e725eb+ (dm-spy-experiments) tip
Built on 2016-11-09 13:50:31 UTC by knoodrake@knoodrake-VirtualBox.
Free Memory  : 163K + 3058K


and here is the useless (or so it look to me) LOG000.log file: https://zerobin.net/?fd19cf634217e25a#TvzzNUDB40vk9L0a2sxHvOLAdjIDtIDVuesQtfpwyF8=

Also, maybe I should move elsewhere on the forum to discuss (being helped trying to help really) that building/spying stuff ? or is it okay here ?

Thanks,   
#13
Thanks a1ex, copying the current_task from the 1.1.3 to 1.2.3 worked and now it compiles  :)


but about dm-spy-extra.c, quoting myself
Quotethere's already definitions for CONFIG_5D3_123 in dm-spy-experiments' file. Should I nevertheless overwrite CONFIG_5D3
?
Wouln't want to brick my camera for a stupid reason :)

#14
too hardcore for me I think. Can't make it to compile.

Some problem with recent refactors related to tasks.
Now I miss "current_task" in 5D3.123 stub.S and I have no Idea what this value should be. I tried to find It (or it's equivalent) in other branches but I couldn't find.

I tried to revert ( called backout in hg ?) the commit  where you ( a1ex ) introduced an unknown (for the 5D3.123 at least) current_task variable use in boot-hack.c but that just moved the very same problem elsewhere, didn't change much that it was a missing get_the_value or the reference to the value itself since I don't know what it is.

Maybe I'll try another way (downgrading) but I enjoyed learning arround those problems so it would be a pitty (for me at least) to give up. Maybe you may have some hints ?

Regards,

knoodrake
#15
Sorry for the many questions and ignorance, but there's already definitions for CONFIG_5D3_123 in dm-spy-experiments' file. Should I nevertheless overwrite CONFIG_5D3 definitions with them ?
#16
Thanks, I'll try that !
Now I just have to find how to git merge/pull with hg  :D (never used)

EDIT okay that was easy: git hg merge xxxxx  :D
#17
I was thinking at merging 5D3-113-and-123 in dm-spy-experiments.
Quick online overview of the diffs https://bitbucket.org/hudson/magic-lantern/branches/compare/5D3-113-and-123%0Ddm-spy-experiments#diff
didn't look that scary to me, but since I don't understand much... ?
#18
Thanks a1ex. I'm trying to make the whole stuff compile in an ubuntu vm (vim, makefiles, ... no more Eclipse and gradle stuff, I'm feeling young again   :P ) but after fetching dm-spy-experiments I realized that the branch came from unified and does not have (yet?) support from 5D3.123 ? ( that is the one I use ). So I guess I would need to downgrade ?..  Correct ? :(
#19
Any way I can help while not understanding anything (for instance, I don't even know what MPU means), just by giving infos/dump/things, doing some tests ?

I've a 5D3, a 580EXII, 480EXii a yongnuo copy of the 580, some youngnuo transmitter/receiver, ML, and java dev, so can find my way arround bash, git, VMs, IDEs, etc... but anything too close to the hardware I think I won't understand any bit :)

EDIT: My bad, just a quick google told me what MPU means. sorry
#20
Just replying to say that I have no Idea  ::)
I looked up a bit in lua doc and indeed, coulnd't find any function to fire strobe.
The only place I saw strobes mentioned is in the Canon properties, and, apparently you can set them, but

  • I don't know if changing the property will imply any action at all
  • property:request_change (...) have a huge warning about briking your camera.
So I'm not sure it is yet exposed in Lua (if possible at all).
But I just discovered ML scripting a few days ago, so don't take my word !
#21
@garry23 I already checked your scripts  :P ( LE Simulation interested me a lot for instance, since my new lens doesn't take my ND1000 )

As for me, I love ML ever since I discovered DualISO, but it was here the very first time I tried to do anything :)
I'll make sure to share if (more likely when) I do anything else !
#22
@garry23 @a1ex

Cool, thanks a lot to you both  :)
Now that I discovered all the potential and easiness of scripting my camera, I want to do so many things (well, my last Idea was to play GoT theme song in camera beeps, maybe not the best nor the most useful idea )

A last question @a1ex if I may; Are there many interesting things the picoc modules API allows that are not exposed/possible in Lua ? And most importantly, is there a nice API doc for the module api somewhere, something as nice as this lua one https://davidmilligan.github.io/ml-lua/  ?

I just found the doxygen doc, some chaotic wiki pages, and pieces of advice scattered around the forum.
#23
Note: I did not tried yet with shoot_task because I have yet to understand what it is (is that a generic event that is fired for various unrelated things ? )
EDIT: Also, not yet investigated the tasks
#24
@garry23 I just happened to do something that seems to work, and with seconds_clock as well ! It takes at worst 0.99999s to kick in, but that seems to do the trick.
If already in LV, stays in LV, if not, goes back in LV off.

HFDRequested = false
LVWasAlreadyOn = true

event.seconds_clock = function (arg)
if HFDRequested and lv.enabled then
HFDRequested = false
move()
if not LVWasAlreadyOn then
lv.stop()
end
end
return true
end

event.keypress = function(key)
if keymenu.submenu["Turn On/Off"].value == "Off" then
  return true -- key works as normal
elseif key == hfd then
HFDRequested = true
  if not lv.enabled then
LVWasAlreadyOn = false
lv.start()
  end
return false -- steal the button push
end
end