SD30/IXUS iZoom porting... - page 3 - DryOS Development - CHDK Forum

SD30/IXUS iZoom porting...

  • 37 Replies
  • 21652 Views
*

Offline fe50

  • ******
  • 3152
  • IXUS50 & 860, SX10 Star WARs-Star RAWs
    • fe50
Re: SD30/IXUS iZoom porting...
« Reply #20 on: 25 / February / 2012, 07:30:57 »
Advertisements
...the software although ported for firmware version G also seems to work (so far without any issues) on version F firmware.

Thanks for the info, i've added a note to the SD30 wikia page
* http://chdk.wikia.com/wiki/SD30

Re: SD30/IXUS iZoom porting...
« Reply #21 on: 02 / April / 2012, 06:04:32 »
Hi,

I have an old Ixus iZoom firmware ver 1.00H, having stumbled across CHDK I would really like to be able to get the motion detection facility working on my camera.

Having I read that the build for ver 1.00G worked OK on a 1.00F camera, I have tried to install it on mine... It didn't install - I just got a permanent blue LED. I got bored after waiting 2 or 3 minutes (How long should it take to install?) and pulled the battery. Camera till works, so no harm done.

So, my questions are -

Is it possible to downgrade the firmware from 1.00H to G or F?

If so, can someone point me at instructions for re-flashing the firmware. I have managed to find a copy of 1.00F, but not found 1.00G yet.

Thanks

Re: SD30/IXUS iZoom porting...
« Reply #22 on: 02 / April / 2012, 08:17:46 »
Is it possible to downgrade the firmware from 1.00H to G or F?
Basically, no.  Firmware changes only come for Canon and they are few and far between.  And they never go backwards to an earlier version even when they exist.
Ported :   A1200    SD940   G10    Powershot N    G16

Re: SD30/IXUS iZoom porting...
« Reply #23 on: 07 / April / 2012, 23:37:52 »
Is it possible to downgrade the firmware from 1.00H to G or F?
No - this totally blew me away when I found out a while back when I first found this forum, but no, you generally cannot change the firmware on your camera.

The somewhat good news is that it is generally easier to make a version of CHDK that works on your camera's firmware version when there is already one out for another firmware version of your same camera.

The first step is to get a firmware dump for your camera.  Follow the guide here: http://chdk.wikia.com/wiki/Obtaining_a_firmware_dump

Once you have it, attach it to a post in this thread or upload it somewhere like www.box.com so that we can add it to the collection of firmware dumps at http://www.box.com/chdk .

*

Offline lapser

  • *****
  • 1093
Re: SD30/IXUS iZoom porting...
« Reply #24 on: 11 / October / 2013, 17:22:47 »
I'm trying to compile all the cameras with CHDK shell, and the ixusizoom_SD30 stops the process with an error because CAM_ACTIVE_AREA_X1 is undefined. Would it be possible to add these cropping definitions, assuming they are correct? They are taken from a camera with the same sensor dimensions as the SD30. That is,
    #define CAM_RAW_ROWPIX                  2672    // for 5 MP
    #define CAM_RAW_ROWS                    1968    // for 5 MP

    // cropping
    #define CAM_JPEG_WIDTH                  2592
    #define CAM_JPEG_HEIGHT                 1944
    #define CAM_ACTIVE_AREA_X1              14
    #define CAM_ACTIVE_AREA_Y1              10
    #define CAM_ACTIVE_AREA_X2              2626
    #define CAM_ACTIVE_AREA_Y2              1966

This is the entire ixusizoom_sd30/platform_camera.h

Code: [Select]
// Camera - ixusizoom_sd30 - platform_camera.h

// This file contains the various settings values specific to the ixusizoom_sd30 camera.
// This file is referenced via the 'include/camera.h' file and should not be loaded directly.

// If adding a new settings value put a suitable default in 'include/camera.h',
// along with documentation on what the setting does and how to determine the correct value.
// If the setting should not have a default value then add it in 'include/camera.h'
// using the '#undef' directive along with appropriate documentation.

// Override any default values with your camera specific values in this file. Try and avoid
// having override values that are the same as the default value.

// When overriding a setting value there are two cases:
// 1. If removing the value, because it does not apply to your camera, use the '#undef' directive.
// 2. If changing the value it is best to use an '#undef' directive to remove the default value
//    followed by a '#define' to set the new value.

