IXUS 1000 HS Porting Thread - page 34 - DryOS Development - CHDK Forum supplierdeeply

IXUS 1000 HS Porting Thread

  • 440 Replies
  • 148042 Views
*

Offline srsa_4c

  • ******
  • 4450
Re: IXUS 1000 HS Porting Thread
« Reply #330 on: 03 / March / 2012, 14:02:43 »
Advertisements
On this camera focus lock can only activate, when you press shutter half so the Camera focus.the shutter half button must keep half pressed and left button need press.now AFL is show and the focus box disapear.

now camera do not focus anymore.more test show, that camera not crash, when focus lock is activate  and i go then with alt in the chdk menu and i choose 30/1 for focus overwrite.

when i press the shutter then, i see camera focus on ~ 3 cm. No crash happen. It work always.

Only when i zoom a little or deactive Focus lock (so AFL text on display is not show) then Camera crash always, when i have enable focus overwrite.chdk show on left side the value, but not the scale.so 30/100 show same SD: 30  as 30/1

seem on this Camera Focus Overwrite work only if AFL is on.

I dont know if there are other cameras here that crash in same way, if so, i think its possible to change Main chdk so the Focus overwrite work only when

PROPCASE_AF_LOCK

is 1
It's already done and used by the Ixus 220. You may want to see its platform_camera.h for the focus related definitions.

excerpt from platform/generic/shooting.c
Code: [Select]
short shooting_can_focus()
{
 int m=mode_get()&MODE_SHOOTING_MASK;
#if !CAM_CAN_SD_OVER_NOT_IN_MF && CAM_CAN_SD_OVERRIDE
 #if CAM_CAN_SD_OVER_IN_AF_LOCK
  if (shooting_get_prop(PROPCASE_AF_LOCK))
    return 1;
 #endif
  return (shooting_get_common_focus_mode() || MODE_IS_VIDEO(m));
#elif !CAM_CAN_SD_OVERRIDE
  return MODE_IS_VIDEO(m);
#elif defined (CAMERA_ixus800_sd700)
// TODO whats the reason for this ?!?
  return (shooting_get_zoom()<8) && (m!=MODE_AUTO) && (m!=MODE_SCN_UNDERWATER);
#else
  return 1; 
#endif  
}

Re: IXUS 1000 HS Porting Thread
« Reply #331 on: 04 / March / 2012, 06:07:19 »
with this 3 defines i get it working stable.

#undef  CAM_CAN_SD_OVER_NOT_IN_MF
    #define CAM_USE_ZOOM_FOR_MF             1
    #define CAM_CAN_SD_OVER_IN_AF_LOCK      1

only Problem i see when AFL is do, fastev switch value change with wheel do not work.
But i see Camera use correct EV.for example when set EV with wheel and half press shutter to -2 then picture is correct exposure (very dark) when i switch later AFL on. But i can not change the value with the wheel when half press shutter when AFL is on.

I guess fast ev switch and AFL can work together, but chdk does not allow this.

In Servo AF Mode fast EV switch does not work by Camera limitation, because i can change with wheel the values but the shooted image is always  exposure with EV 0, even if the chdk display show -2.so i sue always servo AF off.

maybe there is a define that chdk allow fast ev switch in AFL look ?
Ixus 1000 HS

Re: IXUS 1000 HS Porting Thread
« Reply #332 on: 04 / March / 2012, 13:01:14 »
Hi Everybody
I am having a pop at porting this to firmware version 102B, using 100D as a reference it seems most of the subs have moved only by a small amount in the firmware so I have not got much of an issue updating the assembler in the c files to to new addresses however I am hitting some snags on actually getting this to boot!
Trying to startup using autoboot gives me a completely unresponsive camera i.e no lights/sounds/display until the battery is pulled, and I cannot for the life of me find a firmware update option on the camera menu despite successfully compiling the PS.Fi2 file as well as the DISKBOOT.BIN file.
From other posts I have read the firmware update should appear even if the file is not correctly ‘signed’ using the KEY so even if I have got the FI2KEY and FI2IV wrong in  \platform\fi2.inc it should still present me with the firmware update option, is this correct? Also should the keys be 32 hexadecimal digits as I can’t find any examples anywhere to compare to

To keep things simple I have uncommented the first line in boot()

Code: [Select]
"B   sub_FF81000C\n" // work
Which I thought would jump straight into the boot code from my firmware which is

Code: [Select]
ROM:FF810000 ; FUNCTION CHUNK AT ROM:FF810354 SIZE 0000006C BYTES
ROM:FF810000
ROM:FF810000                 B       loc_FF81000C
ROM:FF810000 ; ---------------------------------------------------------------------------
ROM:FF810004 aGaonisoy       DCB "gaonisoy"
ROM:FF81000C ; ---------------------------------------------------------------------------
ROM:FF81000C
ROM:FF81000C loc_FF81000C                            ; CODE XREF: sub_FF810000 j
ROM:FF81000C                 LDR     R1, =0xC0410000
ROM:FF810010                 MOV     R0, #0
ROM:FF810014                 STR     R0, [R1]
ROM:FF810018                 MOV     R1, #0x78

But alas still an unresponsive camera, is there any special compile options or processes that need to be followed to get the autoboot / firmware update methods working on this camera that I have missed?

