123456789101112131415161718192021222324252627282930313233 |
- /*
- USB Switch
- This script handle commands that switch the USB mass storage device
- to the host or slave side
- */
- #include "usbkvm_fw.h"
- //Entry point for switching USB bus signals, value only support 0x00 (A) and 0x01 (B)
- uint8_t usb_switch_emulation(uint8_t subtype, uint8_t value) {
- switch (subtype) {
- case SUBTYPE_SWITCH_USBHID:
- if (value == 0x00) {
- digitalWrite(HID_SW_SEL, LOW);
- return resp_ok;
- } else if (value == 0x01) {
- digitalWrite(HID_SW_SEL, HIGH);
- return resp_ok;
- }
- return resp_invalid_key_value;
- case SUBTYPE_SWITCH_USBMASS:
- if (value == 0x00) {
- digitalWrite(USB_SW_SEL, LOW);
- return resp_ok;
- } else if (value == 0x01) {
- digitalWrite(USB_SW_SEL, HIGH);
- return resp_ok;
- }
- return resp_invalid_key_value;
- default:
- return resp_invalid_opr_type;
- }
- }
|