Arduino-FOC icon indicating copy to clipboard operation
Arduino-FOC copied to clipboard

Allow sensors to return no angle (or bad angle)

Open runger1101001 opened this issue 2 years ago • 1 comments

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.

runger1101001 avatar Nov 05 '23 22:11 runger1101001

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.

runger1101001 avatar Nov 08 '23 19:11 runger1101001