SX200is Porting - page 37 - DryOS Development - CHDK Forum

SX200is Porting

  • 1105 Replies
  • 575958 Views
Re: SX200is Porting
« Reply #360 on: 20 / September / 2009, 15:19:53 »
Advertisements
Hallo OldGit and all other People.

We need Help!

If any senior Devs are watching, can one of you give us your thoughts please ?.

Smartkiller
SX200 IS Firm. 100c
SX1 IS Firm. 201a

*

Offline ihar

  • **
  • 55
Re: SX200is Porting
« Reply #361 on: 20 / September / 2009, 16:20:26 »
Hello,
smartkiller it was right apropos "drive mode", only there is one discrepancy, in this property the condition of serial shooting instead of the timer is displayed for "digic4" only. In the tokim image having studied a question I has made some editings which solve a problem with Bracketing

in "platform/generic/shooting.c" find:
Code: [Select]
short shooting_get_drive_mode()
and insert into this function after "short m;" and before "_GetPropertyCase(PROPCASE_DRIVE_MODE, &m, sizeof(m));" next code:
Code: [Select]
#if defined (CAMERA_sx200is)
short n;
_GetPropertyCase(PROPCASE_DRIVE_TIMER_MODE, &n, sizeof(n));
if(n==3){
return n;
}
#endif

In file "camera.h" find "#elif defined (CAMERA_sx200is)" and insert more:
Code: [Select]
#define PROPCASE_DRIVE_TIMER_MODE 223
After that Bracketing will earn normally!

Ihar
« Last Edit: 20 / September / 2009, 17:20:43 by ihar »

Re: SX200is Porting
« Reply #362 on: 20 / September / 2009, 16:39:43 »
Hello,
smartkiller it was right apropos "drive mode", only there is one discrepancy, in this property the condition of serial shooting instead of the timer is displayed for "digic4" only. In the tokim image having studied a question I has made some editings which solve a problem with Bracketing

in "platform/generic/shooting.c" find:
Quote
short shooting_get_drive_mode()

and insert into this function after "short m;" and before "_GetPropertyCase(PROPCASE_DRIVE_MODE, &m, sizeof(m));" next code:
Quote
#elif defined (CAMERA_sx200is)
   short n;
   _GetPropertyCase(PROPCASE_DRIVE_TIMER_MODE, &n, sizeof(n));
   if(n==3){
      return n;
   }
#endif

In file "camera.h" find "#elif defined (CAMERA_sx200is)" and insert more:
Quote
#define PROPCASE_DRIVE_TIMER_MODE               223

After that Bracketing will earn normally!

Ihar

OK thanks i have made this changes and will Compile and Test it.
But your code has an Syntax error it must be:

Code: [Select]
  #if defined (CAMERA_sx200is)
   short n;
   _GetPropertyCase(PROPCASE_DRIVE_TIMER_MODE, &n, sizeof(n));
   if(n==3){
      return n;
   }
#endif

Smartkiller
« Last Edit: 20 / September / 2009, 16:46:33 by smartkiller »
SX200 IS Firm. 100c
SX1 IS Firm. 201a

Re: SX200is Porting
« Reply #363 on: 20 / September / 2009, 16:56:11 »
The changes from Ihar are OK. Custom Timer for Bracketing now in Funktion.
But it saves Raw! I have in the Raw Exeptions Menu: Disable Raw@Timer and Disable Raw@EV Bracketing turned on!

Smartkiller
SX200 IS Firm. 100c
SX1 IS Firm. 201a

*

Offline reyalp

  • ******
  • 14128
Re: SX200is Porting
« Reply #364 on: 20 / September / 2009, 17:42:54 »
If any senior Devs are watching, can one of you give us your thoughts please ?.
I think you don't need to yell at us.

I haven't been following the changes closely. Since I'm the person who will probably have to merge this, I suggest making the minimum necessary changes to the core. Get the basics working and and not crashing and let me merge that. If a few things are broken or ugly that's fine, you can submit patches to fix those later.

Don't forget what the H stands for.

*

Offline ihar

  • **
  • 55
Re: SX200is Porting
« Reply #365 on: 20 / September / 2009, 17:51:33 »
The changes from Ihar are OK. Custom Timer for Bracketing now in Funktion.
But it saves Raw! I have in the Raw Exeptions Menu: Disable Raw@Timer and Disable Raw@EV Bracketing turned on!

Smartkiller

