Added function for estimating heading if the device doesnt provide it