change ultrasonic read to on-demand