Updated to read sensor asynchronously to avoid underruns