write method

int write(
  1. Pointer<hid_device> dev,
  2. Pointer<Uint8> data,
  3. int length
)

@brief Write an Output report to a HID device.

The first byte of @p data[] must contain the Report ID. For devices which only support a single report, this must be set to 0x0. The remaining bytes contain the report data. Since the Report ID is mandatory, calls to hid_write() will always contain one more byte than the report contains. For example, if a hid report is 16 bytes long, 17 bytes must be passed to hid_write(), the Report ID (or 0x0, for devices with a single report), followed by the report data (16 bytes). In this example, the length passed in would be 17.

hid_write() will send the data on the first OUT endpoint, if one exists. If it does not, it will send the data through the Control Endpoint (Endpoint 0).

This function sets the return value of hid_error().

@ingroup API @param dev A device handle returned from hid_open(). @param data The data to send, including the report number as the first byte. @param length The length in bytes of the data to send.

@returns This function returns the actual number of bytes written and -1 on error.

Implementation

int write(
  ffi.Pointer<hid_device> dev,
  ffi.Pointer<ffi.Uint8> data,
  int length,
) {
  return _write(
    dev,
    data,
    length,
  );
}