Pages: [1] 2 3 ... 17 Next   Go Down
  Print  
Author Topic: the collaborative CHDK build  (Read 45260 times)
0 Members and 2 Guests are viewing this topic.
Jucifer
Global Moderator
Full Member
*****

Karma: +41/-0
Offline Offline

Posts: 221


[A710IS]


« on: 02 / March / 2008, 14:51:57 »

Autobuilds of the collaborative CHDK build, provided by Hacki

(If you want to build yourself, try whim's CHDK GCC Compiler Shell, or see tips for compiling CHDK under Windows or Linux on Wikia.)
Also see the commit log.

The build contains a lot of patches and fixes floating around.
Additions compared to the trunk ("allbest" builds) are
- PhyrePhox's customizations (fast override disabling, hide osd elements in playback mode, disable raw saving during video recording, show remaining time in video recording, new scripting commands...)
- wontolla's RAW purge
- m2tk's gui_fselect.c-patch
- CHDKLover's and msl's Symbol Mod
- toinech's custom JPG processing (+1/2EV / Auto DR modes need syscurves.cvf in chdk folder, get CurveUpdate.zip for the .cvf and curve editor) (some info on curves)
- Velo's Lua Scripting Integration
- fantomas' Tv bracketing hotfix for TX1
- fbonomi's shot histogram
- hiker_jon's edge overlay (highly experimental)
- most of cyril42e's modifications (tweaks to menus, display zebra only when necessary, script parameter sets...)
- Bg~'s memory viewer enhancement
- fudgey's disable script parameter list sorting
- CHDKLover's new uBASIC statement: select/case (multi-version)
- when interrupting scripts, try to jump to label "restore"/call function restore() (cyril42e/auj)
- show camera temperatures (CCD, optical, battery)
- unified syntax for scripting commands beginning with "get_", e.g. [p=]get_prop 205 ([]=optional)
- new scripting commands (includes, but not limited to):
    - autostarted (returns 1/true if script was autostarted)
    - get_exp_count (the returned value is incremented by 1 on every exposure, has the same numbers as the files created by the camera (1-9999))
    - is_pressed (similar to is_key, but checks if a button is being pressed, when the command is called)
- whoever's simple code for scriptless remote
- synchable scriptless remote code from Microfunguy's SDM
- faster motion detection (currently only on some cams, just have to add it for the rest, see the next post ;)
- faster menu navigation (shoot_half + up/down, shoot_half/zoom_in/zoom_out + left/right)
- possibly also other stuff. I forget.


(archive of the old thread can be found here)


attached:
- simple exposure counter
- yet another accurate intervalometer
- yet another DOF stacker
« Last Edit: 10 / August / 2008, 16:52:27 by Jucifer » Logged

Jucifer
Global Moderator
Full Member
*****

Karma: +41/-0
Offline Offline

Posts: 221


[A710IS]


« Reply #1 on: 12 / June / 2008, 21:09:06 »

a short todo list:
+ add an option to set jpeg resolution & quality, when enabling/disabling raw capture (should be set on enable/disable/cam boot?)
+ add movie_status stub for:
  - ixus60_sd600 100a
  - ixus60_sd600 100d
  - ixus65_sd630 100a
  - ixus960_sd950 100d
  - s5is 101a
+ modify platform/model/sub/submodel/lib.c: *vid_get_viewport_live_fb() to decrease motion detection delays for:
  - a450 100d
  - a460 100d
  - a530 100a
  - a550 100c
  - a560 100a
  - a570 101a
  - a620 100f
  - a640 100b
  - a650 100d
  - a700 100b
  - g7 100e
  - g7 100g
  - g7 100i
  - g7 100j
  - ixus700_sd500 101a
  - ixus700_sd500 101b
  - ixus800_sd700 101b
  - ixus800_sd700 100b
  - ixus950_sd850 100c   
  - ixus50_sd400 101a
  - ixus50_sd400 101b
  - ixus55_sd450 100b
  - ixus55_sd450 100c
  - ixus55_sd450 100d
  - ixus65_sd630 100a
  - ixus70_sd1000 100c (verify?)
  - s2is 100e
  - s2is 100f
  - s2is 100g
  - s3is 100a
  - s5is 101a (verify?)
  - tx1 100g
  - tx1 101b
(how to modify the function and how to find the needed addresses, I also tried to make a little guide...)

« Last Edit: 04 / August / 2008, 20:07:13 by Jucifer » Logged

PhyrePhoX
Global Moderator
Hero Member
*****

Karma: +121/-27
Offline Offline

Posts: 1624


Coders Humiliate DSLR Kiddies


« Reply #2 on: 12 / June / 2008, 21:40:59 »

\o/ yay



- reserved, "real" text will follow later Smiley
Logged

Jucifer
Global Moderator
Full Member
*****

Karma: +41/-0
Offline Offline

Posts: 221


[A710IS]


« Reply #3 on: 12 / June / 2008, 21:41:54 »

some notes on scripting commands:
+ added commands (list may not be complete):
  - autostarted: returns 1/true, if script was autostarted
  - get_exp_count: increments 1 on every exposure, returns values between (and including) 1–9999
  - shot_histo_enable: setting to 1 enables building of shot histogram data, 0 disables
  - get_histo_range from to: returns percent of values between from and to in histogram data
  - is_pressed "key": checks if a key is being pressed, when the command is called
  - get_shooting: returns propcase 205 (digicii) / 206 (digiciii)
  - get_drive_mode: returns propcase 6 (digicii) / 102 (digiciii)
  - get_flash_mode: returns propcase 16 (digicii) / 143 (digiciii)
  - get_flash_ready: returns propcase 221 (digicii) / 208 (digiciii)
  - get_IS_mode: returns propcase 229 (digicii) / 145 (digiciii)
  - get_orientation_sensor: returns propcase 37 (digicii) / 219 (digiciii)
  - get_ev: returns propcase 25 (digicii) / 107 (digiciii)
  - set_ev: sets propcases 25 & 26 (digicii) / 107 & 207 (digiciii)
for Lua:
  - get_time("unit"), where unit can be Y[ear], M[onth], D[ay], h[our], m[inute] or s[econd] ([]=optional/example)
  - peek(mem_address)
  - bitwise operations: bitand(v1, v2), bitor(v1, v2), bitxor(v1, v2), bitshl(val, shift), bitshri(val, shift), bitshru(val, shift), bitnot(val)

+ modified commands (list may not be complete):
  - get_autostart and set_autostart read and write conf.script_autostart (0=off, 1=on, 2=once)
« Last Edit: 16 / August / 2008, 23:12:06 by Jucifer » Logged

lukg
Full Member
***

Karma: +9/-1
Offline Offline

Posts: 162


Eos 450D+18-55is & Powershot S5is - 1.01a


« Reply #4 on: 16 / June / 2008, 22:41:07 »

Nice work!!! I've tried juciphox Smiley build today but I have some problem with the "purge raw" function in my S5...it seems that does nothing, no crw deleted. Am i missing something?
Logged
wontolla
Sr. Member
****

Karma: +34/-7
Offline Offline

Posts: 324


S3 & A720


« Reply #5 on: 17 / June / 2008, 00:08:26 »

Are you manually erasing some JPG files first?
See full explanation of the Purge RAW feature here: Erase JPG along with corresponding CRW in any folder - done

Please let me know if you still have problems with it. Perhaps in it's own thread to keep this one "general".
Logged
aymeric106
Newbie
*

Karma: +0/-0
Offline Offline

Posts: 2


« Reply #6 on: 21 / June / 2008, 08:14:38 »

Hi,

Congrat to all dev for this great build, lots of usefull stuff ...

But ... it's very hard to follow what are the improvements compared to the basic (or allbests') build
It would be great if the first post of this thread was edited so that 1 line=1 feature.
I know it's a pain in the [admin: avoid swearing please] (and I would do it myself if only I was understanding half of it ...)  but it would be very useful for average end-user like me ...

