Build 16 bug fixed - AllBest's Builds - CHDK Forum  

Build 16 bug fixed

  • 4 Replies
  • 7263 Views
Build 16 bug fixed
« on: 26 / January / 2008, 05:52:32 »
Advertisements
Hi All,

fixed a bug in platform/generic/shooting.c: _GetCurrentAvValue() returns BS on IXUS800.

Demo fix
Code: [Select]
short shooting_get_real_aperture() {
#if defined(CAMERA_ixus800_sd700)
    return shooting_get_aperture_from_av96(shooting_get_av96());
#else
    return shooting_get_aperture_from_av96(_GetCurrentAvValue());
#endif
}

Since shooting_get_av96() should work with all camera models here the final fix
Code: [Select]
short shooting_get_real_aperture() {
    return shooting_get_aperture_from_av96(shooting_get_av96());
}

nirschi
« Last Edit: 26 / January / 2008, 05:57:17 by nirschi »

Re: Build 16 bug fixed
« Reply #1 on: 29 / January / 2008, 08:40:06 »
Update:

There is a minor problem with the fix above:
shooting_get_av96() returns -1 initially, therefore the OSD strangely reads Av:0.-1

Hence the more traditional approch: Add a line to platform/ixus800_sd700/sub/101b/stubs_entry_2.S:
NHSTUB(GetCurrentAvValue, 0xFFAC4014) // override

Nevertheless, the first fix would be better. Further IXUS/SD porters will probably be faced with the same problem,
due to the special IXUS/SD Av handling:
Hello AllBest,

please include a new 3-value menu entry for the SD and a560 cameras on the next build (as a replacement for the removed Av override):

ND-Filter override: off / in / out

use the +5 Av overide as the "in" value
use the MIN Av overide as the "out" value

Av override has been verified working this way on the SD700 with your build 11, for more info see
http://chdk.wikia.com/wiki/SD700_CHDK_Porting

Thank you


@ EWAVR: You where right. There is no iris, there is no half-open shutter, it IS definitely a ND-filter.
I found the strings "PutInNdFilter" and "PutOutNdFilter" in primary.bin!


*

Offline ewavr

  • ****
  • 1057
  • A710IS
Re: Build 16 bug fixed
« Reply #2 on: 29 / January / 2008, 09:16:35 »
Hence the more traditional approch: Add a line to platform/ixus800_sd700/sub/101b/stubs_entry_2.S:
NHSTUB(GetCurrentAvValue, 0xFFAC4014) // override

Right.

I found the strings "PutInNdFilter" and "PutOutNdFilter" in primary.bin!

I found the strings "PutInNdFilter" and "PutOutNdFilter" also in other primary.bin, even for cameras without this filter.
« Last Edit: 29 / January / 2008, 09:23:10 by ewavr »

Re: Build 16 bug fixed
« Reply #3 on: 29 / January / 2008, 09:42:25 »
Ewavr, you where right again. They are in A610 primary.bin also, and even the code!

But my finding that DOF does not improve in "stopping down" indicates that it is a ND-filter, right ?

Do you have a clue why there are so many named function entries ?
It is really an invitation to hackers!

« Last Edit: 29 / January / 2008, 09:45:01 by nirschi »


*

Offline ewavr

  • ****
  • 1057
  • A710IS
Re: Build 16 bug fixed
« Reply #4 on: 29 / January / 2008, 09:49:36 »
But my finding that DOF does not improve in "stopping down" indicates that it is a ND-filter, right ?

Right.

In A610 PutInNDFilter() does nothing (only set/clear event flag), in IXUS cameras - does many other things....

 

Related Topics