circuitpython/ports/stm32/usbd_hid_interface.h
Koen De Vleeschauwer 432b65f178 stm32/usb: Expose USB HID device instance via usbd_hid_get().
This is needed to implement a HID device in user C modules.
2022-06-24 18:33:26 +10:00

28 lines
780 B
C

/*
* This file is part of the MicroPython project, http://micropython.org/
*/
#ifndef MICROPY_INCLUDED_STM32_USBD_HID_INTERFACE_H
#define MICROPY_INCLUDED_STM32_USBD_HID_INTERFACE_H
#include <stdint.h>
#include "usbd_cdc_msc_hid.h"
#define USBD_HID_REPORT_INVALID ((size_t)-1)
typedef struct _usbd_hid_itf_t {
usbd_hid_state_t base; // state for the base HID layer
volatile size_t report_in_len;
uint8_t report_in_buf[HID_DATA_FS_MAX_PACKET_SIZE];
} usbd_hid_itf_t;
usbd_hid_itf_t *usbd_hid_get(void);
static inline int usbd_hid_rx_num(usbd_hid_itf_t *hid) {
return hid->report_in_len != USBD_HID_REPORT_INVALID;
}
int usbd_hid_rx(usbd_hid_itf_t *hid, size_t len, uint8_t *buf, uint32_t timeout_ms);
#endif // MICROPY_INCLUDED_STM32_USBD_HID_INTERFACE_H