Been trying to get RO/RP-0 working on 1.2.2, but I ran into the issue where science would not actually transmit after the antenna said it was 100% and done. I spent hours troubleshooting, and i think I found the source of the problem and a possible solution to try.
When the code calculates how many packets it will need to send, it divides the amount of data by the packet size, then rounds UP to the nearest integer. Sounds good. However, whenever a 0.29 Mit packet transfers, 0.3 is removed from the data left to transmit. So when it tries to transmit the last of the data, there is no data to transmit, and thus it ends up short of the required data to get the science. Ex: 9 Mit science data, 0.29 packet size is broken into 32 packets. However, because 0.3 remaining is removed each time, after 30 packets it says there is no data left to transmit, but only 8.7 Mits has been transmitted.
This appears to originate from what is currently Lines 122 and 123 of the ModuleRTDataTransmitter.cs on the Github.
dataAmount -= frame;
dataAmount = (float)Math.Round(dataAmount, 1);
From my limited knowledge of coding, appears to be reducing the value of dataAmount by the value of frame, which was previously set to the minimum of PacketSize or dataAmount. Then it rounds the new dataAmount to the nearest tenth. I do not think line 123 (the rounding) is needed and is causing the issue with not transmitting all of the data.