CHDKPTP - PC Remote Control Performance Analysis - page 22 - RAW Shooting and Processing - CHDK Forum

CHDKPTP - PC Remote Control Performance Analysis

  • 465 Replies
  • 139811 Views
Re: CHDKPTP - PC Remote Control Performance Analysis
« Reply #210 on: 16 / September / 2012, 12:48:03 »
Advertisements
Quote


 you not trust my engineering capabilities?

Well, very unusually for 'scientific' work you do not seem to use the Metric system of measurement (you quote "cubic inches").

Every country on the planet (with the exception of Burma, Liberia and the United States) has adopted it as the official system of weights and measures.

I think even the US uses it for scientific work.

Quote
the instrument has been operational for years and yielding great scientific results.

Can you give the citations  for the Journals where the results have been presented ?

Quote
Entirely your own?
Of course not.
Anything derived from CHDK relies on the contributions of many, many people.

Quote
Do you have liveview?

Yes.

Quote
Does it do a direct transfer without an intervening write to SD?

Yes, not for JPG.

Quote
does it crash on you?

Of course.
« Last Edit: 16 / September / 2012, 12:49:56 by Microfunguy »

*

Offline SticK

  • *****
  • 779
Re: CHDKPTP - PC Remote Control Performance Analysis
« Reply #211 on: 16 / September / 2012, 14:18:27 »
Quote "Can you give the citations  for the Journals where the results have been presented ?"

Yes there is one, but not here simply because it will blow my alias away in a public forum // I am wondering why you'd ask that.   As I said, let us get to the point where I think there is a good software potential of adopting the S90 CCD followed by a successful compatibility test, then I will touch base with you, before I begin dismantling the camera.  I keep my commitments.

Quote "Well, very unusually for 'scientific' work you do not seem to use the Metric system of measurement (you quote "cubic inches")."

The imaging results of my instrumentation are measured and expressed in microns and nanometers.  The machine shop at the university prefers Imperial, wheres I prefer to do my mechanical designs in metric, so I convert before submitting work.  My cu in may residue from that!  So ... am I metric enough for you?

Quote "Yes, not for JPG. "

.... nor for Canon native RAW?  That is what I was referring to as technically challenging.  Right now in case you didn't notice, by buffering images via the SD card with the solution reyalp and I drew up, CHDKPTP with the myshoot function supports the transfer of all 3 formats seamlessly.  Isn't that a nice solution?

MyQuote "does it crash on you?
Quote "Of course."

With CHDKPTP so far, other than the FsIoNotify that still persists, the only time your S/F/W systems has crashed on me was when I mishandled settings etc, earlier on.  That is, CHDK may not be as idiot-proof as Canon.  I brought some incidents to your attention when they happened, but, I have not complained about them.  Now that I am accustomed to your system, I have not had any finger-trouble errors at all in over a week.  Once hopefully transferred to instrumentation, the S90 will sit in a very controlled environment buffered far from "human" error.  So you can see why I have a very good opinion of CHDK+.

Re: CHDKPTP - PC Remote Control Performance Analysis
« Reply #212 on: 16 / September / 2012, 15:18:40 »
Now that I am accustomed to your system


By the way, i am not a CHDK developer.


*

Offline reyalp

  • ******
  • 14128
Re: CHDKPTP - PC Remote Control Performance Analysis
« Reply #213 on: 16 / September / 2012, 16:13:40 »
I disagree.  Since the S50 many years ago, they supported RemoteCapture.  RemoteCapture = indefinite shooting as I just demonstrated to you.  Thus no memory leaks or accumulating open file handles.
You will note that Canon has discontinued remote capture (presumably due to low demand/cost saving), so those requirements no longer apply.
Quote
Quote "If there is some subtle issue that crops up after a few thousand shot cycles, would they have any reason to fix it?"

Absolutely yes ... hundreds of millions of cameras that they cannot afford any bad press especially where it can be easily controlled, and the competition is fierce from all angles.
Note the 1000 image limit mentioned above. This actually inconveniences a small minority of consumers, but it's mentioned in the manual of every powershot from Digic II till now.
Quote
Quote "That doesn't change the fact that CHDK is dirty hack,"