Anyway, keep up the good work !

Aymeric
« Last Edit: 21 / June / 2008, 08:37:00 by aymeric106 » Logged
DataGhost
Developers
Sr. Member
****

Karma: +62/-0
Offline Offline

Posts: 311


EOS 40D, S5IS


« Reply #7 on: 30 / June / 2008, 22:26:08 »

Motion detection speedup: I really don't see how it should work on the S5IS and it seems to be implemented in a somewhat different way than 'my' method. 0x7E900 is not an address, it's the size of the viewport buffer. Correct me if I'm wrong Smiley
Logged
PhyrePhoX
Global Moderator
Hero Member
*****

Karma: +121/-27
Offline Offline

Posts: 1624


Coders Humiliate DSLR Kiddies


« Reply #8 on: 03 / July / 2008, 00:47:24 »

thanks to this thread i finally managed to do something i always wanted to do: include all the great stuff into one big beginners-archive.
so i changed the makefile in order to:
include contents of lang/script/grids/fonts dir in the zip. already in a CHDK subfolder.
also: depending on OS (Dryos/vxworks) a seperate readme file is created in the topfolder.

todo: cleaning up & updating of the above mentioned directorys, write suitable readmes (include graystars manual?), check license status (on fonts for example).
maybe even include vers.req so people can have some stats wherever they are Wink

