#include "usb_protocol_handler.h" #include "usb_commands/usb_command_get_property.h" #include "usb_commands/usb_command_reenumerate.h" #include "usb_commands/usb_command_set_test_led.h" #include "usb_commands/usb_command_write_config.h" #include "usb_commands/usb_command_apply_config.h" #include "usb_commands/usb_command_set_led_pwm_brightness.h" #include "usb_commands/usb_command_get_adc_value.h" #include "usb_commands/usb_command_launch_eeprom_transfer_legacy.h" #include "usb_commands/usb_command_read_config.h" #include "usb_commands/usb_command_get_keyboard_state.h" #include "usb_commands/usb_command_get_debug_buffer.h" #include "usb_commands/usb_command_jump_to_slave_bootloader.h" #include "usb_commands/usb_command_send_kboot_command.h" void UsbProtocolHandler(void) { bzero(GenericHidOutBuffer, USB_GENERIC_HID_OUT_BUFFER_LENGTH); uint8_t command = GET_USB_BUFFER_UINT8(0); switch (command) { case UsbCommandId_GetProperty: UsbCommand_GetProperty(); break; case UsbCommandId_Reenumerate: UsbCommand_Reenumerate(); break; case UsbCommandId_SetTestLed: UsbCommand_SetTestLed(); break; case UsbCommandId_WriteUserConfig: UsbCommand_WriteConfig(false); break; case UsbCommandId_ApplyConfig: UsbCommand_ApplyConfig(); break; case UsbCommandId_SetLedPwmBrightness: UsbCommand_SetLedPwmBrightness(); break; case UsbCommandId_GetAdcValue: UsbCommand_GetAdcValue(); break; case UsbCommandId_LaunchEepromTransferLegacy: UsbCommand_LaunchEepromTransferLegacy(); break; case UsbCommandId_ReadHardwareConfig: UsbCommand_ReadConfig(true); break; case UsbCommandId_WriteHardwareConfig: UsbCommand_WriteConfig(true); break; case UsbCommandId_ReadUserConfig: UsbCommand_ReadConfig(false); break; case UsbCommandId_GetKeyboardState: UsbCommand_GetKeyboardState(); break; case UsbCommandId_GetDebugInfo: UsbCommand_GetDebugBuffer(); break; case UsbCommandId_JumpToModuleBootloader: UsbCommand_JumpToSlaveBootloader(); break; case UsbCommandId_SendKbootCommandToModule: UsbCommand_SendKbootCommand(); break; default: SET_USB_BUFFER_UINT8(0, UsbStatusCode_InvalidCommand); break; } }