Line 123... |
Line 123... |
long t0 = new Date().getTime()-100;
|
long t0 = new Date().getTime()-100;
|
int trynum = 0;
|
int trynum = 0;
|
int i = -1;
|
int i = -1;
|
if ( controlMsgTimeout < 200 )
|
if ( controlMsgTimeout < 200 )
|
controlMsgTimeout = 200;
|
controlMsgTimeout = 200;
|
while ( i<=0 && new Date().getTime()-t0<controlMsgTimeout ) { // we repeat the message until the timeout has reached
|
// while ( i<=0 && new Date().getTime()-t0<controlMsgTimeout ) { // we repeat the message until the timeout has reached
|
i = LibusbJava.usb_control_msg(handle, 0x40, cmd, value, index, buf, length, controlMsgTimeout);
|
i = LibusbJava.usb_control_msg(handle, 0x40, cmd, value, index, buf, length, controlMsgTimeout);
|
if ( certainWorkarounds ) {
|
if ( certainWorkarounds ) {
|
try {
|
try {
|
Thread.sleep(2);
|
Thread.sleep(2);
|
}
|
}
|
Line 142... |
Line 142... |
}
|
}
|
catch ( InterruptedException e ) {
|
catch ( InterruptedException e ) {
|
}
|
}
|
trynum++;
|
trynum++;
|
}
|
}
|
}
|
// }
|
if ( i < 0 )
|
if ( i < 0 )
|
throw new UsbException( dev.dev(), (func != null ? func + ": " : "" )+ LibusbJava.usb_strerror());
|
throw new UsbException( dev.dev(), (func != null ? func + ": " : "" )+ LibusbJava.usb_strerror());
|
return i;
|
return i;
|
}
|
}
|
|
|
Line 434... |
Line 434... |
* @throws IncompatibleFirmwareException if the given firmware is not compatible to the installed one, see {@link ZtexDevice1#compatible(int,int,int,int)} (Upload can be enforced using the <tt>force</tt> parameter)
|
* @throws IncompatibleFirmwareException if the given firmware is not compatible to the installed one, see {@link ZtexDevice1#compatible(int,int,int,int)} (Upload can be enforced using the <tt>force</tt> parameter)
|
* @throws FirmwareUploadException If an error occurred while attempting to upload the firmware.
|
* @throws FirmwareUploadException If an error occurred while attempting to upload the firmware.
|
* @throws UsbException if a communication error occurs.
|
* @throws UsbException if a communication error occurs.
|
* @throws InvalidFirmwareException if ZTEX descriptor 1 is not available.
|
* @throws InvalidFirmwareException if ZTEX descriptor 1 is not available.
|
* @throws DeviceLostException if a device went lost after renumeration.
|
* @throws DeviceLostException if a device went lost after renumeration.
|
|
* @return the upload time in ms.
|
*/
|
*/
|
// returns upload time in ms
|
// returns upload time in ms
|
public long uploadFirmware ( String ihxFileName, boolean force ) throws IncompatibleFirmwareException, FirmwareUploadException, UsbException, InvalidFirmwareException, DeviceLostException {
|
public long uploadFirmware ( String ihxFileName, boolean force ) throws IncompatibleFirmwareException, FirmwareUploadException, UsbException, InvalidFirmwareException, DeviceLostException {
|
// load the ihx file
|
// load the ihx file
|
ZtexIhxFile1 ihxFile;
|
ZtexIhxFile1 ihxFile;
|