Skip to content

Commit

Permalink
Add soft signals to Synchrotron and rename mandatory signals
Browse files Browse the repository at this point in the history
  • Loading branch information
DiamondJoseph committed Jun 3, 2024
1 parent 554f53e commit 1223427
Showing 1 changed file with 15 additions and 20 deletions.
35 changes: 15 additions & 20 deletions src/dodal/devices/synchrotron.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from enum import Enum

from ophyd_async.core import StandardReadable
from ophyd_async.core import ConfigSignal, StandardReadable, soft_signal_r_and_setter
from ophyd_async.epics.signal import epics_signal_r


Expand Down Expand Up @@ -34,37 +34,32 @@ class Synchrotron(StandardReadable):
def __init__(
self,
prefix: str = "",
name: str = "synchrotron",
name: str = "source",
*,
signal_prefix=Prefix.SIGNAL,
status_prefix=Prefix.STATUS,
topup_prefix=Prefix.TOP_UP,
):
self.ring_current = epics_signal_r(float, signal_prefix + Suffix.SIGNAL)
self.synchrotron_mode = epics_signal_r(
SynchrotronMode, status_prefix + Suffix.MODE
)
with self.add_children_as_readables():
self.current = epics_signal_r(float, signal_prefix + Suffix.SIGNAL)
self.energy = epics_signal_r(float, status_prefix + Suffix.BEAM_ENERGY)

with self.add_children_as_readables(ConfigSignal):
self.probe, _ = soft_signal_r_and_setter(str, initial_value="x-ray")
self.type, _ = soft_signal_r_and_setter(
str, initial_value="Synchrotron X-ray Source"
)
self.synchrotron_mode = epics_signal_r(
SynchrotronMode, status_prefix + Suffix.MODE
)
self.machine_user_countdown = epics_signal_r(
float, status_prefix + Suffix.USER_COUNTDOWN
)
self.beam_energy = epics_signal_r(float, status_prefix + Suffix.BEAM_ENERGY)
self.topup_start_countdown = epics_signal_r(
self.top_up_start_countdown = epics_signal_r(
float, topup_prefix + Suffix.COUNTDOWN
)
self.top_up_end_countdown = epics_signal_r(
float, topup_prefix + Suffix.END_COUNTDOWN
)

self.set_readable_signals(
read=[
self.ring_current,
self.machine_user_countdown,
self.topup_start_countdown,
self.top_up_end_countdown,
],
config=[
self.beam_energy,
self.synchrotron_mode,
],
)
super().__init__(name=name)

0 comments on commit 1223427

Please sign in to comment.