Can you override what shows on the liveview to accurately show chdk settings - General Help and Assistance on using CHDK stable releases - CHDK Forum

Can you override what shows on the liveview to accurately show chdk settings

  • 7 Replies
  • 1077 Views
Advertisements
So Im using a elph 100 hs changed the shutter with the decimal value because I wanted to do some tests, my subject was the moon. Now The picture did come out ok but how can I see the emulation on screen of my chdk settings of the ending picture. All I could see was a white ball but the picture came out accurately. Havent been able to find anything on the q and a about it.

*

Offline reyalp

  • ******
  • 14079
So Im using a elph 100 hs changed the shutter with the decimal value because I wanted to do some tests, my subject was the moon. Now The picture did come out ok but how can I see the emulation on screen of my chdk settings of the ending picture.
Unfortunately, CHDK shutter overrides do not normally affect the live preview. It's possible there's some camera specific variation, but in general, you should not expect an accurate preview when using overrides.
Don't forget what the H stands for.

Dang that’s a shame I wonder if that could be done with a script it definitely speeds things up as you have to guess unless you already know the value.

*

Offline reyalp

  • ******
  • 14079
Dang that’s a shame I wonder if that could be done with a script it definitely speeds things up as you have to guess unless you already know the value.
Not generally. It's possible you could do this with eventprocs, similar to the video exposure scripts https://chdk.fandom.com/wiki/Manual_Exposure_Control_for_Video_Recording

Some functions related to live view exposure are discussed in https://chdk.setepontos.com/index.php?topic=13508.0
Don't forget what the H stands for.


Awesome where can I read more about all calls and more about eventprocs

Looks very interesting

*

Offline reyalp

  • ******
  • 14079
Awesome where can I read more about all calls and more about eventprocs
Here's a post with an introduction and some links https://chdk.setepontos.com/index.php?topic=14697.msg149341#msg149341
Don't forget what the H stands for.

Very neat is there any place where I can find all the current found names for different cameras or just for mine the elph 100hs finding them myself or finding uart is probably deeper than I want to go but If I could find existing found names and maybe use them I could make that happen

*

Offline reyalp

  • ******
  • 14079
Very neat is there any place where I can find all the current found names for different cameras or just for mine the elph 100hs finding them myself or finding uart is probably deeper than I want to go but If I could find existing found names and maybe use them I could make that happen
You can find a list of functions known to CHDK in the funcs_by_*.csv files in the CHDK source for your camera + firmware version. For example ixus115_elph100 100c funcs_by_name.csv is at https://app.assembla.com/spaces/chdk/subversion/source/HEAD/trunk/platform/ixus115_elph100hs/sub/100c/funcs_by_name.csv

Those lists include many functions which are not eventprocs. Detected eventprocs normally have names ending in _FW in the files. Note the _FW is not part of the actual name, so should be omitted when using call_event_proc

As discussed in the post I linked, many eventprocs must be "registered" to be usable. The csv lists do not tell which are registered, or what calls are needed to register the ones that aren't. Generally, examining the firmware is required to determine what is registered where, but most eventprocs are registered by one of a handful of registration functions like System.Create, Mecha.Create, FA.Create, InitializeAdjustmentSystem / InitializeAdjustmentFunction (the last two register some of the same functions but aren't identical). Other registration function often have Create, Initialize or Register in the name, although these words also appear in function names with other meanings.

Note that the InitializeAdjustment* registration functions are known to have side effects that may cause the camera to crash in normal operation.

You can call functions which aren't registered as eventprocs by address using call_func_ptr with the address listed in the csv files, but for some eventprocs the registration function does other initialization which is required for the eventproc to work. Calling by address also makes it much easier to crash the camera, or perhaps worse. If you call a function that take parameters by address, you must also determine whether it uses the eventproc calling convention (with all parameters pointed to by a single pointer) or the normal ARM calling convention. The eventproc calling convention is awkward to use from CHDK Lua (it requires malloc'ing and poking to set up the parameters), so it's generally easier to find an underlying function that uses the normal calling convention.

The list linked above is for firmware 100c, you should use the list that corresponds to your camera. If you are only looking at names, it shouldn't matter, but if you call by address (using call_func_ptr) then you must use the address for the correct firmware.

I highly recommend chdkptp (https://app.assembla.com/spaces/chdkptp/wiki) for exploring eventprocs. It allows you interactively call the functions from a terminal window on your computer and see the output there rather than copying a script to your card every time you change something (but I may be biased because I wrote it, YMMV).
Don't forget what the H stands for.


 

Related Topics