Give visual feedback on HardFault
Reimplement comm library

This version takes proper care of locking the TX unit so that no two
TXes happen at the same time.