bringing chdkde and chdk back together discussion - General Discussion and Assistance - CHDK Forum supplierdeeply

bringing chdkde and chdk back together discussion

  • 52 Replies
  • 27331 Views
*

Offline reyalp

  • ******
  • 14080
bringing chdkde and chdk back together discussion
« on: 04 / February / 2012, 15:46:25 »
Advertisements
A place to continue from our PM and IRC discussions.

Sounds like there may be a consensus toward unifying chdkde and the trunk. I like this :)

I can give chdk svn access to any chdkde developers who don't already have it. I would appreciate some discussion before major changes are committed. Communication can be hard, sometimes code is the best way. In this case, a diff or branch to show the proposed changes may be useful. I can provide help with using branches in svn (it's gotten a lot better since the early days)

If for some chdkde developers want to continue to have a separate line of development, that's also fine with me. However, if we can move it into a branch in the main chdk svn, that would make porting changes back and forth easier.

Some things to think about:
- What features are in chdkde that aren't in the trunk
- What differences in the platform code need to be resolved

Thanks to everyone for their efforts, and especially to waterwingz for kicking this off.
Don't forget what the H stands for.

Re: bringing chdkde and chdk back together discussion
« Reply #1 on: 04 / February / 2012, 16:03:42 »
I thought about this a bit more overnight.   Merging does not seem possible given the extent of the current differences ?  Its probably easier to look at the different features in one version and add them to the other.  Given the extent of the recent big changes in the dev trunk of CHDK  ( ELF & USB remote in particular ), I think that means adding CHDK-DE changes to the CHDK core ?

To make this "peaceful" if we go that way,  I'd suggest that our default position should be for the CHDK-DE featues that are different than CHDK's to get priority when we decided how to add them ?  For example,  use the CHDK-DE's DOF calculator unless there is a really good reason not to.

Alternatively, one easy thing to do might be having separate "core" directories and keep only the platform & loader directories as common.  That way,  all the platform specific code is shared and common.  I have no idea right now how difficult that would be to do though.

msl mentioned continuing to have a CHDK-DE autobuild so that language information defaulted to German.  In that case,  having seperatly customized make files for CHDK and CHDK-DE would even allow two seperate builds using different source files where necesssary.  Lots of possabilities there I think.

« Last Edit: 04 / February / 2012, 16:05:22 by waterwingz »
Ported :   A1200    SD940   G10    Powershot N    G16

*

Offline philmoz

  • *****
  • 3450
    • Photos
Re: bringing chdkde and chdk back together discussion
« Reply #2 on: 04 / February / 2012, 16:46:48 »
As a starting point I think it is worth aligning the loader and platform directories along with the camera_list.csv contents.

This will ensure that other code has the same information about the cameras for each version.

I think this can be done in a couple of steps:
- align the stubs_entry_2.S and stubs_min.S files, and the signature generation files.
- align all the files where the only difference is white space.
- align the palettes in gui_draw.h and the platform_camera.h files.
- work out what to do with platform/generic/lib.c and then align the lib.c files
- fix up what's left, there are a few where the boot.c/capt_seq.c/movie_rec.c code differs, these will need to be looked at individually.

I've done the first item by merging the CHDK-DE signature generation differences and stubs files into CHDK. It all still builds so I plan to commit this to CHDK SVN soon (unless there are objections).

There are a few stubs_min.S files in CHDK that have sys_mempart_id defined (A460, A530, A540, A550, A560, A570 and IXUS40) - these will need to be merged across to CHDK-DE.

Then I'll start looking at the other changes.

Phil.
« Last Edit: 04 / February / 2012, 16:49:23 by philmoz »
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)
  g5x (1.00c, 1.01a, 1.01b)
  g7x2 (1.01a, 1.01b, 1.10b)

*

Offline msl

  • *****
  • 1280
  • A720 IS, SX220 HS 1.01a
    • CHDK-DE links
Re: bringing chdkde and chdk back together discussion
« Reply #3 on: 04 / February / 2012, 17:44:40 »
Thanks fo all your efforts. That's great.

