changelog of trunk including comments / devtalk

  • 275 Replies
  • 46907 Views
*

Offline fe50

  • ******
  • 3034
  • IXUS50 & 860, SX10 Star WARs-Star RAWs
    • fe50
  • Publish
    Re: changelog of trunk including comments / devtalk
    « Reply #100 on: 30 / August / 2011, 02:03:24 »
    Advertisements
    In changeset 1306 I've added support for accessing arbitrary sized propcases from lua.
    Added to the wikia documentation: http://chdk.wikia.com/wiki/Lua/Lua_Reference#get_prop_str_.2F_set_prop_str_.2F_binstr

    *

    Offline reyalp

    • ******
    • 9957
  • Publish
    Re: changelog of trunk including comments / devtalk
    « Reply #101 on: 13 / October / 2011, 00:52:03 »
    I guess maybe this falls under "devtalk". It is highly unlikely I will be able to spend any time on CHDK until the after the first week of November or so.
    Don't forget what the H stands for.

  • Publish
    Re: changelog of trunk including comments / devtalk
    « Reply #102 on: 13 / October / 2011, 17:39:32 »
    I guess maybe this falls under "devtalk". It is highly unlikely I will be able to spend any time on CHDK until the after the first week of November or so.
    Wow - whatever you are doing must really be keeping you busy.  Let us know how long the withdrawal symptoms last ?

    *

    Offline reyalp

    • ******
    • 9957
  • Publish
    Re: changelog of trunk including comments / devtalk
    « Reply #103 on: 24 / November / 2011, 02:06:22 »
    Changeset 1427 add script control of ubasic scheduling, based on code by tsvstar in  http://chdk.setepontos.com/index.php?topic=7060.msg75631#msg75631

    Documentation here:
    http://chdk.wikia.com/wiki/Script_commands#set_yield_lines_and_set_yield_ms

    I will add equivalent control for Lua later.
    Don't forget what the H stands for.


    *

    Offline reyalp

    • ******
    • 9957
  • Publish
    Re: changelog of trunk including comments / devtalk
    « Reply #104 on: 26 / November / 2011, 21:40:04 »
    In changsets 1433 and 1434 I've added script scheduling control for lua, and changed the syntax for ubasic. The new ubasic syntax is incompatible with the revisions between 1427 and 1434.
    Wiki documentation is updated to cover both: http://chdk.wikia.com/wiki/Script_commands#set_yield

    New test scripts attached.
    Don't forget what the H stands for.

    *

    Offline philmoz

    • *****
    • 2936
      • Photos
  • Publish
    Re: changelog of trunk including comments / devtalk
    « Reply #105 on: 15 / January / 2012, 04:47:34 »
    Changeset 1561 adds support for cameras that allow the subject distance override value to be > 65535. These cameras also use an infinity value of 0xFFFFFFFF (-1) rather than 0xFFFF (65535).

    The previous CHDK code assumed the SD value was 16 bits and would limit the value being sent to a max of 65535. It also sent 65535 as the infinity value.

    This change allows the limit to be overridden in platform_camera.h for each camera - the default unless overridden stays at 65535. The infinity value is now sent as 0xFFFFFFFF, for cameras that only expect a 16 bit value this should not change the behaviour.

    Also added a MIN_DIST value which defaults to 0; but can also be overridden. This is used in the menu U/I to set the lowest value that can be selected.

    Lastly the change includes an update to the menu U/I for SD override to increase the number of 'value factor' values for changing larger values. This also adds a special case 'Infinity' override that forces the camera to set the SD to infinity.

    Implemented for G12, SX30, SX40 and IXUS310.

    To see if other cameras need this do the following.
    1. Override the CAMERA_MAX_DIST value in platform_camera.h to a very large value, e.g 1000000000 (this is required for the attached script). Rebuild CHDK and load on the camera.
    2. Run the attached Lua script on the camera, which will display the min and max SD values on the camera screen.

    Note, the script may return different values for 'max' when run on some cameras. It should be run 4-5 times and the largest value used.

    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 reyalp

    • ******
    • 9957
  • Publish
    Re: changelog of trunk including comments / devtalk
    « Reply #106 on: 10 / June / 2012, 00:28:11 »
    Some minor build system improvements in trunk 1898-1899 and 1902-1904
    1) batch-print-missing-dumps. This checks that each firmware in the camera list has a non-zero sized primary.bin, so you don't have to wait for a whole batch build to find out.
    2) batch builds clean and make tools once each for vxworks and dryos, instead of once per firmware. See SKIP_TOOLS variable.
    3) camera_list.csv can now be overridden by setting CAMERA_LIST on the command line or your buildconf.inc. You can make these by hand, cutting/pasting out of the default list. This might be useful if you own several cameras, or want to produce zips for all the subs of a given model. Or...
    4) os-camera-lists target, generates camera_list_dryos.csv and camera_list_vxworks.csv, which you can then use in with #3. This is useful if you want to regenerate stubs for one platform only. Note that the generated list will not include cameras with skip_autobuild set in the input CAMERA_LIST.

    #3 and #4 could probably be automated further, but I'm not sure it's worth the trouble.

    The same approach used in SKIP_TOOLS could theoretically be applied to modules, but the modules sources would need a careful audit to make sure they are 100% platform independent. There are currently some things that will differ (sodoku for example references CAM_HAS_ERASE_BUTTON).

    It would be good to ensure that platform specific #defines are not available in module code. Adding a define that is set when building a module and using that to exclude camera.h and the propcase.h files from platform.h would be a start, but #ifdefs will just see undefined rather than generating an error. There are also some other #ifdefs floating around in platform.h, and probably some other includes.
    Don't forget what the H stands for.

    *

    Offline philmoz

    • *****
    • 2936
      • Photos
  • Publish
    Re: changelog of trunk including comments / devtalk
    « Reply #107 on: 10 / June / 2012, 04:35:46 »
    Some minor build system improvements in trunk 1898-1899 and 1902-1904
    ...

    Nice work.

    One small issue.

    I do all my experimenting and dev work in a separate source folder (not linked to SVN).
    In the loader and platform folders I only have the directories and code for my cameras to avoid all the clutter.

    Since I don't have the A610 and A720 folders the new batch builds fail.

    (If I create the directory structure and just copy the two makefile.inc files it works.)

    Edit - the following change to the root makefile gets around the problem - you get a few warnings from make if the a610 and a720 directories don't exist; but it all builds ok.
    Code: [Select]
    alltools:
    $(MAKE) -C tools PLATFORM=a610 PLATFORMSUB=100e PLATFORMOS=vxworks clean all
    $(MAKE) -C tools PLATFORM=a720 PLATFORMSUB=100c PLATFORMOS=dryos clean all

    Phil.
    « Last Edit: 10 / June / 2012, 06:04:16 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)


    *

    Offline reyalp

    • ******
    • 9957
  • Publish
    Re: changelog of trunk including comments / devtalk
    « Reply #108 on: 10 / June / 2012, 15:20:06 »
    One small issue.

    I do all my experimenting and dev work in a separate source folder (not linked to SVN).
    In the loader and platform folders I only have the directories and code for my cameras to avoid all the clutter.

    Since I don't have the A610 and A720 folders the new batch builds fail.

    (If I create the directory structure and just copy the two makefile.inc files it works.)

    Edit - the following change to the root makefile gets around the problem - you get a few warnings from make if the a610 and a720 directories don't exist; but it all builds ok.
    Code: [Select]
    alltools:
    $(MAKE) -C tools PLATFORM=a610 PLATFORMSUB=100e PLATFORMOS=vxworks clean all
    $(MAKE) -C tools PLATFORM=a720 PLATFORMSUB=100c PLATFORMOS=dryos clean all

    Phil.

    Hmm, I chose those two because they were the first vxworks and dryos reference ports. Really we just need to say dryos and vxworks (as you have) but I wasn't sure what else needed to get picked up through the nest of includes.

    I would say if you choose to work in an incomplete source tree, it's up to you work around it ;)
    Don't forget what the H stands for.

    *

    Offline philmoz

    • *****
    • 2936
      • Photos
  • Publish
    Re: changelog of trunk including comments / devtalk
    « Reply #109 on: 10 / June / 2012, 18:18:12 »
    I would say if you choose to work in an incomplete source tree, it's up to you work around it ;)

    Minimal not incomplete - faster to search, backup and find stuff in loader/platform. It's just how I prefer to do things and I'd rather have as few workarounds as possible.

    AFAIK the tools build does not require PLATFORM or PLATFORMSUB to be defined. There are no dependencies on these in any of the tools.

    The problem can be removed along with the warning messages with these changes.
    Makefile:
    Code: [Select]
    alltools:
    $(MAKE) -C tools PLATFORMOS=vxworks clean all
    $(MAKE) -C tools PLATFORMOS=dryos clean all

    makefile.inc
    Code: [Select]
    all-recursive:
    ifndef SKIPBUILDRULES
    ifndef PLATFORM
    $(error PLATFORM has not been defined. Specify the PLATFORM to build on the command line or in localbuildconf.inc)
    endif
    ifndef PLATFORMSUB
    $(error PLATFORMSUB has not been defined. Specify the PLATFORMSUB to build on the command line or in localbuildconf.inc)
    endif
    endif
        ...

    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)

     

    Related Topics