From: andrei1089 Date: Sun, 14 Feb 2010 13:09:04 +0000 (+0200) Subject: Update calories formula X-Git-Url: http://git.maemo.org/git/?p=pedometerwidget;a=commitdiff_plain;h=d087061b6deb029df0d398a84f827d91779e74bc Update calories formula Using formula from [1] to calculate the number of lost calories. [1] http://www.indiacurry.com/weightloss/walkingrunningcalories.htm --- diff --git a/src/usr/lib/hildon-desktop/pedometer_widget_home.py b/src/usr/lib/hildon-desktop/pedometer_widget_home.py index 31992ca..bfd6a8f 100644 --- a/src/usr/lib/hildon-desktop/pedometer_widget_home.py +++ b/src/usr/lib/hildon-desktop/pedometer_widget_home.py @@ -460,7 +460,7 @@ class PedoController(Singleton): else: self.v[0].steps += cnt self.v[0].dist += self.get_distance(cnt) - self.v[0].calories += self.get_distance(cnt) + self.v[0].calories += self.get_calories(self.get_distance(cnt)) self.v[0].time += time.time() - self.last_time if last_steps: self.save_values() @@ -469,6 +469,24 @@ class PedoController(Singleton): self.notify(True) self.last_time = time.time() + def get_calories(self, distance): + """calculate lost calories for the distance and weight given as parameters + """ + #different coefficient for running and walking + if self.mode == 0: + coef = 0.53 + else: + coef = 0.75 + + #convert distance from meters to miles + distance *= 0.000621371192 + + weight = self.weight + #convert weight from kg to pounds + if self.unit == 0: + weight *= 2.20462262 + return weight * distance * coef + def set_mode(self, mode): self.mode = mode self.set_height(self.height_interval) @@ -525,9 +543,6 @@ class PedoController(Singleton): steps = self.counter return self.STEP_LENGTH * steps; - def get_calories(self, steps): - return steps - def add_observer(self, func): try: self.observers.index(func)