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

CHDKPTP - PC Remote Control Performance Analysis

  • 465 Replies
  • 139813 Views
*

Offline reyalp

  • ******
  • 14128
Re: CHDKPTP - PC Remote Control Performance Analysis
« Reply #200 on: 15 / September / 2012, 23:07:42 »
Advertisements
Quote "What failure was it ?"

In listdir, the usual place where it fails now when it does.  I've set it to run again ... do you want a log anyway?
Was it a crash with one of the known romlogs, or the "not found ..." error, or something else ?

Quote
Quote "As you get up to high numbers of shots, you may encounter other problems."
It's possible that the camera will use up some RAM for each shot, even if you are deleting the files. See http://chdk.wikia.com/wiki/CHDK/Camera_RAM_memory_usage (which I've mentioned before)

Beyond that, the design requirements of the Canon firmware are not more than a full card worth of images between reboots, with the vast majority of users rebooting before a battery runs out. Just as an example, the Canon firmware will not do USB downloads with more than ~1k images on the card. If go outside of the Canon design requirements, expect the unexpected.
Quote
Quote "CHDK is a hack."

I'm not so sure
I am 100% certain ;)
Quote
// but putting in this "delay" *is*a *terrible* hack, and setting to some ridiculously high value is hack+slop
Yes, it's a hack, and when using CHDK, you should expect to use dirty, ugly hacks.

What I'm trying to explain even if we resolve this particular issue, it would be insane to expect industrial grade reliability from CHDK.
Quote
Quote " If ZERO FAILURE RATE is a requirement for your project, then it's unlikely CHDK is an appropriate solution."

Is there any other solution?  I don't think so.
Of course there is, build or hire someone to build a camera from the ground up to your requirements, instead of relying on a volunteer made hack on top of some junk consumer hardware. If you don't have the staff and budget for that, then you ought to be realistic about what you expect from the aforementioned junk.
Quote
Can you please investigate it?  I am counting on you // if it has the functionality we expect, it would be a solid solution not just for me and not just for CHDKPTP shoot, but, I expect for shoot-write overall  :xmas
As I said, I'll look into it if/when I find time, but don't hold your breath.
Don't forget what the H stands for.

*

Offline SticK

  • *****
  • 779
Re: CHDKPTP - PC Remote Control Performance Analysis
« Reply #201 on: 15 / September / 2012, 23:47:07 »
Quote "Was it a crash with one of the known romlogs, or the "not found ..." error, or something else ?"

Ever since you change the heap manager, it always crashes in the same call < listdir > with a one of the known romlogs // attached.

Quote "It's possible that the camera will use up some RAM for each shot, even if you are deleting the files."

While it's possible, I don't think that is the main contributor.  Recall when delay is anything faster than 700 ms, FAIL always occurs under 50 myshoots.  If I set it to 1s, I hit almost 1000 myshoots.  If this were RAM-dominant, we'd see a reasonably consistent crash point especially if increasing delay past 900 ms, not such a disparity we're observing here.

Quote "Beyond that, the design requirements of the Canon firmware are not more than a full card worth of images between reboots,"

I don't understand how this is related because the SD card gets completely erased after every shot.   In the S90, the transient SD increase never exceeds 15 MB max over an empty card.

Quote "Just as an example, the Canon firmware will not do USB downloads with more than ~1k images on the card."

In the last test at 1s, we were able to successfully download almost 2000 files in a row w/o touching the camera.

Quote "I am 100% certain ;)"

