I see that the HID_PD_IPRODUCT, HID_PD_SERIAL, HID_PD_MANUFACTURER, HID_PD_IDEVICECHEMISTRY & HID_PD_IOEMINFORMATION reports defined in HIDPowerDevice.cpp also define STRING INDEX (n) for the reports. This information seem redundant to me, since FEATURE request for the respective reports will also return the string indices. I'm therefore unsure if the string indices really needs to be hardcoded in the HID report descriptor in the first place.
Example PR to illustrate removal of string indices from the HID report descriptor: forderud/HidBattery#57 . I can submit a PR for doing the same also in this repo, but first wanted to discuss the idea in case I'm missing something.