With ukBaz's help, I was able to solve this and the system works pretty flawlessly based on my quick initial tests. There was a flaw in my code and not anything to do with any libraries or hardware.