This is a general use PIC32 comms UART handler.
The driver is full duplex bus so TX and RX can occur independently
It automatically deals with variable packet length by including a length value in the packet. It also automatically adds simple check summing of the packet.
Get the files from our GitHub repository here.