# devices.oxford:ITC503


Oxford Instruments ITC503 temperature controller interface.


Usage

``` python
devices.oxford:ITC503(
    interface,
    isobus_addr=None,
    **kwargs,
)
```


## Methods

| Name | Description |
|----|----|
| [__init__()](#__init__) | Initialize the ITC503 controller. |
| [getAutoHeater()](#getAutoHeater) | Get the status of automatic heater control. |
| [getAutoPID()](#getAutoPID) | Get the status of automatic PID control. |
| [getHeater()](#getHeater) | Get the current heater output level. |
| [getNV()](#getNV) | Get the current needle valve position. |
| [getPID()](#getPID) | Get the current PID parameters. |
| [getSweepMode()](#getSweepMode) | Get the status of temperature sweep mode. |
| [getSweepTime()](#getSweepTime) | Get the sweep time in minutes. |
| [getTVTI()](#getTVTI) | Get the temperature reading. |
| [setAutoHeater()](#setAutoHeater) | Enable or disable automatic heater control. |
| [setAutoPID()](#setAutoPID) | Enable or disable automatic PID control. |
| [setHeater()](#setHeater) | Set the heater output level. |
| [setNV()](#setNV) | Set the needle valve position. |
| [setPID()](#setPID) | Set the PID parameters. |
| [setSweepMode()](#setSweepMode) | Set the temperature sweep mode. |
| [setSweepTarget()](#setSweepTarget) | Set the target temperature for the sweep. |
| [setSweepTime()](#setSweepTime) | Set the sweep time in minutes. |
| [setTVTI()](#setTVTI) | Set the temperature set point. |

------------------------------------------------------------------------


### \_\_init\_\_()


Initialize the ITC503 controller.


Usage

``` python
__init__(
    interface,
    isobus_addr=None,
    **kwargs,
)
```


#### Parameters


`interface: str or visa.resources.Resource`  
Communication interface to the device.

`isobus_addr: int = None`  
Address of the device on the ISObus.

`**kwargs: dict`  
Additional keyword arguments to pass to the IsobusDevice constructor.


------------------------------------------------------------------------


### getAutoHeater()


Get the status of automatic heater control.


Usage

``` python
getAutoHeater()
```


#### Returns


`bool`  
True if automatic heater control is enabled, False otherwise.


------------------------------------------------------------------------


### getAutoPID()


Get the status of automatic PID control.


Usage

``` python
getAutoPID()
```


#### Returns


`bool`  
True if automatic PID is enabled, False otherwise.


------------------------------------------------------------------------


### getHeater()


Get the current heater output level.


Usage

``` python
getHeater()
```


#### Returns


`float`  
Heater output level in percent.


------------------------------------------------------------------------


### getNV()


Get the current needle valve position.


Usage

``` python
getNV()
```


#### Returns


`float`  
Needle valve position in percent.


------------------------------------------------------------------------


### getPID()


Get the current PID parameters.


Usage

``` python
getPID()
```


#### Returns


`list`  
List of \[P, I, D\] values.


------------------------------------------------------------------------


### getSweepMode()


Get the status of temperature sweep mode.


Usage

``` python
getSweepMode()
```


#### Returns


`bool`  
True if sweep mode is active, False otherwise.


------------------------------------------------------------------------


### getSweepTime()


Get the sweep time in minutes.


Usage

``` python
getSweepTime()
```


#### Returns


`float`  
Sweep time in minutes.


------------------------------------------------------------------------


### getTVTI()


Get the temperature reading.


Usage

``` python
getTVTI(
    setp=False,
    channel=1,
)
```


#### Parameters


`setp: bool = ``False`  
If True, return both temperature reading and set point, by default False.

`channel: int = ``1`  
The channel to read temperature from, by default 1.


#### Returns


`float or list`  
Temperature reading in Kelvin, or \[temperature, setpoint\] if setp=True.


------------------------------------------------------------------------


### setAutoHeater()


Enable or disable automatic heater control.


Usage

``` python
setAutoHeater(ahtr)
```


#### Parameters


`ahtr: bool`  
True to enable automatic heater control, False to disable.


------------------------------------------------------------------------


### setAutoPID()


Enable or disable automatic PID control.


Usage

``` python
setAutoPID(aPID)
```


#### Parameters


`aPID: bool`  
True to enable automatic PID, False to disable.


------------------------------------------------------------------------


### setHeater()


Set the heater output level.


Usage

``` python
setHeater(htr)
```


#### Parameters


`htr: float`  
Heater output level in percent (0-100).


------------------------------------------------------------------------


### setNV()


Set the needle valve position.


Usage

``` python
setNV(nv)
```


#### Parameters


`nv: float`  
Needle valve position in percent (0-99.9). Values outside this range will be clipped.


------------------------------------------------------------------------


### setPID()


Set the PID parameters.


Usage

``` python
setPID(pid)
```


#### Parameters


`pid: list`  
List of \[P, I, D\] values.


------------------------------------------------------------------------


### setSweepMode()


Set the temperature sweep mode.


Usage

``` python
setSweepMode(flag)
```


Configures the controller into sweep mode. When enabled, sweep is started according to the previously defined parameters and made to start at the current temperature.


#### Parameters


`flag: bool`  
True to enable sweep mode, False to disable.


------------------------------------------------------------------------


### setSweepTarget()


Set the target temperature for the sweep.


Usage

``` python
setSweepTarget(temp)
```


#### Parameters


`temp: float`  
Target temperature in Kelvin.


------------------------------------------------------------------------


### setSweepTime()


Set the sweep time in minutes.


Usage

``` python
setSweepTime(time)
```


#### Parameters


`time: float`  
Sweep time in minutes.


------------------------------------------------------------------------


### setTVTI()


Set the temperature set point.


Usage

``` python
setTVTI(temp)
```


#### Parameters


`temp: float`  
Target temperature value in Kelvin.
