Compare commits

..

1 Commits

Author SHA1 Message Date
bb50d9de37 Update .gitignore 2025-01-13 17:06:08 +08:00
6 changed files with 25 additions and 27 deletions

2
.gitignore vendored
View File

@ -3,3 +3,5 @@ result
*.bin
__pycache__/
*.egg-info/
build/

View File

@ -1,13 +1,13 @@
import time
from pythermostat.client import Client
thermostat = Client() #(host="localhost", port=6667)
thermostat.set_param("b-p", 1, "t0", 20)
print(thermostat.get_output())
print(thermostat.get_pid())
print(thermostat.get_output())
print(thermostat.get_postfilter())
print(thermostat.get_b_parameter())
tec = Client() #(host="localhost", port=6667)
tec.set_param("b-p", 1, "t0", 20)
print(tec.get_output())
print(tec.get_pid())
print(tec.get_output())
print(tec.get_postfilter())
print(tec.get_b_parameter())
while True:
print(thermostat.get_report())
print(tec.get_report())
time.sleep(0.05)

View File

@ -9,10 +9,6 @@ authors = [{name = "M-Labs"}]
description = "Python utilities for the Sinara 8451 Thermostat"
urls.Repository = "https://git.m-labs.hk/M-Labs/thermostat"
license = {text = "GPLv3"}
dependencies = [
"numpy >= 1.26.4",
"matplotlib >= 3.9.2"
]
[project.gui-scripts]
thermostat_plot = "pythermostat.plot:main"

View File

@ -235,16 +235,16 @@ def main():
# logging.basicConfig(level=logging.DEBUG)
thermostat = Client()
tec = Client()
data = thermostat.get_report()
data = tec.get_report()
ch = data[channel]
tuner = PIDAutotune(target_temperature, output_step,
lookback, noiseband, ch['interval'])
while True:
data = thermostat.get_report()
data = tec.get_report()
ch = data[channel]
@ -255,11 +255,11 @@ def main():
tuner_out = tuner.output()
thermostat.set_param("output", channel, "i_set", tuner_out)
tec.set_param("output", channel, "i_set", tuner_out)
time.sleep(0.05)
thermostat.set_param("output", channel, "i_set", 0)
tec.set_param("output", channel, "i_set", 0)
if __name__ == "__main__":

View File

@ -151,11 +151,11 @@ class Client:
"""Set configuration parameters
Examples::
thermostat.set_param("output", 0, "max_v", 2.0)
thermostat.set_param("pid", 1, "output_max", 2.5)
thermostat.set_param("b-p", 0, "t0", 20.0)
thermostat.set_param("center", 0, "vref")
thermostat.set_param("postfilter", 1, 21)
tec.set_param("output", 0, "max_v", 2.0)
tec.set_param("pid", 1, "output_max", 2.5)
tec.set_param("b-p", 0, "t0", 20.0)
tec.set_param("center", 0, "vref")
tec.set_param("postfilter", 1, 21)
See the firmware's README.md for a full list.
"""

View File

@ -9,8 +9,8 @@ from pythermostat.client import Client
def main():
TIME_WINDOW = 300.0
thermostat = Client()
target_temperature = thermostat.get_pid()[0]['target']
tec = Client()
target_temperature = tec.get_pid()[0]['target']
print("Channel 0 target temperature: {:.3f}".format(target_temperature))
class Series:
@ -48,10 +48,10 @@ def main():
quit = False
def recv_data(thermostat):
def recv_data(tec):
global last_packet_time
while True:
data = thermostat.get_report()
data = tec.get_report()
ch0 = data[0]
series_lock.acquire()
try:
@ -67,7 +67,7 @@ def main():
break
time.sleep(0.05)
thread = Thread(target=recv_data, args=(thermostat,))
thread = Thread(target=recv_data, args=(tec,))
thread.start()
fig, ax = plt.subplots()