From 9af86be6749ad04ef49fe523abc892ea04d867cb Mon Sep 17 00:00:00 2001 From: atse Date: Mon, 4 Nov 2024 15:47:56 +0800 Subject: [PATCH] pytec: Remove artificial report mode in client Encourage polling usage instead, as shown in example. --- pytec/example.py | 6 ++++-- pytec/pytec/client.py | 32 +------------------------------- 2 files changed, 5 insertions(+), 33 deletions(-) diff --git a/pytec/example.py b/pytec/example.py index 4e42f31..803a7f9 100644 --- a/pytec/example.py +++ b/pytec/example.py @@ -1,3 +1,4 @@ +import time from pytec.client import Client tec = Client() #(host="localhost", port=6667) @@ -7,5 +8,6 @@ print(tec.get_pid()) print(tec.get_output()) print(tec.get_postfilter()) print(tec.get_b_parameter()) -for data in tec.report_mode(): - print(data) +while True: + print(tec.get_report()) + time.sleep(0.05) diff --git a/pytec/pytec/client.py b/pytec/pytec/client.py index 5fd65f0..60a6b96 100644 --- a/pytec/pytec/client.py +++ b/pytec/pytec/client.py @@ -1,7 +1,7 @@ import socket import json import logging -import time + class CommandError(Exception): pass @@ -147,36 +147,6 @@ class Client: """Get Thermostat hardware revision""" return self._command("hwrev") - def report_mode(self): - """Start reporting measurement values - - Example of yielded data:: - {'channel': 0, - 'time': 2302524, - 'adc': 0.6199188965423515, - 'sens': 6138.519310282602, - 'temperature': 36.87032392655527, - 'pid_engaged': True, - 'i_set': 2.0635816680889123, - 'vref': 1.494, - 'dac_value': 2.527790834044456, - 'dac_feedback': 2.523, - 'i_tec': 2.331, - 'tec_i': 2.0925, - 'tec_u_meas': 2.5340000000000003, - 'pid_output': 2.067581958092247} - """ - while True: - self._socket.sendall("report\n".encode('utf-8')) - line = self._read_line() - if not line: - break - try: - yield json.loads(line) - except json.decoder.JSONDecodeError: - pass - time.sleep(0.05) - def set_param(self, topic, channel, field="", value=""): """Set configuration parameters