Ok, finally figured out why the ROReportSpec was buggered. I was sending across way too much DATA. I have adjusted the python struct types for ROReportSpec down, and TagReportContentSelector is being worked on. We can only use the first 10 bits of 16 bits total (10bits for flags, 6 bits for reserved). Therefore, if we want to be able to turn flags on, we will have to pack a single unsigned short (2bytes - big endian) to represent all of our flags with the last byte being all 0 (reserved).