Arduino-FOC
Arduino-FOC copied to clipboard
Allow sensors to return no angle (or bad angle)
At the moment there is no way for a sensor to fail gracefully. But in the presence of noisy lines it would be useful to check the CRC data returned by many sensors, and return no angle value if it was not received correctly.
A possible solution:
- sensors can return NaN when they can't receive the angle
- the sensor base class checks for NaN and doesn't update its internal state in this case
As a bonus, it would be good to track the number of CRC errors so user code can check on the performance of the sensor.
The part with returning no angle is implemented already, for release in 2.3.2. It is not an API changing change.
Instead of NaN, sensors can just return a negative number to have it ignored by the sensor base class. Handling NaN explicitly is not appreciated at all by the compilers...
Leaving ticket open to also implement the error counting part.