# BK9115

## class BK9115(visa_resource: str | VisaConfig)[source]

Bases: [`PSUDriverBase`](https://dev.nominal.io/instro/ref/instruments/instro.psu.PSUDriverBase.md#instro.psu.PSUDriverBase "instro.psu.psu.PSUDriverBase")

B&K Precision 9115-series single-channel PSU.

Methods

| [`clear_protection`](https://dev.nominal.io/instro/ref/instruments/instro.psu.drivers.bk_9115.BK9115.md#instro.psu.drivers.bk_9115.BK9115.clear_protection "instro.psu.drivers.bk_9115.BK9115.clear_protection") | Clear every latched protection trip on `channel`. |
| --- | --- |
| [`close`](https://dev.nominal.io/instro/ref/instruments/instro.psu.drivers.bk_9115.BK9115.md#instro.psu.drivers.bk_9115.BK9115.close "instro.psu.drivers.bk_9115.BK9115.close") | Close the driver's underlying transport. |
| [`get_current`](https://dev.nominal.io/instro/ref/instruments/instro.psu.drivers.bk_9115.BK9115.md#instro.psu.drivers.bk_9115.BK9115.get_current "instro.psu.drivers.bk_9115.BK9115.get_current") | Query the measured output current (amperes) on `channel`. |
| [`get_current_setpoint`](https://dev.nominal.io/instro/ref/instruments/instro.psu.drivers.bk_9115.BK9115.md#instro.psu.drivers.bk_9115.BK9115.get_current_setpoint "instro.psu.drivers.bk_9115.BK9115.get_current_setpoint") | Query the configured current-limit setpoint (amperes) on `channel`. |
| [`get_operating_mode`](https://dev.nominal.io/instro/ref/instruments/instro.psu.drivers.bk_9115.BK9115.md#instro.psu.drivers.bk_9115.BK9115.get_operating_mode "instro.psu.drivers.bk_9115.BK9115.get_operating_mode") | Query whether `channel` is regulating in constant voltage, constant current, unregulated, or off. |
| [`get_output_status`](https://dev.nominal.io/instro/ref/instruments/instro.psu.drivers.bk_9115.BK9115.md#instro.psu.drivers.bk_9115.BK9115.get_output_status "instro.psu.drivers.bk_9115.BK9115.get_output_status") | Query whether the output on `channel` is enabled. |
| [`get_overcurrent_protection_enabled`](https://dev.nominal.io/instro/ref/instruments/instro.psu.drivers.bk_9115.BK9115.md#instro.psu.drivers.bk_9115.BK9115.get_overcurrent_protection_enabled "instro.psu.drivers.bk_9115.BK9115.get_overcurrent_protection_enabled") | Query whether overcurrent protection is enabled on `channel`. |
| [`get_overcurrent_protection_level`](https://dev.nominal.io/instro/ref/instruments/instro.psu.drivers.bk_9115.BK9115.md#instro.psu.drivers.bk_9115.BK9115.get_overcurrent_protection_level "instro.psu.drivers.bk_9115.BK9115.get_overcurrent_protection_level") | Query the overcurrent protection threshold (amperes) on `channel`. |
| [`get_overcurrent_protection_tripped`](https://dev.nominal.io/instro/ref/instruments/instro.psu.drivers.bk_9115.BK9115.md#instro.psu.drivers.bk_9115.BK9115.get_overcurrent_protection_tripped "instro.psu.drivers.bk_9115.BK9115.get_overcurrent_protection_tripped") | Query whether overcurrent protection has tripped on `channel` and not been cleared. |
| [`get_overvoltage_protection_delay`](https://dev.nominal.io/instro/ref/instruments/instro.psu.drivers.bk_9115.BK9115.md#instro.psu.drivers.bk_9115.BK9115.get_overvoltage_protection_delay "instro.psu.drivers.bk_9115.BK9115.get_overvoltage_protection_delay") | Query the overvoltage protection trip delay (seconds) on `channel`. |
| [`get_overvoltage_protection_enabled`](https://dev.nominal.io/instro/ref/instruments/instro.psu.drivers.bk_9115.BK9115.md#instro.psu.drivers.bk_9115.BK9115.get_overvoltage_protection_enabled "instro.psu.drivers.bk_9115.BK9115.get_overvoltage_protection_enabled") | Query whether overvoltage protection is enabled on `channel`. |
| [`get_overvoltage_protection_level`](https://dev.nominal.io/instro/ref/instruments/instro.psu.drivers.bk_9115.BK9115.md#instro.psu.drivers.bk_9115.BK9115.get_overvoltage_protection_level "instro.psu.drivers.bk_9115.BK9115.get_overvoltage_protection_level") | Query the overvoltage protection threshold (volts) on `channel`. |
| [`get_overvoltage_protection_tripped`](https://dev.nominal.io/instro/ref/instruments/instro.psu.drivers.bk_9115.BK9115.md#instro.psu.drivers.bk_9115.BK9115.get_overvoltage_protection_tripped "instro.psu.drivers.bk_9115.BK9115.get_overvoltage_protection_tripped") | Query whether overvoltage protection has tripped on `channel` and not been cleared. |
| [`get_remote_sense_enabled`](https://dev.nominal.io/instro/ref/instruments/instro.psu.drivers.bk_9115.BK9115.md#instro.psu.drivers.bk_9115.BK9115.get_remote_sense_enabled "instro.psu.drivers.bk_9115.BK9115.get_remote_sense_enabled") | Query whether remote sense is enabled on `channel`. |
| [`get_voltage`](https://dev.nominal.io/instro/ref/instruments/instro.psu.drivers.bk_9115.BK9115.md#instro.psu.drivers.bk_9115.BK9115.get_voltage "instro.psu.drivers.bk_9115.BK9115.get_voltage") | Query the measured output voltage (volts) on `channel`. |
| [`get_voltage_setpoint`](https://dev.nominal.io/instro/ref/instruments/instro.psu.drivers.bk_9115.BK9115.md#instro.psu.drivers.bk_9115.BK9115.get_voltage_setpoint "instro.psu.drivers.bk_9115.BK9115.get_voltage_setpoint") | Query the configured voltage setpoint (volts) on `channel`. |
| [`open`](https://dev.nominal.io/instro/ref/instruments/instro.psu.drivers.bk_9115.BK9115.md#instro.psu.drivers.bk_9115.BK9115.open "instro.psu.drivers.bk_9115.BK9115.open") | Open the driver's underlying transport. |
| [`output_enable`](https://dev.nominal.io/instro/ref/instruments/instro.psu.drivers.bk_9115.BK9115.md#instro.psu.drivers.bk_9115.BK9115.output_enable "instro.psu.drivers.bk_9115.BK9115.output_enable") | Enable or disable the output on `channel`. |
| [`set_current_limit`](https://dev.nominal.io/instro/ref/instruments/instro.psu.drivers.bk_9115.BK9115.md#instro.psu.drivers.bk_9115.BK9115.set_current_limit "instro.psu.drivers.bk_9115.BK9115.set_current_limit") | Set the current limit (amperes) on `channel`. |
| [`set_overcurrent_protection_enabled`](https://dev.nominal.io/instro/ref/instruments/instro.psu.drivers.bk_9115.BK9115.md#instro.psu.drivers.bk_9115.BK9115.set_overcurrent_protection_enabled "instro.psu.drivers.bk_9115.BK9115.set_overcurrent_protection_enabled") | Enable or disable overcurrent protection on `channel`. |
| [`set_overcurrent_protection_level`](https://dev.nominal.io/instro/ref/instruments/instro.psu.drivers.bk_9115.BK9115.md#instro.psu.drivers.bk_9115.BK9115.set_overcurrent_protection_level "instro.psu.drivers.bk_9115.BK9115.set_overcurrent_protection_level") | Set the overcurrent protection threshold (amperes) on `channel`. |
| [`set_overvoltage_protection_delay`](https://dev.nominal.io/instro/ref/instruments/instro.psu.drivers.bk_9115.BK9115.md#instro.psu.drivers.bk_9115.BK9115.set_overvoltage_protection_delay "instro.psu.drivers.bk_9115.BK9115.set_overvoltage_protection_delay") | Set the overvoltage protection trip delay (seconds) on `channel`. |
| [`set_overvoltage_protection_enabled`](https://dev.nominal.io/instro/ref/instruments/instro.psu.drivers.bk_9115.BK9115.md#instro.psu.drivers.bk_9115.BK9115.set_overvoltage_protection_enabled "instro.psu.drivers.bk_9115.BK9115.set_overvoltage_protection_enabled") | Enable or disable overvoltage protection on `channel`. |
| [`set_overvoltage_protection_level`](https://dev.nominal.io/instro/ref/instruments/instro.psu.drivers.bk_9115.BK9115.md#instro.psu.drivers.bk_9115.BK9115.set_overvoltage_protection_level "instro.psu.drivers.bk_9115.BK9115.set_overvoltage_protection_level") | Set the overvoltage protection threshold (volts) on `channel`. |
| [`set_remote_sense_enabled`](https://dev.nominal.io/instro/ref/instruments/instro.psu.drivers.bk_9115.BK9115.md#instro.psu.drivers.bk_9115.BK9115.set_remote_sense_enabled "instro.psu.drivers.bk_9115.BK9115.set_remote_sense_enabled") | Enable or disable remote sense on `channel`. |
| [`set_voltage`](https://dev.nominal.io/instro/ref/instruments/instro.psu.drivers.bk_9115.BK9115.md#instro.psu.drivers.bk_9115.BK9115.set_voltage "instro.psu.drivers.bk_9115.BK9115.set_voltage") | Set the output voltage (volts) on `channel`. |

### open() → None[source]

Open the driver’s underlying transport.

### close() → None[source]

Close the driver’s underlying transport.

### set_voltage(voltage: float, channel: int) → None[source]

Set the output voltage (volts) on `channel`.

### get_voltage(channel: int) → float[source]

Query the measured output voltage (volts) on `channel`. Output may vary from voltage setpoint outside of constant voltage mode.

### set_current_limit(current_limit: float, channel: int) → None[source]

Set the current limit (amperes) on `channel`.

### get_current(channel: int) → float[source]

Query the measured output current (amperes) on `channel`. Output may vary from current-limit setpoint outside of constant current mode.

### output_enable(enable: bool, channel: int) → None[source]

Enable or disable the output on `channel`.

### get_output_status(channel: int) → bool[source]

Query whether the output on `channel` is enabled.

### set_overvoltage_protection_level( voltage: float, channel: int, ) → None[source]

Set the overvoltage protection threshold (volts) on `channel`.

### get_overvoltage_protection_level(channel: int) → float[source]

Query the overvoltage protection threshold (volts) on `channel`.

### set_overvoltage_protection_enabled( enabled: bool, channel: int, ) → None[source]

Enable or disable overvoltage protection on `channel`.

### get_overvoltage_protection_enabled(channel: int) → bool[source]

Query whether overvoltage protection is enabled on `channel`.

### set_overvoltage_protection_delay( delay: float, channel: int, ) → None[source]

Set the overvoltage protection trip delay (seconds) on `channel`.

### get_overvoltage_protection_delay(channel: int) → float[source]

Query the overvoltage protection trip delay (seconds) on `channel`.

### set_overcurrent_protection_level( current: float, channel: int, ) → None[source]

Set the overcurrent protection threshold (amperes) on `channel`.

### get_overcurrent_protection_level(channel: int) → float[source]

Query the overcurrent protection threshold (amperes) on `channel`.

### set_overcurrent_protection_enabled( enabled: bool, channel: int, ) → None[source]

Enable or disable overcurrent protection on `channel`.

### get_overcurrent_protection_enabled(channel: int) → bool[source]

Query whether overcurrent protection is enabled on `channel`.

### get_overcurrent_protection_tripped(channel: int) → bool[source]

Query whether overcurrent protection has tripped on `channel` and not been cleared.

### set_remote_sense_enabled(enabled: bool, channel: int) → None[source]

Enable or disable remote sense on `channel`.

### get_remote_sense_enabled(channel: int) → bool[source]

Query whether remote sense is enabled on `channel`.

### clear_protection(channel: int) → None

Clear every latched protection trip on `channel`. The output stays off until re-enabled.

### get_current_setpoint(channel: int) → float

Query the configured current-limit setpoint (amperes) on `channel`. Output may vary from actual measured current outside of constant current mode.

### get_operating_mode( channel: int, ) → OperatingMode

Query whether `channel` is regulating in constant voltage, constant current, unregulated, or off.

### get_overvoltage_protection_tripped(channel: int) → bool

Query whether overvoltage protection has tripped on `channel` and not been cleared.

### get_voltage_setpoint(channel: int) → float

Query the configured voltage setpoint (volts) on `channel`. Output may vary from actual measured voltage outside of constant voltage mode.
