1#include <radio_tool/hid/hid.hpp>
7auto HID::InterruptRead(
const uint8_t &ep,
const uint16_t &len)
const -> std::vector<uint8_t>
9 std::vector<uint8_t> data(len);
12 auto err = libusb_interrupt_transfer(device, ep, data.data(), len, &rlen, timeout);
13 if (err != LIBUSB_SUCCESS)
15 throw std::runtime_error(libusb_error_name(err));
25auto HID::InterruptWrite(
const uint8_t &ep,
const std::vector<uint8_t> &data)
const ->
void
28 auto err = libusb_interrupt_transfer(device, ep, (
unsigned char *)data.data(), data.size(), &rlen, timeout);
29 if (err != LIBUSB_SUCCESS)
31 throw std::runtime_error(libusb_error_name(err));
34 if (rlen != data.size())
36 throw std::runtime_error(
"Invalid write len!");
40auto HID::BulkRead(
const uint8_t &ep,
const uint16_t &len)
const -> std::vector<uint8_t>
42 std::vector<uint8_t> data(len);
45 auto err = libusb_interrupt_transfer(device, ep, data.data(), len, &rlen, timeout);
46 if (err != LIBUSB_SUCCESS)
48 throw std::runtime_error(libusb_error_name(err));
58auto HID::BulkWrite(
const uint8_t &ep,
const std::vector<uint8_t> &data)
const ->
void
61 auto err = libusb_bulk_transfer(device, ep, (
unsigned char *)data.data(), data.size(), &rlen, timeout);
62 if (err != LIBUSB_SUCCESS)
64 throw std::runtime_error(libusb_error_name(err));
67 if (rlen != data.size())
69 throw std::runtime_error(
"Invalid write len!");