New usbDelay that delays and handles USB requests

Added usbDelay that polls usb port (for system requests) while delaying.
This is called instead of delay in the button and pin delay functions.
Experimental evaluation gave that the cycle count should be roughly divided
by 28.5.
pull/25/head
Jochen Hoenicke 9 years ago
parent b56cf9246b
commit 218b9984bb

@ -57,7 +57,7 @@ bool protectButton(ButtonRequestType type, bool confirm_only)
// button acked - check buttons
if (acked) {
delay(100000);
usbDelay(3500);
buttonUpdate();
if (button.YesUp) {
result = true;
@ -165,7 +165,7 @@ bool protectPin(bool use_cached)
}
layoutDialog(DIALOG_ICON_INFO, NULL, NULL, NULL, "Wrong PIN entered", NULL, "Please wait", secstr, "to continue ...", NULL);
// wait one second
delay(24000000);
usbDelay(840000);
}
}
const char *pin;

@ -332,3 +332,10 @@ void usbTiny(char set)
{
tiny = set;
}
void usbDelay(int cycles)
{
while (cycles--) {
usbd_poll(usbd_dev);
}
}

@ -24,5 +24,6 @@ void usbInit(void);
void usbPoll(void);
void usbReconnect(void);
void usbTiny(char set);
void usbDelay(int cycles);
#endif

Loading…
Cancel
Save