Ultrasound beacon driver changes based on Lu's information.
Still not tested with hardware, but at least there's not obvious syntax errors