diff --git a/preload/apps/spo2/__init__.py b/preload/apps/spo2/__init__.py index cf565d8e01a92ffa1cf95099f847291cbdbae8fc..dbe9b83c4255e625ee290a4914fb0cb4de6f3188 100644 --- a/preload/apps/spo2/__init__.py +++ b/preload/apps/spo2/__init__.py @@ -23,6 +23,7 @@ class SPO2: self.last_sample = 0.0 self.filtered_value = 0.0 self.source = "Red" + self.average = 0 def open(self): def callback(datasets): @@ -45,7 +46,9 @@ class SPO2: while buttons.read(buttons.BOTTOM_RIGHT): pass def update_history(self, datasets): + alpha = 0.995 for val in datasets: + """ if self.source == "Red": self.avg[self.avg_pos] = val.red else: @@ -63,6 +66,17 @@ class SPO2: ) self.last_sample = avg_data self.history.append(self.filtered_value) + """ + + #print("%d,%d" % (val.red, val.infrared)) + if self.source == "Red": + d = val.red + else: + d = val.infrared + + self.average = alpha * self.average + (1 - alpha) * d + d -= self.average + self.history.append(d) # trim old elements self.history = self.history[-self.HISTORY_MAX :]