For a better overview I made a first list of the differences (from the end-user perspective):
  • German as default menu language
  • motion detection - added a face detection feature
  • Version information screen incl. revision nr., changed term: firmware version -> CHDK version in splash screen because CHDK is not a firmware
  • advanced user auto ISO (http://chdk.setepontos.com/index.php?topic=7284.0)
  • video record without time limit for SX220/230
  • displaying name of user curves in curve menu
  • live histogramm option [always] also for play mode
  • status display - displaying also edgeoverlay status & pic quality override in status section
  • different temperature display ('CCD' or 'CMOS' defined in platform_camera.h)
  • DOF calculator with advanced feature based on DOFMaster.com, distance is always measured from the lens and many more.
  • advanced partition features incl. script commands (4 partitions possible)
  • GPS functions (SX230)
  • default menu script is used for automated language switch (depending on the selected camera language)
  • script start via usb remote
  • empty lines before and after uBasic scripts are ignored (prevents script errors)
  • uBasic commands
    • get_focus_mode
    • get_focus_state
    • get_focus_ok
    • get_focal_length
    • get_min_stack_dist
  • Lua commands
    • set_file_attributes("file name", <Attribute>)
    • get_partitionInfo()
    • swap_partition(nr)
    • bi=get_buildinfo() -> bi.build_revision
    • get_curve_state()
    • get_curve_file()
    • set_curve_file("file name")
    • enter_alt()
    • get_dofinfo() -> hyp_valid, focus_valid, aperture, coc, focal_length, eff_focal_length, focus, near, far, dof, hyp_dist, min_stack_dist

msl
« Last Edit: 09 / February / 2012, 06:55:46 by msl »
CHDK-DE:  CHDK-DE links


*

Offline philmoz

  • *****
  • 3450
    • Photos
Re: bringing chdkde and chdk back together discussion
« Reply #4 on: 04 / February / 2012, 17:53:08 »
Question - does anyone know what the second parameter to PostLogicalEventForNotPowerType is?

CHDK has a many calls as:
    _PostLogicalEventForNotPowerType(0x874, 2);
where the equivalent in CHDK-DE is:
    _PostLogicalEventForNotPowerType(0x874, 1);

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)
  g5x (1.00c, 1.01a, 1.01b)
  g7x2 (1.01a, 1.01b, 1.10b)

Re: bringing chdkde and chdk back together discussion
« Reply #5 on: 04 / February / 2012, 17:57:53 »
For a better overview I made a first list of the differences (from the end-user perspective):
I don't see anything on that list that would be objectionable to add or change in CHDK.
Ported :   A1200    SD940   G10    Powershot N    G16

*

Offline msl

  • *****
  • 1280
  • A720 IS, SX220 HS 1.01a
    • CHDK-DE links
Re: bringing chdkde and chdk back together discussion
« Reply #6 on: 04 / February / 2012, 18:20:18 »
Question - does anyone know what the second parameter to PostLogicalEventForNotPowerType is?

CHDK has a many calls as:
    _PostLogicalEventForNotPowerType(0x874, 2);
where the equivalent in CHDK-DE is:
    _PostLogicalEventForNotPowerType(0x874, 1);

Phil.


I think, this is the stepwidth for script command wheel_right & wheel_left. The change was requested by script users. http://trac.assembla.com/chdkde/changeset/566

msl
CHDK-DE:  CHDK-DE links

*

Offline philmoz

  • *****
  • 3450
    • Photos
Re: bringing chdkde and chdk back together discussion
« Reply #7 on: 04 / February / 2012, 18:24:55 »
Question - does anyone know what the second parameter to PostLogicalEventForNotPowerType is?

CHDK has a many calls as:
    _PostLogicalEventForNotPowerType(0x874, 2);
where the equivalent in CHDK-DE is:
    _PostLogicalEventForNotPowerType(0x874, 1);

Phil.


I think, this is the stepwidth for script command wheel_right & wheel_left. The change was requested by script users. http://trac.assembla.com/chdkde/changeset/566

msl

Thanks - I'll merge that across to CHDK.

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)
  g5x (1.00c, 1.01a, 1.01b)
  g7x2 (1.01a, 1.01b, 1.10b)


*

Offline reyalp

  • ******
  • 14080
Re: bringing chdkde and chdk back together discussion
« Reply #8 on: 04 / February / 2012, 18:43:04 »
Thanks - I'll merge that across to CHDK.
I have a vague memory of being requested (or told by ewavr ?) to go the other way (from 1 to 2) on the sd990 port, although I can't seem to find any related posts. If you have a camera with a jogdial, you might want to double check the behavior (you can do it from lua with post_levent_for_npt) From http://chdk.wikia.com/wiki/Lua/Lua_Reference/Levent "For jog dial events, this must is the number of "clicks"."

Don't forget what the H stands for.

*

Offline philmoz

  • *****
  • 3450
    • Photos
Re: bringing chdkde and chdk back together discussion
« Reply #9 on: 04 / February / 2012, 19:35:11 »
Rather than try and re-align the palette numbers in gui_draw.h (and all the platform_camera.h files), I suggest a similar approach to what was done with the camera.h file.

I would write a script to generate a palette.h file in each platform/XXX directory based on the current info in gui_draw.h and platform_camera.h, and update gui_draw.h to include this file.

The script would work in both the CHDK and CHDK-DE code and afterwards we only need to clean up any differences in specific camera palettes.

Any suggestions or problems with this approach?

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)
  g5x (1.00c, 1.01a, 1.01b)
  g7x2 (1.01a, 1.01b, 1.10b)

 

Related Topics