SD 4000 IS / IXUS 300 HS / IXY 30S porting thread

  • 302 Replies
  • 65231 Views
*

Offline pixeldoc2000

  • ****
  • 355
  • IXUS900Ti 1.00C, IXUS300HS 1.00D
    • pixel::doc homebase
Re: SD 4000 IS / IXUS 300 HS / IXY 30S porting thread
« Reply #280 on: 03 / August / 2011, 17:33:15 »
Advertisements
Small progress...

  • Added CAM_DETECT_SCREEN_ERASE at SVN #1265 (CHDK OSD redraw is more reliable but also flickers more often)
  • some other small fixes
  • some cleanup
  • some comments updated

*

Offline pixeldoc2000

  • ****
  • 355
  • IXUS900Ti 1.00C, IXUS300HS 1.00D
    • pixel::doc homebase
Re: SD 4000 IS / IXUS 300 HS / IXY 30S porting thread
« Reply #281 on: 03 / August / 2011, 17:42:44 »
Why scripts can't make shoots? (only first)

@title Time Lapse, Push Shoot to start
@param d Delay (1/10 sec)
@default d 0
@param s Delay (1 sec)
@default s 1
@param m Delay (0 min)
@default m 0
@param c Delay (5)
@default c 5

b = 100*d + 1000*s + 1000*60*m

print "Time Lapse Count"

for k=1 to c
rem   shoot
   click "shoot_full"
    print "Shot", k
   sleep b
next k

end
Script does take 3 shots (because autofocus was to slow between shots). With longer delay (3 sec. +) it does 5 shots.

*

Offline philmoz

  • *****
  • 2936
    • Photos
Re: SD 4000 IS / IXUS 300 HS / IXY 30S porting thread
« Reply #282 on: 03 / August / 2011, 18:37:07 »
CHDK OSD redraw is more reliable but also flickers more often)

Is it the menu or the CHDK OSD that flickers?

If it's the OSD make sure there is nothing in the top left corner that would be overwriting the first pixel - this is what is used to detect if the Canon firmware has erased the screen. If a CHDK OSD element changes this pixel then it could cause the OSD to get redrawn.

Phil.
CHDK ports:
  sx30is (1.00c, 1.00h, 1.00l, 1.00n & 1.00p)
  g12 (1.00c, 1.00e, 1.00f & 1.00g)
  sx130is (1.01d & 1.01f)
  ixus310hs (1.00a & 1.01a)
  sx40hs (1.00d, 1.00g & 1.00i)
  g1x (1.00e, 1.00f & 1.00g)

Re: SD 4000 IS / IXUS 300 HS / IXY 30S porting thread
« Reply #283 on: 04 / August / 2011, 00:55:01 »
Quality Override will be available and seems to be working
Thank you very very much. Now we need to switch off for oversharpening :)


Script does take 3 shots (because autofocus was to slow between shots). With longer delay (3 sec. +) it does 5 shots.
Oh, yes. It's very slow for 0 pause. Now I understand how it works.


*

Offline pixeldoc2000

  • ****
  • 355
  • IXUS900Ti 1.00C, IXUS300HS 1.00D
    • pixel::doc homebase
Re: SD 4000 IS / IXUS 300 HS / IXY 30S porting thread
« Reply #284 on: 04 / August / 2011, 16:02:53 »
Is it the menu or the CHDK OSD that flickers?
CHDK OSD in record mode. In playback mode its fine.

If it's the OSD make sure there is nothing in the top left corner that would be overwriting the first pixel - this is what is used to detect if the Canon firmware has erased the screen. If a CHDK OSD element changes this pixel then it could cause the OSD to get redrawn.
Doesn't look like the pixel change...
I guess the main cause is the canon smart shutter feature (smile detection, face detection, etc.) or autofocus in record mode which ofter update the screen.
« Last Edit: 04 / August / 2011, 16:04:34 by pixeldoc2000 »

*

Offline pixeldoc2000

  • ****
  • 355
  • IXUS900Ti 1.00C, IXUS300HS 1.00D
    • pixel::doc homebase
Re: SD 4000 IS / IXUS 300 HS / IXY 30S porting thread
« Reply #285 on: 04 / August / 2011, 16:20:09 »
Progress
  • finsig2 tested and results merged
  • KEY_SHOOT_FULL changed (maybe this fix issus with shoot_full in certian scripts)
  • zoom_status fixed (probably useless)

*

Offline philmoz

  • *****
  • 2936
    • Photos
Re: SD 4000 IS / IXUS 300 HS / IXY 30S porting thread
« Reply #286 on: 05 / August / 2011, 05:16:10 »
Doesn't look like the pixel change...
I guess the main cause is the canon smart shutter feature (smile detection, face detection, etc.) or autofocus in record mode which ofter update the screen.

Try changing the line in gui_redraw.c from:
    if (!draw_test_guard())
