Adding new cameras, applying patches into trunk (with source code prepared) - page 56 - General Discussion and Assistance - CHDK Forum

Adding new cameras, applying patches into trunk (with source code prepared)

  • 1685 Replies
  • 846064 Views
*

Offline philmoz

  • *****
  • 3450
    • Photos
Re: Adding new cameras, applying patches into trunk (with source code prepared)
« Reply #550 on: 29 / November / 2011, 03:27:56 »
Advertisements
No real changes.
1. Just well documenting script.c module before its upcoming improvement
2. Minor renames ( conf.ubasic_vars -> conf.script_vars) to match name to usage.

Also some changes are produced because tab to space replacing.

Added in changeset 1437.

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 philmoz

  • *****
  • 3450
    • Photos
Re: Adding new cameras, applying patches into trunk (with source code prepared)
« Reply #551 on: 29 / November / 2011, 03:56:27 »
A while ago I complained about the memory dump debug function, here: http://chdk.setepontos.com/index.php?topic=7067.msg75696#msg75696 (also see reyalp's answer).

Attached is a patch which aims to correct it.

Another possibility to fix write() with NULL as source address would be this:

write(fd, (void*)0 | CAM_UNCACHED_BIT, 0x1900);

I'd also like to note that on at least the Ixus30/40 models, these addresses only work when specified as uncached. It's just a note, I don't think it will affect anyone else than me :)

CAM_RAM_SIZE_IN_MB would have to be corrected for cameras which have more or less RAM than 32MB - but that's only up to the interested developers.

I hope this is not unpolite, didn't want to open a thread for this.

Can I suggest a simpler approach:
Code: [Select]
        long val0 = *((long*)(0|CAM_UNCACHED_BIT));
        write(fd, &val0, 4);
        write(fd, (void*)4, MAXRAMADDR-3);   // MAXRAMADDR is last valid RAM location

No additional #defines in camera.h and the correct RAM size is already defined for many cameras.

Note: This requires an update to makefile.inc to change the default value of MAXRAMADDR from 0x200000 to 0x1FFFFFF (this will make it consistent with other usage).

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 philmoz

  • *****
  • 3450
    • Photos
Re: Adding new cameras, applying patches into trunk (with source code prepared)
« Reply #552 on: 29 / November / 2011, 04:08:29 »
Dear Developers,

this is my request to add a first Beta version of CHDK port for ixus220_elph300hs camera with firmware version 1.00c/1.01a/1.01c (related thread: http://chdk.setepontos.com/index.php?topic=6341).


Added in changeset 1438.

Excellent effort by everyone involved!

Given the newness of the port and the open issues reported on the porting thread, I've added this as an ALPHA version for now.

Also I noticed the stubs_entry.S file is reporting a lot of errors in the modemap table for each firmware version.

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 tommi2water

  • ***
  • 157
  • IXUS 220 HS Firmware: 1.00c
Re: Adding new cameras, applying patches into trunk (with source code prepared)
« Reply #553 on: 29 / November / 2011, 10:12:30 »
Thank you for integrating, Phil. Makes me feel good to know that our first version is now in a secure place.  :)

Then I can cleanup all old stuff from my harddisk and get current version from SVN for further activities.

*

Offline tommi2water

  • ***
  • 157
  • IXUS 220 HS Firmware: 1.00c
shooting.c.patch for subversion integration for ixus220_elph300hs platform
« Reply #554 on: 30 / November / 2011, 14:24:01 »
Also I noticed the stubs_entry.S file is reporting a lot of errors in the modemap table for each firmware version.

Modemap table issues fixed by finding camera values via debug output. Values put into shooting.c file.

attached: shooting.c.patch for subversion integration for ixus220_elph300hs platform

*

Offline srsa_4c

  • ******
  • 4451