// When porting CHDK to a new camera, check the documentation in 'include/camera.h'
// for information on each setting. If the default values are correct for your camera then
// don't override them again in here.

    #define CAM_PROPSET                     1

    #define CAM_RAW_ROWPIX                  2672    // for 5 MP
    #define CAM_RAW_ROWS                    1968    // for 5 MP

    #undef  CAM_USE_ZOOM_FOR_MF
    #undef  CAM_HAS_ERASE_BUTTON
    #undef  CAM_HAS_IRIS_DIAPHRAGM
    #define CAM_HAS_ND_FILTER               1
    #undef  CAM_HAS_MANUAL_FOCUS
    #undef  CAM_HAS_USER_TV_MODES
    #define CAM_SHOW_OSD_IN_SHOOT_MENU      1
    #undef  CAM_HAS_IS
    //#define CAM_CONSOLE_LOG_ENABLED       1
    #undef  CAM_VIDEO_CONTROL

// #define REMOTE_SYNC_STATUS_LED 0xC0xxyyyy // specifies an LED that turns on while camera waits for USB remote to sync

    // Keyboard repeat and initial delays
    #undef  KBD_REPEAT_DELAY
    #define KBD_REPEAT_DELAY                140
    #undef  KBD_INITIAL_DELAY
    #define KBD_INITIAL_DELAY               300

// "real" to "market" conversion definitions
#define SV96_MARKET_OFFSET          0           // market-real sv96 conversion value

// Conversion values for 'no' conversion required
// Uses integer arithmetic to avoid floating point calculations. Values choses to get as close
// to the desired multiplication factor as possible within normal ISO range.
#define ISO_MARKET_TO_REAL_MULT     2
#define ISO_MARKET_TO_REAL_SHIFT    1
#define ISO_MARKET_TO_REAL_ROUND    0
#define ISO_REAL_TO_MARKET_MULT     2
#define ISO_REAL_TO_MARKET_SHIFT    1
#define ISO_REAL_TO_MARKET_ROUND    0

//----------------------------------------------------------

EOS-M3_120f / SX50_100b / SX260_101a / G1X_100g / D20_100b
https://www.youtube.com/user/DrLapser/videos

*

Offline philmoz

  • *****
  • 3450
    • Photos
Re: SD30/IXUS iZoom porting...
« Reply #25 on: 11 / October / 2013, 18:13:19 »
I'm trying to compile all the cameras with CHDK shell, and the ixusizoom_SD30 stops the process with an error because CAM_ACTIVE_AREA_X1 is undefined. Would it be possible to add these cropping definitions, assuming they are correct? They are taken from a camera with the same sensor dimensions as the SD30. That is,
    #define CAM_RAW_ROWPIX                  2672    // for 5 MP
    #define CAM_RAW_ROWS                    1968    // for 5 MP

    // cropping
    #define CAM_JPEG_WIDTH                  2592
    #define CAM_JPEG_HEIGHT                 1944
    #define CAM_ACTIVE_AREA_X1              14
    #define CAM_ACTIVE_AREA_Y1              10
    #define CAM_ACTIVE_AREA_X2              2626
    #define CAM_ACTIVE_AREA_Y2              1966

This is the entire ixusizoom_sd30/platform_camera.h

Code: [Select]
// Camera - ixusizoom_sd30 - platform_camera.h

// This file contains the various settings values specific to the ixusizoom_sd30 camera.
// This file is referenced via the 'include/camera.h' file and should not be loaded directly.

// If adding a new settings value put a suitable default in 'include/camera.h',
// along with documentation on what the setting does and how to determine the correct value.
// If the setting should not have a default value then add it in 'include/camera.h'
// using the '#undef' directive along with appropriate documentation.

// Override any default values with your camera specific values in this file. Try and avoid
// having override values that are the same as the default value.

// When overriding a setting value there are two cases:
// 1. If removing the value, because it does not apply to your camera, use the '#undef' directive.
// 2. If changing the value it is best to use an '#undef' directive to remove the default value
//    followed by a '#define' to set the new value.

// When porting CHDK to a new camera, check the documentation in 'include/camera.h'
// for information on each setting. If the default values are correct for your camera then
// don't override them again in here.

    #define CAM_PROPSET                     1

    #define CAM_RAW_ROWPIX                  2672    // for 5 MP
    #define CAM_RAW_ROWS                    1968    // for 5 MP

    #undef  CAM_USE_ZOOM_FOR_MF
    #undef  CAM_HAS_ERASE_BUTTON
    #undef  CAM_HAS_IRIS_DIAPHRAGM
    #define CAM_HAS_ND_FILTER               1
    #undef  CAM_HAS_MANUAL_FOCUS
    #undef  CAM_HAS_USER_TV_MODES
    #define CAM_SHOW_OSD_IN_SHOOT_MENU      1
    #undef  CAM_HAS_IS
    //#define CAM_CONSOLE_LOG_ENABLED       1
    #undef  CAM_VIDEO_CONTROL

