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 - apalazzi

#1
Hi,

I'm still working on the astro module and I'd like to make it take a sequence of pictures; simplifying a bit, it should be something like this:
- enable the "bulb" timer and set the exposure time
- take a sequence of N1 photos
- wait for a key press (half-shutter or set, or something else)
- change the exposure time to the fastest allowed value
- take a sequence of N2 photos

Can somebody point me out to the functions in ML that I should call? Should I be using the intervalometer or maybe it's easier&faster to boil my own? In the end the intervalometer should be a simple for cycle, or maybe there's more complex things going on under the cover?

Thanks
Andrea
#2
Quote from: names_are_hard on February 23, 2023, 01:47:43 AM
Testing in qemu helps so I highly recommend that.

Hi,

Talking about Qemu, I guess the recommended way is to build from your repository https://github.com/reticulatedpines/qemu-eos ? Is the Qemu documentation on the ML site still relevant?

Bye
Andrea
#3
Quote from: names_are_hard on February 23, 2023, 01:47:43 AM
Sometimes you can get more info from the commit message when the change was made.  Is there a repo associated with this module?
Yes, there is, however there's only one commit: https://bitbucket.org/xaint/magic-lantern-astro-module/commits/

I guess the next step is to setup the qemu emulator and also do some source diving then.

Thanks for your help :)

Andrea
#4
Quote from: names_are_hard on February 22, 2023, 12:27:48 AM
Hi - first I need to point out while I know ML code pretty well, I know the Lua stuff hardly at all.  Hopefully Garry will notice this and have some better answers for those parts.

You say you're using Lua API docs.  Which ones?
The ones on the ML site: https://builds.magiclantern.fm/lua_api/

Quote
When you say "C API calls", do you mean there are some C functions in ML that are an API?  Or are you using this more informally to just mean calling C functions?  If the former, where is the API defined?  If the latter, there's no good documentation that I'm aware of.  You'll often need to check the source and work out what a C function does, and there are often no comments.
I mean "calling C functions". EDIT: when I say API I mean "the functions that should be available for people developing modules and similar things", thus excluding the functions that are intended for internal ML use and code organization.
I'm working on the astro module and, in the case at hand, I discovered that the "star focus" function is disabled when lv_luma_is_accurate() is not true:

if (!lv_luma_is_accurate()) return 0;

And this arises two question: I guessed that lv_luma_is_accurate() had something to do with the LV screen gain, but for the future it would have been handy to have some documentation other than the sources - but I guess it's not the case.
The second question is why there's this check and if it's save to do the things the module is doing even when lv_luma_is_accurate() returns false; and in general what can I modify and assume there is little risk, and what instead I should handle with care.


Quote
In general, don't call C functions unless you understand what they do.  To lower risk, test things in Qemu first.  Only test on a physical camera if things work how you expect in Qemu.  Of course, not all things are emulated well enough, but where possible this is a good option.

Some functions certainly are more dangerous than others.  Generally things that are "active", like triggering shutter, or in some sense involve writing / storing, e.g. changing properties or writing to disk or memory.

Thanks for the info :)

Bye
Andrea
#5
Modules Development / API documentation and what to avoid
February 21, 2023, 09:51:06 PM
Hi,

I want to modify the astro module to see if I can make it suit my needs, however I have two questions:
- So far Iv'e found only the LUA API documentation, and I'm using partly this and partly look at the functions names to guess what a call does: is there some documentation for the C api calls?
- What should  avoid to mess with to avoid bricking my camera? Is there some calls that are more dangerous and should not mess with unless necessary?

Thanks
Andrea
#6
For the record, it turns out that the focus feature is disabled when the LV gain is active - which I keep at level 3 or 4, otherwise I can't see any star at all...

Andrea
#7
Hi,

I´ve compiled and installed the astro module https://www.magiclantern.fm/forum/index.php?topic=18515.0 on my camera (EOS 500D) , the module loads, everything seems fine and I've activated the ¨star focus" setting; however I don't see any indication on how to use the "star focus" in the LV screen... is there someone that knows how to use it?

Thanks
Andrea
#8
Quote from: names_are_hard on February 17, 2023, 12:52:53 PM
A risk?  Sure.  That's true of any ML repo.  I don't think mine will be significantly higher risk than other well tested ones, we haven't changed much for older cams.
Sure, there's always a degree of risk with any ML repo, that's why I used the words "concrete risk" and "reasonably safe". Based on your answer, I take it that it should be "reasonably safe" to use your repo. :)

Quote
Run what test suite?
I remember that something about a test suite is on the ML site pages... am I wrong?

Bye
Andrea
#9
Quote from: names_are_hard on February 16, 2023, 08:52:47 PM
Hi, I maintain the reticulatepines repo, we do have a few contributors - so that's probably the most active repo.  As kitor says, it's not designed for older / well supported cams, *but*, some testing has been done and no problems have been reported so far.

That repo is a combination of multiple branches: lua_fix, unified, qemu (no longer relevant), digic6-dumper, and maybe some more I forget.  It doesn't have crop_rec_4k.  I've made several bug fixes that should improve older cams.  If you want to contribute code and you're not afraid of doing some testing, *and* you don't need crop_rec, I think it's a good repo to work on. 

It's the easiest repo to build, because I updated it for more modern systems.  I also understand the build system enough that I can help people get it working, and, I want to keep it working.  I can walk you through getting it building.

If you just want ML with some changes to one module, then yes, I'd recommend lua_fix branch from heptapod.  It will build - but it won't be easy to build.  You will want to use an older linux distro to build it, something that ships with gcc 8 would be around the right age.

Hi,

In the meantime I've managed to build the "unified" branch included with the astro module, tanks also to various posts on the forum.

The next step would be to test your git repo and see where it stands in terms of compilation errors etc... Do you think there's a concrete risk of bricking my camera or it should be reasonably safe to load the firmware on my 500D?

How do I run the test suite? Do I need to setup a QEMU VM ?

Bye
Andrea

#10
General Development / State of Magic Lantern development
February 16, 2023, 01:37:59 PM
Hi,

I've started using ML to do some astrophotography and I'd like to use the astro module https://www.magiclantern.fm/forum/index.php?topic=18515.0 ; so I'm trying to compile ML for my camera (EOS 500D) however the official "unified" branch has not been updated in years (and it doesn't compile) and it's not clear which branch is best to use - maybe lua_fix ?

So, is ML still in development? Are the original developers still around?
And which branch should I use to start developing myself?

Thanks
Andrea