Hmm .. too bad  :(, but I have this nice feeling this could be exceptional.

Quote "it would be insane to expect industrial grade reliability from CHDK."

The fact that CHDKPTP can take just *one* successful shot and download a JPG and CanonCR2, while liveview at 640x480 is running, *is already* industrial grade.   All I'm striving for is consistent repetition .. and .. we're not far from it in my view.

Quote "instead of relying on a volunteer made hack on top of some junk consumer hardware. "

This volunteer is brilliant ... and hardware is very far from junk ... there are $millions invested to build incredible high performance that look cheap and small in a crummy plastic package, but for this specific application that you cannot get any equipment from any scientific camera vendor for $10's thousands // I can vouch for that.   I think I said this before in some other way.

Quote "As I said, I'll look into it if/when I find time, but don't hold your breath."

Can you at least instigate it to the point of determining if you have a reasonably good chance of success once you do get around to it?  Basically, possible or not possible?  If you can give me some hope that it may (not will) work, then I can feel comfortable to move the camera and begin testing on the instrument bench as-is in a couple of days ... because I am still optimizing the terrible delay hack.



*

Offline reyalp

  • ******
  • 14128
Re: CHDKPTP - PC Remote Control Performance Analysis
« Reply #202 on: 16 / September / 2012, 00:48:03 »
Your romlog is the FsIoNotify one, so it's safe to say it's caused by too short a delay.
Quote "It's possible that the camera will use up some RAM for each shot, even if you are deleting the files."

While it's possible, I don't think that is the main contributor.
I'm not saying *this* problem is due to running out of RAM. I'm just saying that even if this issue is resolved, there's no reason to expect CHDK or the Canon firmware to run indefinitely.
Quote
Quote "Beyond that, the design requirements of the Canon firmware are not more than a full card worth of images between reboots,"

I don't understand how this is related because the SD card gets completely erased after every shot.
Indeed, you do not understand. Let me try again.

Canon design requirements: Run a few hours / few hundred pictures at time. If there is some subtle issue that crops up after a few thousand shot cycles, would they have any reason to fix it? If there was some small resource leak that only mattered after an unrealistic run time?
Quote
In the last test at 1s, we were able to successfully download almost 2000 files in a row w/o touching the camera.
Again, the point was not that you will run into that particular issue, it's an illustration of that fact that Canon doesn't design for more than a few thousand shots in a session.
Quote
but for this specific application that you cannot get any equipment from any scientific camera vendor for $10's thousands
So ? Tens of thousands doesn't buy you much engineering. That doesn't change the fact that CHDK is dirty hack, and would be unrealistic to expect it to achieve the same reliability as a properly engineered system.
Quote
Can you at least instigate it to the point of determining if you have a reasonably good chance of success once you do get around to it? 
To the first order, that would require actually doing it, so no.
Quote
Basically, possible or not possible?  If you can give me some hope that it may (not will) work, then I can feel comfortable to move the camera and begin testing on the instrument bench as-is in a couple of days ... because I am still optimizing the terrible delay hack.
Wasting your time trying to optimize the delay is entirely your own choice.
Don't forget what the H stands for.

Re: CHDKPTP - PC Remote Control Performance Analysis
« Reply #203 on: 16 / September / 2012, 06:05:51 »
for this specific application that you cannot get any equipment from any scientific camera vendor for $10's thousands // I can vouch for that.

Well, vouch for it then.

Describe in detail what your experiment is and what the instrumentation is required to do.

Unless it is a SECRET that is.

Even if you do not, I may know of suitable equipment.

At the very least it would save reyalp spending an absurd amount of time on an exceptionally specialised project whose requirements are somewhat vague.

Yes, I know, it could benefit the entire CHDK community  ..........  somehow.

*

Offline SticK

  • *****
  • 779
Re: CHDKPTP - PC Remote Control Performance Analysis
« Reply #204 on: 16 / September / 2012, 10:50:12 »
Quote "I'm not saying *this* problem is due to running out of RAM. I'm just saying that even if this issue is resolved, there's no reason to expect CHDK or the Canon firmware to run indefinitely."

The S50 has run for many months straight w/o fail (between scheduled PDNs for maintenance) with RemoteCapture no problem, ie 20,000+ images in a row, now for years without a single failure.  That's good design and I see no reason why fundamentally the newer higher-end PowerShots should be worse.  Of course you're not piping image data direct to USB yet so it could be different as you point out, but, from the *feel* that I am getting from my experiments of the last 2 weeks, I know if you implemented write detect, the solution would work.  I think you must also realize that with me you have a very respectable test base for your solutions.  Likewise, I am getting high performance liveview with your app and a pretty good prospect for fail-proof performance on the camera side.  I'd say take advantage of my contributions while my activity related to this upgrade is still hot.

Quote "Canon design requirements: Run a few hours / few hundred pictures at time. "

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.

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.  Good software engineering requires the building of exercise and simulation code that accelerates usage and shakes out the bugs.  I am convinced Canon engineering does exactly that, something I myself did in the 80's-90's for a terrestrial radio systems modeling tool & GIS I designed for the local electricity utility's maintenance vehicles.  Canon's reputation is on the line.  For example, I followed your heap manager output in the DOS window with great interest and was delighted to see that nothing (neither Canon nor CHDK) was chewing up memory.  Consistent .... if that had been a problem with the S50 for example, it would have failed incessantly.  Proof-in-pudding.

Quote "Again, the point was not that you will run into that particular issue, it's an illustration of that fact that Canon doesn't design for more than a few thousand shots in a session."

My experience pushes me to disagree vehemently.  S50: hundreds of thousands of shots to date without a single failure, RAW & JPEG.

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.

Quote "To the first order, that would require actually doing it, so no."

 :(

Quote "Wasting your time trying to optimize the delay is entirely your own choice."

You still don't understand ...  optimizing the delay has two very independent and equally important objectives:
          1) to make good use of the high speed SD writes and USB 2.0 data transfer rates, and
          2) determine if delay has a cut-off where FAILs no longer happen. 
