Skip to content

Conversation

@iangillingham-stfc
Copy link
Contributor

Added support for the new Mercury IPS SCPI protocol and additional features.

…lator tree into this support module, as the modern and preferred method
…lanning on splitting the device and states was not a good idea, so have reworked the existing files to cater for both variants
…he response, which should have been %*f reads, but were %f, which messed up the record.
… ProcServLauncher in IOC parameters to significantly speed up IOC instantiation. Left as comment in case needed again at a later date.
…larmsTemperatureBoard, readSysAlarmsLevelMeterBoard, the latter are "I/O Intr" type records"
Copy link
Member

@Tom-Willemsen Tom-Willemsen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • Should: have you run the python files through ruff format?
c:\Instrument\Apps\EPICS\support\IPS\master>r format --check
Would reformat: system_tests\lewis_emulators\ips\device.py
Would reformat: system_tests\lewis_emulators\ips\interfaces\stream_interface.py
Would reformat: system_tests\lewis_emulators\ips\interfaces\stream_interface_scpi.py
Would reformat: system_tests\lewis_emulators\ips\modes.py
Would reformat: system_tests\lewis_emulators\ips\states.py
Would reformat: system_tests\tests\ips.py
Would reformat: system_tests\tests\ips_common.py
Would reformat: system_tests\tests\ips_scpi.py
8 files would be reformatted, 5 files already formatted

@iangillingham-stfc
Copy link
Contributor Author

  • Should: have you run the python files through ruff format?
c:\Instrument\Apps\EPICS\support\IPS\master>r format --check
Would reformat: system_tests\lewis_emulators\ips\device.py
Would reformat: system_tests\lewis_emulators\ips\interfaces\stream_interface.py
Would reformat: system_tests\lewis_emulators\ips\interfaces\stream_interface_scpi.py
Would reformat: system_tests\lewis_emulators\ips\modes.py
Would reformat: system_tests\lewis_emulators\ips\states.py
Would reformat: system_tests\tests\ips.py
Would reformat: system_tests\tests\ips_common.py
Would reformat: system_tests\tests\ips_scpi.py
8 files would be reformatted, 5 files already formatted

Yes - Ruff and Pyright both were passing.

@Tom-Willemsen Tom-Willemsen force-pushed the Ticket8614_mercury_IPS_magnet_supply branch from fdc1b39 to 3590a5e Compare October 15, 2025 19:21
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed - no point leaving misleading stuff in there that isn't used.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good to have moved common tests to a module.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes

"directory": get_default_ioc_dir("IPS"),
"emulator": EMULATOR_NAME,
"lewis_protocol": "ips_legacy",
# "ioc_launcher_class": ProcServLauncher,
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I seem to have a bad habit of leaving commented out code cluttering the place.

@Tom-Willemsen Tom-Willemsen merged commit 1857385 into master Oct 16, 2025
@Tom-Willemsen Tom-Willemsen deleted the Ticket8614_mercury_IPS_magnet_supply branch October 16, 2025 13:10
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.

3 participants