aboutsummaryrefslogtreecommitdiff
path: root/ports/stm32/usbd_hid_interface.h
blob: d9adf8a5f34410828d897860aaba04e5d5783696 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/*
 * 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 "usbd_cdc_msc_hid.h"

typedef struct _usbd_hid_itf_t {
    usbd_cdc_msc_hid_state_t *usbd; // the parent USB device

    uint8_t buffer[2][HID_DATA_FS_MAX_PACKET_SIZE]; // pair of buffers to read individual packets into
    int8_t current_read_buffer; // which buffer to read from
    uint32_t last_read_len; // length of last read
    int8_t current_write_buffer; // which buffer to write to
} usbd_hid_itf_t;

int usbd_hid_rx_num(usbd_hid_itf_t *hid);
int usbd_hid_rx(usbd_hid_itf_t *hid, size_t len, uint8_t *buf, uint32_t timeout);

#endif // MICROPY_INCLUDED_STM32_USBD_HID_INTERFACE_H