supplierdeeply

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

  • 302 Replies
  • 65215 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 #90 on: 21 / September / 2010, 15:50:09 »
Advertisements
Yes, of cause, but that wasn't the point ;)
It occurs much less after override feather bits in KEY_MASK (disables feather osd), but still not perfect...
Just thought about "lock" or suspend canon firmware display redraw or processing in ALT mode...
You might want to look at this http://chdk.kernreaktor.org/mantis/view.php?id=260 and the thread linked from there.
The vid_bitmap_refresh code at the link from SD880 (by mweerden) cause a lot of redraw issus with chdk AND canon firmware (display does not refresh at or only particially after ALT mode, try to access canon menu does freeze display till you press menu again.

This is what asm1989 (SX210) came up with (look like video lock / refresh stuff did change on newer cameras):
Code: (c) [Select]
// Force Screen to refresh like original Firmware
// from SX210, thanks asm1989
void vid_bitmap_refresh() {
    extern int enabled_refresh_physical_screen;
    extern int full_screen_refresh;

    // asm1989: i've tried refreshphysical screen (screen unlock) and that caused the canon and
    // function menu to not display at all. This seems to work and is called in a similar
    // way in other places where original OSD should be refreshed.
    extern void _LockAndRefresh();   // wrapper function for screen lock
    extern void _UnlockAndRefresh();   // wrapper function for screen unlock

    _LockAndRefresh();

    enabled_refresh_physical_screen=1;
    full_screen_refresh=3;   // found in ScreenUnlock underneath a CameraLog.c call

    _UnlockAndRefresh();
}
This work quite well on SD4000 too (firmware is very simular), except is does not "lock" display in ALT mode. Certian canon processing stuff in record mode does partly overdraw chdk menu... (looks like canon firmware does auto focus every few seconds for example).

*

Offline pixeldoc2000

  • ****
  • 355
  • IXUS900Ti 1.00C, IXUS300HS 1.00D
    • pixel::doc homebase
Re: SD 4000 IS / IXUS 300 HS / IXY 30S porting thread
« Reply #91 on: 21 / September / 2010, 15:59:42 »
Beta v3 now working for me - refreshed card made a difference - lesson learnt  :haha
I've also had more than ones problemes with corrupt filessystem on SD-Card. Always worth a try!

1 - Histogram still isn't live but now when for example it is set to "ryb all" and other layouts I now have distinct boxes rather than a "block" of color. So thats an improvement.
3 - Did note that loaded grids from the CHDK distro show on the left hand side when displayed on the CHDK OSD rather than being centred. At the moment not a bit issue for me.
This is related to other "video buffer" issus. I'm gonna fix it after more important (basic) stuff is correct.

4 - Repeated sequences as per my tests with beta v2 - set Tv value is retained and [bold] is now [/bold] showing as used in single shots as well as bracket sequences from shot 1.  I did tests at both ends of the aperture range and compared to a single shots with overrides disabled and letting Canons exposure control do the work - these look ok. Used various speed and factors and ran with various brackets e.g. 1/3, 2/3 ....
Nice.

5 - I did try seeing what impact having the ND filter set to "in" and "out" made to single shots and sequences. The setting did show up in static values on the CHDK OSD. May be it was late and conditions weren't suitable to see any difference but it didn't seem to make any difference to me. Perhaps this indicates aperture settings are more suitable with the SD4000?
I'm still confused whenever camera has real iris or not... currently beta is compiled with nd-filter stuff. I'm gonna test iris stuff and test was it does compared to nd.
« Last Edit: 21 / September / 2010, 16:01:16 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 #92 on: 21 / September / 2010, 16:12:06 »
1. There are some times right after startup where the CHKD menu partially disappears or disappears altogether. I couldn't really come up with reproducible steps.  I could always get the menu back w/out much problem (one or two button presses and it re-draws).  I guess this is more or less consistent with what Beaver reported.  Though I never had the camera crash while navigating the menus.
I already wrote a lot about it, im working on display issus...

3. The shoot command does not take a picture.  It will focus and beep, but then the script stops executing at that point (though you can still interrupt the script by pressing the shutter button).

4. When I use the set_iso command, the settings do not take effect.

5. When I use the set_tv command, the settings do not take effect.

6. When I use the set_av command, the settings do not take effect.

7. Things like click "menu", "down" and "set" do not do anything.

8. get_tv appears to crash the whole camera (screen goes black)

9. get_av_rel appears to crash the whole camera (screen goes black)

10. get_focus, get_iso, and get_av don't actually get the values.
I never tested bas yet... put it on my ToDo List.

Away from the scripting, I tried some simple overrides
11. Override ISO Value: 2 Value Factor: 100 -> ended up with ISO of 320
Override ISO Value: 10 Value Factor: 10 -> ended up with ISO of 160
Very likely... ApertureSize, ShutterSpeed, ISOTable and are not done yet...

12. Setting the shutter speed to 2sec. appeared to work as expected.  However, when I set to 1/1000sec, I am not convinced that the setting actually took place (I though the pic. should have looked significantly underexposed, but it looked fine).  However, when looking at the picture in Playback mode, it claimed that the shutter speed was 1/1000sec.
hm, beware there are also hardware limitations... ;)

