- uint8_t ReportINBufferSize; /**< Size of the largest possible report to send to the host, for\r
- * buffer allocation purposes\r
- */\r
+ void* PrevReportINBuffer; /**< Pointer to a buffer where the previously created HID input report can be\r
+ * stored by the driver, for comparison purposes to detect report changes that\r
+ * must be sent immediately to the host. This should point to a buffer big enough\r
+ * to hold the largest HID input report sent from the HID interface. If this is set\r
+ * to NULL, it is up to the user to force transfers when needed in the \r
+ * \ref CALLBACK_HID_Device_CreateHIDReport() callback function.\r
+ *\r
+ * \note Due to the single buffer, the internal driver can only correctly compare\r
+ * subsequent reports with identical report IDs. In multiple report devices,\r
+ * this buffer should be set to NULL and the decision to send reports made\r
+ * by the user application instead.\r
+ */\r
+ uint8_t PrevReportINBufferSize; /**< Size in bytes of the given input report buffer. This is used to create a\r
+ * second buffer of the same size within the driver so that subsequent reports\r
+ * can be compared. If the user app is to determine when reports are to be sent\r
+ * exclusively (i.e. \ref PrevReportINBuffer is NULL) this value is ignored.\r
+ */\r