I'm sorry
in file row.c find
Code: [Select]
if (conf.save_raw && (!(shooting_get_prop(PROPCASE_RESOLUTION)==5)) && (!((movie_status > 1) && conf.save_raw_in_video   )) && (!((m==MODE_SPORTS) && conf.save_raw_in_sports)) && (!((m==MODE_AUTO) && conf.save_raw_in_auto)) && (!(conf.edge_overlay_enable && conf.save_raw_in_edgeoverlay)) && (!((shooting_get_prop(PROPCASE_DRIVE_MODE)==1) && conf.save_raw_in_burst && !(m==MODE_SPORTS))) && (!((shooting_get_prop(PROPCASE_DRIVE_MODE)>=2) && conf.save_raw_in_timer)) && (!((shooting_get_prop(PROPCASE_BRACKET_MODE)==1) && conf.save_raw_in_ev_bracketing)) ) {

an change to
Code: [Select]
#if defined (CAMERA_sx200is)
     if (conf.save_raw && (!(shooting_get_prop(PROPCASE_RESOLUTION)==5)) && (!((movie_status > 1) && conf.save_raw_in_video   )) && (!((m==MODE_SPORTS) && conf.save_raw_in_sports)) && (!((m==MODE_AUTO) && conf.save_raw_in_auto)) && (!(conf.edge_overlay_enable && conf.save_raw_in_edgeoverlay)) && (!((shooting_get_drive_mode()==1) && conf.save_raw_in_burst && !(m==MODE_SPORTS))) && (!((shooting_get_drive_mode()>=2) && conf.save_raw_in_timer)) && (!((shooting_get_drive_mode()==1) && conf.save_raw_in_ev_bracketing)) ) {
    #else
if (conf.save_raw && (!(shooting_get_prop(PROPCASE_RESOLUTION)==5)) && (!((movie_status > 1) && conf.save_raw_in_video   )) && (!((m==MODE_SPORTS) && conf.save_raw_in_sports)) && (!((m==MODE_AUTO) && conf.save_raw_in_auto)) && (!(conf.edge_overlay_enable && conf.save_raw_in_edgeoverlay)) && (!((shooting_get_prop(PROPCASE_DRIVE_MODE)==1) && conf.save_raw_in_burst && !(m==MODE_SPORTS))) && (!((shooting_get_prop(PROPCASE_DRIVE_MODE)>=2) && conf.save_raw_in_timer)) && (!((shooting_get_prop(PROPCASE_BRACKET_MODE)==1) && conf.save_raw_in_ev_bracketing)) ) {
#endif


find this code:
Code: [Select]
if(br_counter && conf.bracketing_add_raw_suffix && (shooting_get_prop(PROPCASE_DRIVE_MODE)!=0))

and change to
Code: [Select]
#if defined (CAMERA_sx200is)
if(br_counter && conf.bracketing_add_raw_suffix && (shooting_get_drive_mode()!=0))
#else
        if(br_counter && conf.bracketing_add_raw_suffix && (shooting_get_prop(PROPCASE_DRIVE_MODE)!=0))
#endif

and testing .... :)


Ihar

*

Offline reyalp

  • ******
  • 14128
Re: SX200is Porting
« Reply #366 on: 20 / September / 2009, 17:53:29 »
why not just shooting_get_drive_mode() instead of littering the code with camera specific ifdefs  >:(
Don't forget what the H stands for.

*

Offline ihar

  • **
  • 55
Re: SX200is Porting
« Reply #367 on: 20 / September / 2009, 18:00:37 »
why not just shooting_get_drive_mode() instead of littering the code with camera specific ifdefs  >:(

Excuse, it for illustration purposes only, is still to steam of similar changes, simply it would be desirable to keep also an initial code for the further discussion.

*

Offline ihar

  • **
  • 55
Re: SX200is Porting
« Reply #368 on: 20 / September / 2009, 18:04:43 »
I only for that what function shooting_get_drive_mode () was used on all code. So is more correct also than last editing to me it would be not necessary to do

Ihar

Re: SX200is Porting
« Reply #369 on: 20 / September / 2009, 18:15:07 »
What must we doing with shooting_get_drive_mode () ?

What are the things that are not tasted for a clean porting?

Is the only thing the camera.h and the Platform Folder SX200 that we can make changes ?

Smartkiller
SX200 IS Firm. 100c
SX1 IS Firm. 201a

 

Related Topics


SimplePortal © 2008-2014, SimplePortal