forked from FanxiaoLiu/DP3
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathaverage.py
More file actions
45 lines (39 loc) · 1.37 KB
/
Copy pathaverage.py
File metadata and controls
45 lines (39 loc) · 1.37 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
import os
import time
import math
import random
from typing import Union
from main.sensor_library import *
class ListTemp:
def __init__(self,sensorid) -> None:
self.templist = []
self.rollinglist = []
self.id = sensorid
if sensorid == 1:
self.sensor = Temperature_Sensor()
def getList(self) -> list:
return self.templist
def getSensorTemp(self) -> float:
if self.id == 0:
return float(random.randint(290,300))/10.0
elif self.id == 1:
return self.sensor.avg_temp()
else:
print("Please input a valid Sensor ID")
def addTemp(self) -> None:
self.templist.append(self.getSensorTemp())
def getRollingTemp(self,rolling_interval,total_time):
for x in range(0,total_time):
self.addTemp()
try:
if len(self.templist) == rolling_interval:
avg = 0
for x in range(0,len(self.templist)):
avg += self.templist[x]
avg = avg/len(self.templist)
self.rollinglist.append(avg)
self.templist = []
except ZeroDivisionError:
print("Please input a list of temperatures.")
return None
time.sleep(1)