this is an excerpt of the changes i made:

Quote
firzipsubcomplete: infoline clean firsub
   @echo \-\> $(VER)-$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER).zip
   rm -f $(topdir)bin/$(VER)-$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER).zip
   LANG=C echo -e "CHDK-$(VER) for $(PLATFORM) fw:$(PLATFORMSUB) build:$(BUILD_NUMBER) date:`date -R`" | \
       zip -9jz $(topdir)bin/$(VER)-$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER).zip $(topdir)bin/DISKBOOT.BIN > $(DEVNULL)

         zip -9r $(topdir)bin/$(VER)-$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER).zip $(topdir)CHDK/lang/*
         zip -9r $(topdir)bin/$(VER)-$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER).zip $(topdir)CHDK/grids/*
         zip -9r $(topdir)bin/$(VER)-$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER).zip $(topdir)CHDK/fonts/*
         zip -9r $(topdir)bin/$(VER)-$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER).zip $(topdir)CHDK/script/*

ifdef PLATFORMOS
  ifeq ($(PLATFORMOS),vxworks)
   cp $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB).FIR $(topdir)bin/PS.FIR
   zip -9j $(topdir)bin/$(VER)-$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER).zip $(topdir)bin/PS.FIR > $(DEVNULL)
   zip -9r $(topdir)bin/$(VER)-$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER).zip $(topdir)readme_vxworks.txt
   rm -f $(topdir)bin/PS.FIR
  endif
  ifeq ($(PLATFORMOS),dryos)
   zip -9r $(topdir)bin/$(VER)-$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER).zip $(topdir)readme_dryos.txt
   #cp $(topdir)bin/$(PLATFORM)-$(PLATFORMSUB).FI2 $(topdir)bin/PS.FI2
   #zip -9jc $(topdir)bin/$(VER)-$(PLATFORM)-$(PLATFORMSUB)-$(BUILD_NUMBER).zip $(topdir)bin/PS.FI2 > $(DEVNULL)
   #rm -f $(topdir)bin/PS.FI2
  endif
endif
   rm -f $(topdir)bin/DISKBOOT.BIN

...

batch-zip-complete: version
   $(MAKE) -s --no-print-directory PLATFORM=a610 PLATFORMSUB=100e NO_INC_BUILD=1 firzipsubcomplete

...

edit: just downloaded latest sdm, seems microfunguy did the same (at least i assume that he did it this way, as he didnt release his latest source yet). was about time we had something like this. if added to the autobuild hopefully lots of noobquestions can be avoided Wink
and yes, we maybe should create a new dir for "top scripts"
« Last Edit: 03 / July / 2008, 01:01:23 by PhyrePhoX » Logged

Bg~
Newbie
*

Karma: +1/-0
Offline Offline

Posts: 27


« Reply #9 on: 03 / July / 2008, 16:19:49 »

Wow Jucifer, you're fast. I just came in here to look if I could add the A720 motion_detection libc change. Good work. Smiley
Logged
mkmenuts
Jr. Member
**

Karma: +4/-0
Offline Offline

Posts: 60

SD700 (1.01b)


« Reply #10 on: 03 / July / 2008, 19:09:41 »

Amazin' job everyone, thanks!

Is there any chance the latest video improvments (AF, no sound during zoom) be ported to the SD700?
Logged
Jucifer
Global Moderator
Full Member
*****

Karma: +41/-0
Offline Offline

Posts: 221


[A710IS]


« Reply #11 on: 03 / July / 2008, 21:34:54 »

Bg~: ;)

mkmenuts: I don't have the skills to do that. :/ (At least yet. ;) Perhaps ewavr will implement it sooner or later.


By the way, just uploaded new builds (r431).
Logged

cyril42e
Full Member
***

Karma: +18/-0
Offline Offline

Posts: 111


SD1000/Ixus70 1.02a


« Reply #12 on: 04 / July / 2008, 03:38:38 »

Is there any chance the latest video improvments (AF, no sound during zoom) be ported to the SD700?

Porting AF during zoom requires doing something like that (here for SD1000):
Code
GeSHi (diff):
platform/ixus70_sd1000/sub/102a/stubs_min.S:13
-DEF(movie_status,0xBB550)
+DEF(movie_status,0xBB558)
+DEF(some_flag_for_af_scan, 0xCDB4) // found in _SsPrepareSeq.c__444+0x58, CMP R2,#0 | LDREQ R3,=0xCDB4 | STREQ R2,[R3]
platform/ixus70_sd1000/sub/102a/stubs_entry_2.S:28
+NHSTUB(MakeAFScan, 0xFFB000D0) // _sub_FFB000D0__SsPrepareSeqBase.c__572
+NHSTUB(ExpCtrlTool_StartContiAE, 0xFF96553C) // SetFocusLensDefaultCondition_3
+NHSTUB(ExpCtrlTool_StopContiAE,  0xFF96556C) // SetFocusLensDefaultCondition_5
include/camera.h:372,CAMERA_ixus70_sd1000
+ #define CAM_AF_SCAN_DURING_VIDEO_RECORD 1
 
//----------------------------------------------------------
#elif defined (CAMERA_ixus700_sd500)
 
Created by GeSHI 1.0.7.20

I had a look for SD700, MakeAFScan was not easy to find as file names change, line numbers change, code change... But I think it is:
Code:
DEF(some_flag_for_af_scan, 0x6F2E0) // found in _PrepareSeq.c__1056+0x59, CMP R2,#0 | LDREQ R3,=0x6F2E0 | STREQ R2,[R3]
NHSTUB(MakeAFScan, 0xFF95FDEC) // _sub_FF95FDEC__PrepareSeq.c__1280
NHSTUB(ExpCtrlTool_StartContiAE, 0xFF90353C) // SetFocusLensDefaultCondition_3
NHSTUB(ExpCtrlTool_StopContiAE,  0xFF90356C) // SetFocusLensDefaultCondition_5

I compiled a juciphox with AF in video for SD700 101b, can you try it mkmenuts please? Don't forget to set the AF key in Video Parameters menu before.
Logged
mkmenuts
Jr. Member
**

Karma: +4/-0
Offline Offline

Posts: 60

SD700 (1.01b)


« Reply #13 on: 04 / July / 2008, 09:38:05 »

Hi cyril42e,

That's what I call a fast response! And the thing works!

The AF is engaged properly when I press "set" during video.

Did you find the mic on/off switch in your travels thru the firmware dump? Is the sound turned off during AF as well as zoom in EWAVR's solution?

Big thanks,

Adam
Logged
cyril42e
Full Member
***

Karma: +18/-0
Offline Offline

Posts: 111


SD1000/Ixus70 1.02a


« Reply #14 on: 04 / July / 2008, 11:57:35 »

Did you find the mic on/off switch in your travels thru the firmware dump?

Actually I didn't look for them yet, even on my SD1000, I wasn't monitoring the changesets yet when EWAVR did this improvement for A series. I will try to do that.

Is the sound turned off during AF as well as zoom in EWAVR's solution?
Yes it seems so.
Logged
Pages: [1] 2 3 ... 17 Next   Go Up
  Print  
 
Jump to: