supplierdeeply

A3200IS porting thread

  • 127 Replies
  • 22908 Views
*

Offline nafraf

  • *****
  • 1303
Re: A3200IS porting thread
« Reply #10 on: 16 / June / 2012, 15:10:53 »
Advertisements
Thanks waterwingz,
Following your recommendation, trunk/loader/a3200 and trunk/platform/a3200 directories are available at http://subversion.assembla.com/svn/nafraf/chdk

main.c was updated too, I'm checking the other files.

EDIT: Source code now is part of official chdk svn repository
« Last Edit: 03 / August / 2012, 13:43:22 by nafraf »

*

Offline nafraf

  • *****
  • 1303
Re: A3200IS porting thread
« Reply #11 on: 19 / June / 2012, 09:42:52 »
Hi, another user is helping me with the tests, but we are having problems during camera boot.

I modified entry.S and added LED blinking instructions, that's working.  I tested with Green LED and AutoFocus LED to check that I have the correct addresses.

After that, I modified boot.c ported ASM instructions and add instruction to turn ON AutoFocus LED at the beginning of boot(). This is not working, after LED blinks, camera freezes.  Do you have any suggestion? What could be the problem?

I added copy of my boot.c file in attachment.  Thanks.
« Last Edit: 20 / June / 2012, 01:30:34 by nafraf »

*

Offline nafraf

  • *****
  • 1303
Re: A3200IS porting thread
« Reply #12 on: 01 / July / 2012, 10:18:54 »
Hi,
Now I'm debugging boot.c file.  I'm using a function (my_blink()) to see LED blinking, and following program step by step.

Program is going to task_Startup_my() function.  Following some post of A3300 porting thread, I commented calls to taskcreatePhySw_my and task startups in taskHook(..).

So, after LED blinking in task_Startup_my() I expected to see CHDK Logo, but nothings happens  :blink:.  What could be the reason? What could be the file or function with bug?

Thanks



My boot.c file is in attachment.

Re: A3200IS porting thread
« Reply #13 on: 01 / July / 2012, 11:16:24 »
So, after LED blinking in task_Startup_my() I expected to see CHDK Logo, but nothings happens  :blink:.  What could be the reason? What could be the file or function with bug?

Probably not related to your problem, but one thing you might want to be aware of is that there is a caution here :

http://chdk.wikia.com/wiki/Debugging#Using_LEDs_directly

about using an LED blinker the way you are in boot.c code.   

I learned that one the hard way after pulling my hair out for hours.

Ported :   A1200    SD940   G10    Powershot N    G16


*

Offline nafraf

  • *****
  • 1303
Re: A3200IS porting thread
« Reply #14 on: 03 / July / 2012, 09:34:19 »
Thanks again waterwingz!!
I thought that saving/restoring registers in my_blink() function was enough to not cause errors during boot, but after removing calls to my_blink() CHDK logo appears.   

Keyboard is working too, but now we have problems with functions related to lens control.


Re: A3200IS porting thread
« Reply #15 on: 03 / July / 2012, 09:54:14 »
Progress !! Great news.

I thought that saving/restoring registers in my_blink() function was enough to not cause errors during boot, but after removing calls to my_blink() CHDK logo appears.   
I learned that one the hard way too - that's why I added that note to the wiki.  The one-liner code I posted probably needs a look - it does not save anything and is really only useful to indicate where the code gets to. After that its random whether it corrupts anything or not.   Probably a push/pop is in order there - just no delay loops.

Quote
Keyboard is working too, but now we have problems with functions related to lens control.
So you are on to capt-seq.c code ...
Ported :   A1200    SD940   G10    Powershot N    G16

*

Offline nafraf

  • *****
  • 1303
Re: A3200IS porting thread
« Reply #16 on: 03 / July / 2012, 09:57:01 »
I think that capt_seq.c is working.

Quoting the e-mail from user who is testing:
"Ok, first of all, camera starts in play mode, chdk stars ok i think, with no errors, buttons works ok. When I push the photo button to get the lens out, it wont get out totally , i think it`s out 85%. The problem is, when the lens try to get out, at final it makes a weird sound, like something blocks the lens."

Any suggestion? Is it related to focus_len_table[][]?  or what function should I check?

*

Offline srsa_4c

  • ******
  • 3728
Re: A3200IS porting thread
« Reply #17 on: 03 / July / 2012, 10:23:40 »
I think that capt_seq.c is working.

Quoting the e-mail from user who is testing:
"Ok, first of all, camera starts in play mode, chdk stars ok i think, with no errors, buttons works ok. When I push the photo button to get the lens out, it wont get out totally , i think it`s out 85%. The problem is, when the lens try to get out, at final it makes a weird sound, like something blocks the lens."

Any suggestion? Is it related to focus_len_table[][]?  or what function should I check?
Sounds like a camera crash. What happens after that 85% (camera shuts down with "lens error" or just shuts down?). Try to disable capt_seq_task (if that doesn't help, physw_task too). Double check platform/a3200/sub/(...)/boot.c for the required changes in the copied original firmware routines. See the ports that relate closely (A2200, or even A3300, A800).
If the camera shuts down but works in play mode, ask your tester to make a romlog (Miscellaneous Stuff -> Debug Parameters -> Save ROM crash log), and check it (and/or attach it here).


Re: A3200IS porting thread
« Reply #18 on: 03 / July / 2012, 13:41:08 »
You might want to also check that the camera will still operate correctly without CHDK installed.
Ported :   A1200    SD940   G10    Powershot N    G16

*

Offline nafraf

  • *****
  • 1303
Re: A3200IS porting thread
« Reply #19 on: 04 / July / 2012, 09:04:00 »
Camera still operates correctly without CHDK.

Apparently, the problem was in mykbd_task.  I updated kbd.c according to the last version in a3300 port.
I enabled capt_seq_task again, and the tester will validate.

Edit:
Capture of RAW images is working now.
« Last Edit: 04 / July / 2012, 11:41:28 by nafraf »

 

Related Topics