|
|
|
@ -291,10 +291,10 @@ int usb_vcp_write(uint8_t iface_num, const uint8_t *buf, uint32_t len) {
|
|
|
|
|
return len;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int usb_vcp_read_blocking(uint8_t iface_num, uint8_t *buf, uint32_t len, uint32_t timeout) {
|
|
|
|
|
int usb_vcp_read_blocking(uint8_t iface_num, uint8_t *buf, uint32_t len, int timeout) {
|
|
|
|
|
uint32_t start = HAL_GetTick();
|
|
|
|
|
while (!usb_vcp_can_read(iface_num)) {
|
|
|
|
|
if (HAL_GetTick() - start >= timeout) {
|
|
|
|
|
if (timeout >= 0 && HAL_GetTick() - start >= timeout) {
|
|
|
|
|
return 0; // Timeout
|
|
|
|
|
}
|
|
|
|
|
__WFI(); // Enter sleep mode, waiting for interrupt
|
|
|
|
@ -302,10 +302,10 @@ int usb_vcp_read_blocking(uint8_t iface_num, uint8_t *buf, uint32_t len, uint32_
|
|
|
|
|
return usb_vcp_read(iface_num, buf, len);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int usb_vcp_write_blocking(uint8_t iface_num, const uint8_t *buf, uint32_t len, uint32_t timeout) {
|
|
|
|
|
int usb_vcp_write_blocking(uint8_t iface_num, const uint8_t *buf, uint32_t len, int timeout) {
|
|
|
|
|
uint32_t start = HAL_GetTick();
|
|
|
|
|
while (!usb_vcp_can_write(iface_num)) {
|
|
|
|
|
if (HAL_GetTick() - start >= timeout) {
|
|
|
|
|
if (timeout >= 0 && HAL_GetTick() - start >= timeout) {
|
|
|
|
|
return 0; // Timeout
|
|
|
|
|
}
|
|
|
|
|
__WFI(); // Enter sleep mode, waiting for interrupt
|
|
|
|
|