Re: IXUS 1000 HS Porting Thread
« Reply #333 on: 04 / March / 2012, 13:07:28 »
Hi Everybody
I am having a pop at porting this to firmware version 102B, using 100D as a reference it seems most of the subs have moved only by a small amount in the firmware so I have not got much of an issue updating the assembler in the c files to to new addresses however I am hitting some snags on actually getting this to boot!
Trying to startup using autoboot gives me a completely unresponsive camera i.e no lights/sounds/display until the battery is pulled, and I cannot for the life of me find a firmware update option on the camera menu despite successfully compiling the PS.Fi2 file as well as the DISKBOOT.BIN file.
Did you start the camera with the Playback switch - not the On/Off switch ?
Ported :   A1200    SD940   G10    Powershot N    G16


Re: IXUS 1000 HS Porting Thread
« Reply #334 on: 04 / March / 2012, 13:18:40 »
Whoops - I was string the camera then pressing the playback switch! The screen is going blank when I press firm update but at least I'm getting somewhere now, thanks!

Re: IXUS 1000 HS Porting Thread
« Reply #335 on: 04 / March / 2012, 13:29:57 »
Whoops - I was string the camera then pressing the playback switch! The screen is going blank when I press firm update but at least I'm getting somewhere now, thanks!
You might find CHDK-PT helpful at this point.  Its easy to find on the CHDK wiki
Ported :   A1200    SD940   G10    Powershot N    G16

Re: IXUS 1000 HS Porting Thread
« Reply #336 on: 04 / March / 2012, 14:09:03 »
Thanks waterwingz, CHDK-PT has been helpful so far my stubs_entry_2.S seems to check out fine.  Stubs_entry.S seems to have generated correctly too. I have made the changes to boot.c manually as its helped me understand the process a lot better and ill be working on the other .c files once I get some kind of boot to work.
I have reformatted the card and copied my compiled files back on now the firm update option is giving me an "Update File Error!!!" message. I guess this means my keys are wrong so its back to trying to figure those out again! Its taken me far longer to work these keys out then any other part of the process so far!

Re: IXUS 1000 HS Porting Thread
« Reply #337 on: 04 / March / 2012, 14:13:00 »
Probaby why most ports start out using a bootable card.  One less thing to fix
Ported :   A1200    SD940   G10    Powershot N    G16


Re: IXUS 1000 HS Porting Thread
« Reply #338 on: 04 / March / 2012, 15:17:16 »
I have my keys working now for firmware update boot and autoboot works too! - it was lovely to get that little orange splash box come up and be able to access some menus! It crashes when I press the shutter of course. I will do capt_seq.c and move_rec.c now and hopefully will have something nice and working to upload soon. Thanks again for your help!

Re: IXUS 1000 HS Porting Thread
« Reply #339 on: 05 / March / 2012, 13:52:30 »
great that you get it working, and dont forget, if you come to check of RAW support, the ixus need green red blue green pattern.this need changes in core chdk files.In platform file is only a fake pattern to compile,because i use no raw because i am lazy. ;-). I set sharpen to -2 and do sharpen later in image processing, because Camera seem have no noise reduction, it do only a unsharp mask with a higher threshold, so grass and other fine textures look a more blury.Sharpen later and use no threshold i think give results simular as RAW.


The Ixus 1000 is the only camera with this pattern.it is 1 pixel shift to other patterns.

#define cam_CFAPattern 0x01020001 // Green  red  blue  Green

I dont know if somebody change chdk so this pattern can work too.

the code in raw.c Create thumbnails need look as this

Code: [Select]
#if cam_CFAPattern==0x02010100    // Red  Green  Green  Blue
            r=gamma[get_raw_pixel((x/2)*2,(y/2)*2)>>(CAM_SENSOR_BITS_PER_PIXEL-8)]; // red pixel
            g=gamma[6*(get_raw_pixel((x/2)*2+1,(y/2)*2)>>(CAM_SENSOR_BITS_PER_PIXEL-8))/10]; // green pixel
            b=gamma[get_raw_pixel((x/2)*2+1,(y/2)*2+1)>>(CAM_SENSOR_BITS_PER_PIXEL-8)]; //blue pixel
#elif cam_CFAPattern==0x01000201 // Green  Blue  Red  Green
            r=gamma[get_raw_pixel((x/2)*2,(y/2)*2+1)>>(CAM_SENSOR_BITS_PER_PIXEL-8)]; // red pixel
            g=gamma[6*(get_raw_pixel((x/2)*2,(y/2)*2)>>(CAM_SENSOR_BITS_PER_PIXEL-8))/10]; // green pixel
            b=gamma[get_raw_pixel((x/2)*2+1,(y/2)*2)>>(CAM_SENSOR_BITS_PER_PIXEL-8)]; //blue pixel
#elif cam_CFAPattern==0x01020001 // Green  red  blue  Green
    r=gamma[get_raw_pixel((x/2)*2+1,(y/2)*2)>>(CAM_SENSOR_BITS_PER_PIXEL-8)]; // red pixel
    g=gamma[6*(get_raw_pixel((x/2)*2,(y/2)*2)>>(CAM_SENSOR_BITS_PER_PIXEL-8))/10]; // green pixel
    b=gamma[get_raw_pixel((x/2)*2,(y/2)*2+1)>>(CAM_SENSOR_BITS_PER_PIXEL-8)]; //blue pixel

#else
    #error please define new pattern here
#endif

« Last Edit: 05 / March / 2012, 13:55:18 by Bernd R »
Ixus 1000 HS

 

Related Topics