#1 will be thoroughly tested once I move the S90 to the instrumentation bench.  #2 has priority at this stage and can be worked out on the test bench.  If I am forced to stay with the delay hack, then for #2 I don't yet have a satisfactory answer.  At 750 ms or less, it fails under 50 myshoots.  At 1s it failed at ~900 myshoots.  Since last night I changed the value to 1.2s and this morning it's running at ~975 myshoots, still very far from a satisfactory answer.  You've spent many years developing CHDK.  Consider these few weeks my contribution to the verification of your work.  Please understand that I have to do this because you don't have write detect implemented.  If you have other priorities, then take advantage of my work rather than telling me I am wasting my time, and, please don't let me lose respect for you by repeating me this to me.

@microfunguy

Quote "Describe in detail what your experiment is and what the instrumentation is required to do."

Once I see very convincing results on the instrumentation bench I will touch base with you.  I have a sense you might like what this project is all about.  Keep in mind that the instrumentation is fully developed and functional.  Moving its primary imager from the S50 to S90 is strictly an upgrade and there is no design involved at all.  I don't know if you've been following my comments early on, but I can tell you this: S90+CHDK will result in at least 9 f-stops low-light performance improvement over the S50.  Huge.  That's the bottom line.

Quote "I may know of suitable equipment."

Thank you for your offer.  The basic requirement is the following: 
    ) CCD sensor surface no larger than 1/1.7" and no smaller than 1/2.3"
    ) Maximum pixels possible with these restrictions ..
         ) no more than 10 mpx (1/1.7"),
         ) no more than 8 mpx (1/2.3"),
         ) 1/1.7" 10 mpx is optimal
    ) RGB, not monochrome
    ) Signal processor: Correlated double sampler, low noise wide dynamic range VGA
    ) min 12-bit ADC depth, max 14 bit
    ) Space less than 6 cu in
If you can come up with something that is better in low-light performance than the S90 at room temperature, I would call it a miracle.  I am interested in your thoughts.

Quote "At the very least it would save reyalp spending an absurd amount of time on an exceptionally specialised project whose requirements are somewhat vague."

The global requirements of the instrumentation are exceedingly complex.  The requirements of the imager are simple, stated above.  Both those are independent of remote control operational requirement, which I am sure you would agree is generic.  So, regardless of any specialised (and distant) requirements for the equipment, CHDKPTP liveview clarity has been fixed, UI overlay has been fixed, palette has been fixed, aspect ratio problems have been fixed, a flexible programmatic shoot command has been implemented, RC image transfer implemented (for JPG, CananRAW & CHDKRAW, all tested), and CHDK heap manager has been fixed, at least for S90, SX110 & siblings.  Get an S90 or SX110 and try remote control ... it did not work just 3 weeks ago and now it's amazing // you'll be hooked.  I would like to see write detect implemented as a final request to test robust industrial-strength performance, which I feel your CHDK "dirty hack" is capable of.  From another perspective, I think my exceptionally specialised project covers a vast field of very demanding digital photography at the grass roots level, not bells and whistles, that I am offering you.  By your and reyalp's accounts however ... I am beginning to wonder ... is all you've done just for my project?  Maybe it's true.  Please tell me ... if so, I would rather respectfully bow out of my efforts to improve your software.  Do let me know.



