version 1.15, 2013/01/05 23:34:16 |
version 1.15.18.1, 2016/09/06 20:33:08 |
Line 85 int ezloaddebug = 0; |
|
Line 85 int ezloaddebug = 0; |
|
#endif |
#endif |
|
|
usbd_status |
usbd_status |
ezload_reset(usbd_device_handle dev, int reset) |
ezload_reset(struct usbd_device *dev, int reset) |
{ |
{ |
usb_device_request_t req; |
usb_device_request_t req; |
uByte rst; |
uByte rst; |
Line 98 ezload_reset(usbd_device_handle dev, int |
|
Line 98 ezload_reset(usbd_device_handle dev, int |
|
USETW(req.wValue, ANCHOR_CPUCS_REG); |
USETW(req.wValue, ANCHOR_CPUCS_REG); |
USETW(req.wIndex, 0); |
USETW(req.wIndex, 0); |
USETW(req.wLength, 1); |
USETW(req.wLength, 1); |
return (usbd_do_request(dev, &req, &rst)); |
return usbd_do_request(dev, &req, &rst); |
} |
} |
|
|
usbd_status |
usbd_status |
ezload_download(usbd_device_handle dev, const struct ezdata *rec) |
ezload_download(struct usbd_device *dev, const struct ezdata *rec) |
{ |
{ |
usb_device_request_t req; |
usb_device_request_t req; |
const struct ezdata *ptr; |
const struct ezdata *ptr; |
Line 115 ezload_download(usbd_device_handle dev, |
|
Line 115 ezload_download(usbd_device_handle dev, |
|
|
|
#if 0 |
#if 0 |
if (ptr->address + ptr->length > ANCHOR_MAX_INTERNAL_ADDRESS) |
if (ptr->address + ptr->length > ANCHOR_MAX_INTERNAL_ADDRESS) |
return (USBD_INVAL); |
return USBD_INVAL; |
#endif |
#endif |
|
|
req.bmRequestType = UT_WRITE_VENDOR_DEVICE; |
req.bmRequestType = UT_WRITE_VENDOR_DEVICE; |
Line 133 ezload_download(usbd_device_handle dev, |
|
Line 133 ezload_download(usbd_device_handle dev, |
|
err = usbd_do_request(dev, &req, |
err = usbd_do_request(dev, &req, |
__UNCONST(ptr->data + offs)); |
__UNCONST(ptr->data + offs)); |
if (err) |
if (err) |
return (err); |
return err; |
} |
} |
} |
} |
|
|
return (0); |
return 0; |
} |
} |
|
|
usbd_status |
usbd_status |
ezload_downloads_and_reset(usbd_device_handle dev, const struct ezdata **recs) |
ezload_downloads_and_reset(struct usbd_device *dev, const struct ezdata **recs) |
{ |
{ |
usbd_status err; |
usbd_status err; |
|
|
/*(void)ezload_reset(dev, 1);*/ |
/*(void)ezload_reset(dev, 1);*/ |
err = ezload_reset(dev, 1); |
err = ezload_reset(dev, 1); |
if (err) |
if (err) |
return (err); |
return err; |
usbd_delay_ms(dev, 250); |
usbd_delay_ms(dev, 250); |
while (*recs != NULL) { |
while (*recs != NULL) { |
err = ezload_download(dev, *recs++); |
err = ezload_download(dev, *recs++); |
if (err) |
if (err) |
return (err); |
return err; |
} |
} |
usbd_delay_ms(dev, 250); |
usbd_delay_ms(dev, 250); |
err = ezload_reset(dev, 0); |
err = ezload_reset(dev, 0); |
usbd_delay_ms(dev, 250); |
usbd_delay_ms(dev, 250); |
return (err); |
return err; |
} |
} |