From e70be9e17a000cbe1e55e037a8eb5c8f8588fcd9 Mon Sep 17 00:00:00 2001 From: vadim Date: Fri, 1 Mar 2019 11:42:33 +0200 Subject: [PATCH] filter out zero encoder reading - can be caused by gnd short --- encoder.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/encoder.c b/encoder.c index 3d656bd2..0004867f 100644 --- a/encoder.c +++ b/encoder.c @@ -334,7 +334,7 @@ void encoder_tim_isr(void) { spi_end(); spi_val = pos; - if(spi_check_parity(pos) && pos!=0xffff) { + if(spi_check_parity(pos) && pos!=0xffff && pos!=0) { // all ones = disconnect, all zeros = short to gnd pos &= 0x3FFF; last_enc_angle = ((float)pos * 360.0) / 16384.0; UTILS_LP_FAST(spi_error_rate, 0.0, 1./AS5047_SAMPLE_RATE_HZ);