Re: Adding new cameras, applying patches into trunk (with source code prepared)
« Reply #555 on: 30 / November / 2011, 15:06:11 »
Can I suggest a simpler approach:
Code: [Select]
        long val0 = *((long*)(0|CAM_UNCACHED_BIT));
        write(fd, &val0, 4);
        write(fd, (void*)4, MAXRAMADDR-3);   // MAXRAMADDR is last valid RAM location

No additional #defines in camera.h and the correct RAM size is already defined for many cameras.
Thanks, I haven't looked into makefile.inc, that's why I have missed this already existing #define.
Quote
Note: This requires an update to makefile.inc to change the default value of MAXRAMADDR from 0x200000 to 0x1FFFFFF (this will make it consistent with other usage).
I have attached a new patch with your suggested changes. The patch also defines MAXRAMADDR for two cameras that only have 16MB of RAM. I have tested this new version: it works on the A410, Ixus65, SX100IS.

I'd also like to request a "promotion" to beta for my A410 port. I got feedback (more or less) from 4 different users and the port doesn't currently have unsolved bugs I know about. I've developed it using the 1.00f firmware, two people reported success using it with their 1.00e revision camera. Patch also attached. Porting thread is here: http://chdk.setepontos.com/index.php?topic=2597.0

Edit
@philmoz: Thanks.
« Last Edit: 01 / December / 2011, 18:28:09 by srsa_4c »

*

Offline philmoz

  • *****
  • 3450
    • Photos
Re: Adding new cameras, applying patches into trunk (with source code prepared)
« Reply #556 on: 30 / November / 2011, 21:55:35 »
Also I noticed the stubs_entry.S file is reporting a lot of errors in the modemap table for each firmware version.

Modemap table issues fixed by finding camera values via debug output. Values put into shooting.c file.

attached: shooting.c.patch for subversion integration for ixus220_elph300hs platform


Added in changeset 1440 (plus the IXUS 310 fix as well).

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 philmoz

  • *****
  • 3450
    • Photos
Re: Adding new cameras, applying patches into trunk (with source code prepared)
« Reply #557 on: 30 / November / 2011, 22:18:29 »
Can I suggest a simpler approach:
Code: [Select]
        long val0 = *((long*)(0|CAM_UNCACHED_BIT));
        write(fd, &val0, 4);
        write(fd, (void*)4, MAXRAMADDR-3);   // MAXRAMADDR is last valid RAM location

No additional #defines in camera.h and the correct RAM size is already defined for many cameras.
Thanks, I haven't looked into makefile.inc, that's why I have missed this already existing #define.
Quote
Note: This requires an update to makefile.inc to change the default value of MAXRAMADDR from 0x200000 to 0x1FFFFFF (this will make it consistent with other usage).
I have attached a new patch with your suggested changes. The patch also defines MAXRAMADDR for two cameras that only have 16MB of RAM. I have tested this new version: it works on the A410, Ixus65, SX100IS.

I'd also like to request a "promotion" to beta for my A410 port. I got feedback (more or less) from 4 different users and the port doesn't currently have unsolved bugs I know about. I've developed it using the 1.00f firmware, two people reported success using it with their 1.00e revision camera. Patch also attached. Porting thread is here: http://chdk.setepontos.com/index.php?topic=2597.0

Added in changeset 1441.

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)

Re: Adding new cameras, applying patches into trunk (with source code prepared)
« Reply #558 on: 01 / December / 2011, 22:26:07 »
Attached a patch that fixes viewport dimensions for the IXUS 220 / ELPH 300 HS, and thus allows zebras and edge detection to work.

*

Offline philmoz

  • *****
  • 3450
    • Photos
Re: Adding new cameras, applying patches into trunk (with source code prepared)
« Reply #559 on: 01 / December / 2011, 23:36:49 »
Attached a patch that fixes viewport dimensions for the IXUS 220 / ELPH 300 HS, and thus allows zebras and edge detection to work.

Added in changeset 1443.

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)

 

Related Topics


SimplePortal © 2008-2014, SimplePortal