A810 porting thread

  • 106 Replies
  • 15271 Views
*

Offline reyalp

  • ******
  • 9963
  • Publish
    Re: A810 porting thread
    « Reply #20 on: 09 / September / 2012, 19:45:13 »
    Advertisements
    Finally, AF during video recording is working.

    I used this hint:
    Great news, I found a way to solve the AF Scan crash. I used DoAFLock() instead of MakeAFScan(). I was experimenting with UnlockAF after MakeAFScan to see what happens and tried also DoAFLock and found it. Look like it has the same functionality and doesn't crash when zooming.

    I added an entry in stubs_entry_2.S with name MakeAFScan but using DoAFLock address.  Is it OK? or do you recommend other workaround?
    This seems quite suspect, aflock and afscan are not normally the same thing at all!

    If you do do this, it might be clearer to put it in platform/lib.c like
    Code: [Select]
    // BIG FAT COMMENT GOES HERE
    void _MakeAFScan(void) {
    _DoAFLock()
    }
    I'm not sure what happened in the end with sx220, it looks like it does define CAM_AF_SCAN_DURING_VIDEO_RECORD, may funnel can clarify.
    Don't forget what the H stands for.

    *

    Offline nafraf

    • *****
    • 1257
  • Publish
    Re: A810 porting thread
    « Reply #21 on: 10 / September / 2012, 04:27:22 »
    I'm not sure what happened in the end with sx220, it looks like it does define CAM_AF_SCAN_DURING_VIDEO_RECORD, may funnel can clarify.
    I defined CAM_AF_SCAN_DURING_VIDEO_RECORD, too.  MakeAFScan() is used in gui_osd.c.  This is where it is used in trunk.
    Code: [Select]
    #if CAM_AF_SCAN_DURING_VIDEO_RECORD
        if (is_video_recording())
            if (kbd_is_key_clicked(conf.video_af_key)) MakeAFScan();
    #endif

    My first try was to find MakeAFScan address, I found it comparing code to A495.100f.  But when calling MakeAFScan, camera does the first auto focus, and after that camera crashes if I try to end video recording or try to make a zoom.

    Code: [Select]
    ASSERT!! ComputerZoom.c Line 1774
    Occured Time  2012:09:09 17:36:59
    Task ID: 10289173
    Task name: CZ
    SP: 0x002FED68

    I checked sx220 code, but CAM_AF_SCAN_DURING_VIDEO_RECORD is not defined in platform_camera.h.

    *

    Offline srsa_4c

    • ******
    • 3136
  • Publish
    Re: A810 porting thread
    « Reply #22 on: 22 / September / 2012, 16:11:50 »
    @nafraf
    Do you still have access to this camera?

    *

    Offline nafraf

    • *****
    • 1257
  • Publish
    Re: A810 porting thread
    « Reply #23 on: 22 / September / 2012, 16:25:24 »
    yes, I have access to cameras with 100b and 100d fw version


    *

    Offline srsa_4c

    • ******
    • 3136
  • Publish
    Re: A810 porting thread
    « Reply #24 on: 22 / September / 2012, 16:48:20 »
    yes, I have access to cameras with 100b and 100d fw version
    Great.  8)
    Can you help testing ptp remote capture on this camera? I'm in the process to create the necessary changes for fw version 1.00d. Since the code has changed quite a bit, I can't assume it works without some tests. The thread about this experiment starts here, the development branch is here.
    If you say yes, I'll provide you with the necessary code. You'll also need the latest version of chdkptp.

    *

    Offline nafraf

    • *****
    • 1257
  • Publish
    Re: A810 porting thread
    « Reply #25 on: 22 / September / 2012, 17:00:44 »
    OK, Today I have the 100b, I can have access to 100d on Monday.

    If you update the branch source code I can get your code and compile it. 
    About chdkptp, no problem I'm working with trunk version too.

    *

    Offline srsa_4c

    • ******
    • 3136
  • Publish
    Re: A810 porting thread
    « Reply #26 on: 22 / September / 2012, 17:16:58 »
    OK, Today I have the 100b, I can have access to 100d on Monday.
    Thanks. As I don't want to port the whole thing to 1.00b (at this point), I'll stick with the 1.00d version, few days don't matter.
    Quote
    If you update the branch source code I can get your code and compile it. 
    I think reyalp will check in your A810 port soon, I'll base my patch on that.

    *

    Offline nafraf

    • *****
    • 1257
  • Publish
    Re: A810 porting thread
    « Reply #27 on: 22 / September / 2012, 17:52:10 »
    Thanks. As I don't want to port the whole thing to 1.00b (at this point), I'll stick with the 1.00d version, few days don't matter.
    I can help with the port to 1.00b.


    *

    Offline srsa_4c

    • ******
    • 3136
  • Publish
    Re: A810 porting thread
    « Reply #28 on: 23 / September / 2012, 15:38:49 »
    Sorry about the delay, I created a temporary repo for this trial: https://subversion.assembla.com/svn/chdk-s1.remcap-a810/
    I checked in the 1.00d changes. The code is kind of messy, I left a lot of comments, mostly trying to document the firmware routine.
    The modifications are denoted by comments like:
    //mod start //mod end
    // ->
    // -
    // +
    The addresses used in the modded code are taken from the neighboring code.

    There's a .ltorg directive at the end of a function which was necessary because of complaints by the assembler.

    If something is not clear, just ask (I'd like to make this process simpler).

    To test, use the rs command in chdkptp. I'm curious, whether the code works.

    *

    Offline nafraf

    • *****
    • 1257
  • Publish
    Re: A810 porting thread
    « Reply #29 on: 24 / September / 2012, 14:23:43 »
    Hi,
    This is the sequence that I tested:
    Code: [Select]
    /tmp$ chdkptp -i -c -e"luar switch_mode_usb(1)"
    connected: Canon PowerShot A810, max packet size 512
    con 1> remote_shoot2 test01
    con 7> quit

    The problem is that the picture is partially saved.  See sample image in attachment

    Btw, loader/a810 is not included in chdk-s1.remcap-a810/  I copied it from trunk.

     

    Related Topics