libftdi Archives

Subject: RE: Could anyone spare a clue?

From: "Michael Plante" <michael.plante@xxxxxxxxx>
To: <libftdi@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Mon, 23 Aug 2010 23:11:50 -0500
John Oyler wrote:
>> Yeh, we have a scope and logic analyzer, but I'll need help to use those,
>> and I'm not really supposed to be working on this. I'll see what I can

For this purpose, a logic analyzer would be easier, since it presumably has
more channels (at least the one I've used had 30-something channels, as
opposed to the typical 2-4 channel o-scope).  But it sounds like it might
take some time for you to get to that.

>> I think I understand where you're going with this, but I'm not sure how
>> to make use of it. If I do some sort of while loop, waiting for it to
>> up, there is some chance that it will barf on me and just hang, right?

I'm not quite sure about that phrasing.  If it doesn't send what you want
and you timeout reading back nothing, send the bad command again.  But, in
theory, something can always go wrong.  Heck, someone might disconnect the
USB cable while you're looping.  How would you handle that?

>> Is it better to give up after so many iterations here?
>> That'd leave my software as less than robust.

Depends on the sort of software.  Assuming some reasonable # of retries, I
consider *silent* failure to set/read the registers correctly to be a worse
failure mode than reporting an error to the user.  But maybe in an
application that lacks any sort of supervising-user that can complain to
you, you'll have to consider this more carefully.

>> Or is it something where I'll almost certainly see it sync
>> after a dozen tries, so I don't have to worry about it?

My experience was that it was a strong function of the latency timer.  I
couldn't make anything less than 3 work properly, and 3 would occasionally
fail after my maximum number of retries, but rarely (guessing <5% of the
time I ran my program).  I know this isn't what you want to hear.  And I'd
be happy to hear suggestions from anyone else who's used MPSSE.  But that's
what I wound up doing and it generally worked for me.


libftdi - see for details.
To unsubscribe send a mail to libftdi+unsubscribe@xxxxxxxxxxxxxxxxxxxxxxx   

Current Thread