measurementFSM is no longer interrupt safe; needs to be at highest user priority in order to operate correctly; i.e., entire measurementFSM function must be atomic; saves 63 cyclesd