Author Topic: Ixus 40 / SD300 v1.00k - beta version available :)  (Read 19563 times)

Offline waldo

  • Full Member
  • ***
  • Posts: 238
Re: Ixus 40 / SD300 v1.00k - beta version available :)
« Reply #15 on: 03 / August / 2008, 18:18:44 »
Hangs for me when I press Alt the second time or when I attempt to run a script.

Offline waldo

  • Full Member
  • ***
  • Posts: 238
Re: Ixus 40 / SD300 v1.00k - beta version available :)
« Reply #16 on: 03 / August / 2008, 19:23:09 »
i fixed some more issues :)
[snip]

On the 08/02 version, the keys work much better now.  Sometimes, a single press will scroll up or down 2 lines instead of one.  Not a big deal, though.

I'm still having some problems compiling this build.  I had to replace the Tools folder with Tools from the SD400 release to get it to find some stdio functions in gensig.c.  I'm not sure how I got the previous version to compile - maybe gensig.o was there already and did not need to be built.


Offline waldo

  • Full Member
  • ***
  • Posts: 238
Re: Ixus 40 / SD300 v1.00k - beta version available :)
« Reply #17 on: 04 / August / 2008, 02:30:11 »
I noticed that some scripts will cause the camera to lock up.  For example, this script will hang the camera:
Code: [Select]
@title Test Script
rem Set EV to -1/3
set_prop 25 (-32)
set_prop 26 (-32)
end
However, this script will work (notice the 'sleep'):
Code: [Select]
@title Test Script
rem Set EV to -1/3
set_prop 25 (-32)
set_prop 26 (-32)
sleep 1000
end
« Last Edit: 04 / August / 2008, 02:32:02 by waldo »

Offline fishpepper

  • Rookie
  • *
  • Posts: 48
Re: Ixus 40 / SD300 v1.00k - beta version available :)
« Reply #18 on: 04 / August / 2008, 13:05:00 »
Interesting...
I have a new version where Lock/Unlock Mainpower work.

Same issue like the kbd problem: when the original kbd task executes the unlockmainpower the cam crashes.
Now i moved kbd_enter/leave script_start/stop to the second kbd task and now it works.
This also seem to fix the issue with this sleep at the end of the script. with the new code the first version works as well.

Please test the new binaries (see attachment)

Offline waldo

  • Full Member
  • ***
  • Posts: 238
Re: Ixus 40 / SD300 v1.00k - beta version available :)
« Reply #19 on: 05 / August / 2008, 22:21:03 »
That version works on the several scripts I have tried.

One thing I noticed intermittently is that sometimes while going through the CHDK menus, the entire CHDK overlay erases itself.  It's still running the menu code, but there is no menu shown, no OSD, etc.  Exiting and re-entering menu mode makes things look OK again.

Offline fishpepper

  • Rookie
  • *
  • Posts: 48
Re: Ixus 40 / SD300 v1.00k - beta version available :)
« Reply #20 on: 06 / August / 2008, 13:57:01 »
Hi!

Changelog: 
080803:
  - getparameterdata workaround for filenumber -> raw files now get the right file name
  - i think i found GetFocusLensSubjectDistance.. values are ok :)
  - i think i found GetCurrentAvValue -> getting values
  - exp_test.bas works, shows bv,tv and av values (note: i added some sleeps)
  - moved all stuff from kbd_process to second task
    includes lock/unlock power -> no longer lockups with lock/unlock main power :)
   
080806:
  - fixed manual zoom (press up in alt mode & use zoom for focussing)
  - cleanup for svn dff/merge into trunk

I requested adding this into trunk :)
For now you can get the latest code using the diff i attached there:
[REQ]Adding new cameras, applying patches into trunk (with source code prepared)

Offline avalynchel

  • Newbie
  • *
  • Posts: 1
Re: Ixus 40 / SD300 v1.00k - beta version available :)
« Reply #21 on: 06 / August / 2008, 20:11:29 »
You guys are heroes :)
Could you please post a binary?

Offline waldo

  • Full Member
  • ***
  • Posts: 238
Re: Ixus 40 / SD300 v1.00k - beta version available :)
« Reply #22 on: 06 / August / 2008, 21:02:53 »
Thanks, fishpepper.  Support for that camera will help me a lot.

On other matter...  I also have a SD200 that I would like to use with CHDK.  The SD200 and SD300 were released on the same day and are identical except for 3.2MP vs. 4.0 MP.   I've done a quick look at the firmware with IDA and the code is identical up to about FFFF8A00 and from there on the addresses differ by about 500 bytes.   Would you be interested in porting that as well?

If so, I have an extra SD200 that I can mail to you.  You can keep the camera when you are done as thanks for your hard work.  Let me know via a PM with your mailing address if you are interested.
« Last Edit: 06 / August / 2008, 23:10:55 by waldo »

