Currently the code incorrectly formats enum put values into their string version on SoftSignalBackend leading to the following bug:
soft_signal = SoftSignalBackend(MyEnum)
await soft_signal.connect()
assert (await soft_signal.get_value()) is MyEnum.a
await soft_signal.put(MyEnum.b)
# fails, the value is now the string form
assert (await soft_signal.get_value()) is MyEnum.b
Currently the code incorrectly formats enum put values into their string version on
SoftSignalBackend
leading to the following bug:@DiamondJoseph This was the cause of the error in the tetramm tests https://github.com/DiamondLightSource/dodal/issues/649