Setting focus from scripts or menus - page 18 - General Discussion and Assistance - CHDK Forum

Setting focus from scripts or menus

  • 556 Replies
  • 133472 Views
*

Offline zeno

  • *****
  • 889
Advertisements
s100 and a570 with native lua calls enabled. Sorry for the delay!

Dave
« Last Edit: 10 / January / 2014, 18:38:18 by zeno »
A570, S100, Ixus 127
Author of ASSIST, STICK, WASP, ACID, SDMInst, LICKS, WICKS, MacBoot, UBDB, CFGEdit

Re: Setting focus from scripts or menus : v2.11
« Reply #171 on: 10 / January / 2014, 19:49:55 »
Script update to version 2.11   

Script now allows individual event_proc test to be disabled as there are two cameras (so far) that crash when testing event_proc based  set_focus() tests.

No need for retesting anything but those two cameras 
« Last Edit: 21 / January / 2014, 19:26:33 by waterwingz »
Ported :   A1200    SD940   G10    Powershot N    G16

Using script 2.11

A2300 crashes on

set_aflock()

and under SS.Create Tests? PT_MFOn
 

+some failures see csv
CHDK on : Powershot A590, Ixus 860, Ixus 200, Ixus 310, Powershot S100, Powershot G15

*

Offline srsa_4c

  • ******
  • 4426
Re: Setting focus from scripts or menus : v2.11
« Reply #173 on: 11 / January / 2014, 08:33:11 »
Script now allows individual event_proc test to be disabled as there are two cameras (so far) that crash when testing event_proc based  set_focus() tests.

No need for retesting anything but those two cameras
Which are those?
As I already mentioned, the various MFOn event procedures should be equivalent (they should call the same firmware function, checked this in the a460 fw). If more than one of them exist on a camera, they are PT_MFOn and MFOn. SS.Create and RegisterShootSeqEvent are only needed to register MFOn and its friends. Since MFOn and MFOff have no arguments, it's probably possible to call them directly (if they ever become part of CHDK).
I have done some grepping.

MFOn:
Code: [Select]
a410
a420
a430
a450
a460
a530
a540
a550
a560
a570
a610
a620
a630
a640
a650
a700
a710
a720
g7
g9
ixus55_sd450
ixus60_sd600
ixus65_sd630
ixus70_sd1000
ixus750_sd550
ixus75_sd750
ixus800_sd700
ixus850_sd800
ixus860_sd870
ixus900_sd900
ixus950_sd850
ixus960_sd950
ixusizoom_sd30
ixusw_sd430
s3is
s5is
s80
sx100is
tx1
PT_MFOn:
Code: [Select]
a1000
a1100
a1200
a1300
a2000
a2100
a2200
a2300
a2400
a3000
a3100
a3200
a3300
a3400
a4000
a450
a460
a470
a480
a490
a495
a550
a560
a570
a580
a590
a650
a720
a800
a810
d10
d20
g10
g11
g12
g1x
g9
ixus1000_sd4500
ixus100_sd780
ixus105_sd1300
ixus110_sd960
ixus115_elph100hs
ixus120_sd940
ixus125_elph110hs
ixus130_sd1400
ixus200_sd980
ixus220_elph300hs
ixus230_elph310hs
ixus240_elph320hs
ixus300_sd4000
ixus310_elph500hs
ixus70_sd1000
ixus75_sd750
ixus80_sd1100
ixus85_sd770
ixus860_sd870
ixus870_sd880
ixus90_sd790
ixus950_sd850
ixus95_sd1200
ixus960_sd950
ixus970_sd890
ixus980_sd990
s100
s5is
s90
s95
sx100is
sx10
sx110is
sx120is
sx130is
sx150is
sx1
sx200is
sx20
sx210is
sx220hs
sx230hs
sx240hs
sx260hs
sx30
sx40hs
tx1
SS.MFOn:
Code: [Select]
g15
ixus140_elph130
s110
sx160is
sx500is
sx50hs

RegisterShootSeqEvent:
Code: [Select]
a410
a420
a430
a450
a460
a530
a540
a550
a560
a570
a610
a620
a630
a640
a650
a700
a710
a720
g7
g9
ixus30_sd200
ixus40_sd300
ixus50_sd400
ixus55_sd450
ixus60_sd600
ixus65_sd630
ixus700_sd500
ixus70_sd1000
ixus750_sd550
ixus75_sd750
ixus800_sd700
ixus850_sd800
ixus860_sd870
ixus900_sd900
ixus950_sd850
ixus960_sd950
ixusizoom_sd30
ixusw_sd430
s2is
s3is
s5is
s80
sx100is
tx1
SS.Create:
Code: [Select]
a1000
a1100
a1200
a1300
a1400
a2000
a2100
a2200
a2300
a2400
a2500
a2600
a3000
a3100
a3200
a3300
a3400
a4000
a470
a480
a490
a495
a580
a590
a650
a720
a800
a810
d10
d20
g10
g11
g12
g15
g1x
g9
ixus1000_sd4500
ixus100_sd780
ixus105_sd1300
ixus110_sd960
ixus115_elph100hs
ixus120_sd940
ixus125_elph110hs
ixus130_sd1400
ixus140_elph130
ixus200_sd980
ixus210_sd3500
ixus220_elph300hs
ixus230_elph310hs
ixus240_elph320hs
ixus300_sd4000
ixus310_elph500hs
ixus500_elph520hs
ixus80_sd1100
ixus85_sd770
ixus860_sd870
ixus870_sd880
ixus90_sd790
ixus95_sd1200
ixus960_sd950
ixus970_sd890
ixus980_sd990
ixus990_sd970
s100
s110
s90
s95
sx100is
sx10
sx110is
sx120is
sx130is
sx150is
sx160is
sx170is
sx1
sx200is
sx20
sx210is
sx220hs
sx230hs
sx240hs
sx260hs
sx30
sx40hs
sx500is
sx50hs
« Last Edit: 11 / January / 2014, 09:15:45 by srsa_4c »


