SX60HS Porting - page 48 - DryOS Development - CHDK Forum  

SX60HS Porting

  • 915 Replies
  • 297830 Views
Re: SX60HS Porting
« Reply #470 on: 10 / August / 2016, 16:52:12 »
Advertisements
These are from using your propset tool
https://chdk.setepontos.com/index.php?topic=12759.msg126710#msg126710
within chdkptp. Is there another way I should check? I can't do digital zoom without optical zoom on the camera itself. I guess I can do it by zooming optically to 65x, and then recording propset vals as I zoom digitally.  I'll try that
« Last Edit: 10 / August / 2016, 17:36:32 by 62ndidiot »

*

Offline reyalp

  • ******
  • 13621
Re: SX60HS Porting
« Reply #471 on: 10 / August / 2016, 21:10:38 »
These are from using your propset tool
https://chdk.setepontos.com/index.php?topic=12759.msg126710#msg126710
within chdkptp. Is there another way I should check? I can't do digital zoom without optical zoom on the camera itself. I guess I can do it by zooming optically to 65x, and then recording propset vals as I zoom digitally.  I'll try that
Yeah, I meant controlling the zoom through the camera UI, not how the propcases are read.

On G7X, the "digital zoom" setting in the canon menu allows setting a fixed multiplier separate from optical zoom (AFAIK a similar setting is called "digital teleconverter" on some cameras)
On G7X, digital zoom is completely disabled in the canon UI if canon raw is enabled, but the eventprocs still seem to work ;)
Don't forget what the H stands for.

Re: SX60HS Porting
« Reply #472 on: 11 / August / 2016, 12:31:22 »
Tested by zooming optically to 65x (case A), digital zoom a bit (B), digital zoom half (C), and digital zoom max (D)...note in my previous post, for some reason I wrote values for propcase 94, I've checked and they were all for 95...as below too.
It seemed to zoom smoothly digitally looking at the screen and looking at the zoom indicator bar, however, it seems to always be on specific value from 1 to 6 in the propset..
When Canon RAW is disabled , I am offered the following settings for digital zoom
off,1.6x,2x,Standard
With Canon RAW enabled I just have
off, standard.
Apparently Standard is adjustable up to 4x

Code: [Select]
Prp#    A                      B              C             D
67       3347 3191   6339 25569
94         0                    0              0             0
95       2304 1408         896 576
96         0           0 0 0
97      1            1           1              1
98         0                    2            4 6
106      ff5d      ff67          ff63       ff4f
107      2304          2304         2304       2304
251    3347          3191    6339       25569
256       0     2      4 6
277      980   1003    1003      1003

There are a lot of references to digital zoom in function-list.csv...I'll have to define the interesting ones in stubs_min.S I think before trying.

*

Offline reyalp

  • ******
  • 13621
Re: SX60HS Porting
« Reply #473 on: 11 / August / 2016, 13:09:31 »
There are a lot of references to digital zoom in function-list.csv...I'll have to define the interesting ones in stubs_min.S I think before trying.
From lua, you should be able to use call_event_proc to call them, but you might need to call some registration function first (like SS.Create for the SS.* functions)

You can also call them directly with call_func_ptr, but some of them might assume arguments are passed by reference (This is automatically handled by the eventproc system when you use call_event_proc). They might also depend other initialization done by the registration functions.
Don't forget what the H stands for.


Re: SX60HS Porting
« Reply #474 on: 11 / August / 2016, 18:00:57 »
Quote
From lua, you should be able to use call_event_proc to call them, but you might need to call some registration function first (like SS.Create for the SS.* functions)

You can also call them directly with call_func_ptr, but some of them might assume arguments are passed by reference (This is automatically handled by the eventproc system when you use call_event_proc). They might also depend other initialization done by the registration functions.

The more I look at this, the less I understand...what are the steps to get say
Code: [Select]
funcs_by_address.csv:0xfc36ccc9,LiveImageTool.DzoomTele_FW
funcs_by_address.csv:0xfc36ccdb,LiveImageTool.DzoomWide_FW
funcs_by_address.csv:0xfc36cced,LiveImageTool.StopDzoom_FW
funcs_by_address.csv:0xfc36ccff,LiveImageTool.ChangeDzoom_FW
funcs_by_address.csv:0xfc36cd23,j_LiveImageTool.GetDzoomPosition_FW
Known so that i can use them in an eventproc, in chdkptp?
I get this right now...for example
=return call_event-proc('SS.LiveImageTool.DzoomTele_FW',2)
ERROR: :80: attempt to call global 'proc' (a nil value)
user code: 1