// #define REMOTE_SYNC_STATUS_LED 0xC0xxyyyy // specifies an LED that turns on while camera waits for USB remote to sync

    // Keyboard repeat and initial delays
    #undef  KBD_REPEAT_DELAY
    #define KBD_REPEAT_DELAY                140
    #undef  KBD_INITIAL_DELAY
    #define KBD_INITIAL_DELAY               300

// "real" to "market" conversion definitions
#define SV96_MARKET_OFFSET          0           // market-real sv96 conversion value

// Conversion values for 'no' conversion required
// Uses integer arithmetic to avoid floating point calculations. Values choses to get as close
// to the desired multiplication factor as possible within normal ISO range.
#define ISO_MARKET_TO_REAL_MULT     2
#define ISO_MARKET_TO_REAL_SHIFT    1
#define ISO_MARKET_TO_REAL_ROUND    0
#define ISO_REAL_TO_MARKET_MULT     2
#define ISO_REAL_TO_MARKET_SHIFT    1
#define ISO_REAL_TO_MARKET_ROUND    0

//----------------------------------------------------------


It builds on the autobuild server and using a normal toolchain on Windows, Linux and OS/X - so perhaps the problem is CHDK-Shell?

The actual error message might help others diagnose the real problem.

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: SD30/IXUS iZoom porting...
« Reply #26 on: 11 / October / 2013, 18:58:01 »
There is no problem with the CHDK shell. A compiler test with the trunk (3147) was successful.

This camera does not support RAW/DNG. Perhaps there is a problem with the extra code.

msl
CHDK-DE:  CHDK-DE links

*

Offline lapser

  • *****
  • 1093
Re: SD30/IXUS iZoom porting...
« Reply #27 on: 11 / October / 2013, 20:01:30 »
This camera does not support RAW/DNG. Perhaps there is a problem with the extra code.
Yes, the error is with my added code for the shot meter, which uses CAM_ACTIVE_AREA_X1. I should be using the camera_sensor structure instead, I suppose. Or maybe add an #if directive like the one in camera_info.c

Code: [Select]
#if defined(CAM_ACTIVE_AREA_X1) && defined(CAM_JPEG_WIDTH)
    {{
        (CAM_ACTIVE_AREA_X2-CAM_ACTIVE_AREA_X1-CAM_JPEG_WIDTH)/2, (CAM_ACTIVE_AREA_Y2-CAM_ACTIVE_AREA_Y1-CAM_JPEG_HEIGHT)/2,
        CAM_JPEG_WIDTH, CAM_JPEG_HEIGHT
    }},
    { { CAM_ACTIVE_AREA_Y1, CAM_ACTIVE_AREA_X1, CAM_ACTIVE_AREA_Y2, CAM_ACTIVE_AREA_X2 } },
#else
    {{
        0, 0,
        0, 0
    }},
    { { 0, 0, 0, 0 } },
#endif

Interestingly, this camera is apparently the only one the doesn't define CAM_ACTIVE_AREA_X1. Do you think raw_process() is still called, with a valid raw buffer available, even though it doesn't support raw saving?

I just discovered that CHDK shell works great with "BATCH" checked to compile all the cameras, which is how I discovered the problem with this camera. Thanks for the help, and for CHDK Shell!
EOS-M3_120f / SX50_100b / SX260_101a / G1X_100g / D20_100b
https://www.youtube.com/user/DrLapser/videos

*

Offline Caefix

  • *****
  • 948
  • Sorry, busy deleting test shots...
Re: SD30/IXUS iZoom porting...
« Reply #28 on: 05 / January / 2021, 16:25:17 »
 :( Have dumped a SD-30_fw100e, to big to upload...
All lifetime is a loan from eternity.

*

Offline reyalp

  • ******
  • 14125
Re: SD30/IXUS iZoom porting...
« Reply #29 on: 05 / January / 2021, 16:45:58 »
:( Have dumped a SD-30_fw100e, to big to upload...
Use a file hosting site, like dropbox, box.com, google drive...
Don't forget what the H stands for.

 

Related Topics


SimplePortal © 2008-2014, SimplePortal