From 562497c2dfb891e6321e0c11ccc9cee654508754 Mon Sep 17 00:00:00 2001 From: Daniel Barlow Date: Sun, 11 Dec 2022 11:01:41 +0000 Subject: [PATCH] show moving time, only after first movement --- csc.py | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/csc.py b/csc.py index 50eb082..07c311b 100644 --- a/csc.py +++ b/csc.py @@ -5,7 +5,7 @@ import struct import sys import time -from datetime import datetime +from datetime import datetime, timedelta import os import pygame @@ -22,7 +22,8 @@ class CadenceListener: wheelSpeed = 0 crankSpeed = 0 crankSpeedMax = 120 - startTime = None + elapsedTime = None + firstMessage = True def getWheelSpeed(self): return self.wheelSpeed @@ -35,13 +36,13 @@ class CadenceListener: offset = offset + 6 if flags & 2: crankRevolutions,crankTime = struct.unpack(' self.prevWtime): - revs = ((wheelRevolutions - self.prevWrevs) / - float(wheelTime - self.prevWtime)) + millis = float(wheelTime - self.prevWtime) + self.rolling = True + revs = (wheelRevolutions - self.prevWrevs) / millis + self.wheelSpeed = revs * 2205 * 3600 / 1024.0 - print("wheel", - (float(wheelTime - self.prevWtime)), - self.wheelSpeed) + print("wheel", millis, self.wheelSpeed) self.prevWtime = wheelTime self.prevWrevs = wheelRevolutions + self.elapsedTime = (self.elapsedTime or 0) + (millis / 1024.0) class Biscuit: listener = CadenceListener() @@ -95,8 +97,8 @@ class Biscuit: (scale/16,scale + 20), "{: 5.1f} rpm".format(self.listener.crankSpeed), (0,255,0)) - if self.listener.startTime != None: - runTime = datetime.now() - self.listener.startTime + if self.listener.elapsedTime != None: + runTime = timedelta(seconds=self.listener.elapsedTime) timelabel = str(runTime)[0:9] else: timelabel = datetime.now().strftime("%H:%M:%S")