Re: SX60HS Porting
« Reply #475 on: 11 / August / 2016, 18:20:28 »
Hi to everyone,

just wanted to inform you that after a lot of trying I finally managed to make my card bootable (it's Sandisk Ultra card 64Gb) and after I did that I don't have any more problems with rotated pictures (not until this moment, I hope that it will remain like that). I still have the problems with flickering of menu but I realised that menu is not flickering when I turn on the camera (while it is in picture view mode). It starts to flicker once when I go to some of the shooting modes. So, now, when I start the camera I first make all adjustments I need inside the CHDK menu and after that I go to live view. This works for me.

I downloaded new version of CHDK and all this testing is made with that version.

I am also going to test the option with move detection and will report back. ISO override works well (I used it for my night shots of stars, right this moment my camera is happily shoting the stars here in Croatia..  :D).

That's all from me, if you people want from me to do some more testing just say and I will be very glad to help because you made me so happy with CHDK on SX60..  :D

Regards,
Gile

Re: SX60HS Porting
« Reply #476 on: 11 / August / 2016, 22:08:05 »
@gile2004
Thanks so much for continuing to try this incomplete software. If you notice problems please post them here.  Hopefully you have less light pollution in the night sky in Croatia then my situation!  Let us know if motion detection works well for you

*

Offline reyalp

  • ******
  • 13621
Re: SX60HS Porting
« Reply #477 on: 11 / August / 2016, 22:59:12 »
Known so that i can use them in an eventproc, in chdkptp?
I get this right now...for example
=return call_event-proc('SS.LiveImageTool.DzoomTele_FW',2)
ERROR: :80: attempt to call global 'proc' (a nil value)
user code: 1
First, a typo: event-proc rather than event_proc

Second, the name you should use be the name that appears in the CSV file, minus the _FW suffix, e.g. call_event_proc('LiveImageTool.DzoomTele')

Finally, if call_event_proc returns -1, it probably means you need to call some registration eventproc first. You can either find it by searching disassembly for references to the name, or just guess. The "registration" functions usually have Initialize in the name, or are like foo.Create. The LiveImageTool ones seem to be registered by Capture.Create.

Note that these are mostly internal Canon development functions, in some cases they may not do what the name suggests...
Code: [Select]
; LiveImageTool.GetDzoomPosition_FW 0xfc13e473
loc_fc13e472:
fc13e472: 2007      movs r0, #7
fc13e474: 4770      bx lr

edit:
LiveImageTool.DzoomTele and LiveImageTool.DzoomWide seem to work on g7x though. Didn't see an obvious difference from the SS.* functions.
« Last Edit: 11 / August / 2016, 23:15:04 by reyalp »
Don't forget what the H stands for.


Re: SX60HS Porting
« Reply #478 on: 12 / August / 2016, 22:45:19 »
sorry I am thick headed here.
Code: [Select]
_> c
connected: Canon PowerShot SX60 HS, max packet size 512
con> rec
con 1> =return call_event_proc('Capture.Create')
2:return:0
con 2> =return call_event_proc('Capture.LiveImageTool.DzoomTele')
3:return:-1 (I see momentary hourglass on LCD)
con 3> =return call_event_proc('Capture.LiveImageTool.DzoomTele')
4:return:-1
con 4>

I don't understand how you determined "Capture.Create" was related to "LiveImageTool"....

and do I have to add the addresses to the stubs?

*

Offline reyalp

  • ******
  • 13621
Re: SX60HS Porting
« Reply #479 on: 13 / August / 2016, 02:08:54 »
sorry I am thick headed here.
Code: [Select]
_> c
connected: Canon PowerShot SX60 HS, max packet size 512
con> rec
con 1> =return call_event_proc('Capture.Create')
2:return:0
con 2> =return call_event_proc('Capture.LiveImageTool.DzoomTele')
3:return:-1 (I see momentary hourglass on LCD)
This should be just LiveImageTool.DzoomTele, exactly as it appears in the csv file (minus the _FW at the end)
Quote
I don't understand how you determined "Capture.Create" was related to "LiveImageTool"....
Looking at an older camera firmware and guessing. It's not obvious in the sx60 dump. (edit: if you uncommented some of the more verbose debug messages in finsig_thumb2, you could probably see where it was registered)
Quote
and do I have to add the addresses to the stubs?
No. Eventprocs are a system that exists in the canon firmware to call certain functions by name. Stubs are only needed to link to CHDK C/ASM code.
« Last Edit: 13 / August / 2016, 02:10:28 by reyalp »
Don't forget what the H stands for.

 

Related Topics