For a "dirty hack" it seems to work exceptionally well already.  We can get it as good as Canon and I will demonstrate the results.
It's highly amusing that you are arguing with the developer that the developers code is better than the developer thinks it is. This is not the usual situation :o

I *like* CHDK. I've spent a lot of time on it. It's pretty cool. It would be cool if it's useful for your instrument. All that said, I know the quality of the code, I know much of it was contributed by people with limited programming experience, I know all the crazy unsafe things it does under the hood, and I know that what passes for "QA" is mostly people who don't really know how it's supposed to work trying random stuff on a tiny subset of the supported hardware.

Based on all of the above I'm confident saying it would be censored unrealistic to expect CHDK to meet the same level of reliability as a normal commercial product.

BTW, when the "usb remote capture" system srsa started is finished, this whole issue with knowing when the jpeg is done will presumably go away, at least on the cameras with full support. It will also be pretty easy to know when the jpeg is done.
Don't forget what the H stands for.

*

Offline SticK

  • *****
  • 779
Re: CHDKPTP - PC Remote Control Performance Analysis
« Reply #214 on: 16 / September / 2012, 20:42:49 »
@microfunguy
Quote "By the way, i am not a CHDK developer."

Under your alias it says "Developers" and the forum title is "CHDK."  I misinterpreted the relationship ... obviously you could be a developer but not necessarily a CHDK developer.  Thanks for the clarification.

@reyalp
Quote "You will note that Canon has discontinued remote capture (presumably due to low demand/cost saving)"

Not only do I note, but if you may recall, I did elaborate early on that the SX110 (Digic III) was the last camera made to support RemoteCapture, as I have been on top this pretty much from the beginning.  The S90 doesn't have it, and you saved the day hands down ... because the S90 has the CCD & signal processing of choice by far for my instrument.  I agree with you that Canon is adding more funky features in the new models at the cost of remote control and it must have been a marketing -vs- user decision I'm sure.  However, their DSLR lines do maintain RemoteCapture and I speculate that time- and field- proven core algorithms and low-level functions are probably universal across their entire product line: eg no memory leaks on the S90 no matter how shots you take, same as S50.

Quote "so those requirements no longer apply."

Yes maybe in some cases not, agreed, but I see no reason you should be lax and degrade or endanger core functionality because you've removed RemoteCapture.  They'd be aiming a gun at their own foot, with a hair-trigger.

Quote "Note the 1000 image limit mentioned above. This actually inconveniences a small minority of consumers, but it's mentioned in the manual of every powershot from Digic II till now."

Every manufacturer covers their rear end.  The very good ones greatly under-spec their products.  The S50 is Digic II and you already know the level of performance I am getting with that one on RemoteCapture.

Quote "It's highly amusing that you are arguing with the developer that the developers code is better than the developer thinks it is. "

Getting this level of performance I am beginning to see on the test bench is very convincing, despite USB 1.0 and no matter what you say, with all due respect.   So yes, I think CHDK+ rocks and has great potential for my project ... and ... for anyone wishing to use it with your new (my)shoot function, whether under CHDKPTP or not.  The prospect of moving the S90 CHDK+ system to the next phase, the instrumentation bench, is becoming increasingly promising and interesting to me.

Quote "I *like* CHDK. I've spent a lot of time on it. It's pretty cool. "

Clearly.  Anyone with some appreciation of what you've done can get to *love* CHDK.  I could be one those folks, and I must say, I am on my way.

Quote "It would be cool if it's useful for your instrument."

Lookin' good, definitely.  Please do keep in mind that once moved to instrumentation for compatibility testing, we have to be mindful that there could be showstopper issues completely unrelated to the performance of CHDK+ in the instrumentation environment.  Those are still the big unknowns.

Quote "BTW, when the "usb remote capture" system srsa started is finished"

Oh my, this *is* very good news // total elegance if he can pull it off.  To know this is enough to give me clearance to move to instrumentation testing within a few days with the system as-is, no problem even if I am still getting the occasional FsIoNotify I have hope, although I would like to see at least 24 hrs w/o fail.  What you've achieved so far with SD file buffering can always be used as backup // really nice // I like this whole idea.  In the meantime, I continue to resolve the delay issue anyway.

