Continuously update offset between TSS2 angle sensors (#21943)
* Continuously update offset between TSS2 angle sensors * add comment * less lines * only when initialized * init to None * update refpull/22094/head
parent
3b13eb8c7d
commit
c15a616ac4
3 changed files with 22 additions and 15 deletions
@ -1,13 +1,18 @@ |
||||
class FirstOrderFilter: |
||||
# first order filter |
||||
def __init__(self, x0, rc, dt): |
||||
def __init__(self, x0, rc, dt, initialized=True): |
||||
self.x = x0 |
||||
self.dt = dt |
||||
self.update_alpha(rc) |
||||
self.initialized = initialized |
||||
|
||||
def update_alpha(self, rc): |
||||
self.alpha = self.dt / (rc + self.dt) |
||||
|
||||
def update(self, x): |
||||
if self.initialized: |
||||
self.x = (1. - self.alpha) * self.x + self.alpha * x |
||||
else: |
||||
self.initialized = True |
||||
self.x = x |
||||
return self.x |
||||
|
@ -1 +1 @@ |
||||
f3e220d82db802c653777634228ce57576ac7aad |
||||
3e8037d39f40c59a2b9e86539e0952645b2cb3ea |
Loading…
Reference in new issue