The lib things were just because of a few recompilations.
Data requests project works for IR, the problems with IR were almost definitely the problems with the others (encoder / BOM data).
I'll fix the code for those next time, and then begin work on encoders.
Hopefully I'll be able to abstract the robots out completely and just work with raw data in a month or two.
void i2c_packet_rec (char i2c_byte);
void i2c_packet_sniff(char data);
Also available in: Unified diff