Fixes FIFO variable length limit.

Correctly implements the maximum read length from FIFO.
Switches to manchester encoding.

Using manchester encoding seems to be more robust.