From 31bb86c161b099c82b42ae8ba588446d89dd96c2 Mon Sep 17 00:00:00 2001 From: Michael Banther Date: Wed, 11 Dec 2019 16:02:16 +0000 Subject: [PATCH 1/7] First changes to move to a USB HID design that allows some degree of boot-time configurability. These changes are far from complete. They build successfully, but have received very little bench testing. --- lib_xua/src/core/buffer/ep/ep_buffer.xc | 2 +- lib_xua/src/core/user/hid/user_hid.h | 48 +++++++++++++++++++------ lib_xua/src/hid/hid.xc | 26 +++++++++++++- lib_xua/src/hid/xua_hid.h | 16 +++++++++ 4 files changed, 80 insertions(+), 12 deletions(-) diff --git a/lib_xua/src/core/buffer/ep/ep_buffer.xc b/lib_xua/src/core/buffer/ep/ep_buffer.xc index 45e08da3..3e28a2e5 100644 --- a/lib_xua/src/core/buffer/ep/ep_buffer.xc +++ b/lib_xua/src/core/buffer/ep/ep_buffer.xc @@ -880,7 +880,7 @@ void XUA_Buffer_Ep(register chanend c_aud_out, case XUD_SetData_Select(c_hid, ep_hid, result): { g_hidData[0]=0; - UserReadHIDData(g_hidData); + g_hidData[0]=UserHIDGetData(); XUD_SetReady_In(ep_hid, g_hidData, 1); } break; diff --git a/lib_xua/src/core/user/hid/user_hid.h b/lib_xua/src/core/user/hid/user_hid.h index 7d67b00c..35d2578d 100644 --- a/lib_xua/src/core/user/hid/user_hid.h +++ b/lib_xua/src/core/user/hid/user_hid.h @@ -3,21 +3,49 @@ #ifndef __USER_HID_H__ #define __USER_HID_H__ -/* These defines relate to the HID report desc - do not mod */ -#define HID_CONTROL_PLAYPAUSE_SHIFT 0x00 -#define HID_CONTROL_NEXT_SHIFT 0x01 -#define HID_CONTROL_PREV_SHIFT 0x02 -#define HID_CONTROL_VOLUP_SHIFT 0x03 -#define HID_CONTROL_VOLDN_SHIFT 0x04 -#define HID_CONTROL_MUTE_SHIFT 0x05 +/* These enumerated constants relate to the HID report desc - do not mod */ +typedef enum hidEventId_t { + HID_EVENT_ID_GPI0 = 0, + HID_EVENT_ID_GPI1, + HID_EVENT_ID_GPI2, + HID_EVENT_ID_GPI3, + HID_EVENT_ID_EVT0, + HID_EVENT_ID_EVT1, + HID_EVENT_ID_EVT2, + HID_EVENT_ID_EVT3, + HID_EVENT_ID_EVT4, + HID_EVENT_ID_EVT5, + HID_EVENT_ID_EVT6, + HID_EVENT_ID_EVT7, + HID_EVENT_ID_EVT8, + HID_EVENT_ID_EVT9, + HID_EVENT_ID_EVT10, + HID_EVENT_ID_EVT11, + HID_EVENT_ID_EVT12, + HID_EVENT_ID_EVT13, + HID_EVENT_ID_EVT14, + HID_EVENT_ID_EVT15, + HID_EVENT_ID_EVT16, + HID_EVENT_ID_EVT17, + HID_EVENT_ID_EVT18, + HID_EVENT_ID_EVT19, + HID_EVENT_ID_EVT20, + HID_EVENT_ID_EVT21, + HID_EVENT_ID_EVT22, + HID_EVENT_ID_EVT23, + HID_EVENT_ID_EVT24, + HID_EVENT_ID_EVT25, + HID_EVENT_ID_EVT26, + HID_EVENT_ID_EVT27 +} hidEventId_t; #define HID_DATA_SIZE 1 #if( 0 < HID_CONTROLS ) -void UserInitHIDData( void ); -void UserReadHIDData( unsigned char hidData[ HID_DATA_SIZE ]); -void UserSetHIDData( const unsigned hidData ); +unsigned UserHIDGetData( void ); +void UserHIDInit( void ); +void UserHIDRegisterEvent( const hidEventId_t hidEventId, const int * hidEventData, const unsigned hidEventDataSize ); #endif /* ( 0 < HID_CONTROLS ) */ #endif /* __USER_HID_H__ */ diff --git a/lib_xua/src/hid/hid.xc b/lib_xua/src/hid/hid.xc index 854b78d3..906fd1ec 100644 --- a/lib_xua/src/hid/hid.xc +++ b/lib_xua/src/hid/hid.xc @@ -9,12 +9,17 @@ #if( 0 < HID_CONTROLS ) #define MS_IN_TICKS 100000U -static unsigned s_hidIdleActive = 0U; +static unsigned s_hidChangePending = 0U; static unsigned s_hidCurrentPeriod = ENDPOINT_INT_INTERVAL_IN_HID * MS_IN_TICKS; +static unsigned s_hidIdleActive = 0U; static unsigned s_hidIndefiniteDuration = 0U; static unsigned s_hidNextReportTime = 0U; static unsigned s_hidReportTime = 0U; +unsafe { + volatile unsigned * unsafe s_hidChangePendingPtr = &s_hidChangePending; +} + static unsigned HidCalcNewReportTime( const unsigned currentPeriod, const unsigned reportTime, const unsigned reportToSetIdleInterval, const unsigned newPeriod ); static unsigned HidCalcReportToSetIdleInterval( const unsigned reportTime ); static unsigned HidFindSetIdleActivationPoint( const unsigned currentPeriod, const unsigned timeWithinPeriod ); @@ -51,6 +56,18 @@ XUD_Result_t HidInterfaceClassRequests( return result; } +void HidClearChangePending( void ) +{ + unsafe { + *s_hidChangePendingPtr = 0U; + } +} + +unsigned HidIsChangePending( void ) +{ + return( s_hidChangePending != 0 ); +} + unsigned HidIsSetIdleSilenced( void ) { unsigned isSilenced = s_hidIdleActive; @@ -67,6 +84,13 @@ unsigned HidIsSetIdleSilenced( void ) return isSilenced; } +void HidSetChangePending( void ) +{ + unsafe { + *s_hidChangePendingPtr = 1; + } +} + /** * \brief Calculate the timer value for sending the next HID Report. * diff --git a/lib_xua/src/hid/xua_hid.h b/lib_xua/src/hid/xua_hid.h index 63469054..9e620788 100644 --- a/lib_xua/src/hid/xua_hid.h +++ b/lib_xua/src/hid/xua_hid.h @@ -40,6 +40,17 @@ XUD_Result_t HidInterfaceClassRequests( XUD_ep c_ep0_in, REFERENCE_PARAM( USB_SetupPacket_t, sp )); +/** + * \brief Register that previously changed HID Report data has reported + * to the USB Host. + */ +void HidClearChangePending( void ); + +/** + * \brief Indicate if a change to the HID Report data has been received. + */ +unsigned HidIsChangePending( void ); + /** * \brief Indicate whether to send a HID Report based on elapsed time. * @@ -58,4 +69,9 @@ XUD_Result_t HidInterfaceClassRequests( */ unsigned HidIsSetIdleSilenced( void ); +/** + * \brief Register that a change to the HID Report data has been received. + */ +void HidSetChangePending( void ); + #endif // __XUA_HID_H__ From e5389e434846e50e34b164df27c2ad80f2b918d9 Mon Sep 17 00:00:00 2001 From: mbanth Date: Fri, 13 Dec 2019 18:17:36 +0000 Subject: [PATCH 2/7] Added support for AC Stop (End Call), Volume Increment and Volume Decrement bit fields in the HID report. --- CHANGELOG.rst | 2 ++ lib_xua/src/core/endpoint0/xua_ep0_descriptors.h | 9 ++++++--- lib_xua/src/core/user/hid/user_hid.h | 10 ++++------ 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index d8b82f4a..d653a370 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -11,6 +11,8 @@ lib_xua Change Log microphone operation * FIXED: Descriptors for XUA_ADAPTIVE incorrectly defined for IN endpoint * ADDED: Guards to user_hid.h and xua_hid.h + * ADDED: UAC1 HID support for AC Stop (End Call), Volume Increment and + Volume Decrement 0.2.1 ----- diff --git a/lib_xua/src/core/endpoint0/xua_ep0_descriptors.h b/lib_xua/src/core/endpoint0/xua_ep0_descriptors.h index fcc1e45b..8abd18e9 100644 --- a/lib_xua/src/core/endpoint0/xua_ep0_descriptors.h +++ b/lib_xua/src/core/endpoint0/xua_ep0_descriptors.h @@ -573,9 +573,12 @@ unsigned char hidReportDescriptor[] = /* Voice Command usage as per request #HUT 0x0a, 0x00, 0x02, /* Usage (Generic GUI Application Controls) */ 0xa1, 0x02, /* Collection (Logical) */ 0x0a, 0x21, 0x02, /* Usage (AC Search) */ - 0x95, 0x01, /* Report Count (1) */ + 0x0a, 0x26, 0x02, /* Usage (AC Stop) */ + 0x09, 0xe9, /* Usage (Volume Increment) */ + 0x09, 0xea, /* Usage (Volume Decrement) */ + 0x95, 0x04, /* Report Count (4) */ 0x81, 0x40, /* Input (Data, Ary, Abs, Nul) */ - 0x95, 0x07, /* Report Count (7) */ + 0x95, 0x04, /* Report Count (4) */ 0x81, 0x01, /* Input (Cnst, Ary, Abs) */ 0xc0, /* End collection (Logical) */ 0xc0 /* End collection (Application) */ @@ -2884,7 +2887,7 @@ unsigned char cfgDesc_Audio1[] = 0x00, /* 4 bCountryCode */ 0x01, /* 5 bNumDescriptors */ 0x22, /* 6 bDescriptorType[0] (Report) */ - 0x1E, /* 7 wDescriptorLength[0] */ + 0x25, /* 7 wDescriptorLength[0] */ 0x00, /* 8 wDescriptorLength[0] */ /* HID Endpoint descriptor (IN) */ diff --git a/lib_xua/src/core/user/hid/user_hid.h b/lib_xua/src/core/user/hid/user_hid.h index 7d67b00c..79b420a3 100644 --- a/lib_xua/src/core/user/hid/user_hid.h +++ b/lib_xua/src/core/user/hid/user_hid.h @@ -4,12 +4,10 @@ #define __USER_HID_H__ /* These defines relate to the HID report desc - do not mod */ -#define HID_CONTROL_PLAYPAUSE_SHIFT 0x00 -#define HID_CONTROL_NEXT_SHIFT 0x01 -#define HID_CONTROL_PREV_SHIFT 0x02 -#define HID_CONTROL_VOLUP_SHIFT 0x03 -#define HID_CONTROL_VOLDN_SHIFT 0x04 -#define HID_CONTROL_MUTE_SHIFT 0x05 +#define HID_CONTROL_KEYWORD_SHIFT 0x00 +#define HID_CONTROL_ENDCALL_SHIFT 0x01 +#define HID_CONTROL_VOLUP_SHIFT 0x02 +#define HID_CONTROL_VOLDN_SHIFT 0x03 #define HID_DATA_SIZE 1 From 1ee146ef608c65250c27f01563c72a531b468ab2 Mon Sep 17 00:00:00 2001 From: mbanth Date: Mon, 16 Dec 2019 12:33:59 +0000 Subject: [PATCH 3/7] Define each active bit field separately. --- lib_xua/src/core/endpoint0/xua_ep0_descriptors.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lib_xua/src/core/endpoint0/xua_ep0_descriptors.h b/lib_xua/src/core/endpoint0/xua_ep0_descriptors.h index 8abd18e9..1461fc16 100644 --- a/lib_xua/src/core/endpoint0/xua_ep0_descriptors.h +++ b/lib_xua/src/core/endpoint0/xua_ep0_descriptors.h @@ -572,11 +572,14 @@ unsigned char hidReportDescriptor[] = /* Voice Command usage as per request #HUT 0xa1, 0x01, /* Collection (Application) */ 0x0a, 0x00, 0x02, /* Usage (Generic GUI Application Controls) */ 0xa1, 0x02, /* Collection (Logical) */ + 0x95, 0x01, /* Report Count (1) */ 0x0a, 0x21, 0x02, /* Usage (AC Search) */ + 0x81, 0x40, /* Input (Data, Ary, Abs, Nul) */ 0x0a, 0x26, 0x02, /* Usage (AC Stop) */ + 0x81, 0x40, /* Input (Data, Ary, Abs, Nul) */ 0x09, 0xe9, /* Usage (Volume Increment) */ + 0x81, 0x40, /* Input (Data, Ary, Abs, Nul) */ 0x09, 0xea, /* Usage (Volume Decrement) */ - 0x95, 0x04, /* Report Count (4) */ 0x81, 0x40, /* Input (Data, Ary, Abs, Nul) */ 0x95, 0x04, /* Report Count (4) */ 0x81, 0x01, /* Input (Cnst, Ary, Abs) */ @@ -2887,7 +2890,7 @@ unsigned char cfgDesc_Audio1[] = 0x00, /* 4 bCountryCode */ 0x01, /* 5 bNumDescriptors */ 0x22, /* 6 bDescriptorType[0] (Report) */ - 0x25, /* 7 wDescriptorLength[0] */ + 0x2B, /* 7 wDescriptorLength[0] */ 0x00, /* 8 wDescriptorLength[0] */ /* HID Endpoint descriptor (IN) */ From 9f1e9735b8a55d6bec7e861090fdbd1f6ad99f96 Mon Sep 17 00:00:00 2001 From: mbanth Date: Mon, 16 Dec 2019 14:53:38 +0000 Subject: [PATCH 4/7] Remove unnecessary Input statements. --- lib_xua/src/core/endpoint0/xua_ep0_descriptors.h | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/lib_xua/src/core/endpoint0/xua_ep0_descriptors.h b/lib_xua/src/core/endpoint0/xua_ep0_descriptors.h index 1461fc16..319d3fd4 100644 --- a/lib_xua/src/core/endpoint0/xua_ep0_descriptors.h +++ b/lib_xua/src/core/endpoint0/xua_ep0_descriptors.h @@ -574,11 +574,8 @@ unsigned char hidReportDescriptor[] = /* Voice Command usage as per request #HUT 0xa1, 0x02, /* Collection (Logical) */ 0x95, 0x01, /* Report Count (1) */ 0x0a, 0x21, 0x02, /* Usage (AC Search) */ - 0x81, 0x40, /* Input (Data, Ary, Abs, Nul) */ 0x0a, 0x26, 0x02, /* Usage (AC Stop) */ - 0x81, 0x40, /* Input (Data, Ary, Abs, Nul) */ 0x09, 0xe9, /* Usage (Volume Increment) */ - 0x81, 0x40, /* Input (Data, Ary, Abs, Nul) */ 0x09, 0xea, /* Usage (Volume Decrement) */ 0x81, 0x40, /* Input (Data, Ary, Abs, Nul) */ 0x95, 0x04, /* Report Count (4) */ @@ -2890,7 +2887,7 @@ unsigned char cfgDesc_Audio1[] = 0x00, /* 4 bCountryCode */ 0x01, /* 5 bNumDescriptors */ 0x22, /* 6 bDescriptorType[0] (Report) */ - 0x2B, /* 7 wDescriptorLength[0] */ + 0x25, /* 7 wDescriptorLength[0] */ 0x00, /* 8 wDescriptorLength[0] */ /* HID Endpoint descriptor (IN) */ From 8b6f6bc8e1b7cd6f847e2e64aabd4f35ac672877 Mon Sep 17 00:00:00 2001 From: mbanth Date: Mon, 16 Dec 2019 15:13:53 +0000 Subject: [PATCH 5/7] Revert "Remove unnecessary Input statements." This reverts commit 9f1e9735b8a55d6bec7e861090fdbd1f6ad99f96. --- lib_xua/src/core/endpoint0/xua_ep0_descriptors.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib_xua/src/core/endpoint0/xua_ep0_descriptors.h b/lib_xua/src/core/endpoint0/xua_ep0_descriptors.h index 319d3fd4..1461fc16 100644 --- a/lib_xua/src/core/endpoint0/xua_ep0_descriptors.h +++ b/lib_xua/src/core/endpoint0/xua_ep0_descriptors.h @@ -574,8 +574,11 @@ unsigned char hidReportDescriptor[] = /* Voice Command usage as per request #HUT 0xa1, 0x02, /* Collection (Logical) */ 0x95, 0x01, /* Report Count (1) */ 0x0a, 0x21, 0x02, /* Usage (AC Search) */ + 0x81, 0x40, /* Input (Data, Ary, Abs, Nul) */ 0x0a, 0x26, 0x02, /* Usage (AC Stop) */ + 0x81, 0x40, /* Input (Data, Ary, Abs, Nul) */ 0x09, 0xe9, /* Usage (Volume Increment) */ + 0x81, 0x40, /* Input (Data, Ary, Abs, Nul) */ 0x09, 0xea, /* Usage (Volume Decrement) */ 0x81, 0x40, /* Input (Data, Ary, Abs, Nul) */ 0x95, 0x04, /* Report Count (4) */ @@ -2887,7 +2890,7 @@ unsigned char cfgDesc_Audio1[] = 0x00, /* 4 bCountryCode */ 0x01, /* 5 bNumDescriptors */ 0x22, /* 6 bDescriptorType[0] (Report) */ - 0x25, /* 7 wDescriptorLength[0] */ + 0x2B, /* 7 wDescriptorLength[0] */ 0x00, /* 8 wDescriptorLength[0] */ /* HID Endpoint descriptor (IN) */ From 538f2be5b41b74c39b977b927d19363d5e371957 Mon Sep 17 00:00:00 2001 From: mbanth Date: Wed, 18 Dec 2019 12:09:11 +0000 Subject: [PATCH 6/7] Modify the interface to the User HID functionality. Setting the HID data use to occur through a global variable. It now occurs through a function call. A list of general HID events has been provided as well. --- lib_xua/src/core/buffer/ep/ep_buffer.xc | 4 +-- lib_xua/src/core/user/hid/user_hid.h | 41 ++++++++++++++++++++++--- 2 files changed, 39 insertions(+), 6 deletions(-) diff --git a/lib_xua/src/core/buffer/ep/ep_buffer.xc b/lib_xua/src/core/buffer/ep/ep_buffer.xc index 3e28a2e5..97984b85 100644 --- a/lib_xua/src/core/buffer/ep/ep_buffer.xc +++ b/lib_xua/src/core/buffer/ep/ep_buffer.xc @@ -21,7 +21,7 @@ #if( 0 < HID_CONTROLS ) #include "user_hid.h" -unsigned char g_hidData[1] = {0}; +unsigned char g_hidData[HID_DATA_BYTES] = {0}; #endif void GetADCCounts(unsigned samFreq, int &min, int &mid, int &max); @@ -880,7 +880,7 @@ void XUA_Buffer_Ep(register chanend c_aud_out, case XUD_SetData_Select(c_hid, ep_hid, result): { g_hidData[0]=0; - g_hidData[0]=UserHIDGetData(); + UserHIDGetData(g_hidData); XUD_SetReady_In(ep_hid, g_hidData, 1); } break; diff --git a/lib_xua/src/core/user/hid/user_hid.h b/lib_xua/src/core/user/hid/user_hid.h index 35d2578d..5288ee7b 100644 --- a/lib_xua/src/core/user/hid/user_hid.h +++ b/lib_xua/src/core/user/hid/user_hid.h @@ -3,7 +3,13 @@ #ifndef __USER_HID_H__ #define __USER_HID_H__ -/* These enumerated constants relate to the HID report desc - do not mod */ +/** + * \brief HID event identifiers + * + * This enumeration defines a constant value for each HID event. + * It defines one value for each of the four GPI pins supported in the standard voice products. + * It defines a further 28 values for generic events. + */ typedef enum hidEventId_t { HID_EVENT_ID_GPI0 = 0, HID_EVENT_ID_GPI1, @@ -39,13 +45,40 @@ typedef enum hidEventId_t { HID_EVENT_ID_EVT27 } hidEventId_t; -#define HID_DATA_SIZE 1 +#define HID_DATA_BYTES 4 #if( 0 < HID_CONTROLS ) -unsigned UserHIDGetData( void ); +/** + * \brief Get the data for the next HID report + * + * \note This function returns the HID data as a list of unsigned char because the + * \c XUD_SetReady_In() accepts data for transmission to the USB Host using + * this type. + * + * \param{out} hidData The HID data + */ +void UserHIDGetData( unsigned char hidData[ HID_DATA_BYTES ]); + +/** + * \brief Initialize HID processing + */ void UserHIDInit( void ); -void UserHIDRegisterEvent( const hidEventId_t hidEventId, const int * hidEventData, const unsigned hidEventDataSize ); + +/** + * \brief Record that a HID event has occurred + * + * \param{in} hidEventId The identifier of an event which has occurred + * \param{in} hidEventData A list of data associated with the event + * \param{in} hidEventDataSize The length of the event data list + * + * \note At present, this function only takes a single element of event data, i.e. + * hidEventDataSize must equal 1. + * + * \note At present, this function treats the event data as a Boolean flag. + * Zero means False; all other values mean True. + */ +void UserHIDRecordEvent( const hidEventId_t hidEventId, const int * hidEventData, const unsigned hidEventDataSize ); #endif /* ( 0 < HID_CONTROLS ) */ #endif /* __USER_HID_H__ */ From d81af18d1fddf85278ca392065336195bff97854 Mon Sep 17 00:00:00 2001 From: mbanth Date: Thu, 19 Dec 2019 09:52:13 +0000 Subject: [PATCH 7/7] Revert "Modify the interface to the User HID functionality." This reverts commit 538f2be5b41b74c39b977b927d19363d5e371957. On branch feature/hid_4bit_reliance_jan_demo Changes to be committed: modified: lib_xua/src/core/buffer/ep/ep_buffer.xc modified: lib_xua/src/core/user/hid/user_hid.h --- lib_xua/src/core/buffer/ep/ep_buffer.xc | 4 +-- lib_xua/src/core/user/hid/user_hid.h | 41 +++---------------------- 2 files changed, 6 insertions(+), 39 deletions(-) diff --git a/lib_xua/src/core/buffer/ep/ep_buffer.xc b/lib_xua/src/core/buffer/ep/ep_buffer.xc index 97984b85..3e28a2e5 100644 --- a/lib_xua/src/core/buffer/ep/ep_buffer.xc +++ b/lib_xua/src/core/buffer/ep/ep_buffer.xc @@ -21,7 +21,7 @@ #if( 0 < HID_CONTROLS ) #include "user_hid.h" -unsigned char g_hidData[HID_DATA_BYTES] = {0}; +unsigned char g_hidData[1] = {0}; #endif void GetADCCounts(unsigned samFreq, int &min, int &mid, int &max); @@ -880,7 +880,7 @@ void XUA_Buffer_Ep(register chanend c_aud_out, case XUD_SetData_Select(c_hid, ep_hid, result): { g_hidData[0]=0; - UserHIDGetData(g_hidData); + g_hidData[0]=UserHIDGetData(); XUD_SetReady_In(ep_hid, g_hidData, 1); } break; diff --git a/lib_xua/src/core/user/hid/user_hid.h b/lib_xua/src/core/user/hid/user_hid.h index 5288ee7b..35d2578d 100644 --- a/lib_xua/src/core/user/hid/user_hid.h +++ b/lib_xua/src/core/user/hid/user_hid.h @@ -3,13 +3,7 @@ #ifndef __USER_HID_H__ #define __USER_HID_H__ -/** - * \brief HID event identifiers - * - * This enumeration defines a constant value for each HID event. - * It defines one value for each of the four GPI pins supported in the standard voice products. - * It defines a further 28 values for generic events. - */ +/* These enumerated constants relate to the HID report desc - do not mod */ typedef enum hidEventId_t { HID_EVENT_ID_GPI0 = 0, HID_EVENT_ID_GPI1, @@ -45,40 +39,13 @@ typedef enum hidEventId_t { HID_EVENT_ID_EVT27 } hidEventId_t; -#define HID_DATA_BYTES 4 +#define HID_DATA_SIZE 1 #if( 0 < HID_CONTROLS ) -/** - * \brief Get the data for the next HID report - * - * \note This function returns the HID data as a list of unsigned char because the - * \c XUD_SetReady_In() accepts data for transmission to the USB Host using - * this type. - * - * \param{out} hidData The HID data - */ -void UserHIDGetData( unsigned char hidData[ HID_DATA_BYTES ]); - -/** - * \brief Initialize HID processing - */ +unsigned UserHIDGetData( void ); void UserHIDInit( void ); - -/** - * \brief Record that a HID event has occurred - * - * \param{in} hidEventId The identifier of an event which has occurred - * \param{in} hidEventData A list of data associated with the event - * \param{in} hidEventDataSize The length of the event data list - * - * \note At present, this function only takes a single element of event data, i.e. - * hidEventDataSize must equal 1. - * - * \note At present, this function treats the event data as a Boolean flag. - * Zero means False; all other values mean True. - */ -void UserHIDRecordEvent( const hidEventId_t hidEventId, const int * hidEventData, const unsigned hidEventDataSize ); +void UserHIDRegisterEvent( const hidEventId_t hidEventId, const int * hidEventData, const unsigned hidEventDataSize ); #endif /* ( 0 < HID_CONTROLS ) */ #endif /* __USER_HID_H__ */