herosdevices.hardware.srs.ptc10¶
HERO Drivers for the SRS PTC10 programmable temperature controller.
Module Contents¶
- class herosdevices.hardware.srs.ptc10.PTC10(address: str, *_args, macros: dict | None = None, observables: dict | None = None, **_kwargs)[source]¶
Bases:
herosdevices.core.templates.TelnetDeviceTemplateDriver for the SRS PTC10 programmable temperature controller.
This driver connects via telnet to the ethernet port.
- Parameters:
address – IP address of the device. Example: “192.168.1.5”
channels_out – Names of the output channels. Example: [“WindowOut”,”OvenOut”]
channels_tc – Names of PTC330 extension cards input channels.
macros – A dict of macros which are written to the temperature controller and can be called with
run_macro(). The dictionary keys are the names and the values the actual macro code. Note, that the macro content must be a single line string. Example: {“OvenOn”: “if (OvenOut.PID.setpoint==0){ OvenOut.PID.setpoint=50 }else{ popup "Oven already on" }”}observables – A dictionary of attributes that are emitted with the observable_data event if the device is started as a PolledDatasourceHero. If no values are given, the set temperature, actual temperature and TEC power are emitted.
Besides the implemented functions, you can also directly send raw commands to the controller by using
send_raw_command()for maximum flexibility.- observables: dict¶
- macros: dict | None = None¶
- send_raw_command(command: str, read_echo: Literal[False] = False) None[source]¶
- send_raw_command(command: str, read_echo: Literal[True]) str
Send a command to the device.
- Parameters:
command – Command to send. Can end (but does not have to) in a command termination like n. See the device manual for available commands.
read_echo – If a response should be read from the device.
- stop_macro(name: str) None | str[source]¶
Stop a running macro.
- Parameters:
name – Name of the macro to stop.
- run_macro(name: str) str[source]¶
Run a macro on the hardware.
If the macro is present in the macros dictionary (see
__init__()for details), it will be send to the device first.- Parameters:
name – Name of the macro to run.
- define_macro(name: str, content: str) str[source]¶
Send a new macro with the given name and content to the device.
- Parameters:
name – Name of the macro to define.
content – The content of the macro.
- address¶
- connection¶
- write¶
- read¶