1.5 development planning thread - General Discussion and Assistance - CHDK Forum  

1.5 development planning thread

  • 89 Replies
  • 42151 Views
*

Offline reyalp

  • ******
  • 14080
1.5 development planning thread
« on: 05 / December / 2015, 17:26:10 »
Advertisements
This thread should be used to collect development plans for the 1.5 release. As usual, I don't expect everything discussed here to actually make it into the release.

Anything that needs more than a few posts of discussion should go in a separate thread, but I can split if needed.

Overall, I think 1.4 went pretty well. One thing that I'd like to improve is getting trunk features "finished" sooner after the basic implementation is done. In 1.4, things like LFN support were basically done early in the cycle, but had loose ends that didn't get addressed until the very end. I'd like to aim for a slightly shorter release cycle (maybe ~6 months), but getting stuff right is a higher priority.

Some existing items
* Diskboot compatibility check http://chdk.setepontos.com/index.php?topic=10561.0
* Digic 6 PTP live view. Some discussion + code in http://chdk.setepontos.com/index.php?topic=6231.msg125008#msg125008
* Camera console access http://chdk.setepontos.com/index.php?topic=11029.0
* disable display off/sleep in ptp http://chdk.setepontos.com/index.php?topic=11145.0
* Error checking for script params http://chdk.setepontos.com/index.php?topic=12121.0

Some other stuff on my list
* Generally get D6 ports auto-build worthy, improve development support.
* Make script LED code portable: i.e., a way to reference the AF Led, or the ports defined debug LED etc, allow script to know which LEDs are available.
* Allow script to know what keys are physically present
* Allow script to generate CHDK keyboard inputs or otherwise manipulate CHDK UI, to allow control over PTP
* Clean up shortcut code, allow users to assign keys to shortcuts
* Additional types for script parameters: Ev steps, Av and ISO that respect actual camera ranges, Tv inputs like the exposure override menu, file selection.
* Make ND value available to script.
* Make factory Av and ISO ranges easily available to script.
* Binned raw buffer support. Mostly for rawop, but might as well support saving too http://chdk.setepontos.com/index.php?topic=10648.10
* Make more of the touchscreen code generic
* Support flt modules for Lua (meaning modules that import the Lua API from the Lua module)

There's probably some other stuff we didn't get to in the earlier threads
* 1.4 http://chdk.setepontos.com/index.php?topic=12133.0
* 1.3 http://chdk.setepontos.com/index.php?topic=10459.0
Don't forget what the H stands for.

Re: 1.5 development planning thread
« Reply #1 on: 05 / December / 2015, 17:32:56 »
Overall, I think 1.4 went pretty well.
Yup - well done! And thanks.

Quote
I'd like to aim for a slightly shorter release cycle (maybe ~6 months), but getting stuff right is a higher priority.
I read this 6 month note and said "Yah!".  Then I read the list of things that might be included and mumbled to myself "Probably not".  Is there a way to prioritize this list that might work?  ( .. aside from what someone actually agrees to work on ...)
Ported :   A1200    SD940   G10    Powershot N    G16

*

Offline reyalp

  • ******
  • 14080
Re: 1.5 development planning thread
« Reply #2 on: 05 / December / 2015, 18:08:31 »
I read this 6 month note and said "Yah!".  Then I read the list of things that might be included and mumbled to myself "Probably not". 
FWIW, my list is just a list of some things I'd like to have done someday. I certainly don't expect to do all of it for 1.5.

Quote
Is there a way to prioritize this list that might work?  ( .. aside from what someone actually agrees to work on ...)
I don't know, it's always going to mostly depend on what people actually decide to work on and how much time they have.

For me, timing of a release basically depends on having whatever was implemented in a reasonably finished state. I wouldn't like to do them too often, or with too little change from the previous release, because there's a fixed overhead of project management stuff that I don't enjoy.
Don't forget what the H stands for.

Re: 1.5 development planning thread
« Reply #3 on: 05 / December / 2015, 18:14:39 »
I don't know, it's always going to mostly depend on what people actually decide to work on and how much time they have.
As usual.  And that's pretty much how it should be.

Quote
For me, timing of a release basically depends on having whatever was implemented in a reasonably finished state. I wouldn't like to do them too often, or with too little change from the previous release, because there's a fixed overhead of project management stuff that I don't enjoy.
Understood and agreed.  That's why there is an "unstable" version .. which for the most part is not very unstable anyway.  Thanks for being fussy about that too.

From my perspective,  the single biggest thing 1.4 brought was precompiled Lua on load (for want of a better technical term).  No more loader for large scripts (with props to Rudi for having created it in the first place).  That's a really big step for CHDK IMHO - worth the bump all by itself.


Ported :   A1200    SD940   G10    Powershot N    G16


*

Offline msl

  • *****
  • 1280
  • A720 IS, SX220 HS 1.01a
    • CHDK-DE links
Re: 1.5 development planning thread
« Reply #4 on: 06 / December / 2015, 03:52:37 »
These proposed plans are all very important. The release time is ok for me. When it's done, it's done.

For the daily use of CHDK I wish more features without writing scripts or using PTP.

Here is a first proposal for turning the CHDK OSD (180 degrees) via the CHDK menu. This is useful for certain camera positions on the tripod or in a multi camera system.

msl
CHDK-DE:  CHDK-DE links

*

Offline philmoz

  • *****
  • 3450
    • Photos
Re: 1.5 development planning thread
« Reply #5 on: 06 / December / 2015, 04:47:56 »
These proposed plans are all very important. The release time is ok for me. When it's done, it's done.

For the daily use of CHDK I wish more features without writing scripts or using PTP.

Here is a first proposal for turning the CHDK OSD (180 degrees) via the CHDK menu. This is useful for certain camera positions on the tripod or in a multi camera system.

msl

Nice idea; but might have a performance hit on older/slower cameras.

A couple of suggestions.

1. There are some gaps in the language files, you can save adding a new entry by reusing one of the old values. Current gaps are 89 101 252 254 274 351 381 399 400 412 413 414 420.

2. A more complex; but possibly faster method is to adjust the offset in final 'draw_pixel_proc' function.
Calculating:
    rotated_offset = (camera_screen.height - 1) * camera_screen.buffer_width + ASPECT_XCORRECTION(camera_screen.width - 1) - offset;
gives the equivalent address to adjusting x & y before calculating offset.
In draw_set_draw_proc, if conf.rotate_osd is true then set draw_pixel_proc to a new function that calculates rotated_offset and passes it to the original draw_pixel function. If conf.rotate_osd is not set, the draw_pixel_proc is set to the draw function as it currently is. The '(camera_screen.height - 1) * camera_screen.buffer_width + ASPECT_XCORRECTION(camera_screen.width - 1)' is a constant that can be pre-calculated.
This would also require a copy of the 'draw_pixel_proc' function pointer, and also would require updating 'draw_pixel_proc' when the value of conf.rotate_osd changes. The advantage is there is no performance hit when the OSD is not rotated.

3. Currently breaks edge overlay. The edge overlay should not be rotated; but it uses the same draw functions as the OSD. Not sure how to handle this cleanly.

I've added a modified patch based on my notes above - it still has the edge overlay issue though.

Phil.
« Last Edit: 06 / December / 2015, 17:35:05 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 srsa_4c

  • ******
  • 4451
Re: 1.5 development planning thread
« Reply #6 on: 06 / December / 2015, 19:07:41 »
This Mac-related issue is another candidate for some development - we should somehow hide those dot files - perhaps conditionally?

Nice idea; but might have a performance hit on older/slower cameras.
Didn't check the patches in detail but this might break on the hackish pixel drawing currently used on DIGIC6. Just mentioning, those routines are subject to change.
« Last Edit: 06 / December / 2015, 19:11:59 by srsa_4c »

*

Offline msl

  • *****
  • 1280
  • A720 IS, SX220 HS 1.01a
    • CHDK-DE links
Re: 1.5 development planning thread
« Reply #7 on: 07 / December / 2015, 06:00:49 »
I've added a modified patch based on my notes above - it still has the edge overlay issue though.
Thanks for the reworked patch, works fine except the edge overlay.

Edge overlay is generally a little bit buggy. Also the filter does not work and with the ratio 3:2 the overlay is not complete (SX220).

Perhaps we need a text file as a reminder for the gaps in the language file system, which makes updates for other language easier.

I do not know if it makes sense also to swap the keys left/right and up/down when we rotate the OSD?

msl
CHDK-DE:  CHDK-DE links


*

Offline philmoz

  • *****
  • 3450
    • Photos
Re: 1.5 development planning thread
« Reply #8 on: 07 / December / 2015, 19:27:21 »
I've added a modified patch based on my notes above - it still has the edge overlay issue though.
Thanks for the reworked patch, works fine except the edge overlay.

Edge overlay is generally a little bit buggy. Also the filter does not work and with the ratio 3:2 the overlay is not complete (SX220).

Perhaps we need a text file as a reminder for the gaps in the language file system, which makes updates for other language easier.

I do not know if it makes sense also to swap the keys left/right and up/down when we rotate the OSD?

msl

V3 patch should fix edge overlay rotation (not sure about the other SX220 issues, I don't see these on my cameras).

Changing the button orientation is probably a good idea; but might be more complex.

srsa_4: I haven't looked at the current D6 pixel draw code (still trying to track down the buffer switching on the G5X).

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 msl

  • *****
  • 1280
  • A720 IS, SX220 HS 1.01a
    • CHDK-DE links
Re: 1.5 development planning thread
« Reply #9 on: 08 / December / 2015, 08:07:03 »
V3 patch should fix edge overlay rotation (not sure about the other SX220 issues, I don't see these on my cameras).
Thanks, works perfectly.

I found a wrong value for the 3:2 ratio in the SX220/230 code - see rev. 4308. This problem is resolved.

msl
CHDK-DE:  CHDK-DE links

 

Related Topics