Fixed hard coding

Fixed all the hard coding so it can take any BPM. This requires the PC
side to send some data regarding timing calculations (I'm trying to not
have it do anything as much as possible)