Communication hangup with EOP300 programmer - long waiting time

This article applies to:
EOPX, EOP300 Programmer

QUESTION

We use Enocean's Dolphin Studio and the EOP programmer to load our firmware into the modules. We have found that a bad connection can lock the programmer up, requiring us to unplug the USB cable and waiting for a period of time before the software/driver/programmer resets and is usable again. In addition, Dolphin Studio has a long timeout of about one minute before it resets on a bad read or write.

A user configurable timeout on Dolphin Studio (2 seconds to 60 seconds) would be useful
A more graceful recovery from bad communications would also be desirable. It seems that the USB driver may get hung up and not properly reset.

ANSWER

This is a limitation of the FTDI chip and MPSSE stack and there is no other possibility of implementation. If there is a communication problem EOPX tries to reset the whole USB stack through the FTDI driver. It is the same effect like unplugging the USB cable. This can take upto 2-5 seconds dependent on the type of operating system, USB controller, etc.
We work with EOPX in production where we produce several thousand of modules per day but we ensure a good contacting of the modules.

Another possibility is implementing an own programmer through a host controller using the SPI protocol. Some customers have already realized this using an FPGA or other micro-controller.
Read the related application note AN502 how to do this.

RELATED TO:
http://www.enocean.com/fileadmin/redaktion/pdf/app_notes/AN502_DOLPHIN_INCIRCUIT_PROGRAMMING.pdf
http://www.enocean.com/fileadmin/redaktion/pdf/app_notes/AN502SW.zip