Extract system properties to usb_command_get_property.c

This commit is contained in:
László Monda
2017-11-04 02:38:00 +01:00
parent 336c2e5368
commit ad4fe1a18d
4 changed files with 43 additions and 35 deletions

View File

@@ -0,0 +1,33 @@
#include "fsl_common.h"
#include "usb_commands/usb_command_get_property.h"
#include "usb_protocol_handler.h"
#include "eeprom.h"
void UsbCommand_GetProperty(void)
{
uint8_t propertyId = GenericHidInBuffer[1];
switch (propertyId) {
case SystemPropertyId_UsbProtocolVersion:
SetUsbResponseByte(SYSTEM_PROPERTY_USB_PROTOCOL_VERSION);
break;
case SystemPropertyId_BridgeProtocolVersion:
SetUsbResponseByte(SYSTEM_PROPERTY_BRIDGE_PROTOCOL_VERSION);
break;
case SystemPropertyId_DataModelVersion:
SetUsbResponseByte(SYSTEM_PROPERTY_DATA_MODEL_VERSION);
break;
case SystemPropertyId_FirmwareVersion:
SetUsbResponseByte(SYSTEM_PROPERTY_FIRMWARE_VERSION);
break;
case SystemPropertyId_HardwareConfigSize:
SetUsbResponseWord(HARDWARE_CONFIG_SIZE);
break;
case SystemPropertyId_UserConfigSize:
SetUsbResponseWord(USER_CONFIG_SIZE);
break;
default:
SetUsbError(1);
break;
}
}

View File

@@ -1,5 +1,5 @@
#ifndef __SYSTEM_PROPERTIES_H__
#define __SYSTEM_PROPERTIES_H__
#ifndef __USB_COMMAND_GET_PROPERTY_H__
#define __USB_COMMAND_GET_PROPERTY_H__
// Macros:
@@ -19,4 +19,8 @@
SystemPropertyId_UserConfigSize = 5,
} system_property_t;
// Functions:
void UsbCommand_GetProperty(void);
#endif

View File

@@ -1,5 +1,4 @@
#include "usb_protocol_handler.h"
#include "system_properties.h"
#include "peripherals/test_led.h"
#include "i2c_addresses.h"
#include "peripherals/led_driver.h"
@@ -18,6 +17,7 @@
#include "i2c_watchdog.h"
#include "usb_commands/usb_command_apply_config.h"
#include "usb_commands/usb_command_read_config.h"
#include "usb_commands/usb_command_get_property.h"
uint8_t UsbDebugInfo[USB_GENERIC_HID_OUT_BUFFER_LENGTH];
@@ -40,35 +40,6 @@ void SetUsbResponseWord(uint16_t response)
// Per command protocol command handlers
void getSystemProperty(void)
{
uint8_t propertyId = GenericHidInBuffer[1];
switch (propertyId) {
case SystemPropertyId_UsbProtocolVersion:
SetUsbResponseByte(SYSTEM_PROPERTY_USB_PROTOCOL_VERSION);
break;
case SystemPropertyId_BridgeProtocolVersion:
SetUsbResponseByte(SYSTEM_PROPERTY_BRIDGE_PROTOCOL_VERSION);
break;
case SystemPropertyId_DataModelVersion:
SetUsbResponseByte(SYSTEM_PROPERTY_DATA_MODEL_VERSION);
break;
case SystemPropertyId_FirmwareVersion:
SetUsbResponseByte(SYSTEM_PROPERTY_FIRMWARE_VERSION);
break;
case SystemPropertyId_HardwareConfigSize:
SetUsbResponseWord(HARDWARE_CONFIG_SIZE);
break;
case SystemPropertyId_UserConfigSize:
SetUsbResponseWord(USER_CONFIG_SIZE);
break;
default:
SetUsbError(1);
break;
}
}
void reenumerate(void)
{
Wormhole.magicNumber = WORMHOLE_MAGIC_NUMBER;
@@ -193,8 +164,8 @@ void UsbProtocolHandler(void)
bzero(GenericHidOutBuffer, USB_GENERIC_HID_OUT_BUFFER_LENGTH);
uint8_t command = GenericHidInBuffer[0];
switch (command) {
case UsbCommandId_GetSystemProperty:
getSystemProperty();
case UsbCommandId_GetProperty:
UsbCommand_GetProperty();
break;
case UsbCommandId_Reenumerate:
reenumerate();

View File

@@ -8,7 +8,7 @@
// Typedefs:
typedef enum {
UsbCommandId_GetSystemProperty = 0,
UsbCommandId_GetProperty = 0,
UsbCommandId_Reenumerate = 1,
UsbCommandId_SetTestLed = 2,
UsbCommandId_WriteLedDriver = 3,