simplefoc / Arduino-FOC

Arduino FOC for BLDC and Stepper motors - Arduino Based Field Oriented Control Algorithm Library
https://docs.simplefoc.com
MIT License
2.03k stars 521 forks source link

Allow sensors to return no angle (or bad angle) #334

Open runger1101001 opened 11 months ago

runger1101001 commented 11 months ago

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:

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 commented 10 months ago

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.