Lowercase protocol handler functions according to our coding standards because they're not extern.
This commit is contained in:
@@ -60,7 +60,7 @@ usb_status_t UsbGenericHidCallback(class_handle_t handle, uint32_t event, void *
|
|||||||
case kUSB_DeviceHidEventSendResponse:
|
case kUSB_DeviceHidEventSendResponse:
|
||||||
break;
|
break;
|
||||||
case kUSB_DeviceHidEventRecvResponse:
|
case kUSB_DeviceHidEventRecvResponse:
|
||||||
UsbProtocolHandler();
|
usbProtocolHandler();
|
||||||
|
|
||||||
USB_DeviceHidSend(UsbCompositeDevice.genericHidHandle,
|
USB_DeviceHidSend(UsbCompositeDevice.genericHidHandle,
|
||||||
USB_GENERIC_HID_ENDPOINT_IN_INDEX,
|
USB_GENERIC_HID_ENDPOINT_IN_INDEX,
|
||||||
|
|||||||
@@ -7,29 +7,29 @@
|
|||||||
#include "deserialize.h"
|
#include "deserialize.h"
|
||||||
#include "config_buffer.h"
|
#include "config_buffer.h"
|
||||||
|
|
||||||
void SetError(uint8_t error);
|
void setError(uint8_t error);
|
||||||
void SetGenericError();
|
void setGenericError();
|
||||||
void UsbProtocolHandler();
|
void usbProtocolHandler();
|
||||||
void GetSystemProperty();
|
void getSystemProperty();
|
||||||
void JumpToBootloader();
|
void jumpToBootloader();
|
||||||
void GetSetTestLed();
|
void getSetTestLed();
|
||||||
void WriteLedDriver();
|
void writeLedDriver();
|
||||||
void ReadLedDriver();
|
void readLedDriver();
|
||||||
void WriteEeprom();
|
void writeEeprom();
|
||||||
void ReadEeprom();
|
void readEeprom();
|
||||||
void ReadMergeSensor();
|
void readMergeSensor();
|
||||||
void uploadConfig();
|
void uploadConfig();
|
||||||
void applyConfig();
|
void applyConfig();
|
||||||
|
|
||||||
// Functions for setting error statuses
|
// Functions for setting error statuses
|
||||||
|
|
||||||
void SetError(uint8_t error) {
|
void setError(uint8_t error) {
|
||||||
GenericHidOutBuffer[0] = error;
|
GenericHidOutBuffer[0] = error;
|
||||||
}
|
}
|
||||||
|
|
||||||
void SetGenericError()
|
void setGenericError()
|
||||||
{
|
{
|
||||||
SetError(PROTOCOL_RESPONSE_GENERIC_ERROR);
|
setError(PROTOCOL_RESPONSE_GENERIC_ERROR);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set a single byte as the response.
|
// Set a single byte as the response.
|
||||||
@@ -40,34 +40,34 @@ void SetResponseByte(uint8_t response)
|
|||||||
|
|
||||||
// The main protocol handler function
|
// The main protocol handler function
|
||||||
|
|
||||||
void UsbProtocolHandler()
|
void usbProtocolHandler()
|
||||||
{
|
{
|
||||||
bzero(GenericHidOutBuffer, USB_GENERIC_HID_OUT_BUFFER_LENGTH);
|
bzero(GenericHidOutBuffer, USB_GENERIC_HID_OUT_BUFFER_LENGTH);
|
||||||
uint8_t command = GenericHidInBuffer[0];
|
uint8_t command = GenericHidInBuffer[0];
|
||||||
switch (command) {
|
switch (command) {
|
||||||
case USB_COMMAND_GET_SYSTEM_PROPERTY:
|
case USB_COMMAND_GET_SYSTEM_PROPERTY:
|
||||||
GetSystemProperty();
|
getSystemProperty();
|
||||||
break;
|
break;
|
||||||
case USB_COMMAND_JUMP_TO_BOOTLOADER:
|
case USB_COMMAND_JUMP_TO_BOOTLOADER:
|
||||||
JumpToBootloader();
|
jumpToBootloader();
|
||||||
break;
|
break;
|
||||||
case USB_COMMAND_TEST_LED:
|
case USB_COMMAND_TEST_LED:
|
||||||
GetSetTestLed();
|
getSetTestLed();
|
||||||
break;
|
break;
|
||||||
case USB_COMMAND_WRITE_LED_DRIVER:
|
case USB_COMMAND_WRITE_LED_DRIVER:
|
||||||
WriteLedDriver();
|
writeLedDriver();
|
||||||
break;
|
break;
|
||||||
case USB_COMMAND_READ_LED_DRIVER:
|
case USB_COMMAND_READ_LED_DRIVER:
|
||||||
ReadLedDriver();
|
readLedDriver();
|
||||||
break;
|
break;
|
||||||
case USB_COMMAND_WRITE_EEPROM:
|
case USB_COMMAND_WRITE_EEPROM:
|
||||||
WriteEeprom();
|
writeEeprom();
|
||||||
break;
|
break;
|
||||||
case USB_COMMAND_READ_EEPROM:
|
case USB_COMMAND_READ_EEPROM:
|
||||||
ReadEeprom();
|
readEeprom();
|
||||||
break;
|
break;
|
||||||
case USB_COMMAND_READ_MERGE_SENSOR:
|
case USB_COMMAND_READ_MERGE_SENSOR:
|
||||||
ReadMergeSensor();
|
readMergeSensor();
|
||||||
break;
|
break;
|
||||||
case USB_COMMAND_UPLOAD_CONFIG:
|
case USB_COMMAND_UPLOAD_CONFIG:
|
||||||
uploadConfig();
|
uploadConfig();
|
||||||
@@ -82,7 +82,7 @@ void UsbProtocolHandler()
|
|||||||
|
|
||||||
// Per command protocol command handlers
|
// Per command protocol command handlers
|
||||||
|
|
||||||
void GetSystemProperty() {
|
void getSystemProperty() {
|
||||||
uint8_t propertyId = GenericHidInBuffer[1];
|
uint8_t propertyId = GenericHidInBuffer[1];
|
||||||
|
|
||||||
switch (propertyId) {
|
switch (propertyId) {
|
||||||
@@ -99,19 +99,19 @@ void GetSystemProperty() {
|
|||||||
SetResponseByte(SYSTEM_PROPERTY_FIRMWARE_VERSION);
|
SetResponseByte(SYSTEM_PROPERTY_FIRMWARE_VERSION);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
SetGenericError();
|
setGenericError();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void JumpToBootloader() {
|
void jumpToBootloader() {
|
||||||
// We should reset the device here
|
// We should reset the device here
|
||||||
SCB->AIRCR = (0x5FA<<SCB_AIRCR_VECTKEY_Pos)|SCB_AIRCR_SYSRESETREQ_Msk;
|
SCB->AIRCR = (0x5FA<<SCB_AIRCR_VECTKEY_Pos)|SCB_AIRCR_SYSRESETREQ_Msk;
|
||||||
//SCB->AIRCR = 0x05fA0002; // If the masked version doesn't work, this should also reset the core.
|
//SCB->AIRCR = 0x05fA0002; // If the masked version doesn't work, this should also reset the core.
|
||||||
for(;;);
|
for(;;);
|
||||||
}
|
}
|
||||||
|
|
||||||
void GetSetTestLed()
|
void getSetTestLed()
|
||||||
{
|
{
|
||||||
uint8_t ledState = GenericHidInBuffer[1];
|
uint8_t ledState = GenericHidInBuffer[1];
|
||||||
uint8_t data[] = {1, ledState};
|
uint8_t data[] = {1, ledState};
|
||||||
@@ -127,47 +127,47 @@ void GetSetTestLed()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void WriteLedDriver()
|
void writeLedDriver()
|
||||||
{
|
{
|
||||||
uint8_t i2cAddress = GenericHidInBuffer[1];
|
uint8_t i2cAddress = GenericHidInBuffer[1];
|
||||||
uint8_t i2cPayloadSize = GenericHidInBuffer[2];
|
uint8_t i2cPayloadSize = GenericHidInBuffer[2];
|
||||||
|
|
||||||
if (!IS_I2C_LED_DRIVER_ADDRESS(i2cAddress)) {
|
if (!IS_I2C_LED_DRIVER_ADDRESS(i2cAddress)) {
|
||||||
SetError(WRITE_LED_DRIVER_RESPONSE_INVALID_ADDRESS);
|
setError(WRITE_LED_DRIVER_RESPONSE_INVALID_ADDRESS);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (i2cPayloadSize > USB_GENERIC_HID_OUT_BUFFER_LENGTH-3) {
|
if (i2cPayloadSize > USB_GENERIC_HID_OUT_BUFFER_LENGTH-3) {
|
||||||
SetError(WRITE_LED_DRIVER_RESPONSE_INVALID_PAYLOAD_SIZE);
|
setError(WRITE_LED_DRIVER_RESPONSE_INVALID_PAYLOAD_SIZE);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
I2cWrite(I2C_MAIN_BUS_BASEADDR, i2cAddress, GenericHidInBuffer+3, i2cPayloadSize);
|
I2cWrite(I2C_MAIN_BUS_BASEADDR, i2cAddress, GenericHidInBuffer+3, i2cPayloadSize);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ReadLedDriver()
|
void readLedDriver()
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void WriteEeprom()
|
void writeEeprom()
|
||||||
{
|
{
|
||||||
uint8_t i2cPayloadSize = GenericHidInBuffer[1];
|
uint8_t i2cPayloadSize = GenericHidInBuffer[1];
|
||||||
|
|
||||||
if (i2cPayloadSize > USB_GENERIC_HID_OUT_BUFFER_LENGTH-2) {
|
if (i2cPayloadSize > USB_GENERIC_HID_OUT_BUFFER_LENGTH-2) {
|
||||||
SetError(WRITE_EEPROM_RESPONSE_INVALID_PAYLOAD_SIZE);
|
setError(WRITE_EEPROM_RESPONSE_INVALID_PAYLOAD_SIZE);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
I2cWrite(I2C_EEPROM_BUS_BASEADDR, I2C_ADDRESS_EEPROM, GenericHidInBuffer+2, i2cPayloadSize);
|
I2cWrite(I2C_EEPROM_BUS_BASEADDR, I2C_ADDRESS_EEPROM, GenericHidInBuffer+2, i2cPayloadSize);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ReadEeprom()
|
void readEeprom()
|
||||||
{
|
{
|
||||||
uint8_t i2cPayloadSize = GenericHidInBuffer[1];
|
uint8_t i2cPayloadSize = GenericHidInBuffer[1];
|
||||||
|
|
||||||
if (i2cPayloadSize > USB_GENERIC_HID_OUT_BUFFER_LENGTH-1) {
|
if (i2cPayloadSize > USB_GENERIC_HID_OUT_BUFFER_LENGTH-1) {
|
||||||
SetError(WRITE_EEPROM_RESPONSE_INVALID_PAYLOAD_SIZE);
|
setError(WRITE_EEPROM_RESPONSE_INVALID_PAYLOAD_SIZE);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -177,7 +177,7 @@ void ReadEeprom()
|
|||||||
GenericHidOutBuffer[0] = PROTOCOL_RESPONSE_SUCCESS;
|
GenericHidOutBuffer[0] = PROTOCOL_RESPONSE_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ReadMergeSensor()
|
void readMergeSensor()
|
||||||
{
|
{
|
||||||
SetResponseByte(MERGE_SENSOR_IS_MERGED);
|
SetResponseByte(MERGE_SENSOR_IS_MERGED);
|
||||||
}
|
}
|
||||||
@@ -188,7 +188,7 @@ void uploadConfig()
|
|||||||
uint16_t memoryOffset = *((uint16_t*)(GenericHidInBuffer+2));
|
uint16_t memoryOffset = *((uint16_t*)(GenericHidInBuffer+2));
|
||||||
|
|
||||||
if (byteCount > USB_GENERIC_HID_OUT_BUFFER_LENGTH-4) {
|
if (byteCount > USB_GENERIC_HID_OUT_BUFFER_LENGTH-4) {
|
||||||
SetError(UPLOAD_CONFIG_INVALID_PAYLOAD_SIZE);
|
setError(UPLOAD_CONFIG_INVALID_PAYLOAD_SIZE);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -31,6 +31,6 @@
|
|||||||
|
|
||||||
// Functions:
|
// Functions:
|
||||||
|
|
||||||
extern void UsbProtocolHandler();
|
extern void usbProtocolHandler();
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Reference in New Issue
Block a user