Quote "whole issue with knowing when the jpeg is done will presumably go away"

No kidding, that would be beyond excellent // fingers crossed.  Please be mindful of Canon (compressed) RAWs as in the S90 (unlike the SX110).  That is what is under test in my lab at present, JPG and Canon RAW.

Quote "Based on all of the above I'm confident saying it would be censored unrealistic to expect CHDK to meet the same level of reliability as a normal commercial product."

Hmmmm ... let's see what I get with 1.4s (still running since this morning), and then test snappy high turnaround JPGs only, 10,000 of them.  Let you know my conclusion perhaps by Tue/Wed.  On your side, let us see what srsa can pull off.

PS .... I just got off of nerve-wracking ebay with another S90 for $150 (one for the dismantled state, the other not -- for HW/SW reference and development if the 1st one makes into instrumentation) // high hopes -- let it be.  That should be concrete proof for you of my faith in CHDK+.

Good luck, srsa_4c!



*

Offline SticK

  • *****
  • 779
Re: CHDKPTP - PC Remote Control Performance Analysis
« Reply #215 on: 18 / September / 2012, 00:31:59 »
loop_myshoots TEST NEWS  dcimdl delay 1.4s

This is interesting // here's how it developed. 

Today's FAIL occurred after 2459 myshoots (4918 files - USB 1), JPG &CanonCR2 range 10M to 15 MB max total per download (1-1/2 days).  ERROR this time:  ReadFDir.c

I grabbed the romlog (and did the usual hand-cleaning of the camera to restart a new session at 1.6s delay).  On the very first myshoot however, I got the ReadFDir.c error again.  Hence something new ... a back-to-back failure despite the clean camera PUP state ... and .... it is the second such incident in a row.  The cursory conclusion is that these back-to-back failure incidents seem occur at the longer delay times of >= 1.2s.

One perhaps, but two could not be a coincidence.  So ... what's the reasonable explanation?  This cannot be the camera or CHDK I figured.  What's left is the SD card.  I reasoned ... is it possible SD card write bit rates can vary from file to file of the same size?

This is the first hit I got ....
http://mbed.org/forum/mbed/topic/719/?page=1#comment-10055

Having read the above and from my data, the failures seem to be more relevant to either wear-leveling and/or how the SD controller distributes a big write on a card.

My card is a C4 (10MB/s).  So the clearer picture I'm getting is this: 

   1) Given a 15 MB file say, write speed is almost never the same, even if we delete the file and rewrite the same file;
   2) Most typical writes may very in speed by a few percent and on this card are somewhat faster than 10 MB/s, what I will refer to as the typical write "fuzzy zone";
   3) If we delay less than 750 ms then we are closer into the "fuzzy zone" where failures occur more frequently, about 1:50;
   4) This suggests the average write for my average file pair of 12 MB is at least 16MB/s;
   5) If we delay longer than 1.2s, most writes will be far outside the "fuzzy zone" and typically not happen (1:1000);
   6) At 1.4s delay or more, occasionally, there may be a major data reorganization on the card that delays a write by a (still unknown) very large amount, and for a large file like ours it can be severe enough to fail if delay is not enough to account for the worst-case reorganization time;
   7) Therefore assuming 10MB/s is the (advertised) guaranteed write rate under the worst SD card data reorganization condition, the equation is:
           delay = {max file size} / {10MB/s} * {guarantee factor} + k

  therefore
           delay = (15 MB / 10MB/s) x 1.1 + k
                     = 1.5s x 1.1 + k
                     = 1.65s + k

For the present test I have it set to 1.6s.  This may not be enough because there may a constant k that is needed to wait for the pre-write portion of the shoot command.  I'd estimate that constant to be at least 300 ms because below this value failure rate is very high (1:4).

Hence by strict observance of the SD spec:

         what the delay should really be for S90 & Duracell 4GB C4 = 1.65 + 300 ms ~= 2 seconds.

Of course that will be a huge waste of 1.3 seconds for each myshoot because more than 95% of myshoots will work with a delay of only 750 ms, just above the "fuzzy zone."

