RPM filter on rpm reading
This commit is contained in:
parent
d78ac03500
commit
19894ae8d2
1 changed files with 19 additions and 3 deletions
|
@ -5,7 +5,8 @@ import datetime, os
|
|||
pulses_per_rotation = 4
|
||||
reader = Button(4, pull_up=False, bounce_time=0.0005)
|
||||
set_variable("speed_reader_last_impulse_time", datetime.datetime.now(), False)
|
||||
set_variable("actual_rpm_unfiltered", 0, False)
|
||||
#set_variable("actual_rpm_unfiltered", 0, False)
|
||||
set_variable("rpm_filter", [0], False)
|
||||
|
||||
def printer(text):
|
||||
if bool(os.getenv("DEBUG")):
|
||||
|
@ -19,8 +20,23 @@ def event():
|
|||
|
||||
rpm = (60 / difference) / pulses_per_rotation
|
||||
|
||||
actual_rpm = (float(get_variable("actual_rpm_unfiltered")) + rpm) / 2
|
||||
set_variable("actual_rpm_unfiltered", rpm, False)
|
||||
#actual_rpm = (float(get_variable("actual_rpm_unfiltered")) + rpm) / 2
|
||||
#set_variable("actual_rpm_unfiltered", rpm, False)
|
||||
|
||||
rpm_filter = get_variable("rpm_filter")
|
||||
print(rpm_filter)
|
||||
|
||||
if len(rpm_filter) > 8:
|
||||
rpm_filter.remove(rpm_filter[0])
|
||||
|
||||
rpm_filter.append(rpm)
|
||||
set_variable("rpm_filter", rpm_filter, False)
|
||||
|
||||
average = 0
|
||||
for i in rpm_filter:
|
||||
average = average + i
|
||||
|
||||
actual_rpm = average / len(rpm_filter)
|
||||
|
||||
set_variable("actual_rpm", round(actual_rpm, 1), False)
|
||||
printer("Measured RPM: {}".format(round(actual_rpm, 1)))
|
||||
|
|
Loading…
Add table
Reference in a new issue