Bidirectional seems to be working.  Fixed bug in B_timerinterrupt().