Skip to content

feat(psu): add OVP, OCP, remote sense to bk 9115#94

Open
wharwood wants to merge 1 commit into
mainfrom
wh/instro-356-featpsu-implement-bk-9115-single-channel-psu-driver
Open

feat(psu): add OVP, OCP, remote sense to bk 9115#94
wharwood wants to merge 1 commit into
mainfrom
wh/instro-356-featpsu-implement-bk-9115-single-channel-psu-driver

Conversation

@wharwood

Copy link
Copy Markdown
Contributor

Summary

Adds OVP, OCP, and remote sense to the BK 9115 series of PSU. Closes INSTRO-356.

Type of change

  • Bug fix (fix)
  • New feature (feat)
  • Breaking change (feat! / fix!)
  • Refactor (refactor)
  • Documentation (docs)
  • Chore / tooling (chore)

Verification

========================================================== 31 passed in 14.68s ===========================================================
(instro) william@williams-Apple-MacBook-Pro instro % uv run pytest tests/psu/bk/test_bk_9115_hardware.py -m hardware -v
========================================================== test session starts ===========================================================
platform darwin -- Python 3.12.12, pytest-8.4.2, pluggy-1.6.0 -- /Users/william/Projects/instro/.venv/bin/python
cachedir: .pytest_cache
rootdir: /Users/william/Projects/instro
configfile: pyproject.toml
collected 33 items

tests/psu/bk/test_bk_9115_hardware.py::test_set_voltage PASSED [ 3%]
tests/psu/bk/test_bk_9115_hardware.py::test_set_voltage_raises_after_instrument_error PASSED [ 6%]
tests/psu/bk/test_bk_9115_hardware.py::test_set_voltage_invalid_channel_raises_without_instrument_error PASSED [ 9%]
tests/psu/bk/test_bk_9115_hardware.py::test_get_voltage PASSED [ 12%]
tests/psu/bk/test_bk_9115_hardware.py::test_get_voltage_raises_after_instrument_error PASSED [ 15%]
tests/psu/bk/test_bk_9115_hardware.py::test_get_voltage_invalid_channel_raises_without_instrument_error PASSED [ 18%]
tests/psu/bk/test_bk_9115_hardware.py::test_set_current_limit PASSED [ 21%]
tests/psu/bk/test_bk_9115_hardware.py::test_set_current_limit_raises_after_instrument_error PASSED [ 24%]
tests/psu/bk/test_bk_9115_hardware.py::test_get_current PASSED [ 27%]
tests/psu/bk/test_bk_9115_hardware.py::test_get_current_raises_after_instrument_error PASSED [ 30%]
tests/psu/bk/test_bk_9115_hardware.py::test_output_enable PASSED [ 33%]
tests/psu/bk/test_bk_9115_hardware.py::test_output_enable_raises_after_instrument_error PASSED [ 36%]
tests/psu/bk/test_bk_9115_hardware.py::test_output_disable_readback PASSED [ 39%]
tests/psu/bk/test_bk_9115_hardware.py::test_get_output_status_raises_after_instrument_error PASSED [ 42%]
tests/psu/bk/test_bk_9115_hardware.py::test_set_overvoltage_protection_level PASSED [ 45%]
tests/psu/bk/test_bk_9115_hardware.py::test_set_overvoltage_protection_level_raises_after_instrument_error PASSED [ 48%]
tests/psu/bk/test_bk_9115_hardware.py::test_get_overvoltage_protection_level PASSED [ 51%]
tests/psu/bk/test_bk_9115_hardware.py::test_get_overvoltage_protection_level_raises_after_instrument_error PASSED [ 54%]
tests/psu/bk/test_bk_9115_hardware.py::test_set_overvoltage_protection_enabled PASSED [ 57%]
tests/psu/bk/test_bk_9115_hardware.py::test_set_overvoltage_protection_enabled_raises_after_instrument_error PASSED [ 60%]
tests/psu/bk/test_bk_9115_hardware.py::test_get_overvoltage_protection_enabled PASSED [ 63%]
tests/psu/bk/test_bk_9115_hardware.py::test_get_overvoltage_protection_enabled_raises_after_instrument_error PASSED [ 66%]
tests/psu/bk/test_bk_9115_hardware.py::test_set_overvoltage_protection_delay PASSED [ 69%]
tests/psu/bk/test_bk_9115_hardware.py::test_set_overvoltage_protection_delay_raises_after_instrument_error PASSED [ 72%]
tests/psu/bk/test_bk_9115_hardware.py::test_get_overvoltage_protection_delay PASSED [ 75%]
tests/psu/bk/test_bk_9115_hardware.py::test_get_overvoltage_protection_delay_raises_after_instrument_error PASSED [ 78%]
tests/psu/bk/test_bk_9115_hardware.py::test_set_overcurrent_protection_level_unsupported PASSED [ 81%]
tests/psu/bk/test_bk_9115_hardware.py::test_get_overcurrent_protection_level_unsupported PASSED [ 84%]
tests/psu/bk/test_bk_9115_hardware.py::test_set_overcurrent_protection_enabled_unsupported PASSED [ 87%]
tests/psu/bk/test_bk_9115_hardware.py::test_get_overcurrent_protection_enabled_unsupported PASSED [ 90%]
tests/psu/bk/test_bk_9115_hardware.py::test_set_remote_sense_enabled_unsupported PASSED [ 93%]
tests/psu/bk/test_bk_9115_hardware.py::test_get_remote_sense_enabled_unsupported PASSED [ 96%]
tests/psu/bk/test_bk_9115_hardware.py::test_check_errors_raises_after_instrument_error PASSED [100%]

========================================================== 33 passed in 15.06s ===========================================================

Tests

  • Unit tests added or updated
  • Existing tests cover this change
  • No tests — explain why:

Checklist

  • PR title follows Conventional Commits (e.g. feat(driver): add support for Keysight E36300)
  • I have read CONTRIBUTING.md
  • Documentation updated if user-facing behavior changed
  • Code follows the style/conventions of the surrounding code

@wharwood wharwood requested a review from hoehner June 11, 2026 22:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant