supplierdeeply

changelog of trunk including comments / devtalk

  • 275 Replies
  • 95608 Views
*

Offline PhyrePhoX

  • *****
  • 2254
  • make RAW not WAR
    • PhyreWorX
changelog of trunk including comments / devtalk
« on: 28 / October / 2008, 10:19:15 »
Advertisements
okay, here goes.

link to changelog: /trunk (log) - chdk - Trac

this topic might cover latest changes in svn trunk and leaves room for discussion. these discussions might spin into a lot of directions, there arent a lot of rules in this thread. however this is meant to be devtalk, meaning that this thread is not really a feature request thread, but for people who know how to work with chdk sources and can comment on latest svn commits, be it criticism or any other stuff. if we find subjects that need to be discussed in a broader audience we might seperate that into an extra thread.

*

Offline PhyrePhoX

  • *****
  • 2254
  • make RAW not WAR
    • PhyreWorX
Re: changelog of trunk including comments / devtalk
« Reply #1 on: 28 / October / 2008, 10:26:36 »
i'll go first:

in Changeset 546 - chdk - Trac i did the following:

Quote
* enabled default param save in scripts again, as it *might* have been fixed by reyalp by his previous checkins
* changed spanish lang file
* aligned memory info better in german & english lang file
* moved "make bootable" from debug menu to misc menu, as imo it makes more sense there
* also moved "swap partition" from debug menu to misc (left CREATE partiton in debug though)
* also moved "reset options" from main menu to misc menu
* fixed motion detection bug in the s5is : 0000070: motion detector has defect on S5 IS - CHDK Bugtracker however i dont know if it was a firmware version dependent issue. now motiondetection has lost the "super fast" behaviour if i'm not mistaken. workaround?
+ added 2 example scripts by msl: Lua script - enhanced tv mode for all cams & Lua script for text input - great job!
* added #defs for a few things in camera.h. probably not the right place, can be moved somewhere else i guess

    #define ZOOM_OVERRIDE               0   // Shall zoom-override be used? default 0 becoz not implemented right now
    #define BOOTLOGO                    2   // 0 = no bootdelay at all,1 = version info, 2 = image + version info if set to 1 or 2, one can still disable it in the menu
    #define CURVES                      1   // the curves feature
    #define TEXTREADER                  1   // the text reader
    #define CALENDAR                    1
    #define DEBUGGING                   1   // well: the debugging stuff, should not be disabled in the autobuild imho (maybe just hidden via a menu option)
    #define GAMES                       1   // not done yet
    #define UBASIC                      1   // Shall ubasic be compiled into build? not done yet
    #define LUA                         1   // Shall lua support be compiled into build? not done yet
    #define SYMBOLS                     1   // the symbols / not done yet
    #define LANGUAGEINTERFACE           1   // for people who won't use lang files at all / not done yer


hint: these #defs maybe can be used by the chdk shell?
talk: i guess undeffing some stuff is not enough, as for example curves.c still gets compiled. is this an issue?
talk: originally i wanted to add a new submenu to misc "advanced menus", in this submenu you could enable/disable the curves menu, debug menu & remote parameters menu (simplifies the menu, most people dont use these, so it should be defaulted to OFF) - BUT i failed in dynamically changing the menu, maybe someone else has an idea how to implement 0000041: beginner or advanced user mode - CHDK Bugtracker


i just now realised that my undeffing is a) ineffective and b) in the wrong place

why a)? well, if i undef all this, i dont win as much space as hoped and why b)? because i just now found reyalps way to for example undef sokoban, which seems to be a much better solution and also handles the linking (or the NOT-linking and compiling stuff i undeffed), via "ifdefs" in makefile.inc. shouldnt be too big of an issue to search/replace all my "#if DEBUGGING" with "#ifdef DEBUGGING" (for example), or should it? any thoughts?

about the menu changes: any objections? i like it better the way it is now, somehow.

motion detection bug on s5is: i think this bug only happens on 101.a, needs discussion as well.

edit: changed the log a bit, because i forgot to include further "undefs" in camera.h to the changelog of svn.

*

Offline whim

  • ******
  • 2013
  • A495/590/620/630 ixus70/115/220/230/300/870 S95
Re: changelog of trunk including comments / devtalk
« Reply #2 on: 28 / October / 2008, 15:52:56 »
- I think moving make boot / swap partitions was long overdue, i'd vote for putting create there too.
- i also agree reyalp method is better - the deeper in the tree your
   modified/modifiable stuff, the harder it gets to maintain.
   ( of course i fully admit i might be biased: it's much easier
      to parse if all you've got to do is look for "OPT_" )

just my 2c

wim

*

Offline PhyrePhoX

  • *****
  • 2254
  • make RAW not WAR
    • PhyreWorX
Re: changelog of trunk including comments / devtalk
« Reply #3 on: 28 / October / 2008, 16:49:57 »
i will experiment with the "undeffing" stuff, we will see. however undeffing ubasic/lua should be done by someone more experienced like reyalp, as for example with ubasic there are lots of things to tap into.

create partition into misc? well, technically it is no "debug" function, however it imo is a function that users may accidentially execute and mess things up, no? whereas swap & make bootable has virtually no effect on any data. tbh i dont really know what "create partition" does, at least not now.


*

Offline reyalp

  • ******
  • 10966
Re: changelog of trunk including comments / devtalk
« Reply #4 on: 29 / October / 2008, 00:44:59 »
Well, I'm biased too, but I'd rather have all the compile time optional stuff done more like I did the lua libs and games.

However, with a large number of options, we should probably generate a header file rather than putting all the defines in the command line. We should also move all the options to their own file, i.e. buildconf.inc
This will make things clearer, easier to maintain, easier for whim to parse, and make generating the header simpler too.

I would also say we don't need to get too carried away with  compile time options (the level of detail for the boot logo strikes me as more trouble than it's worth). There's a valid argument to make something optional if:
- It is a broken/dangerous/experimental feature.
or
- It takes up a lot of memory and either doesn't add functionality, or is only needed by a few users.

Stuff that doesn't meet these criteria should just be runtime conf options IMO, with a warning if needed. You should also consider the cost of littering the code with even more #ifdefs, and having dozens of different possible variants of a given version.

There are better long term solutions to modularity, so spending a lot of time making every feature optional doesn't seem like a good investment. Just go for the big ones (ubasic/lua are probably the major ones left)

The games are already optional BTW, just comment out
OPT_GAME_REVERSI=1
OPT_GAME_SOKOBAN=1
in makefile.inc
It leaves the (empty) games menu behind, but that's a minor detail.

If you are going to make components like the text file reader optional, you should probably also avoid build/linking the .o files.
Don't forget what the H stands for.

*

Offline reyalp

  • ******
  • 10966
Re: changelog of trunk including comments / devtalk
« Reply #5 on: 30 / October / 2008, 23:16:45 »
In build 550, I've made the raw hook functions generic (platform/generic/capt_seq.c), and preserved their registers with
Code: [Select]
STMFD   SP!, {R0-R12,LR} on all platforms.

Note that ixus40_sd300 doesn't use this, as it's function was a bit different.

This may fix raw related issues on some cameras. In any case, it makes future changes much easier.

I don't think I messed anything up, but with so many files to change, it's quite possible ;)
Don't forget what the H stands for.

*

Offline PhyrePhoX

  • *****
  • 2254
  • make RAW not WAR
    • PhyreWorX
Re: changelog of trunk including comments / devtalk
« Reply #6 on: 31 / October / 2008, 09:57:58 »
wow, huge change. massive loss of Lines of code, messes up the statistics of Ohloh in my sig ;)
nice.
about the OPT_ stuff - will maybe do it this weekend.

*

Offline PhyrePhoX

  • *****
  • 2254
  • make RAW not WAR
    • PhyreWorX
Re: changelog of trunk including comments / devtalk
« Reply #7 on: 05 / November / 2008, 18:42:39 »
didnt really feel like messing with the opt_ stuff, so i fixed some issues @ the bugtracker and the like:

Quote
* updated spanish lang file - 0000084: New Version of Spanish.lng - CHDK Bugtracker
* added & updated fonts - 0000085: RBF Fonts Win1252 for Spanish Language - CHDK Bugtracker (note: there are a lot of fonts now, maybe we need to discuss and vote if need them all, also licenses need to be checked)
* small bugfix, "Show Screne luminance" Does not get computed when enabled alone, see 0000082: "Show Screne luminance" Does not get computed when enabled alone - CHDK Bugtracker
* changed menu structure (moved debug menu to misc menu, switched some entries in the main menu - now imo most used features are on the top, comments welcome!)
+ added feature: in bracketing mode you now have the option to add a suffix to the raw filename, so that later you can easily identifiy the raws that were created during bracketing. it is disabled at default, and can be enabled in the bracketing submenu (or should it be moved to the raw submenu?). idea & patch by rr807 in the german forum, see CHDK-Forum :: Thema anzeigen - Suche Mitstreiter, die das CHDK verbessern/erweitern wollen & 0000086: renaming of raws & jpgs in bracketing mode - CHDK Bugtracker. btw if you enable this, it is likely that your raw files cant be seen by the PC anymore when you connect your cam via usb cable to it, so use your cardreader (also note that dng4-ps will not find the corresponding jpgs!)
+ added compiler info to buildinfo (changed all lang files accordingly). shows the compiler version - found in PlasmaHHs diff @ http://plasmahh.projectiwear.org/chdk.html (rest will follow soon, need PlasmaHHs help though)
+ added option to show temperature in fahrenheit (up to now it was coupled with time format) [url]http://chdk.kernreaktor.org/mantis/view.php?id=34[/url%]

fonts: i dont know if we are allowed to use all these, imo a few of them are by microsoft. thoughts?
menu structure: i think its better that i moved debugging to misc, now you can easily jump to misc by pressing UP when ur in the root menu.
the bracketing raw suffix feature: useful for people who often use bracketing in conjunction with raw files. they can easily identify the raws now. maybe we can find out how to rename jpgs as well


*

Offline ewavr

  • ****
  • 1057
  • A710IS
Re: changelog of trunk including comments / devtalk
« Reply #8 on: 05 / November / 2008, 19:13:41 »
BTW, assembla started new browser for looking at source code and changesets. For example - http://code.assembla.com/chdk/subversion/changesets/551.

*

Offline PhyrePhoX

  • *****
  • 2254
  • make RAW not WAR
    • PhyreWorX
Re: changelog of trunk including comments / devtalk
« Reply #9 on: 05 / November / 2008, 19:26:16 »
yeah, it is in alpha stage, and though it does look nice, it doesnt show the committ message in the proper way (ignores my line-endings), see at the top of the page.
also it renders much slower than the default trac view (serverside, client side, dont know yet)

 

Related Topics