Hey Team,
I was playing around with the composite example, and added in my own class a and used the mouse class to implement it while changing it to suit what i have
orgianlly to output to EP3 and removing the subclass_boot/ setting it to be a generic device from a mouse device.
on pressing a button, i set a bunch of the 'buttons' to 1 and then organise it into the report buffer and send as like the other examples do. I get no error and it goes go through but looking at the device in test mode no data seems to trigger on.
Not sure what im missing.
Main changes:
/**
* @brief Initializer of interface descriptor for HID mouse class.
*
* @param interface_number Interface number.
*/
#define APP_USBD_HID_GAMEPAD_INTERFACE_DSC(interface_number) \
APP_USBD_HID_INTERFACE_DSC(interface_number, \
1, \
APP_USBD_HID_SUBCLASS_NONE , \
APP_USBD_HID_PROTO_GENERIC )/**
* @brief Global definition macro of app_usbd_hid_mouse_t class.
*
* @param instance_name Name of global instance.
* @param interface_number Unique interface number.
* @param endpoint Input endpoint (@ref nrf_drv_usbd_ep_t).
* @param user_ev_handler User event handler (optional).
* @param subclass_boot Subclass boot (@ref app_usbd_hid_subclass_t).
*
* @code
APP_USBD_HID_MOUSE_GLOBAL_DEF(my_awesome_mouse, 0, NRF_DRV_USBD_EPIN1, 3, NULL);
* @endcode
*/
//static uint8_t const CONCAT_2(name, _data)[] = fuck bcnt
/*typedef struct {
size_t size;
app_usbd_descriptor_t type;
uint8_t const * const p_data;
} app_usbd_hid_subclass_desc_t; */
#define APP_USBD_HID_GAMEPAD_GLOBAL_DEF(instance_name, \
interface_number, \
endpoint, \
user_ev_handler, \
subclass_boot) \
APP_USBD_HID_GENERIC_SUBCLASS_REPORT_DESC(gamepad_desc, APP_USBD_HID_GAMEPAD_REPORT_DSC(196)); \
static const app_usbd_hid_subclass_desc_t * gamepad_descs[] = {&gamepad_desc}; \
APP_USBD_HID_GAMEPAD_GLOBAL_DEF_INTERNAL(instance_name, \
interface_number, \
endpoint, \
user_ev_handler, \
subclass_boot)#ifdef DOXYGEN
/**
* @brief HID mouse class instance type.
*
* @ref APP_USBD_CLASS_TYPEDEF
*/
typedef struct { } app_usbd_hid_gamepad_t;
#else
// other examples have the config at 0,endpoiint number
/*lint -save -e10 -e26 -e123 -e505 */
APP_USBD_CLASS_TYPEDEF(app_usbd_hid_gamepad, \
APP_USBD_HID_GAMEPAD_CONFIG(0, NRF_DRV_USBD_EPIN1), \
APP_USBD_HID_GAMEPAD_INSTANCE_SPECIFIC_DEC, \
APP_USBD_HID_GAMEPAD_DATA_SPECIFIC_DEC \
);
/*lint -restore*/
#endif
// @brief Specific class constant data for HID gamepad class.
//@brief Specific class data for HID gamepad class. //###########################################
/**
* @brief Global HID GAMEPAD instance AT EP1 (use to be at 3, swapped mouse and controller around)
*/
//###########################################
APP_USBD_HID_GAMEPAD_GLOBAL_DEF(m_app_hid_gamepad, //@param instance_name Name of global instance.
APP_USBD_INTERFACE_GAMEPAD, //@param interface_number Unique interface number.
NRF_DRV_USBD_EPIN1, //@param endpoint Input endpoint (@ref nrf_drv_usbd_ep_t).
hid_gamepad_user_ev_handler, //@param user_ev_handler User event handler (optional).
APP_USBD_HID_SUBCLASS_NONE //@param subclass_boot Subclass boot (@ref app_usbd_hid_subclass_t).
);
APP_USBD_DUMMY_GLOBAL_DEF(m_app_gamepad_dummy, APP_USBD_INTERFACE_GAMEPAD);Code is attached and the class is in the same folders as the other classes
5658.files.rar
Test showing on pc, no lights showup:
Serial log:
The oldest data was removed. Continue... li:~$ [1;37m[12D[J[1;31mLogs dropped (1)[0m <info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J[1;31mLogs dropped (1)[0m <info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J[1;31mLogs dropped (1)[0m <info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J[1;31mLogs dropped (1)[0m <info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J[1;31mLogs dropped (1)[0m <info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J[1;31mLogs dropped (1)[0m <info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J[1;31mLogs dropped (1)[0m <info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J[1;31mLogs dropped (1)[0m <info> app: hid_gamepad_feed_descriptors [1;32muarart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: hid_gamepad_feed_descriptors [1;32muart_cli:~$ [1;37m[12D[J<info> app: SENDING NEW USB DATA [1;32muart_cli:~$ [1;37m[12D[J<info> app: transfer in progress [1;32muart_cli:~$ [1;37m[12D[J<info> app: sending button press 0 [1;32muart_cli:~$ [1;37m[12D[J<info> app: APP_USBD_HID_USER_EVT_IN_REPORT_DONE [1;32muart_cli:~$ [1;37m[12D[J<info> app: SENDING NEW USB DATA [1;32muart_cli:~$ [1;37m[12D[J<info> app: transfer in progress [1;32muart_cli:~$ [1;37m[12D[J<info> app: SENDING NEW USB DATA [1;32muart_cli:~$ [1;37m[12D[J<info> app: transfer in progress [1;32muart_cli:~$ [1;37m[12D[J<info> app: SENDING NEW USB DATA [1;32muart_cli:~$ [1;37m[12D[J<info> app: transfer in progress [1;32muart_cli:~$ [1;37m[12D[J<info> app: sending button press 1 [1;32muart_cli:~$ [1;37m[12D[J<info> app: APP_USBD_HID_USER_EVT_IN_REPORT_DONE [1;32muart_cli:~$ [1;37m[12D[J<info> app: SENDING NEW USB DATA [1;32muart_cli:~$ [1;37m[12D[J<info> app: transfer in progress [1;32muart_cli:~$ [1;37m[12D[J<info> app: SENDING NEW USB DATA [1;32muart_cli:~$ [1;37m[12D[J<info> app: transfer in progress [1;32muart_cli:~$ [1;37m[12D[J<info> app: SENDING NEW USB DATA [1;32muart_cli:~$ [1;37m[12D[J<info> app: transfer in progress [1;32muart_cli:~$ [1;37m[12D[J<info> app: sending button press 0 [1;32muart_cli:~$ [1;37m[12D[J<info> app: APP_USBD_HID_USER_EVT_IN_REPORT_DONE [1;32muart_cli:~$ [1;37m[12D[J<info> app: SENDING NEW USB DATA [1;32muart_cli:~$ [1;37m[12D[J<info> app: transfer in progress [1;32muart_cli:~$ [1;37m[12D[J<info> app: SENDING NEW USB DATA [1;32muart_cli:~$ [1;37m[12D[J<info> app: transfer in progress [1;32muart_cli:~$ [1;37m[12D[J<info> app: SENDING NEW USB DATA [1;32muart_cli:~$ [1;37m[12D[J<info> app: transfer in progress [1;32muart_cli:~$ [1;37m[12D[J<info> app: sending button press 1 [1;32muart_cli:~$ [1;37m[12D[J<info> app: APP_USBD_HID_USER_EVT_IN_REPORT_DONE [1;32muart_cli:~$ [1;37m[12D[J<info> app: SENDING NEW USB DATA [1;32muart_cli:~$ [1;37m[12D[J<info> app: transfer in progress [1;32muart_cli:~$ [1;37m[12D[J<info> app: SENDING NEW USB DATA [1;32muart_cli:~$ [1;37m[12D[J<info> app: transfer in progress [1;32muart_cli:~$ [1;37m[12D[J<info> app: SENDING NEW USB DATA [1;32muart_cli:~$ [1;37m[12D[J<info> app: transfer in progress [1;32muart_cli:~$ [1;37m[12D[J<info> app: sending button press 0 [1;32muart_cli:~$ [1;37m[12D[J<info> app: APP_USBD_HID_USER_EVT_IN_REPORT_DONE [1;32muart_cli:~$ [1;37m[12D[J<info> app: SENDING NEW USB DATA [1;32muart_cli:~$ [1;37m[12D[J<info> app: transfer in progress [1;32muart_cli:~$ [1;37m[12D[J<info> app: SENDING NEW USB DATA [1;32muart_cli:~$ [1;37m[12D[J<info> app: transfer in progress [1;32muart_cli:~$ [1;37m[12D[J<info> app: SENDING NEW USB DATA [1;32muart_cli:~$ [1;37m[12D[J<info> app: transfer in progress [1;32muart_cli:~$ [1;37m[12D[J<info> app: sending button press 1 [1;32muart_cli:~$ [1;37m[12D[J<info> app: APP_USBD_HID_USER_EVT_IN_REPORT_DONE [1;32muart_cli:~$ [1;37m[12D[J<info> app: SENDING NEW USB DATA [1;32muart_cli:~$ [1;37m[12D[J<info> app: transfer in progress [1;32muart_cli:~$ [1;37m[12D[J<info> app: SENDING NEW USB DATA [1;32muart_cli:~$ [1;37m[12D[J<info> app: transfer in progress [1;32muart_cli:~$ [1;37m[12D[J<info> app: SENDING NEW USB DATA [1;32muart_cli:~$ [1;37m[12D[J<info> app: transfer in progress [1;32muart_cli:~$ [1;37m[12D[J<info> app: sending button press 0 [1;32muart_cli:~$ [1;37m[12D[J<info> app: sending button press 1 [1;32muart_cli:~$ [1;37m[12D[J<info> app: sending button press 0 [1;32muart_cli:~$ [1;37m[12D[J<info> app: APP_USBD_HID_USER_EVT_IN_REPORT_DONE [1;32muart_cli:~$ [1;37m[12D[J<info> app: SENDING NEW USB DATA [1;32muart_cli:~$ [1;37m[12D[J<info> app: transfer in progress [1;32muart_cli:~$ [1;37m[12D[J<info> app: SENDING NEW USB DATA [1;32muart_cli:~$ [1;37m[12D[J<info> app: transfer in progress [1;32muart_cli:~$ [1;37m