Thanks for your detailed report!

*

Offline reyalp

  • ******
  • 10057
Re: SD 4000 IS / IXUS 300 HS / IXY 30S porting thread
« Reply #93 on: 21 / September / 2010, 16:32:53 »
The vid_bitmap_refresh code at the link from SD880 (by mweerden) cause a lot of redraw issus with chdk AND canon firmware (display does not refresh at or only particially after ALT mode, try to access canon menu does freeze display till you press menu again.
Right, I was suggesting as similar work on this topic, not something you could just use.

Quote
12. Setting the shutter speed to 2sec. appeared to work as expected.  However, when I set to 1/1000sec, I am not convinced that the setting actually took place (I though the pic. should have looked significantly underexposed, but it looked fine).  However, when looking at the picture in Playback mode, it claimed that the shutter speed was 1/1000sec.
hm, beware there are also hardware limitations... ;)
Beware that it is possible for override to affect *only* the exif without affecting the actual exposure.This situation happens on some cameras when you fast press the shutter rather than waiting for AE/AF. In general, the "fast press" is a special case in the canon code.

Never trust the exif (until you have verified that it is trustworthy in a particular scenario), always compare actual images. Make your overrides extreme enough (compared to what the camera AE would use) that it is obvious. If AE chooses 1/60th, and your override of 1/1000th looks the same, it's not working ;)

Regarding Av, this camera should have a real Iris since canon gives it an Av mode. It may *also* have an ND like G series.
From the specs
    * W: f/2.0/2.2/2.5/2.8/3.2/3.5/4.0/4.5/5.0/5.6/6.3/7.1/8.0
    * T: f/5.3/5.6/6.3/7.1/8.0

Don't forget what the H stands for.


Re: SD 4000 IS / IXUS 300 HS / IXY 30S porting thread
« Reply #94 on: 21 / September / 2010, 18:47:36 »

Beware that it is possible for override to affect *only* the exif without affecting the actual exposure.This situation happens on some cameras when you fast press the shutter rather than waiting for AE/AF. In general, the "fast press" is a special case in the canon code.

Never trust the exif (until you have verified that it is trustworthy in a particular scenario), always compare actual images. Make your overrides extreme enough (compared to what the camera AE would use) that it is obvious. If AE chooses 1/60th, and your override of 1/1000th looks the same, it's not working ;)


Agree - seen that - some of the tests I did on this camera was related to that point. At the extreme ends of the bracketing sequences (sort of psdo bracketing) I felt the same - I think the camera was still processing and the "result" I got wasn't true. However in what I consider valid comparisons the bracketing was fine - I compared to Canons exposures with overrides off. However at extreme fast ests I shot at 1/2500 seemed ok though bracketing after that was still reported as 1/2500 but the image was even darker - we are talking specs of light differences and bracketing conntinued beyond the 1/2500 count but reported all shots after that as 1/2500 though pic quality (light specs) had minor changes.


Regarding Av, this camera should have a real Iris since canon gives it an Av mode. It may *also* have an ND like G series.
From the specs
    * W: f/2.0/2.2/2.5/2.8/3.2/3.5/4.0/4.5/5.0/5.6/6.3/7.1/8.0
    * T: f/5.3/5.6/6.3/7.1/8.0


Yes I think it has, not only on Canon specs and test reports from the more technical websites and magazines, but also the fact that pictures show better depth of field results - things you don't get with pure ND Ixus models - and Canon make a point of this in the user manual too. I have done a number of native DOF tests and they look real - if not an iris something very clever. Canon Asia test specs referred to iris details (actually says both) and reports too e.g. blades not a circular holes spinning disc. What I have tried to find out, assuming CHDK overrides really can in the current release move the ND filter in \ out is the difference the ND has on the pics - I can't see it myself - perhaps its used only under certain conditions if the main difference is it really has an iris as part of the  primary exposure control. I have noted the code comments on other models with an iris and iris \ ND - perhaps thats a start - I have only just started looking - comments on development here plus github comits - I am sure you guys working with the code are aware of them - I am just learning.

I agree with Pixeldoc that histograms and grids (per my feedback) etc are nice to have as we would say but the basics have to be dealt with first - for me thats Av, Tv and scripting options that opens up control, then RAW and so on - easy wins though are also good ! I am sure everyone also has an order they would like to see things done in :)

*

Offline pixeldoc2000

  • ****
  • 355
  • IXUS900Ti 1.00C, IXUS300HS 1.00D
    • pixel::doc homebase