Hence the two back-to-back failure incidents I therefore attribute to an incomplete major data reorganization instance on the card that occurred across the boundary between two successive myshoots (4 files totaling about 25 MB).

This result lends very strong support for write detect you have planned direct USB transfer.  So no, not CHDK, and no, not Canon .... and ...... not pointless after all, you see?  ;)

More perhaps Wednesday.
« Last Edit: 18 / September / 2012, 00:47:44 by SticK »

*

Offline reyalp

  • ******
  • 14128
Re: CHDKPTP - PC Remote Control Performance Analysis
« Reply #216 on: 18 / September / 2012, 01:47:03 »
loop_myshoots TEST NEWS  dcimdl delay 1.4s

This is interesting // here's how it developed. 

Today's FAIL occurred after 2459 myshoots (4918 files - USB 1), JPG &CanonCR2 range 10M to 15 MB max total per download (1-1/2 days).  ERROR this time:  ReadFDir.c
Can you post the romlog from this one ? This is not necessarily the same kind of thing a the FsIoNotify one.

Quote
Having read the above and from my data, the failures seem to be more relevant to either wear-leveling and/or how the SD controller distributes a big write on a card.
I found this https://wiki.linaro.org/WorkingGroups/Kernel/Projects/FlashCardSurvey to be an interesting discussion of this topic.
Quote
So no, not CHDK, and no, not Canon .... and ...... not pointless after all, you see?  ;)
Not convinced, but it's your time...
Don't forget what the H stands for.

*

Offline SticK

  • *****
  • 779
Re: CHDKPTP - PC Remote Control Performance Analysis
« Reply #217 on: 18 / September / 2012, 09:37:02 »
BACK-TO-BACK FAIL ROMLOGS ATTACHED

Very good article indeed // nice find.

Following one of their links, look at the extreme right tails of the frequency distributions (from a 12 MB/s C10 card) here:
https://lwn.net/Articles/428592/

Amazing ... very sensible and what I predicted in my last post  ... Thus it is possible the card and file size they tested may execute very rare writes that can occur at rates as low as 100 KB/s.  So a write can be more than 100 times slower than the spec'd value.

The basic conclusion is obvious: the rated speed of the card is the average maximum speed, not the worst case as I assumed earlier.  Of course reformatting a card from FAT32 to FAT16 (or FAT12) can change all that, and only for the worse according to the article.

Given this new information, my (Made in Japan) Duracell C4 4GB must be an excellent performer despite FAT16, as derived from the last fail after almost 2500 15-MB file pairs (30 GB in total across a 4GB card) at 1.4s delay!  By the same token, we don't know the depth and probability of the real worst case write condition.  Unlikely by my assessment of overall behavior, but it could even be 10 seconds, or more.

I'd say we have at least a first-order explanation which in my opinion really begs for CHDK end-of-write detection for Canon files.  It may be possible that whatever solution srsa crafts out for the direct USB transfer, his write detection solution could make its way into your shoot command too ?? 

GO srsa GO!

Quote "Not convinced"

Is this better now?  Please don't blame CHDK or Canon until I've given you the green light to do so, and that's not going to happen :) 

Is there an industrial-strength CHDK+ slowly rising over the horizon?  I have no doubt and am definitely looking forward to migrate the S90 & CHDK+ to my instrumentation.


*

Offline SticK

  • *****
  • 779
Re: CHDKPTP - PC Remote Control Performance Analysis
« Reply #218 on: 18 / September / 2012, 14:09:48 »
FORGE ?  When you get the time, could you please stamp out an S90 F/W version 1.00c CHDK based on the current 2142 test-1 "a" version for me, for the "newer" camera that came in this morning?

Thanks.

*

Offline SticK

  • *****
  • 779
Re: CHDKPTP - PC Remote Control Performance Analysis
« Reply #219 on: 18 / September / 2012, 16:58:18 »
I think you may disregard the forge request.  I downloaded from the stable area version S90 100c 2162.  The date stamp looks fine from today and powers up OK // only please confirm that it is the equivalent version to 101a 2142 test-1??

Thanks.

 

Related Topics


SimplePortal © 2008-2014, SimplePortal