adafruit / Adafruit_AHRS

Arduino library for AHRS (Attitude and Heading Reference System) for Adafruit motion sensors
214 stars 64 forks source link

Fusion of function update() and updateIMU() #22

Open MarcBousquet opened 3 years ago

MarcBousquet commented 3 years ago

Hello, My suggestion is to normalize Magnetometer values, in function update() only if they are all non null (NaN error). Currently, if those values are Null, the updateIMU() function is called and normalization and rest of update() function is skipped.

With this pull request, the function updateIMU() becomes useless because, when mx=my=mz=0, both the rest of update() function and updateIMU() are identical.

The benefit is a more readable, lighter and easier to maintain code.

The drawback is it results in some useless multiplications by 0 in function update(), when mx=my=mz=0, but this case should be exceptional or due to some measurement anomalies, meaning in a non-usual cases.

Thanks

markub3327 commented 1 year ago

@MarcBousquet Why did you not use function overloading?