Re: Setting focus from scripts or menus : v2.11
« Reply #174 on: 11 / January / 2014, 10:48:16 »
Script now allows individual event_proc test to be disabled as there are two cameras (so far) that crash when testing event_proc based  set_focus() tests.
No need for retesting anything but those two cameras
Which are those?
Based on what we have been able to tabulate so far (50 out of 121 cameras) the following cameras shutdown while trying to do the event_proc part of the tests :
  • A2300
  • A3400
  • A810
As mentioned above,  the version 2.11 of the test script allows individual sections of that test to be disabled so we will try to collect more detailed data.

Quote
As I already mentioned, the various MFOn event procedures should be equivalent (they should call the same firmware function, checked this in the a460 fw). If more than one of them exist on a camera, they are PT_MFOn and MFOn. SS.Create and RegisterShootSeqEvent are only needed to register MFOn and its friends. Since MFOn and MFOff have no arguments, it's probably possible to call them directly (if they ever become part of CHDK).
I have done some grepping.
Thanks - that's very useful.   Some of the older ixus cameras do not have any MFOn type events ( ixus30_sd200 , ixus40_sd300 , ixus50_sd400 , ixus700_sd500 ).    Fortunately, it also seems that older cameras will do a set_focus() without any additional setup needed so perhaps that will not matter.

Other than those old cameras,  it would be very nice if the solution to all this comes down to adding a script function to call an MFOn type event_proc (registered or direct) prior to using set_focus().   Using post_levent_for_npt("PressSw1AndMF") is a toggle function - you don't know if its on or off when you issue it.   And just using set_focus() or set_aflock() crashes some cameras.

I'm not sure we are safely there yet but I think the results are encouraging?


Update : current spreadsheet of all phase 2 tests attached for reference
« Last Edit: 11 / January / 2014, 12:20:53 by waterwingz »
Ported :   A1200    SD940   G10    Powershot N    G16

Using script 2.11
A2300 crashes on
set_aflock()
and under SS.Create Tests? PT_MFOn
+some failures see csv
Thank you for rerunning the test with the new script.  It seems there is always at least one camera that has to be a little different.   I've updated the results spreadsheet entry for the A2300 with this new information.
Ported :   A1200    SD940   G10    Powershot N    G16

Hi,
another one.
No crash.
CHDK for this is marked BETA.
IXUS 970 IS 100b

*

Offline srsa_4c

  • ******
  • 4426
Re: Setting focus from scripts or menus : v2.11
« Reply #177 on: 11 / January / 2014, 11:56:16 »
  • A3400
As mentioned above,  the version 2.11 of the test script allows individual sections of that test to be disabled so we will try to collect more detailed data.
Attached, no surprises though. Trying to call nonexistent event procedures won't crash the cam, calling an existing one might.
I have also re-tested the ixus870, it now seems much more fragile: the only test that did not crash the cam (yet) is the AF lock test. The romlog shows an assert in MotionVector.c...
Quote
Using post_levent_for_npt("PressSw1AndMF") is a toggle function - you don't know if its on or off when you issue it.
MF propcase? (just guessing) If that doesn't work, perhaps the PTM functions could help switching on MF on cameras that have it (downside is that it needs per-camera research).
Quote
And just using set_focus() or set_aflock() crashes some cameras.
IMHO setting focus while in AF lock may work stable on (some?) cameras - if we avoid setting the focus again together with the other overrides in half-shoot.

edit: removed some manually stopped test runs from the ixus870 log
« Last Edit: 11 / January / 2014, 12:01:33 by srsa_4c »


Re: Setting focus from scripts or menus : v2.11
« Reply #178 on: 11 / January / 2014, 12:23:05 »
MF propcase? (just guessing)
Not sure yet - but that's why I added all the propcase variables that I could find to the .csv log files. ;)
Ported :   A1200    SD940   G10    Powershot N    G16

No problem. Here are some new results, with "bypass interlocks" enabled. The A810 crashed in tests 3 and 5 (aflock and event procs); romlogs are included. (Fun fact about the A810: The timestamp of the file a810.csv was Jan 1 2000, while the regular clock is only one day off. Also, the romlog files had the correct timestamp)
If you have a few moments,  would you download the latest 2.11 version of the script (attached) and use the new user parameters to try and narrow down which event_procs pass, fail, or crash for your  A810 ?

TIA
« Last Edit: 21 / January / 2014, 19:26:55 by waterwingz »
Ported :   A1200    SD940   G10    Powershot N    G16

 

Related Topics