git-svn-id: http://moon:8086/svn/projects/HendiControl@192 fda53097-d464-4ada-af97-ba876c37ca34
44 lines
949 B
Python
44 lines
949 B
Python
import time
|
|
import numpy as np
|
|
from matplotlib.pyplot import figure, clf, plot, xlabel, ylabel, xlim, ylim, title, grid, axes, show, subplot
|
|
|
|
from tempSensorSim import TempSensorSim
|
|
|
|
class TempLogger():
|
|
def __init__(self, sensor):
|
|
self.sensor = sensor
|
|
self.temps = np.empty(0)
|
|
self.times = np.empty(0)
|
|
self.count = 0
|
|
|
|
def run(self, dt, duration):
|
|
|
|
for t in range(0, duration):
|
|
temp = self.sensor.temperature()
|
|
print ("Current temperature is {:0.2f} °C".format(temp))
|
|
self.times = np.append(self.times, self.count)
|
|
self.temps = np.append(self.temps, temp)
|
|
self.count += 1
|
|
time.sleep(dt)
|
|
|
|
return self.result()
|
|
|
|
def result(self):
|
|
return self.times, self.temps
|
|
|
|
|
|
if __name__ == '__main__':
|
|
sensor = TempSensorSim("FakeTemp")
|
|
logger = TempLogger(sensor)
|
|
result = logger.run(1, 10)
|
|
|
|
figure(1)
|
|
plot(result[0]/60, result[1], 'b-', linewidth=1)
|
|
|
|
ylabel('°C/min')
|
|
xlabel('t/min')
|
|
show()
|
|
|
|
print("End of program")
|
|
|