Offline fishpepper

  • Rookie
  • *
  • Posts: 48
Re: Ixus 40 / SD300 v1.00k - beta version available :)
« Reply #23 on: 06 / August / 2008, 22:49:41 »
See the attached binaries ;)

@waldo: i compared the primary for 1.00k sd200 using objdump&co (i dont have access to ida)
And there they look quite different.
But i can have a look. I will write you a pm.

CHDK Forum

Re: Ixus 40 / SD300 v1.00k - beta version available :)
« Reply #23 on: 06 / August / 2008, 22:49:41 »

Offline PhyrePhoX

  • Global Moderator
  • Guru Member
  • *****
  • Posts: 2254
  • make RAW not WAR
    • PhyreWorX
Re: Ixus 40 / SD300 v1.00k - beta version available :)
« Reply #24 on: 10 / August / 2008, 03:39:22 »
can't apply to either trunk nor branch, compiling throws errors somehow.

after a lot of warnings i get this:

Quote
../../../../tools/finsig.o: file not recognized: File format not recognized
collect2: ld returned 1 exit status
D:\chdk\Shell\gcc\bin\gmake[4]: *** [../../../../tools/finsig] Error 1
D:\chdk\Shell\gcc\bin\gmake[3]: *** [all-recursive] Error 1
D:\chdk\Shell\gcc\bin\gmake[2]: *** [all-recursive] Error 1
D:\chdk\Shell\gcc\bin\gmake[1]: *** [all-recursive] Error 1
gmake: *** [all-recursive] Error 1

Offline Hacki

  • Sr. Member
  • ****
  • Posts: 352
  • SX100
Re: Ixus 40 / SD300 v1.00k - beta version available :)
« Reply #25 on: 10 / August / 2008, 04:23:25 »
PhyrePhox: Make clean. That happens when there are object files lying around made by a different compiler.


Offline PhyrePhoX

  • Global Moderator
  • Guru Member
  • *****
  • Posts: 2254
  • make RAW not WAR
    • PhyreWorX
Re: Ixus 40 / SD300 v1.00k - beta version available :)
« Reply #26 on: 10 / August / 2008, 04:43:46 »
hm, i did that. trying again.

edit: finsig.o was my mistake, now i tried it again, fresh trunk:

Quote
../../makefile.inc:197: warning: overriding commands for target `.dep'
../../makefile.inc:197: warning: ignoring old commands for target `.dep'
../../makefile.inc:200: warning: overriding commands for target `clean-recursive'
../../makefile.inc:200: warning: ignoring old commands for target `clean-recursive'
../../makefile.inc:206: warning: overriding commands for target `distclean-recursive'
../../makefile.inc:206: warning: ignoring old commands for target `distclean-recursive'
../../makefile.inc:212: warning: overriding commands for target `all-recursive'
../../makefile.inc:212: warning: ignoring old commands for target `all-recursive'
../../makefile.inc:219: warning: overriding commands for target `depend-recursive'
../../makefile.inc:219: warning: ignoring old commands for target `depend-recursive'
Makefile:49: warning: overriding commands for target `clean'
Makefile:24: warning: ignoring old commands for target `clean'
../../../makefile.inc:197: warning: overriding commands for target `.dep'
../../../makefile.inc:197: warning: ignoring old commands for target `.dep'
../../../makefile.inc:200: warning: overriding commands for target `clean-recursive'
../../../makefile.inc:200: warning: ignoring old commands for target `clean-recursive'
../../../makefile.inc:206: warning: overriding commands for target `distclean-recursive'
../../../makefile.inc:206: warning: ignoring old commands for target `distclean-recursive'
../../../makefile.inc:212: warning: overriding commands for target `all-recursive'
../../../makefile.inc:212: warning: ignoring old commands for target `all-recursive'
../../../makefile.inc:219: warning: overriding commands for target `depend-recursive'
../../../makefile.inc:219: warning: ignoring old commands for target `depend-recursive'
../../../../makefile.inc:197: warning: overriding commands for target `.dep'
../../../../makefile.inc:197: warning: ignoring old commands for target `.dep'
../../../../makefile.inc:200: warning: overriding commands for target `clean-recursive'
../../../../makefile.inc:200: warning: ignoring old commands for target `clean-recursive'
../../../../makefile.inc:206: warning: overriding commands for target `distclean-recursive'
../../../../makefile.inc:206: warning: ignoring old commands for target `distclean-recursive'
../../../../makefile.inc:212: warning: overriding commands for target `all-recursive'
../../../../makefile.inc:212: warning: ignoring old commands for target `all-recursive'
../../../../makefile.inc:219: warning: overriding commands for target `depend-recursive'
../../../../makefile.inc:219: warning: ignoring old commands for target `depend-recursive'
../../../..//platform/makefile_sub.inc:17: warning: overriding commands for target `clean'
../../../..//platform/makefile_sub.inc:17: warning: ignoring old commands for target `clean'
../../../..//platform/makefile_sub.inc:20: warning: overriding commands for target `distclean'
../../../..//platform/makefile_sub.inc:20: warning: ignoring old commands for target `distclean'
../../../..//platform/makefile_sub.inc:25: warning: overriding commands for target `stubs_auto.S'
../../../..//platform/makefile_sub.inc:25: warning: ignoring old commands for target `stubs_auto.S'
../../../..//platform/makefile_sub.inc:43: warning: overriding commands for target `stubs_entry.S'
../../../..//platform/makefile_sub.inc:43: warning: ignoring old commands for target `stubs_entry.S'
../../../..//platform/makefile_sub.inc:67: warning: overriding commands for target `PRIMARY.BIN'
../../../..//platform/makefile_sub.inc:67: warning: ignoring old commands for target `PRIMARY.BIN'
boot.c:330: error: redefinition of 'new_sa'
boot.c:12: error: previous definition of 'new_sa' was here
boot.c:342: error: redefinition of 'boot'
boot.c:24: error: previous definition of 'boot' was here
boot.c:378: error: redefinition of 'h_usrInit'
boot.c:60: error: previous definition of 'h_usrInit' was here
boot.c:395: error: redefinition of 'h_usrKernelInit'
boot.c:77: error: previous definition of 'h_usrKernelInit' was here
boot.c:443: error: redefinition of 'dh_err'
boot.c:125: error: previous definition of 'dh_err' was here
boot.c:448: error: redefinition of 'drv_self_hide'
boot.c:130: error: previous definition of 'drv_self_hide' was here
boot.c:458: error: redefinition of 'h_usrRoot'
boot.c:140: error: previous definition of 'h_usrRoot' was here
D:\chdk\Shell\gcc\bin\gmake[4]: *** [boot.o] Error 1
D:\chdk\Shell\gcc\bin\gmake[3]: *** [all-recursive] Error 1
D:\chdk\Shell\gcc\bin\gmake[2]: *** [all-recursive] Error 1
D:\chdk\Shell\gcc\bin\gmake[1]: *** [all-recursive] Error 1
gmake: *** [all-recursive] Error 1
« Last Edit: 10 / August / 2008, 05:36:30 by PhyrePhoX »

