Porting A410 - help wanted - page 3 - General Discussion and Assistance - CHDK Forum supplierdeeply

Porting A410 - help wanted

  • 67 Replies
  • 30043 Views
*

Offline tired

  • *
  • 14
Re: Porting A410 - help wanted
« Reply #20 on: 06 / June / 2011, 09:30:05 »
Advertisements
A495 very old camera (2008) and now is 2011

That's not quite right. The A495 was announced in 2010 - see here: http://www.dpreview.com/products/canon/compacts/canon_a495

msl

oh yes!
sorry!
but I wanted to compare with my new camera a410(2005!!!) :haha

*

Offline srsa_4c

  • ******
  • 4451
A410 port
« Reply #21 on: 02 / July / 2011, 22:12:31 »
Hi!

I decided to post here, instead of the "CHDK Releases" part of the forum.
I managed to create a port for this camera (firmware 1.00f, probably the only available).

A binary release (let's call it experimental) and the source diff against chdk trunk r1219 is attached.

The notes for this port:

Quote

- A410 uses Propset 1 of Properties (see http://tinyurl.com/6zbv9b)
- The A410 does not have an iris diaphragm, it has a smaller snap-in aperture (not an ND filter)
  Seen this in a dismantled A430 optics, suspect the same in at least the A410 - A430 models.
  The CHDK controls this the same as an ND-filter.

Changelog

Beta 1, 2011-07-03

- based on A430/A610/A530/..., thanks to the authors of those ports
- USB completely untested, don't know if it works or not, A430 stuff without change
- optics stuff based on A450
  3.2x zoom (41-131mm eqv.), 5.4-17.3mm, F2.8-5.1 1/3.2" CCD (-> A410, A420, A450 might use very similar optical units)
- probably incorrect color profile for this CCD
- "circle of confusion" may be incorrect for this sensor

- RAW/DNG works, RAW not recognized by popular software (DNG4PS2 can handle it when configured by hand)
- RAW/DNG file numbers should work (not tested extensively)
- extra long exposures are enabled, shutter speed override works (even with display off)
- flash adjustment seems to work
- zebra works
- grids should work
- histogram works
- "ND filter" (see above) control works, DOF-change confirmed
- no manual focusing or subject distance override possible

- movie mode works, 1G filesize limit removed (not tested, but currently even impossible, because of the 180 sec time limit)
- no AF scan possible during movie recording, so it is disabled (would crash the camera)
- movie exposure override sometimes works, sometimes not
- video compression override works
- optical zoom works during movie recording


Bugs:
- Aperture (F) display (while half-shooting) often missing, displays "?"
- camera functions got frozen (no shutdown!) once while experimenting with overrides/chdk controls... can't reproduce
There might be other bugs, use it with caution.


RAW:

10bit, full dimensions: 2144x1560

#define CAM_ACTIVE_AREA_X1              2
#define CAM_ACTIVE_AREA_Y1              6
#define CAM_ACTIVE_AREA_X2              2090
#define CAM_ACTIVE_AREA_Y2              1558

The A410 port has some serious limitations which can't be solved, I'm afraid.
The firmware functions used for enabling manual focus (MoveFocusLensToDistance) and AF-scan in video (MakeAFScan) cause the camera to crash, so I had to disable these features. (Yes, I double-checked their addresses, they are fine.)
Disabling the movie recording time limit is a "bit" harder than I expected, maybe sometimes later...

About RAW:
This is the only CHDK-supported camera with a 3.3Mpixel sensor. The color profile which I used is probably incorrect (it affects in-camera DNG as far as I know). DNG4PS2 can be adjusted to recognize the RAW, one has to define a profile for this camera, using the RAW dimensions I provided. (DNG4PS2 has a limitation, the profile can't be easily exported or imported.)

Regards,
srsa_4c


PS.
If somebody has a clue what a task named like "WBInteg" could do (MakeAFScan causes an assert in WBInteg.c) I would be thankful...

PS2.
The attachment is not from 2010, it's a typo...
« Last Edit: 02 / July / 2011, 22:17:35 by srsa_4c »

Re: Porting A410 - help wanted
« Reply #22 on: 04 / July / 2011, 05:06:05 »
This is what I was waiting for 2,5 years! I'll have a try in the evening. ::)
Thanks!
(A 410), SX 200, (SX 280), SX 700

*

Offline reyalp

  • ******
  • 14096
Re: Porting A410 - help wanted
« Reply #23 on: 04 / July / 2011, 23:23:38 »
I've checked this in, but not added to the autobuilds yet. If you feel it is functional enough to be beta in the autobuild, just let me know.

I made a couple changes:
In capt_seq.c, you had
Code: [Select]
"                 B       0xffc107c8"
This generally does not do what you want, and my compiler does not accept it:
../platform/a410/sub/100f/libplatformsub.a(capt_seq.o): In function `loc_FFCD9F9C':
capt_seq.c:(.text+0x6c8): undefined reference to `no symbol'

I converted this to
Code: [Select]
"                 LDR      PC,=0xffc107c8\n"

I also converted the comments like
"                 BL      sub_ffc03b58 @DebugAssert\n"

to C++ style comments outside the inline asm.
Don't forget what the H stands for.


Re: Porting A410 - help wanted
« Reply #24 on: 05 / July / 2011, 06:13:53 »
A have firmware GM1.00F. Checked same functions.
works:
- optical zoom works during movie recording
- saving DNG
- histogram

Aperture (F) display shows only value 2,8 or "?"
if I zoom and under very bright light conditions only it shows only "?"
(A 410), SX 200, (SX 280), SX 700

*

Offline srsa_4c

  • ******
  • 4451
Re: Porting A410 - help wanted
« Reply #25 on: 05 / July / 2011, 07:40:25 »
A have firmware GM1.00F. Checked same functions.
works:
- optical zoom works during movie recording
- saving DNG
- histogram

Aperture (F) display shows only value 2,8 or "?"
if I zoom and under very bright light conditions only it shows only "?"

Thank you for the report.
About the aperture display: The question mark appeared, because the values in a table were wrong for the A410 (copied from another port). I'll fix that soon, and post a fresh build.

To reyalp:

I've checked this in, but not added to the autobuilds yet. If you feel it is functional enough to be beta in the autobuild, just let me know.

Thank you. I didn't ask for including it yet because of no success reports other than mine.
(The A420 port is not ready yet, still working on it.)

Quote
I made a couple changes:
In capt_seq.c, you had
Code: [Select]
"                 B       0xffc107c8"
This generally does not do what you want, and my compiler does not accept it:
../platform/a410/sub/100f/libplatformsub.a(capt_seq.o): In function `loc_FFCD9F9C':
capt_seq.c:(.text+0x6c8): undefined reference to `no symbol'

I converted this to
Code: [Select]
"                 LDR      PC,=0xffc107c8\n"

Also thanks for this. I didn't notice warnings with the arm-gcc toolchain I'm using (linux, gcc 4.3.2, precompiled, I got it from here somewhere). I'm not exactly a "pro" in ARM-assembly, and the disassemblies produced by various tools have big differences. I'll try to be more careful.

Still amazing, how a possibly wrong code causes no (visible) trouble. In the A430 port for example, at least capt_seq.c contains some instructions, values, that differ from the original firmware's code, for (to me) unknown reason. I'll have a patch for that sometimes soon.

Quote
I also converted the comments like
"                 BL      sub_ffc03b58 @DebugAssert\n"

to C++ style comments outside the inline asm.

Well, I was lazy... I'll get rid of those in the future.

Any chance you have a clue about the task named "WBInteg"? A410 crashes there when MakeAFScan is attempted during video recording. A430 (and I bet A420 too) also crashes there, but only when the movie resolution is 640x480. I would think of WhiteBalanceIntegrity, but that doesn't make too much sense to me...

*

Offline reyalp

  • ******
  • 14096
Re: Porting A410 - help wanted
« Reply #26 on: 05 / July / 2011, 12:52:07 »
Still amazing, how a possibly wrong code causes no (visible) trouble.
Yes, some toolchains silently accept this and generate incorrect code. Some might also generate correct code...
Quote
Any chance you have a clue about the task named "WBInteg"? A410 crashes there when MakeAFScan is attempted during video recording. A430 (and I bet A420 too) also crashes there, but only when the movie resolution is 640x480. I would think of WhiteBalanceIntegrity, but that doesn't make too much sense to me...
I'd guess Integ is "Integrate" in the sense of accumulating values on a sensor, but I have no idea why it would be crashing.
Don't forget what the H stands for.

*

Offline tired

  • *
  • 14
Re: Porting A410 - help wanted
« Reply #27 on: 05 / July / 2011, 18:31:22 »
thanks.


i Especially need slow shutter speed.
 :lol
« Last Edit: 05 / July / 2011, 18:52:11 by tired »


*

Offline srsa_4c

  • ******
  • 4451
Re: Porting A410 - help wanted
« Reply #28 on: 05 / July / 2011, 20:29:24 »
thanks.
:)
If you find something not working, please report it.


I made a small update (visible change: aperture display now working).

I'd guess Integ is "Integrate" in the sense of accumulating values on a sensor, but I have no idea why it would be crashing.
thx.

*

Offline reyalp

  • ******
  • 14096
Re: Porting A410 - help wanted
« Reply #29 on: 09 / July / 2011, 19:47:03 »
I made a small update (visible change: aperture display now working).
Added to trunk changeset 1229
Don't forget what the H stands for.

 

Related Topics


SimplePortal 2.3.6 © 2008-2014, SimplePortal