Expose per-interface count values for debugging purposes via USB.

This commit is contained in:
László Monda
2017-12-04 17:38:31 +01:00
parent 71d6db0f35
commit 6780c8177c
15 changed files with 49 additions and 15 deletions

View File

@@ -40,6 +40,7 @@ usb_device_class_struct_t UsbBasicKeyboardClass = {
};
static usb_basic_keyboard_report_t usbBasicKeyboardReports[2];
uint32_t UsbBasicKeyboardActionCounter;
usb_basic_keyboard_report_t* ActiveUsbBasicKeyboardReport = usbBasicKeyboardReports;
bool IsUsbBasicKeyboardReportSent = false;
@@ -64,6 +65,7 @@ static usb_status_t UsbBasicKeyboardAction(void)
UsbCompositeDevice.basicKeyboardHandle, USB_BASIC_KEYBOARD_ENDPOINT_INDEX,
(uint8_t*)getInactiveUsbBasicKeyboardReport(), USB_BASIC_KEYBOARD_REPORT_LENGTH);
IsUsbBasicKeyboardReportSent = true;
UsbBasicKeyboardActionCounter++;
return status;
}

View File

@@ -32,6 +32,7 @@
// Variables:
extern bool IsUsbBasicKeyboardReportSent;
extern uint32_t UsbBasicKeyboardActionCounter;
extern usb_device_class_struct_t UsbBasicKeyboardClass;
extern usb_basic_keyboard_report_t* ActiveUsbBasicKeyboardReport;

View File

@@ -42,6 +42,7 @@ usb_device_class_struct_t UsbGenericHidClass = {
USB_DEVICE_CONFIGURATION_COUNT,
};
uint32_t UsbGenericHidActionCounter;
uint8_t GenericHidInBuffer[USB_GENERIC_HID_IN_BUFFER_LENGTH];
uint8_t GenericHidOutBuffer[USB_GENERIC_HID_OUT_BUFFER_LENGTH];
@@ -67,6 +68,7 @@ usb_status_t UsbGenericHidCallback(class_handle_t handle, uint32_t event, void *
USB_GENERIC_HID_ENDPOINT_IN_INDEX,
GenericHidOutBuffer,
USB_GENERIC_HID_OUT_BUFFER_LENGTH);
UsbGenericHidActionCounter++;
return UsbReceiveData();
break;
case kUSB_DeviceHidEventGetReport:

View File

@@ -26,6 +26,7 @@
// Variables:
extern usb_device_class_struct_t UsbGenericHidClass;
extern uint32_t UsbGenericHidActionCounter;
extern uint8_t GenericHidInBuffer[USB_GENERIC_HID_IN_BUFFER_LENGTH];
extern uint8_t GenericHidOutBuffer[USB_GENERIC_HID_OUT_BUFFER_LENGTH];

View File

@@ -39,6 +39,7 @@ usb_device_class_struct_t UsbMediaKeyboardClass = {
USB_DEVICE_CONFIGURATION_COUNT,
};
uint32_t UsbMediaKeyboardActionCounter;
static usb_media_keyboard_report_t usbMediaKeyboardReports[2];
usb_media_keyboard_report_t* ActiveUsbMediaKeyboardReport = usbMediaKeyboardReports;
bool IsUsbMediaKeyboardReportSent = false;
@@ -64,6 +65,7 @@ static usb_status_t UsbMediaKeyboardAction(void)
UsbCompositeDevice.mediaKeyboardHandle, USB_MEDIA_KEYBOARD_ENDPOINT_INDEX,
(uint8_t*)getInactiveUsbMediaKeyboardReport(), USB_MEDIA_KEYBOARD_REPORT_LENGTH);
IsUsbMediaKeyboardReportSent = true;
UsbMediaKeyboardActionCounter++;
return status;
}

View File

@@ -29,6 +29,7 @@
// Variables:
extern bool IsUsbMediaKeyboardReportSent;
extern uint32_t UsbMediaKeyboardActionCounter;
extern usb_device_class_struct_t UsbMediaKeyboardClass;
extern usb_media_keyboard_report_t* ActiveUsbMediaKeyboardReport;

View File

@@ -39,6 +39,7 @@ usb_device_class_struct_t UsbMouseClass = {
USB_DEVICE_CONFIGURATION_COUNT,
};
uint32_t UsbMouseActionCounter;
usb_mouse_report_t usbMouseReports[2];
usb_mouse_report_t* ActiveUsbMouseReport = usbMouseReports;
bool IsUsbMouseReportSent = false;
@@ -58,16 +59,11 @@ void ResetActiveUsbMouseReport(void)
bzero(ActiveUsbMouseReport, USB_MOUSE_REPORT_LENGTH);
}
static uint32_t count1 = 0;
static uint32_t count2 = 0;
static uint32_t count3 = 0;
static volatile usb_status_t usbMouseAction(void)
{
count3++;
usb_mouse_report_t *mouseReport = getInactiveUsbMouseReport();
SetDebugBufferUint16(29, mouseReport->x);
SetDebugBufferUint16(31, mouseReport->y);
SetDebugBufferUint16(61, mouseReport->x);
SetDebugBufferUint16(63, mouseReport->y);
IsUsbMouseReportSent = true;
return USB_DeviceHidSend(UsbCompositeDevice.mouseHandle, USB_MOUSE_ENDPOINT_INDEX,
(uint8_t*)mouseReport, USB_MOUSE_REPORT_LENGTH);
@@ -75,17 +71,11 @@ static volatile usb_status_t usbMouseAction(void)
usb_status_t UsbMouseCallback(class_handle_t handle, uint32_t event, void *param)
{
SetDebugBufferUint32(17, count1);
SetDebugBufferUint32(21, count2);
SetDebugBufferUint32(25, count3);
count1++;
UsbMouseActionCounter++;
usb_status_t error = kStatus_USB_Error;
switch (event) {
case kUSB_DeviceHidEventSendResponse:
count2++;
if (UsbCompositeDevice.attach) {
return usbMouseAction();
}

View File

@@ -32,6 +32,7 @@
// Variables:
extern bool IsUsbMouseReportSent;
extern uint32_t UsbMouseActionCounter;
extern usb_device_class_struct_t UsbMouseClass;
extern usb_mouse_report_t* ActiveUsbMouseReport;

View File

@@ -39,6 +39,7 @@ usb_device_class_struct_t UsbSystemKeyboardClass = {
USB_DEVICE_CONFIGURATION_COUNT,
};
uint32_t UsbSystemKeyboardActionCounter;
static usb_system_keyboard_report_t usbSystemKeyboardReports[2];
usb_system_keyboard_report_t* ActiveUsbSystemKeyboardReport = usbSystemKeyboardReports;
bool IsUsbSystemKeyboardReportSent = false;
@@ -64,6 +65,7 @@ static usb_status_t UsbSystemKeyboardAction(void)
UsbCompositeDevice.systemKeyboardHandle, USB_SYSTEM_KEYBOARD_ENDPOINT_INDEX,
(uint8_t*)getInactiveUsbSystemKeyboardReport(), USB_SYSTEM_KEYBOARD_REPORT_LENGTH);
IsUsbSystemKeyboardReportSent = true;
UsbSystemKeyboardActionCounter++;
return status;
}

View File

@@ -30,6 +30,7 @@
// Variables:
extern bool IsUsbSystemKeyboardReportSent;
extern uint32_t UsbSystemKeyboardActionCounter;
extern usb_device_class_struct_t UsbSystemKeyboardClass;
extern usb_system_keyboard_report_t* ActiveUsbSystemKeyboardReport;