ixus140 elph130 porting thread

  • 29 Replies
  • 3328 Views
*

Online reyalp

  • ******
  • 9882
  • Publish
    ixus140 elph130 porting thread
    « on: 31 / August / 2013, 15:00:54 »
    Advertisements
    I decided I needed something to occupy my copious spare time  :-[ :haha

    This is a DryOS R52, Digic IV cam. Normal arm code, not thumb2 like Digic 6.

    Current status: boots DISKBOOT.BIN and PS.FI2 with no task hooks enabled.
    Don't forget what the H stands for.

  • Publish
    Re: ixus140 elph130 porting thread
    « Reply #1 on: 31 / August / 2013, 15:31:17 »
    Let us know if you need any help with that.    :P

    *

    Online reyalp

    • ******
    • 9882
  • Publish
    Re: ixus140 elph130 porting thread
    « Reply #2 on: 01 / September / 2013, 01:04:39 »
    Made good progress today. kbd and spytask, and ptp all working, ui displaying correctly except for palette.

    This camera (and likely other r52 cams) appears to use a new propset. For example, PROPCASE_SHOOTING is different from propset 5.

    edit:
    The propcase IDs seem to be shifted up one somewhere between metering mode (157 in propset 5 and 6) and my colors custom blue (177 in propset 5, 176 in propset 6)

    I've added this to the trunk.

    edit:
    I woke up this morning thinking "DOH, one *less* propcase, this camera probably just uses an older propset since it's digic IV". But it's not, so propset 6 is here to stay.
    « Last Edit: 01 / September / 2013, 14:37:20 by reyalp »
    Don't forget what the H stands for.

    *

    Online reyalp

    • ******
    • 9882
  • Publish
    Re: ixus140 elph130 porting thread
    « Reply #3 on: 02 / September / 2013, 18:40:37 »
    Initial code is checked into svn, see notes.txt for known issues.  There are also likely plenty of unknown issues :)

    finsig worked pretty well, although the keymap it suggested was all messed up for some reason. It also didn't find focus_len_table or the canon mode list.

    I found focus_len_table just by looking for 5000 (in focal length),100

    I found the mode list by looking for a known mode value that isn't otherwise common in the firmware (33333, I think)

    capt_seq task seems to have changed a bit from the r51 cameras I looked at.

    File counting also seems to have changed. The only file counter I can find is in param #1, and it's not shifted like previous cameras.

    The camera uses date based folder names. GetImageFolder is found, but I haven't got it to work yet.


    edit:
    and param 1 only increments when you switch to play mode or restart...
    « Last Edit: 02 / September / 2013, 19:04:38 by reyalp »
    Don't forget what the H stands for.


    *

    Online reyalp

    • ******
    • 9882
  • Publish
    Re: ixus140 elph130 porting thread
    « Reply #4 on: 03 / September / 2013, 16:24:02 »
    I got the folder / image counter stuff working in r3069-r3070.

    The variable I'm using was originally found by searching RAM for something that looked like the image counter, but seems related to the param code ("FileBackupProperty.c") and should be findable from disassembly for other cameras.

    This one appears to update fairly late, there might be a better way to grab it earlier. There are a number of other places it shows up in ram, but this one seems to be right on bootup before the picture is taken, and update consistently per shot. I think it still requires PAUSE_FOR_FILE_COUNTER which is a bit of a bummer. edit: not needed

    I spent a fair bit of time exploring the file counter / folder naming code, which turns out to be quite complicated. I did find the place where DvlpSeqTask generates it's filename (FF1FA018). It receives the counter from CaptSeq as part of the message, but there's enough layers of pointers I wasn't able to find where CaptSeq gets it from. I did find where I think CaptSeq sends the message (sub_FF1FA0F0), which might be interesting for other reasons). I was hoping there would be simple call or variable to get the counter, but as we found out in the remotecap code, multiple images can be "in flight" at once so it makes sense that it's in a dynamic structure when the jpeg filename is built.
    « Last Edit: 04 / September / 2013, 23:50:15 by reyalp »
    Don't forget what the H stands for.

    *

    Online reyalp

    • ******
    • 9882
  • Publish
    Re: ixus140 elph130 porting thread
    « Reply #5 on: 09 / September / 2013, 01:16:14 »
    I added this to the trunk autobuild as an alpha since it is now fairly usable. I'll move it over to stable after all the main tasks are implemented.
    Don't forget what the H stands for.

    *

    Online reyalp

    • ******
    • 9882
  • Publish
    Re: ixus140 elph130 porting thread
    « Reply #6 on: 15 / September / 2013, 21:00:46 »
    Merged to 1.2. in http://trac.assembla.com/chdk/changeset/3116

    Also included propset6 and FILEWRITE_IS_VAR changes.

    I wouldn't call it done but it seems to be generally usable.

    filewrite is implemented, code appears identical to dryos r51 cams (I used sx160 as a starting point). rs -cont=100 ran with no problems, though chdkptp needs to be updated to r440 if using super fine quality.

    exp_drv_task is implemented, a 2 minute exposure seemed to work fine.

    movie_rec isn't implemented yet because
    1) zoom is already unlocked in the canon firmware by default (albeit very slow)
    2) The normal compression override appears to only affect the first frame. It appears that the canon firmware continuously adjusts the compression rate. I have founds some hints of where this happens but haven't investigated further.
    Don't forget what the H stands for.

  • Publish
    Re: ixus140 elph130 porting thread
    « Reply #7 on: 27 / October / 2013, 12:37:43 »
    Hi,

    I just bought this camera in order to use it with CHDK and Arducopter to fire shots at predetermined waypoints.
    However.... it comes with version 100b  :(

    Is there any possibility to have CHDK working on it?
    I have just dumped the firmware and have it available if anyone wants it

    Many thanks!


  • Publish
    Re: ixus140 elph130 porting thread
    « Reply #8 on: 27 / October / 2013, 13:15:11 »
    However.... it comes with version 100b  :(
    Sometimes a CHDK version will work with two firmware versions.   You can try the 100a version or post a link to your dump here and somebody will check it for you.  Fortunately,  your camera was ported using the latest porting techniques so producing a 100b version of necessary should not be too hard.

    Quote
    Is there any possibility to have CHDK working on it? I have just dumped the firmware and have it available if anyone wants it
    Please upload the dump to a file sharing site ( e.g. box.com) and post a link here.   TIA.

    *

    Online reyalp

    • ******
    • 9882
  • Publish
    Re: ixus140 elph130 porting thread
    « Reply #9 on: 27 / October / 2013, 14:57:20 »
    However.... it comes with version 100b  :(
    Sometimes a CHDK version will work with two firmware versions.   You can try the 100a version or post a link to your dump here and somebody will check it for you.  Fortunately,  your camera was ported using the latest porting techniques so producing a 100b version of necessary should not be too hard.
    Not any more, the current CHDK code has checks to prevent loading on the wrong firmware, due to this: http://chdk.setepontos.com/index.php?topic=10559.0

    I could provide an unlocked build, but getting a dump is probably safer and simpler.

    edit: correction, the checks are not enabled yet.
    « Last Edit: 27 / October / 2013, 16:29:18 by reyalp »
    Don't forget what the H stands for.

     

    Related Topics