Extract dedicated protocol handler functions per command.

This commit is contained in:
László Monda
2016-09-27 00:11:26 +02:00
parent 9e29018ff7
commit 13a71ea826
2 changed files with 50 additions and 14 deletions

View File

@@ -1,15 +1,46 @@
#include "usb_protocol_handler.h" #include "usb_protocol_handler.h"
#include "test_led.h" #include "test_led.h"
void GetProtocolVersion();
void JumpToBootloader();
void GetSetTestLed();
void WriteLedDriver();
void ReadLedDriver();
void UsbProtocolHandler() void UsbProtocolHandler()
{ {
uint8_t command = GenericHidInBuffer[0]; uint8_t command = GenericHidInBuffer[0];
uint8_t arg = GenericHidInBuffer[1];
switch (command) { switch (command) {
case USB_COMMAND_GET_PROTOCOL_VERSION:
GetProtocolVersion();
break;
case USB_COMMAND_JUMP_TO_BOOTLOADER: case USB_COMMAND_JUMP_TO_BOOTLOADER:
JumpToBootloader();
break; break;
case USB_COMMAND_TEST_LED: case USB_COMMAND_TEST_LED:
GetSetTestLed();
break;
case USB_COMMAND_WRITE_LED_DRIVER:
WriteLedDriver();
break;
case USB_COMMAND_READ_LED_DRIVER:
ReadLedDriver();
break;
default:
break;
}
}
void GetProtocolVersion() {
GenericHidOutBuffer[1] = 1;
}
void JumpToBootloader() {
}
void GetSetTestLed()
{
uint8_t arg = GenericHidInBuffer[1];
switch (arg) { switch (arg) {
case 0: case 0:
TEST_RED_ON(); TEST_RED_ON();
@@ -18,9 +49,12 @@ void UsbProtocolHandler()
TEST_RED_OFF(); TEST_RED_OFF();
break; break;
} }
case USB_COMMAND_LED_DRIVER:
break;
default:
break;
} }
void WriteLedDriver()
{
}
void ReadLedDriver()
{
} }

View File

@@ -7,9 +7,11 @@
// Macros: // Macros:
#define USB_COMMAND_JUMP_TO_BOOTLOADER 0 #define USB_COMMAND_GET_PROTOCOL_VERSION 0
#define USB_COMMAND_TEST_LED 1 #define USB_COMMAND_JUMP_TO_BOOTLOADER 1
#define USB_COMMAND_LED_DRIVER 2 #define USB_COMMAND_TEST_LED 2
#define USB_COMMAND_WRITE_LED_DRIVER 3
#define USB_COMMAND_READ_LED_DRIVER 4
// Functions: // Functions: