diff options
author | root <root@lamia.panaceas.james.local> | 2015-06-13 12:18:52 +0100 |
---|---|---|
committer | root <root@lamia.panaceas.james.local> | 2015-06-13 12:18:52 +0100 |
commit | bc9e93ad20f936c67d6acddb02d426783c32398e (patch) | |
tree | c4c128604c92298174cfcd3c1b07878d0ca35ac6 /app/kvm.c | |
parent | 500561f54adabc9aaf5b3548744b5bc8b4381c89 (diff) | |
download | stm32_usb_kvm-bc9e93ad20f936c67d6acddb02d426783c32398e.tar.gz stm32_usb_kvm-bc9e93ad20f936c67d6acddb02d426783c32398e.tar.bz2 stm32_usb_kvm-bc9e93ad20f936c67d6acddb02d426783c32398e.zip |
add usb resume support
Diffstat (limited to 'app/kvm.c')
-rw-r--r-- | app/kvm.c | 26 |
1 files changed, 17 insertions, 9 deletions
@@ -26,13 +26,21 @@ kvm_dispatch (void) addr, endpoint, len, buf[0], buf[1], buf[2], buf[3]); #endif - if (len) { - if (endpoint==0x81) - led_set(GPIO8); - else - led_set(GPIO9); - usbd_ep_write_packet (usbd_dev, endpoint, buf, len); - } + if (len) + { + if (endpoint == 0x81) + { + usb_wakeup_host (); + led_set (GPIO8); + } + else + { + led_set (GPIO9); + } + + if (!usb_is_suspended) + usbd_ep_write_packet (usbd_dev, endpoint, buf, len); + } } void @@ -89,12 +97,12 @@ kvm_recv (uint8_t d) buf[ptr++] = d; if (ptr >= len) { - if (addr==BUS_ID) + if (addr == BUS_ID) kvm_dispatch (); state = STATE_SYNC; } break; default: - break; + break; } } |