to
    if (!draw_test_guard() && gui_mode)

This will make the screen erase detect active only in Alt mode.
Let me know if this reduces the OSD flicker.

Phil.
CHDK ports:
  sx30is (1.00c, 1.00h, 1.00l, 1.00n & 1.00p)
  g12 (1.00c, 1.00e, 1.00f & 1.00g)
  sx130is (1.01d & 1.01f)
  ixus310hs (1.00a & 1.01a)
  sx40hs (1.00d, 1.00g & 1.00i)
  g1x (1.00e, 1.00f & 1.00g)

*

Offline pixeldoc2000

  • ****
  • 355
  • IXUS900Ti 1.00C, IXUS300HS 1.00D
    • pixel::doc homebase
Video Record R16 error
« Reply #287 on: 05 / August / 2011, 13:32:24 »
New issus

Video E16 error
Video recording always stops after about 1-20 seconds (without video overrides enabled), lens retracts followed by E16 error message from canon:
Code: [Select]
A camera error was detected
Will shut down automatically
Restart camera
E16
EDIT: This issus occur since #1234.
Changes in file core/gui_space.c at gui_space_draw_spacebar_horizontal() and gui_space_draw_spacebar_vertical() are the root of this cause! If i revert this functions to #1233, the error E16 doesn't occur.

With #1234 code, no E16 error occur if this is disabled in gui_space_draw_spacebar_horizontal():
Code: [Select]
   draw_vline(xx+1-1,    yy+1-1, 1+height+2, COLOR_BLACK);  // left
    draw_hline(xx+1-1,    yy+1-1,   1+size+3, COLOR_BLACK);  // top
    draw_hline(xx+1-1,    yy+1+height+2,  1+size+3, COLOR_BLACK);  // bottom
    draw_vline(xx+1+size+3, yy+1-1,  1+height+2,  COLOR_BLACK);  // right
or:
Code: [Select]
   // space bar fill
    x = xx + size - ((perc*size)/100);
    if (x<=xx+1) x=xx+1;
    if (x>xx+size) x=xx+size;
    draw_filled_rect(xx+1+1, yy+1+1, x-1, yy+1+height, MAKE_COLOR(COLOR_TRANSPARENT, COLOR_BLACK));
    draw_filled_rect(x, yy+1+1, xx+1+size+2, yy+1+height, MAKE_COLOR(cl, cl));
Values:
conf.space_hor_pos.x=0
conf.space_hor_pos.y=233
xx=0
yy=233

Used CHDK default settings.

Besides new code from #1234 use other draw functions its almost the same as #1233. Other differents is some variables are suppost to store in register (but thats does not cause the problem).

If "Show Space Bar" is disabled or set to vertical, the error also doesn't occur.

After tinkering around with gui_space_draw_spacebar_horizontal(), the problem could be related to how long OSD redraw takes... Maybe the E16 Error happens if firmware (movie record tasks) running out of cpu time?!? I've optimized some if/else in gui_space.c in #1286, but that shouldn't make to much of a differens. But it looks like the E16 error happens much less often now...
maybe this behave simular to CAM_STARTUP_CRASH_FILE_OPEN_FIX ... comes and goes under certain conditions...

Currently, i don't whats wrong and why only SD4000 is affected.

Crash on Startup
Cameras intermittently crashing on startup with "ASSERT!! FsIoNotify.c Line 457   Task name: SpyTask" in ROMLOG. Testing CAM_STARTUP_CRASH_FILE_OPEN_FIX.
« Last Edit: 08 / August / 2011, 16:13:38 by pixeldoc2000 »


*

Offline pixeldoc2000

  • ****
  • 355
  • IXUS900Ti 1.00C, IXUS300HS 1.00D
    • pixel::doc homebase
Download current build
« Reply #288 on: 07 / August / 2011, 17:18:36 »
Download current build

Current build is now available via CHDK (most recent) and CHDK-DE Autobuild.

Re: SD 4000 IS / IXUS 300 HS / IXY 30S porting thread
« Reply #289 on: 27 / August / 2011, 03:55:02 »
Hi,

I have problems installing ixus300_sd4000-100d-0.9.9-1305-full_BETA.zip . I extracted it to the root of the SD card, booted the camera while holding down the PLAY button, pressed MENU, scrolled down, upgraded the firmware, saw a small CHDK window for a fraction of a second, and then nothing interesting happened, the camera continued behaving normally. I can't go out of playback mode without turning the camera off (it's just a black screen outside playback mode, and it only reacts to the PLAY button), and after turning it off and on again, it behaves normally (as if no CHDK was installed). If I lock the SD card, it displays a message about that at boot time, and otherwise it behaves normally.

$ exiftool IMG_2768.jpg -MakerNotes:FirmwareRevision
Firmware Revision               : 1.00 rev 4.00

How should I install CHDK?

Thanks,

Joe

 

Related Topics