Offline fishpepper

  • Rookie
  • *
  • Posts: 48
Re: Ixus 40 / SD300 v1.00k - beta version available :)
« Reply #27 on: 10 / August / 2008, 13:59:59 »
Hi!

Looks really strange. Maybe svn did a merge and destroyed something ?
Looks to me like makefile.inc was copied to its end or something.

I uploaded my whole trunk project dir here:
chdk_ixus40_080810__trunk__.tar.gz

For me this one builds cleanly without any warning/error

Offline PhyrePhoX

  • Global Moderator
  • Guru Member
  • *****
  • Posts: 2254
  • make RAW not WAR
    • PhyreWorX
Re: Ixus 40 / SD300 v1.00k - beta version available :)
« Reply #28 on: 10 / August / 2008, 19:49:24 »
managed to compile in trunk (the loader stuff was missing in the diff, and the makefiles in the diff somehow where fubared). trying to add it to collabo branch. what about the script_start stuff, why did you put it into kbd.c?  i commented it out, however i dont know what the sideeffects will be ;)

attached is a build, can you test if it works, especially the script stuff? (this a build in juciphox branch)

attached also diff against juciphox, theres some more stuff in it though
« Last Edit: 10 / August / 2008, 19:56:26 by PhyrePhoX »

Offline fishpepper

  • Rookie
  • *
  • Posts: 48
Re: Ixus 40 / SD300 v1.00k - beta version available :)
« Reply #29 on: 10 / August / 2008, 22:15:02 »
hi!

Don't comment that out. It will not work then.

The reason for this ugly hack is the following:
If you call core functions like malloc/fopen/LockMainPower etc from the original sd300 kbd task they do not work
or even cause crashes (lock/unloack mainpower for example)

So what i did is the following:
- i created a second task
- the original kbd task just sets a flag instead of calling gui kbd process things or script things (important: scrip_start needs to call lockmainpower!)

So without this scripts might not work or do strange things (i dont know what else script start does)

I just tested your build: It doesnt boot :(
If i put it on a locked sd the card power led doesnt even turn on.
If i do it manually as fw update the screen goes black and thats it.

Whats the difference between trunk and your (?) branch ?
- the second thread checks for the flag and calls the gui stuff and script start etc.

So if you remove it it will no longer work ;)

 


SimplePortal 2.3.3 © 2008-2010, SimplePortal