Re: CHDKPTP - PC Remote Control Performance Analysis
« Reply #205 on: 16 / September / 2012, 11:02:46 »
Once I see very convincing results on the instrumentation bench I will touch base with you.

I look forward to that 'possibility'.

Quote
The basic requirement is the following

Seems like it is written around Powershots, or maybe that is coincidence.
Anyway, we still do not know what you are trying to do so I have no way of knowing if those requirements are truly valid.

Quote
  Get an S90 or SX110 and try remote control .

I have an S95 working with my own PTP software.
Among other things, it uploads (downloads ?) images at regular intervals to the PC without leaving them on the camera.
It creates instant stop-motion movies, thumbnail image galleries, stereo extended depth-of-field image stacks, HDR sequences, etc., etc.

However, it is a lot of work, testers are not reliable and basically I cannot be bothered.
I am working on other things.


*

Offline SticK

  • *****
  • 779
Re: CHDKPTP - PC Remote Control Performance Analysis
« Reply #206 on: 16 / September / 2012, 11:31:41 »
Quote "Seems like it is written around Powershots, or maybe that is coincidence."

The CCD physical & electrical and RC requirements have nothing to do with PowerShots.  It just so happens that of all commercial small-format CCD cameras available, PowerShots fit the bill the best.  The S90 (S95) is best small-format CCD low-light performer of all of them, with SX110 a reasonable 2nd.

Quote "I have no way of knowing if those requirements are truly valid"

I truly don't know how to respond to this ... do you not trust my engineering capabilities?  I have said time and again that the instrument has been operational for years and yielding great scientific results.  Its entire optical architecture is highly optimized.  This upgrade will allow it to look farther and deeper than ever before.  That's the only difference.

Quote "I have an S95 working with my own PTP software"

Hmmm .. that's interesting .. an relative of CHDK's PTP?  A cousin of CHDKPTP, modified?  Entirely your own?

Quote "Among other things, it uploads (downloads ?) images at regular intervals to the PC without leaving them on the camera."

CHDKPTP is doing that now.  How different is yours?  Do you have liveview?  Does it do a direct transfer without an intervening write to SD?  I expect a direct-to-USB transfer (JPG&RAW) of a shoot would be very challenging to implement at best.

Quote "It creates instant stop-motion movies, thumbnail image galleries, stereo extended depth-of-field image stacks, HDR sequences, etc., etc"

CHDK I presume .. does it crash on you?

Re: CHDKPTP - PC Remote Control Performance Analysis
« Reply #207 on: 16 / September / 2012, 11:36:45 »
I have said time and again that the instrument has been operational for years and yielding great scientific results.
Years ?  So is the original instrument a "secret" too ?  Have any of these scientific results been published ?  Enquiring minds want to know ...
Ported :   A1200    SD940   G10    Powershot N    G16

*

Offline SticK

  • *****
  • 779
Re: CHDKPTP - PC Remote Control Performance Analysis
« Reply #208 on: 16 / September / 2012, 12:02:35 »
Quote "Years ?  So is the original instrument a "secret" too ?  Have any of these scientific results been published ?  Enquiring minds want to know ..."

To introduce a solid publication that is as bullet-proof as possible in the discipline of ancient microbial life requires much time and care.  What we (CHDK team & I) doing right now is purely technical and is intended for future scientific investigations ... it won't impact the upcoming publication because all the data needed is already there.  My instrument you could say is the "triage gateway" to the exploration of early microbial life, in essence addressing a certain aspect of "where do we come from?"  There are other conventional tests like Raman and FTIR that are done in microspecimens (microfossils) found by my instrument.  There is no research-grade commercial instrument that can do this, regardless of money.  So in that respect my instrument is very unique.  There are still some conventional supportive tests on the specimens to be done for the upcoming publication.  We (my science team and I here) expect a very interesting manuscript to be submitted by around January.  This is all I can tell you for now.

*

Offline SticK

  • *****
  • 779
Re: CHDKPTP - PC Remote Control Performance Analysis
« Reply #209 on: 16 / September / 2012, 12:14:49 »
TEST UPDATE 1.2s delay:  FsIoNotify error at listdir // 1024 successful (JPG & CanonCR2) myshoots.

Next test: Increase delay to 1.4s.

 

Related Topics


SimplePortal © 2008-2014, SimplePortal