# devices.lakeshore:Lakeshore335


Interface for Lakeshore 335 temperature controller.


Usage

``` python
devices.lakeshore:Lakeshore335(
    interface,
    **kwargs,
)
```


Extends the base Lakeshore3xx class with specific features for the Lakeshore 335 model.


## Methods

| Name | Description |
|----|----|
| [__init__()](#__init__) | Initialize Lakeshore 335 temperature controller. |
| [getControlMode()](#getControlMode) | Get the control mode of the heater loop. |
| [getHeaterRange()](#getHeaterRange) | Get the heater range. |
| [getTuningStatus()](#getTuningStatus) | Get the current autotune status. |
| [initiateAutotune()](#initiateAutotune) | Initiate autotune on the specified heater loop. |
| [setControlMode()](#setControlMode) | Set the control mode of the heater loop. |
| [setHeaterRange()](#setHeaterRange) | Set the heater range. |
| [setManOutput()](#setManOutput) | Set the manual output of the heater loop. |
| [setTLimit()](#setTLimit) | Set the temperature limit of the specified channel. |

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


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


Initialize Lakeshore 335 temperature controller.


Usage

``` python
__init__(
    interface,
    **kwargs,
)
```


#### Parameters


`interface: str`  
VISA resource string for the instrument.

`**kwargs: dict`  
Additional keyword arguments.

- channel: Default channel to use (default: "A")
- baud_rate: Serial communication baud rate (default: 57600)
- data_bits: Number of data bits (default: 7)
- read_termination: Response termination character (default: CRLF)
- parity: Parity bit configuration (default: odd)


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


### getControlMode()


Get the control mode of the heater loop.


Usage

``` python
getControlMode(loop=1)
```


#### Parameters


`loop: int = ``1`  
Heater loop to query, by default 1.


#### Returns


`int`  
The control mode of the heater loop (0 = Off, 1 = Closed Loop PID, 2 = Zone, 3 = Open Loop, 4 = Monitor out, 5 = Warmup Supply).


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


### getHeaterRange()


Get the heater range.


Usage

``` python
getHeaterRange(loop=1)
```


#### Parameters


`loop: int = ``1`  
Heater loop to query, by default 1.


#### Returns


`int`  
The selected range of the heater loop.


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


### getTuningStatus()


Get the current autotune status.


Usage

``` python
getTuningStatus()
```


#### Returns


`List[str]`  
A list of strings: \[0\]: 0 = no active tuning, 1 = active tuning. \[1\]: 1 = Output 1, 2 = Output 2 \[2\]: 0 = no tuning error, 1 = tuning error \[3\]: stage status


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


### initiateAutotune()


Initiate autotune on the specified heater loop.


Usage

``` python
initiateAutotune(
    mode,
    loop=1,
)
```


#### Parameters


`mode: int`  
The autotune mode to use (0 = P Only, 1 = PI, 2 = PID).

`loop: int = ``1`  
The heater loop to initiate autotune on, by default 1.


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


### setControlMode()


Set the control mode of the heater loop.


Usage

``` python
setControlMode(
    mode,
    loop=1,
    channel="A",
)
```


#### Parameters


`mode: int`  
The control mode to set (0 = Off, 1 = Closed Loop PID, 2 = Zone, 3 = Open Loop, 4 = Monitor out, 5 = Warmup Supply).

`loop: int = ``1`  
Heater loop to set the control mode for, by default 1.

`channel: str = ``"A"`  
Channel to set the control mode for (A or B), by default "A".


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


### setHeaterRange()


Set the heater range.


Usage

``` python
setHeaterRange(
    heaterRange,
    loop=1,
)
```


#### Parameters


`heaterRange: int`  
The range to set (0-3, where 0=Off, 1=Low, 2=Med, 3=High).

`loop: int = ``1`  
Heater loop to set, by default 1.


#### Notes

The function tests if the range would be correctly set, i.e. 0-3.

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


### setManOutput()


Set the manual output of the heater loop.


Usage

``` python
setManOutput(
    power,
    loop=1,
)
```


#### Parameters


`power: float`  
The manual output power to set (0 to 100 %).

`loop: int = ``1`  
Heater loop to set the manual output for, by default 1.


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


### setTLimit()


Set the temperature limit of the specified channel.


Usage

``` python
setTLimit(
    limit,
    channel="A",
)
```


#### Parameters


`limit: int`  
The temperature limit to set (in Kelvin).

`channel: str = ``"A"`  
The channel to set the temperature limit for (A or B), by default "A".