Re: SD 4000 IS / IXUS 300 HS / IXY 30S porting thread
« Reply #95 on: 21 / September / 2010, 19:09:38 »
Yes I think it has, not only on Canon specs and test reports from the more technical websites and magazines, but also the fact that pictures show better depth of field results - things you don't get with pure ND Ixus models - and Canon make a point of this in the user manual too. I have done a number of native DOF tests and they look real - if not an iris something very clever. Canon Asia test specs referred to iris details (actually says both) and reports too e.g. blades not a circular holes spinning disc. What I have tried to find out, assuming CHDK overrides really can in the current release move the ND filter in \ out is the difference the ND has on the pics - I can't see it myself - perhaps its used only under certain conditions if the main difference is it really has an iris as part of the  primary exposure control. I have noted the code comments on other models with an iris and iris \ ND - perhaps thats a start - I have only just started looking - comments on development here plus github comits - I am sure you guys working with the code are aware of them - I am just learning.
Ok, you are right! Found this at http://www.canon.com.my/p/EN/114-Digital-Cameras/203-IXUS/1556-Digital-IXUS-300-HS/
Quote
Iris type aperture (used with ND filter)

I agree with Pixeldoc that histograms and grids (per my feedback) etc are nice to have as we would say but the basics have to be dealt with first - for me thats Av, Tv and scripting options that opens up control, then RAW and so on - easy wins though are also good ! I am sure everyone also has an order they would like to see things done in :)
With "basic" stuff i meant find possible wrong address for system (chdk) functions to eliminate shutdown / crash (check stubs_entry_2.S) ...
finish more chdk internals stuff...
Than i will dig into overrides and other nice to have stuff.
Everybody is invited to join the fun and speed up this process ;)
« Last Edit: 21 / September / 2010, 20:07:19 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 #96 on: 21 / September / 2010, 20:15:24 »
Bug / Issus Report

I would invite everybody to put bugs / crashes / issus for SD4000 beta on http://github.com/pixeldoc2000/chdk/issues and discuss everything else here...
Otherwise I'm soon gonna loose overview soon...

Also have a look at commit messages to see whats going on http://github.com/pixeldoc2000/chdk/commits/ixus300_sd4000 . This does give you a peek at the actual chdk source code too.
« Last Edit: 21 / September / 2010, 20:27:43 by pixeldoc2000 »

Re: SD 4000 IS / IXUS 300 HS / IXY 30S porting thread
« Reply #97 on: 22 / September / 2010, 07:23:40 »
With "basic" stuff i meant find possible wrong address for system (chdk) functions to eliminate shutdown / crash (check stubs_entry_2.S) ...
finish more chdk internals stuff...

Ok - understand - and I agree in getting CHDK port stable.

Quote
Everybody is invited to join the fun and speed up this process ;)

Have started to lok at check stubs, and also going over camera and gui etc. Like I said this is all new and a long time since I did anything.

Bug / Issus Report

Noted and account created :)


*

Offline pixeldoc2000

  • ****
  • 355
  • IXUS900Ti 1.00C, IXUS300HS 1.00D
    • pixel::doc homebase
Re: SD 4000 IS / IXUS 300 HS / IXY 30S porting thread
« Reply #98 on: 23 / September / 2010, 15:05:07 »
I was bored yesterday and disassembled my SD4000

Here are two pics from the "brain" (main pcb with digic cpu):
Code: [Select]
http://pixeldoc.kicks-a ss.net/projects/chdk/ixus300_sd4000/canon_ixus300_sd4000_pcb_front.jpg
http://pixeldoc.kicks-a ss.net/projects/chdk/ixus300_sd4000/canon_ixus300_sd4000_pcb_back.jpg
I'll post more pictures after a processed them.

Looks like there is no possible jtag near the digic cpu like my SD900 (VxWorks) camera or G7:
Code: [Select]
http://pixeldoc.kicks-a ss.net/projects/chdk/ixus900_sd900/canon_ixus900_sd900_jtag.jpg
http://pixeldoc.kicks-a ss.net/projects/chdk/ixus900_sd900/canon_ixus900_sd900_jtag2.jpg

*

Offline pixeldoc2000

  • ****
  • 355
  • IXUS900Ti 1.00C, IXUS300HS 1.00D
    • pixel::doc homebase
Re: SD 4000 IS / IXUS 300 HS / IXY 30S porting thread
« Reply #99 on: 01 / October / 2010, 13:27:59 »
Some news

  • Improved CHDK osd with more suited video buffer values
  • spent some time to get RAW working, but camera does still shutdown no matter what...
  • crosschecked most stub addresses
  • added PTP addresses
  • added propset4 (dunno if actually necessary)
  • changed some key stuff
  • added iris aperture stuff

For more info read github commit messages

Note: os.remove does have same issus on SD4000 like SX210 and possible G11 (only delete files but not directory). Tested only with llibtst.lua yet. Maybe its not the correct function.

I forgot to push changes to github for some days... sorry.
« Last Edit: 01 / October / 2010, 13:30:55 by pixeldoc2000 »

 

Related Topics