ixus175_elph180_100c porting attempt

  • 167 Replies
  • 21714 Views
*

Offline blackhole

  • *****
  • 518
  • A590IS 101b
    • Planetary astrophotography
Re: ixus175_elph180_100c porting attempt
« Reply #160 on: 06 / July / 2017, 04:55:59 »
Advertisements
Change shooting mode to AUTO.  Set ISO override 60.  Flash on.
Image is captured.  Subject is dark but visible. 
Exif data - it does not say ISO 60, but maybe it does not matter.
On some cameras, non-standard ISO in combination with the flash may cause a crash. Apparently, this is not the case here.

Seems like there's some research to do and the fi2 tool needs an update.
Weird thing is that the fi2 decoder still appears to correctly handle even the latest known fw upgrade files (M5)...
I see, I can create ps.fi2 for the sx430 (DryOS r59) without any problems, probably is just as dysfunctional.
I can not try it, I do not have a camera.

Re: ixus175_elph180_100c porting attempt
« Reply #161 on: 06 / July / 2017, 23:34:37 »
Check your localbuildconf.inc. I had  turned off the fi2 part ( because testing a build where fi2 was not implemented) so it never got rebuilt.

*

Offline axman

  • ***
  • 142
Re: ixus175_elph180_100c porting attempt
« Reply #162 on: 09 / July / 2017, 21:38:56 »
@blackhole, are you satisfied with capt_seq for this port?  Are more tests needed?

If capt_seq is good, completing filewrite should be straight forward.

filewrite was almost working before the effort to fix capt_seq was taken. 
The only problem with filewrite back then was, 2x images were being captured..

Do you mind sharing your source code? 

Since you have done almost all of the hard work to make a correct capt_seq :-) ,  I can probably make filewrite work without needing too much more help..  Let me know how you see this.  Thanks in advance.

*

Offline blackhole

  • *****
  • 518
  • A590IS 101b
    • Planetary astrophotography
Re: ixus175_elph180_100c porting attempt
« Reply #163 on: 10 / July / 2017, 13:03:57 »
Check your localbuildconf.inc. I had  turned off the fi2 part ( because testing a build where fi2 was not implemented) so it never got rebuilt.
Thanks for the advice.
Sorry for the late reply, these days I'm lazy. :D
I spend most of my spare time on nearby beaches, away from the PC and everyday duties.
@blackhole, are you satisfied with capt_seq for this port?  Are more tests needed?
That's over, no more testing.

The source code is attached.

Put "dancingbits.h" and "firmware_load.c"  to the "tools" folder.
If you use your old "dancingbits.h" and "firmware_load.c" files, you may need to edit the file ... / sub / 100c / makefile.inc.
Do not forget to add PRIMARY.BIN to the folder .../sub/100c

Quote
Since you have done almost all of the hard work to make a correct capt_seq :-) ,  I can probably make filewrite work without needing too much more help..  Let me know how you see this.  Thanks in advance.
Go ahead!
Don't forget to return the 'filewrite' to ... / sub / 100c / Makefile.


*

Offline axman

  • ***
  • 142
Re: ixus175_elph180_100c porting attempt
« Reply #164 on: 11 / July / 2017, 12:15:19 »
Thank you for the source!  :xmas
Enjoy the beach and life away from computers.  :-)
I must do 'real' work for a while, but will give attention to this filewrite soon.
Thank you again for all the help.

Re: ixus175_elph180_100c porting attempt
« Reply #165 on: 12 / July / 2017, 12:37:51 »
I just wanted to thank everyone here for all the work they've done on this port. It is great to see so much progress. I'm feeling optimistic enough that I just ordered a couple of ELPH 180 cameras myself to test with Pi Scan. If it works, then that will be a great help to everybody in the DIY book scanner community.


If not, I'll start posting bug reports here and trying to help as I can.


-Jonathon Duerig


*

Offline axman

  • ***
  • 142
Re: ixus175_elph180_100c porting attempt
« Reply #166 on: 15 / July / 2017, 13:46:39 »
If capt_seq is good, completing filewrite should be straight forward.
^^ wrong.  Not straight forward for me, anyway.

Testing chdkptp 'shoot'.  Rec / Shoot cmds result in 1x JPG saved to sd card.  Following with a PLAY cmd crashes camera with lens out.  Yes, i'm trashing registers, and have not figured it out yet.  Latest ROMLOG attached.

I looked for addrs in ROMLOG that match addrs in filewrite code, found 0xAE3C, and add filewrite debug logging to expose what's in that register.  Attempts to correct the situation provoke either 0x10 or 0x1C exception errors. 

Problem is inside "skip flushing the cache" or "skip creating directory" I think.  This code is not laid out at all like ixus160, so it is hard for me to see precisely where to put the jumps and loc_'s.

BUT, my question is really about why the shoot command does not provoke any logging.  Remoteshoot does, and also crashes with lens out, but I figured if the simple func 'shoot' does not work properly, there is no point to go further until corrected.

If I remove filewrite.c, recompile, and test quickshoot and halfpress-then-shoot, it works fine.  Just like @blackhole's last test build.  Yet, with filewrite code in place, when the shoot cmd happens, no debug log output comes.  I don't understand.

How can I log the 'chdkptp shoot' case, if not inside filewrite code?  Add logging to capt_seq?

One more dumb question;  Does the choice of power button or PLAY button to turn cam on and off affect code paths taken in the 'chdkptp shoot' case?

Any feedback about the romlog or filewrite code is most welcome.  Thanks in advance.

*

Offline axman

  • ***
  • 142
Re: ixus175_elph180_100c porting attempt
« Reply #167 on: 16 / July / 2017, 22:26:45 »
Progress.  Filewrite debug is enabled and working, without trashing capt_seq "quickshoot" mode.  Prefetch and address exception errors are gone.

chdkptp shoot saves 1x jpg to sdcard good.

chdkptp rs -jpg -shots=1 acts like it captures, then chdku.lua:1366: General Error.

Any pointer to understanding the elements contained in the fwt_data_struct is most appreciated.  Thanks in advance.

edit: added fwt_log_msg from failing test case below;  note: I changed filewrite_hdr.c to print the 'name' parameter as %d and not %s.

00034000: UI:fw start
00034000: UI:fw m:-509607936 o:0xe59ff014 fs:0xe59ff014 sf:0xe58120ec
00034000: UI:fw 16
00034000: UI:fw u e59ff014 e59f1054 e3a020ff e5c12000 00000000 00583204
« Last Edit: 16 / July / 2017, 22:30:03 by axman »


 

Related Topics